Ho installato git usando questo articolo . Ora voglio disinstallare git. Come farlo?
Ho installato git usando questo articolo . Ora voglio disinstallare git. Come farlo?
Risposte:
Ho trovato la soluzione qui .
AGGIORNATO 2.11.2012
Se sei stato abbastanza intelligente e hai usato un prefisso non standard quando hai configurato Git in modo che sia stato installato in una gerarchia specifica, come in / opt / git, quindi elimina quella gerarchia, in modo ricorsivo.
Altrimenti, potresti andare così:
1) Recupera il tarball sorgente esattamente della versione che hai creato e installato, scompatta.
2) Configuralo esattamente come hai fatto con l'installazione originale per quanto riguarda i percorsi di installazione (prefisso, exec-prefix ecc); presumibilmente non dovresti semplicemente ignorare nulla.
3) Creare una directory temporanea per eseguire l'installazione, in questo modo: $ mkdir / var / tmp / git
4) Installa Git passando una variabile DESTDIR corretta per fare: $ make DESTDIR = / var / tmp / git install La gerarchia di Git finirà per essere creata in quella directory temporanea.
5) Utilizzare la gerarchia creata per decidere quali file eliminare nella gerarchia reale ("/" stesso).
L'ultimo passo è dove "la magia" accade in modo che porti più spiegazione. Ad esempio, potresti correre
$ find /var/tmp/git -type f -printf '/%P\n' | xargs -n 10 rm -f
(come root) cancella i file installati dalla prima installazione errata nel filesystem di root. L'incanto sopra usa la gerarchia / var / tmp / git per stampare l'elenco dei file trovati, ma sostituisce il prefisso "/ var / tmp / git" con "/", in modo che "/ var / tmp / git / usr / bin / git "nell'output verrà elencato come" / usr / bin / git ". Questo elenco viene quindi reindirizzato al xargs
quale viene eseguito rm
sui nomi dei file che legge in pacchetti di dieci (solo per ridurre il numero di invocazioni di rm
un ordine di grandezza).
Dopo aver gestito i file, esegui
$ find /var/tmp/git -type d -printf '/%P\n'
per ispezionare l'elenco delle directory installate. Questi richiedono un approccio manuale, quindi basta guardare l'elenco generato e pensare a quale di essi potresti tranquillamente rmdir
dal tuo sistema (saranno le directory come "/ usr / libexec / git" o qualcosa del genere; probabilmente non vorrai eliminare "/ usr / share / man / mann" o qualcosa anche se è vuoto).
PS In futuro non installare mai nulla in un sistema eseguendo
make install
! La maggior parte dei makefile al giorno d'oggi non supportano il target "disinstallazione" in quanto vengono utilizzati per l'installazione in una posizione di memoria privata per i test o per creare un pacchetto (.rpm, .deb ecc.) E quindi il gestore dei pacchetti si occupa della pulizia. Se è necessario installare qualcosa, provare a trovare un pacchetto ufficiale o provare a eseguire il backport di un altro pacchetto ufficiale da una versione più recente del sistema operativo, se disponibile. Come ultima risorsa, prova a utilizzare lo checkinstall
strumento che tenta di creare un pacchetto binario fuori dalla tua make install
corsa. Questo fa schifo, ma ancora meglio di nudo make install
.
./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
Ho appena preso 2691 linee di Makefile. Effettivamente nessuna disinstallazione. Drat.
In tal caso, una soluzione potrebbe essere quella di utilizzare l' make rpm
opzione. Installa l'rpm (sovrascrivendo tutti i file installati, che dovrebbero essere identici ai file già installati). Quindi disinstallare l'rpm.
In tutti i casi futuri creare un pacchetto (RPM, yum, qualunque cosa). Rende la manutenzione molto più semplice.
make install
mette cose nel prefisso /usr/local
mentre rpm / deb / your-package-here funzionano ./configure
con parametri diversi in modo che i file che installano finiscano con il prefisso /usr
.
make rpm
comando. Cosa dovrei fare il prossimo?
man rpm
o 'rpm --help
. Probabilmente ti dirà di usare rpm -i packagename.rpm
. Tuttavia, potrebbe essere meglio chiedere al amministratore di sistema di umbrella-web di aiutarti. C'è solo così tanto che possiamo fare a distanza.
make install
con?