
Inhttps://unix.stackexchange.com/a/141619/674
Ich würde nicht nur das Makefile speichern. Während das Deinstallationsziel möglicherweise nicht (oder vielleichtsollte nicht) brauchen Sie noch etwas anderes, um erfolgreich zu sein, das ist keine Garantie.
Das bedeutet, dass Sie eine Kopie des Originalpakets aufbewahren müssen. Das hat allerdings keinen großen Sinn, wenn es ein öffentliches Archiv mit alten Versionen gibt und Sie sich keine Sorgen machen, dass es verschwindet. Sie können es später sowieso einfach erneut herunterladen. Das einzige Problem dabei ist, dassfür autotooled Sachen müssen Sie zuerst laufen
./configure
, und wenn Sie verschiedene Optionen verwenden,uninstall
kann etwas übersehen werden- aber das ist, glaube ich, kein so großes Problem. Gelegentlich habe ich mir Notizen über die jeweilige Konfiguration von etwas gemacht.Ich behalte unabhängige Quellpakete in
/usr/local/src
, aber solange Sie sie finden können, wenn Sie sie brauchen, spielt es keine Rolle.
Warum heißt es: „Bei Sachen mit Autotools müssen Sie sie ./configure
zuerst ausführen, und wenn Sie andere Optionen verwenden, uninstall
kann etwas übersehen werden“?
Aus welchem Grund wird die Konfigurationsdatei zum Deinstallieren einer über „configure“, „make“ und „make install“ installierten Anwendung benötigt?
Danke.
Antwort1
Angenommen, das Paket hat eine --enable-foo
Konfigurationsoption, die es veranlasst, sein Foo-Subsystem zu erstellen und zu installierenlibfoo.ain …/lib und einemfooausführbar in …/bin. Installieren Sie das also und bereinigen Sie Ihr temporäres Build-Verzeichnis.
Sie kommen dann Monate später zurück und entpacken das Paket-Tarball erneut, um es zu deinstallieren. Sie müssen erneut ausführen, ./configure
um die Makefiles wiederherzustellen, damit Sie Folgendes tun können. make uninstall
Wenn Sie nicht mit konfigurieren, --enable-foo
dann die Befehle zum Erstellen/Installieren/Deinstallieren.libfoo.aUndfoodarf nicht in den jeweiligen Make-Zielen enthalten sein. In diesem Fall make uninstall
würde das Aufräumen fehlenlibfoo.aUndfoo.
Es wäre erhaltenswertKonfigurationsstatusaus dem Build-Verzeichnis der ursprünglichen Installation, da dort die verwendeten Konfigurationsoptionen aufgezeichnet sind.