2012-04-05 10 views
0

Ich liefere eine Anwendung über ein RPM.
Was ich tun muss, ist, wenn der Benutzer die Anwendung (rpm -e) deinstalliert, um die Möglichkeit zu bekommen, einige der Dateien zu sichern, die Teil der installierten Anwendung sind.
Zusätzlich zur (Post-) Installation möchte ich, dass der Benutzer eine Möglichkeit erhält, einige der Installationsdateien durch Dateien zu ersetzen, die er während einer früheren Deinstallation gespeichert hat.Wie kann ich Optionen zum Speichern von Daten für einen Benutzer aus einer U/min anbieten?

Um dies zu tun dachte ich, um eine interaktive RPM zu machen.
Aber es hat nicht funktioniert. Googeln fand ich, dass einige der Befehle z.B. read werden in einer RPM-Spezifikation irgendwie ignoriert und zusätzlich ist die Idee, interaktive Eingabe von einem Benutzer zu erhalten, verpönt und nicht empfohlen.

Meine Frage ist, folge ich hier wirklich einem falschen Ansatz? Sollte ich es anders machen? Wie? Ich kann mir keine andere Lösung für dieses spezielle Problem vorstellen.

Irgendwelche Hilfe?

Antwort

2

Die Interaktion mit dem Benutzer während der Deinstallation von RPM ist keine gute Übung. Die Philosophie dahinter ist, dass RPMs automatisch deinstalliert werden können, zum Beispiel wenn sie über YUM installiert werden. Wenn Sie müssen, haben Sie mehrere Optionen:

Am besten: Erstellen Sie ein Skript, das alle Informationen vom Benutzer erhalten, und schreiben Sie es in eine Datei. Stellen Sie in den RPM-Voraussetzungen sicher, dass die Datei vorhanden ist.

Optional: Betten Sie das RPM in ein Bash-Skript ein, das mit dem Benutzer interagiert, extrahiert das RPM und führt es aus. Ich glaube, dass Java RPM es Ihnen ermöglicht, die EULA zu akzeptieren.

Keine gute Idee: Ich habe irgendwo gelesen, dass RPM liest von/dev/tty so können Sie versuchen, exec 0</dev/tty zu Beginn des% Pre- oder Post% hinzufügen

Verwandte Themen