Frage Wenn ich ein Paket von der Quelle her aufbaue, wie kann ich es komplett deinstallieren oder entfernen?
Ich habe Quellcode verwendet, um ein Paket wie das folgende zu erstellen:
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libexecdir=/usr/lib --with-package-name="Myplugin" --with-package-origin="http://www.ubuntu.org/" --enable-gtk-doc --disable-static
make
make install
Aber leider habe ich entdeckt, dass es die neueste Version ist und viele Bugs hat, also muss ich es entfernen / deinstallieren. Aber wie kann ich das tun? Ich habe es versucht make clean; make uninstall
aber ich sehe es noch:
# pkg-config --list-all | grep Myplugin
myplugin-....
$ ls /usr/lib/myplugin/libXYZ.so
exist....
Wie entfernst du das jetzt?
120
2017-12-12 11:42
Ursprung
Antworten:
Normalerweise können Sie einfach verwenden:
make uninstall
oder
sudo make uninstall
wenn die App als root installiert wurde.
Dies funktioniert jedoch nur, wenn der Entwickler des Pakets sich um eine gute Deinstallationsregel gekümmert hat.
Sie können auch versuchen, die Schritte zur Installation der Software zu lesen, indem Sie Folgendes ausführen:
make -n install
Versuchen Sie dann, diese Schritte manuell umzukehren.
In der Zukunft, um diese Art von Problemen zu vermeiden versuchen zu verwenden checkinstall
Anstatt von make install
wann immer möglich (AFAIK immer, wenn Sie nicht gleichzeitig die kompilierte und eine gepackte Version behalten wollen). Es erstellt und installiert eine Deb-Datei, die Sie dann mit Ihrem bevorzugten Paket-Manager deinstallieren können.
make clean
In der Regel werden die Gebäudeverzeichnisse bereinigt, das Paket wird nicht deinstalliert. Es wird verwendet, wenn Sie sicher sein wollen, dass das Ganze kompiliert ist, nicht nur die geänderten Dateien.
150
2017-12-12 11:49
Ich denke nicht, dass dies ein Fehler ist, es wäre eine gute Idee, über checkinstall zu lesen und zu lernen, wenn man von der Quelle installiert.
Sie können checkinstall aus den Repositories installieren, eine kurze Beschreibung des Pakets;
CheckInstall verfolgt alle erstellten Dateien oder
geändert durch Ihr Installationsskript ("make install"
"make install_modules", "setup", etc), erstellt ein
Standard-Binärpaket und installiert es in Ihrem
System gibt Ihnen die Möglichkeit, es mit Ihrem zu deinstallieren
Standard-Paketverwaltungsdienstprogramme der Distribution.
Diese Links können hilfreich sein, um ein besseres Verständnis zu erhalten.
http://en.wikipedia.org/wiki/CheckInstall
http://checkinstall.izto.org/
26
2018-01-20 22:36
Dies ist kein Fehler - das Kompilieren von der Quelle ist eine nicht unterstützte Methode zum Installieren von Software, die das Paketverwaltungssystem (das vom Software Center verwendet wird) vollständig umgeht.
Es gibt keinen Standard, wie Software, die von der Quelle kompiliert wird, installiert oder deinstalliert wird, also kann Ubuntu nicht wissen, was zu tun ist. Die Software ist nicht einmal als installiertes Programm aufgeführt.
Sie sollten die Anweisungen des Distributors für die Installation und Deinstallation solcher benutzerdefinierten Software befolgen. Sie können sich auch an den Entwickler wenden, um ihn zu bitten, ein Debian-Paket zu erstellen, damit das Paketverwaltungssystem verwendet werden kann.
15
2018-01-20 22:38
Es handelt sich nicht um einen Fehler, sondern darum, wenn Entwickler auf die Verteilung über die Quelle und nicht über die nativen Verpackungsmethoden zurückgreifen.
Sie können Ihre Quelldateien mithilfe von checkinstall oder dhbuild zu debian-Paketen machen.
Ehrlich, meiner Meinung nach - neue Benutzer sollten die Installation von der Quelle vermeiden, und Entwickler sollten die Verteilung nur nach der Quelle vermeiden.
3
2018-01-20 22:36
Wir müssen darüber verhandeln, dass Deinstallieren würde nicht arbeite immer, also unten
ist eher eine proaktive Lösung.
Dies beinhaltet die Verwendung des Paco-Programms
welches im Ubuntu Software Center verfügbar ist. Sobald wir Paco installiert haben,
Wir können den Log-Modus verwenden, wenn wir ein Programm "installieren". Paco fungiert als Wrapper für Ihre make install und erstellt ein Protokoll im Verzeichnis / var / log / paco mit der Liste der Dateien, die in verschiedene Verzeichnisse kopiert wurden. Außerdem konnten Sie die Dateien im Paco Frontend sehen.
Zum Beispiel als ich PHP aus der Quelle kompiliert habe, habe ich Folgendes getan:
paco -lp php5 "make install"
Der Parameter l lässt den Paco im Log-Modus laufen. Dies erzeugte eine Protokolldatei in / var / log / paco mit dem Namen php5 (der Name, den ich im Befehl angegeben habe). Es enthielt alle Dateien, die während der Installation an verschiedene Standardspeicherorte kopiert wurden. Sie können einen Befehlszeileneditor oder Paco GUI verwenden, um die Dateien anzuzeigen.
Unten ist das Beispiel des Erhaltens
die Dateiliste mit dem sed-Befehlszeilen-Editor
(Ersetzen Sie PHP5 durch Ihren Dateinamen).
cat /var/log/paco/php5 | sed -n 's/|\(.*\)//;/^#\(.*\)/d;p'
Sobald Sie die Liste der Dateien haben, wissen Sie, wie Sie sie löschen, nicht wahr? In der Tat könnten Sie die Ergebnisse des obigen Befehls an übergeben rm mit Backticks wie unten gezeigt:
sudo rm `cat /var/log/paco/php5 | sed -n 's/|\(.*\)//;/^#\(.*\)/d;p'`
Job erledigt!
Hinweis: Aufgrund von LD_PRELOAD-Einschränkungen kann Paco der Ablaufverfolgung von SUID-Programmen nicht folgen. Siehe Manpage.
0
2018-03-09 12:56
Ich hatte zusammengestellt php-5.6.30 von der Quelle, ohne es mit openssl zu konfigurieren, also musste ich zurückgehen und es von Grund auf neu installieren nicht arbeiten als Makefile für PHP unterstützt es nicht.
Dieser Schritt funktionierte jedoch für mich, - Ich ordnete alle mit php zusammenhängenden Dateien an und entfernte sie manuell, ich brauchte ungefähr 5 Minuten, ohne ins Schwitzen zu kommen. Sie können diese Schritte auch verwenden, um Ihre kompilierte Software zu deinstallieren.
Ersetzen php mit der Software müssen Sie deinstallieren
whereis php
Der obige Befehl listet Verzeichnisse auf, in denen die Binärdateien installiert sind. Beispiel: / usr / local / bin / php, / usr / bin / php .. Entfernen Sie jede in Ihrer Ausgabe aufgeführte Datei / das Verzeichnis.
sudo rm -f /usr/local/bin/php
Tun Sie dies mit allen Dateien, die in der obigen Ausgabe aufgelistet sind, und Sie sind alle bereit, die neuere Version von Grund auf neu zu installieren.
0
2018-04-03 19:25