Wenn Sie schlau genug waren und ein nicht standardmäßiges Präfix verwendet haben, als Sie Git so konfiguriert haben, dass es unter einer bestimmten Hierarchie wie unter / opt / git installiert wurde, löschen Sie diese Hierarchie einfach rekursiv.
Wenn nicht, dann könnten Sie so vorgehen:
1) Holen Sie sich das Quell-Tarball genau der Version, die Sie erstellt und installiert haben, und entpacken Sie es.
2) Konfigurieren Sie es genau wie bei der ursprünglichen Installation in Bezug auf die Installationspositionen (Präfix, Exec-Präfix usw.). angeblich solltest du einfach nichts außer Kraft setzen.
3) Erstellen Sie ein temporäres Verzeichnis, um die Installation durchzuführen: $ mkdir / var / tmp / git
4) Installieren Sie Git, indem Sie eine richtige DESTDIR-Variable übergeben: $ make DESTDIR = / var / tmp / git install Die Git-Hierarchie wird in diesem temporären Verzeichnis erstellt.
5) Entscheiden Sie anhand der erstellten Hierarchie, welche Dateien in der realen Hierarchie gelöscht werden sollen ("/" selbst).
Der letzte Schritt ist, wo "die Magie" passiert, damit es mehr Erklärung gibt. Zum Beispiel könnten Sie laufen
(als root) lösche die Dateien, die bei der ersten fehlerhaften Installation im root-Dateisystem installiert wurden. Die obige Kodierung verwendet die Hierarchie / var / tmp / git, um die Liste der gefundenen Dateien auszudrucken, ersetzt jedoch das Präfix "/ var / tmp / git" durch "/", sodass das Präfix "/ var / tmp / git" verwendet wird / usr / bin / git "in der Ausgabe wird als" / usr / bin / git "aufgelistet. Diese Liste wird verrohrt dann auf xargsder läuft rm
auf den Dateinamen es in Packungen mit zehn liest (nur die Zahl der Anrufungen zu reduzieren , rmindem eine Größenordnung).
Führen Sie nach dem Umgang mit Dateien aus
$ find /var/tmp/git -type d -printf '/%P\n'
um die Liste der installierten Verzeichnisse zu überprüfen. Diese erfordern einen manuellen Ansatz. Sehen Sie sich also die generierte Liste an und rmdirüberlegen Sie, welche von ihnen Sie sicher von Ihrem System entfernen können (dies sind die Verzeichnisse wie "/ usr / libexec / git" oder so ähnlich; Sie möchten wahrscheinlich nichts löschen "/ usr / share / man / mann" oder etwas, auch wenn es leer ist).
PS Installieren Sie in Zukunft niemals etwas in einem System, indem Sie ausführen
make install! Die meisten Makefiles unterstützen heutzutage kein "Deinstallations" -Ziel, da sie entweder zum Testen an einem privaten Arbeitsspeicherort installiert oder zum Erstellen eines Pakets (.rpm, .deb usw.) verwendet werden und der Paketmanager sich dann um die Bereinigung kümmert. Wenn Sie etwas installieren müssen, versuchen Sie, ein offizielles Paket zu finden, oder versuchen Sie, ein anderes offizielles Paket aus einer neueren Version Ihres Betriebssystems (falls verfügbar) zu portieren. Versuchen Sie als letzte Möglichkeit, das checkinstallTool zu verwenden, das versucht, ein Binärpaket aus Ihrem make installLauf zu erstellen . Das ist scheiße, aber immer noch besser als nackt make install.
Bitte erweitern Sie einige der dort gefundenen Details. Bit-rot passiert und wenn dies der Fall ist, wird diese Antwort unbrauchbar.
sysadmin1138
ok, ich habe meine Antwort aktualisiert
Mikhail
Respekt. es funktioniert
Dotslash
Zusammenfassung: ./configure. sudo make && sudo make DESTDIR=/var/tmp/git install. sudo find /var/tmp/git -type f -printf '/%P\n' | sudo xargs -n 10 rm -f
Vahid
3
Ich habe gerade 2691 Zeilen Makefile durchgesehen. Tatsächlich machen keine deinstallieren. Drat.
In diesem Fall besteht eine Problemumgehung darin, die make rpmOption zu verwenden. Installieren Sie die rpm (überschreiben Sie alle installierten Dateien, die mit den bereits installierten Dateien identisch sein sollten). Dann deinstalliere die rpm.
Erstellen Sie in allen zukünftigen Fällen ein Paket (RPM, yum, was auch immer). Dies erleichtert die Wartung erheblich.
Mit Ausnahme von wird normalerweise make installein Präfix eingefügt, /usr/localwährend rpm / deb / your-package-here ./configuremit anderen Parametern ausgeführt wird, sodass die von ihnen installierten Dateien ein Präfix erhalten /usr.
ptman
Ich bin Neuling im CentOS. Welchen Befehl soll ich ausführen? Können Sie bitte mehr erklären
Mikhail
Ich habe den make rpmBefehl ausgeführt. Was soll ich als nächstes tun?
Mikhail
Beginnen Sie mit man rpmoder 'rpm --help. Es wird Ihnen wahrscheinlich sagen, zu verwenden rpm -i packagename.rpm. Bitten Sie am besten den Systemadministrator von umbrella-web, Ihnen zu helfen. Es gibt nur so viel, was wir aus der Ferne tun können.
make install
mit dem Sie gearbeitet haben ?Antworten:
Ich habe hier die Lösung gefunden .
AKTUALISIERT am 2.11.2012
Wenn Sie schlau genug waren und ein nicht standardmäßiges Präfix verwendet haben, als Sie Git so konfiguriert haben, dass es unter einer bestimmten Hierarchie wie unter / opt / git installiert wurde, löschen Sie diese Hierarchie einfach rekursiv.
Wenn nicht, dann könnten Sie so vorgehen:
1) Holen Sie sich das Quell-Tarball genau der Version, die Sie erstellt und installiert haben, und entpacken Sie es.
2) Konfigurieren Sie es genau wie bei der ursprünglichen Installation in Bezug auf die Installationspositionen (Präfix, Exec-Präfix usw.). angeblich solltest du einfach nichts außer Kraft setzen.
3) Erstellen Sie ein temporäres Verzeichnis, um die Installation durchzuführen: $ mkdir / var / tmp / git
4) Installieren Sie Git, indem Sie eine richtige DESTDIR-Variable übergeben: $ make DESTDIR = / var / tmp / git install Die Git-Hierarchie wird in diesem temporären Verzeichnis erstellt.
5) Entscheiden Sie anhand der erstellten Hierarchie, welche Dateien in der realen Hierarchie gelöscht werden sollen ("/" selbst).
Der letzte Schritt ist, wo "die Magie" passiert, damit es mehr Erklärung gibt. Zum Beispiel könnten Sie laufen
(als root) lösche die Dateien, die bei der ersten fehlerhaften Installation im root-Dateisystem installiert wurden. Die obige Kodierung verwendet die Hierarchie / var / tmp / git, um die Liste der gefundenen Dateien auszudrucken, ersetzt jedoch das Präfix "/ var / tmp / git" durch "/", sodass das Präfix "/ var / tmp / git" verwendet wird / usr / bin / git "in der Ausgabe wird als" / usr / bin / git "aufgelistet. Diese Liste wird verrohrt dann auf
xargs
der läuftrm
auf den Dateinamen es in Packungen mit zehn liest (nur die Zahl der Anrufungen zu reduzieren ,rm
indem eine Größenordnung).Führen Sie nach dem Umgang mit Dateien aus
um die Liste der installierten Verzeichnisse zu überprüfen. Diese erfordern einen manuellen Ansatz. Sehen Sie sich also die generierte Liste an und
rmdir
überlegen Sie, welche von ihnen Sie sicher von Ihrem System entfernen können (dies sind die Verzeichnisse wie "/ usr / libexec / git" oder so ähnlich; Sie möchten wahrscheinlich nichts löschen "/ usr / share / man / mann" oder etwas, auch wenn es leer ist).PS Installieren Sie in Zukunft niemals etwas in einem System, indem Sie ausführen
make install
! Die meisten Makefiles unterstützen heutzutage kein "Deinstallations" -Ziel, da sie entweder zum Testen an einem privaten Arbeitsspeicherort installiert oder zum Erstellen eines Pakets (.rpm, .deb usw.) verwendet werden und der Paketmanager sich dann um die Bereinigung kümmert. Wenn Sie etwas installieren müssen, versuchen Sie, ein offizielles Paket zu finden, oder versuchen Sie, ein anderes offizielles Paket aus einer neueren Version Ihres Betriebssystems (falls verfügbar) zu portieren. Versuchen Sie als letzte Möglichkeit, dascheckinstall
Tool zu verwenden, das versucht, ein Binärpaket aus Ihremmake install
Lauf zu erstellen . Das ist scheiße, aber immer noch besser als nacktmake install
.quelle
./configure
.sudo make && sudo make DESTDIR=/var/tmp/git install
.sudo find /var/tmp/git -type f -printf '/%P\n' | sudo xargs -n 10 rm -f
Ich habe gerade 2691 Zeilen Makefile durchgesehen. Tatsächlich machen keine deinstallieren. Drat.
In diesem Fall besteht eine Problemumgehung darin, die
make rpm
Option zu verwenden. Installieren Sie die rpm (überschreiben Sie alle installierten Dateien, die mit den bereits installierten Dateien identisch sein sollten). Dann deinstalliere die rpm.Erstellen Sie in allen zukünftigen Fällen ein Paket (RPM, yum, was auch immer). Dies erleichtert die Wartung erheblich.
quelle
make install
ein Präfix eingefügt,/usr/local
während rpm / deb / your-package-here./configure
mit anderen Parametern ausgeführt wird, sodass die von ihnen installierten Dateien ein Präfix erhalten/usr
.make rpm
Befehl ausgeführt. Was soll ich als nächstes tun?man rpm
oder'rpm --help
. Es wird Ihnen wahrscheinlich sagen, zu verwendenrpm -i packagename.rpm
. Bitten Sie am besten den Systemadministrator von umbrella-web, Ihnen zu helfen. Es gibt nur so viel, was wir aus der Ferne tun können.