Aus welchem ​​Grund wird die Konfigurationsdatei zum Deinstallieren einer über „configure“, „make“ und „make install“ installierten Anwendung benötigt?

Aus welchem ​​Grund wird die Konfigurationsdatei zum Deinstallieren einer über „configure“, „make“ und „make install“ installierten Anwendung benötigt?

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, uninstallkann 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 ./configurezuerst ausführen, und wenn Sie andere Optionen verwenden, uninstallkann 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-fooKonfigurationsoption, 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, ./configureum die Makefiles wiederherzustellen, damit Sie Folgendes tun können. make uninstallWenn Sie nicht mit konfigurieren, --enable-foodann die Befehle zum Erstellen/Installieren/Deinstallieren.libfoo.aUndfoodarf nicht in den jeweiligen Make-Zielen enthalten sein. In diesem Fall make uninstallwürde das Aufräumen fehlenlibfoo.aUndfoo.

Es wäre erhaltenswertKonfigurationsstatusaus dem Build-Verzeichnis der ursprünglichen Installation, da dort die verwendeten Konfigurationsoptionen aufgezeichnet sind.

verwandte Informationen