Jeśli byłeś wystarczająco inteligentny i używałeś niestandardowego prefiksu po skonfigurowaniu Git, aby został on zainstalowany w określonej hierarchii, na przykład w / opt / git, po prostu usuń rekurencyjnie tę hierarchię.
Jeśli nie, możesz to zrobić tak:
1) Pobierz archiwum źródłowe dokładnie tej wersji, którą zbudowałeś i zainstalowałeś, rozpakuj.
2) Skonfiguruj dokładnie tak, jak robiłeś to z oryginalną instalacją w odniesieniu do lokalizacji instalacji (prefiks, exec-prefiks itp.); podobno nie powinieneś niczego zastępować.
3) Utwórz katalog tymczasowy, aby przeprowadzić instalację: $ mkdir / var / tmp / git
4) Zainstaluj Git, przekazując odpowiednią zmienną DESTDIR, aby: $ make DESTDIR = / var / tmp / git install Hierarchia Gita zostanie utworzona w tym katalogu tymczasowym.
5) Użyj utworzonej hierarchii, aby zdecydować, które pliki należy usunąć w ramach rzeczywistej hierarchii (sama „/”).
Ostatnim krokiem jest miejsce, w którym dzieje się „magia”, która zawiera więcej wyjaśnień. Na przykład możesz uruchomić
(jako root) usuń pliki zainstalowane przez pierwszą błędną instalację w głównym systemie plików. Powyższa enantacja używa hierarchii / var / tmp / git do wydrukowania listy znalezionych plików, ale zastępuje w nich przedrostek „/ var / tmp / git” na „/”, tak że „/ var / tmp / git / usr / bin / git ”na wyjściu pojawi się na liście jako„ / usr / bin / git ”. Ta lista jest następnie przesyłana potokowo, do xargsktórej są uruchamiane rm
nazwy plików, które odczytuje w paczkach po dziesięć (aby zmniejszyć liczbę wywołań o rmjeden rząd wielkości).
Po postępowaniu z plikami uruchom
$ find /var/tmp/git -type d -printf '/%P\n'
aby sprawdzić listę zainstalowanych katalogów. Wymagają ręcznego podejścia, więc po prostu spójrz na wygenerowaną listę i zastanów się, który z nich możesz bezpiecznie bezpiecznie rmdirze swojego systemu (będą to katalogi takie jak „/ usr / libexec / git” lub coś w tym rodzaju; prawdopodobnie nie chcesz usunąć „/ usr / share / man / mann” lub coś, nawet jeśli jest puste).
PS W przyszłości nigdy nie instaluj niczego w systemie, uruchamiając
make install! Większość plików makefile w dzisiejszych czasach nie obsługuje celu „odinstaluj”, ponieważ są one używane do instalowania w prywatnej lokalizacji scratchowania w celu przetestowania lub do utworzenia pakietu (.rpm, .deb itp.), A następnie menedżer pakietów zajmuje się czyszczeniem. Jeśli musisz coś zainstalować, spróbuj znaleźć oficjalny pakiet lub spróbuj zaimportować inny oficjalny pakiet z nowszej wersji systemu operacyjnego, jeśli jest dostępny. W ostateczności spróbuj użyć checkinstallnarzędzia, które próbuje utworzyć pakiet binarny poza twoim make installbiegiem. To do bani, ale i tak lepsze niż nagie make install.
Rozwiń niektóre ze znalezionych tam szczegółów. Zgnilizna bitów ma miejsce, a kiedy to zrobi, ta odpowiedź stanie się bezużyteczna.
sysadmin1138
ok, zaktualizowałem swoją odpowiedź
Michaił
Poszanowanie. to działa
dotslash,
Podsumowanie: ./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
Właśnie przeszedłem przez 2691 linii Makefile. Rzeczywiście nie dokonaj deinstalacji. Drat.
W takim przypadku obejściem może być użycie tej make rpmopcji. Zainstaluj rpm (nadpisując wszystkie zainstalowane pliki, które powinny być identyczne z już zainstalowanymi plikami). Następnie odinstaluj rpm.
We wszystkich przyszłych przypadkach buduj pakiet (RPM, mniam, cokolwiek). Ułatwia to konserwację.
Z wyjątkiem tego, że zwykle make installumieszcza różne rzeczy w prefiksie, /usr/localpodczas gdy rpm / deb / your-package-here działają ./configurez różnymi parametrami, tak że instalowane przez nich pliki kończą się prefiksem /usr.
ptman
Jestem nowicjuszem w CentOS. Jakie polecenie powinienem uruchomić? Czy możesz wyjaśnić więcej, proszę
Michaił
Uruchomiłem make rpmpolecenie. Co mam teraz zrobić?
Michaił
Zacznij od man rpmlub 'rpm --help. Prawdopodobnie powie Ci, aby użyć rpm -i packagename.rpm. Najlepiej jednak poprosić sysadmin w parasolce o pomoc. Możemy tylko tyle zrobić na odległość.
make install
z którym zrobiłeś ?Odpowiedzi:
Tutaj znalazłem rozwiązanie .
ZAKTUALIZOWANO 2.11.2012
Jeśli byłeś wystarczająco inteligentny i używałeś niestandardowego prefiksu po skonfigurowaniu Git, aby został on zainstalowany w określonej hierarchii, na przykład w / opt / git, po prostu usuń rekurencyjnie tę hierarchię.
Jeśli nie, możesz to zrobić tak:
1) Pobierz archiwum źródłowe dokładnie tej wersji, którą zbudowałeś i zainstalowałeś, rozpakuj.
2) Skonfiguruj dokładnie tak, jak robiłeś to z oryginalną instalacją w odniesieniu do lokalizacji instalacji (prefiks, exec-prefiks itp.); podobno nie powinieneś niczego zastępować.
3) Utwórz katalog tymczasowy, aby przeprowadzić instalację: $ mkdir / var / tmp / git
4) Zainstaluj Git, przekazując odpowiednią zmienną DESTDIR, aby: $ make DESTDIR = / var / tmp / git install Hierarchia Gita zostanie utworzona w tym katalogu tymczasowym.
5) Użyj utworzonej hierarchii, aby zdecydować, które pliki należy usunąć w ramach rzeczywistej hierarchii (sama „/”).
Ostatnim krokiem jest miejsce, w którym dzieje się „magia”, która zawiera więcej wyjaśnień. Na przykład możesz uruchomić
(jako root) usuń pliki zainstalowane przez pierwszą błędną instalację w głównym systemie plików. Powyższa enantacja używa hierarchii / var / tmp / git do wydrukowania listy znalezionych plików, ale zastępuje w nich przedrostek „/ var / tmp / git” na „/”, tak że „/ var / tmp / git / usr / bin / git ”na wyjściu pojawi się na liście jako„ / usr / bin / git ”. Ta lista jest następnie przesyłana potokowo, do
xargs
której są uruchamianerm
nazwy plików, które odczytuje w paczkach po dziesięć (aby zmniejszyć liczbę wywołań orm
jeden rząd wielkości).Po postępowaniu z plikami uruchom
aby sprawdzić listę zainstalowanych katalogów. Wymagają ręcznego podejścia, więc po prostu spójrz na wygenerowaną listę i zastanów się, który z nich możesz bezpiecznie bezpiecznie
rmdir
ze swojego systemu (będą to katalogi takie jak „/ usr / libexec / git” lub coś w tym rodzaju; prawdopodobnie nie chcesz usunąć „/ usr / share / man / mann” lub coś, nawet jeśli jest puste).PS W przyszłości nigdy nie instaluj niczego w systemie, uruchamiając
make install
! Większość plików makefile w dzisiejszych czasach nie obsługuje celu „odinstaluj”, ponieważ są one używane do instalowania w prywatnej lokalizacji scratchowania w celu przetestowania lub do utworzenia pakietu (.rpm, .deb itp.), A następnie menedżer pakietów zajmuje się czyszczeniem. Jeśli musisz coś zainstalować, spróbuj znaleźć oficjalny pakiet lub spróbuj zaimportować inny oficjalny pakiet z nowszej wersji systemu operacyjnego, jeśli jest dostępny. W ostateczności spróbuj użyćcheckinstall
narzędzia, które próbuje utworzyć pakiet binarny poza twoimmake install
biegiem. To do bani, ale i tak lepsze niż nagiemake install
.źródło
./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
Właśnie przeszedłem przez 2691 linii Makefile. Rzeczywiście nie dokonaj deinstalacji. Drat.
W takim przypadku obejściem może być użycie tej
make rpm
opcji. Zainstaluj rpm (nadpisując wszystkie zainstalowane pliki, które powinny być identyczne z już zainstalowanymi plikami). Następnie odinstaluj rpm.We wszystkich przyszłych przypadkach buduj pakiet (RPM, mniam, cokolwiek). Ułatwia to konserwację.
źródło
make install
umieszcza różne rzeczy w prefiksie,/usr/local
podczas gdy rpm / deb / your-package-here działają./configure
z różnymi parametrami, tak że instalowane przez nich pliki kończą się prefiksem/usr
.make rpm
polecenie. Co mam teraz zrobić?man rpm
lub'rpm --help
. Prawdopodobnie powie Ci, aby użyćrpm -i packagename.rpm
. Najlepiej jednak poprosić sysadmin w parasolce o pomoc. Możemy tylko tyle zrobić na odległość.