Kaynaktan kurulu git nasıl kaldırılır? [kapalı]


21

Git bu makaleyi kullanarak yükledim . Şimdi Git'i kaldırmak istiyorum. Nasıl yapılır?


1
Hala indirdiğiniz ve yaptığınız kaynak kodunuz var mı make install?
Hennes

Evet, kaynak kodum var
Mikhail

'Make uninstall' çıktısı nedir? Tüm Makefiles'lerde bu seçenek yoktur, fakat çoğu kişi kullanır.
Hennes

1
make: *** Hedef `kaldır 'yapmak için hiçbir kural. Durdurmak.
Mikhail

1
neden -1? açıklamak
Mikhail

Yanıtlar:


15

Çözümü burada buldum .

GÜNCELLEME 2.11.2012

Yeterince akıllıysanız ve Git'i yapılandırırken standart olmayan bir önek kullandıysanız, / opt / git altında olduğu gibi, belirli bir hiyerarşi altında kurulduysa, sadece o sıradüzeni silin.

Olmazsa, o zaman şöyle gidebilirsin:

1) Oluşturduğunuz ve yüklediğiniz sürümün kaynak kodunu alın, paketten çıkarın.

2) Kurulum konumlarıyla (önek, exec-önek vb) orijinal kurulumda yaptığınız gibi yapılandırın; sözde hiçbir şeyi geçersiz kılmamalısınız.

3) Kurulum işlemini gerçekleştirmek için geçici bir dizin oluşturun, bunun gibi: $ mkdir / var / tmp / git

4) Git'i yapmak için uygun bir DESTDIR değişkenini geçerek kurun: $ make DESTDIR = / var / tmp / git install Git hiyerarşisi bu geçici dizin altında yaratılacak.

5) Gerçek hiyerarşi altında hangi dosyaların silineceğini belirlemek için oluşturulan hiyerarşiyi kullanın ("/" kendisi).

Son adım, “sihrin” nerede gerçekleştiği, bu yüzden daha fazla açıklama yapması. Mesela koşabilirsin

$ find /var/tmp/git -type f -printf '/%P\n' | xargs -n 10 rm -f

(root olarak), ilk yanlış kurulum tarafından kurulan dosyaları root dosya sistemine siler. Yukarıdaki encantation, bulunan dosyaların listesini yazdırmak için / var / tmp / git hiyerarşisini kullanır, ancak içindeki "/ var / tmp / git" önekini "/ var / tmp / git" ile değiştirir. Çıktıdaki / usr / bin / git "" / usr / bin / git "olarak listelenir. Bu liste daha sonra on paket halinde okuduğu dosya adlarında xargsçalışan rm(sadece rmbir büyüklük sırasına göre çağrı sayısını azaltmak için ) yayınlanır.

Dosyalarla ilgilendikten sonra, çalıştır

$ find /var/tmp/git -type d -printf '/%P\n'

yüklü dizinlerin listesini incelemek için. Bunlar manuel yaklaşım gerektirir, bu nedenle oluşturulan listeye bakın ve bunlardan hangisini rmdirsisteminizden güvenle kullanabileceğinizi düşünün (bunlar "/ usr / libexec / git" gibi dizinler veya bunun gibi bir şey olacaktır; muhtemelen silmek istemezsiniz) "/ usr / share / man / mann" veya boş bile olsa bir şey).

PS Gelecekte , bir sisteme koşarak asla bir şey yüklemeyin make install! Bugünlerde çoğu makefilo, "kaldırma" hedefini desteklemiyor, çünkü test için özel bir sıfırlama konumuna kurulum yapmak veya bir paket (.rpm, .deb vb.) Kurmak için kullanılıyorlar ve ardından paket yöneticisi temizlik işini üstleniyor. Bir şey yüklemeniz gerekirse, resmi bir paket bulmaya çalışın veya varsa işletim sisteminizin daha yeni bir sürümünden başka bir resmi paketi desteklemeye çalışın. Son çare olarak, checkinstallkoşunuz dışında ikili bir paket oluşturmaya çalışan aracı kullanmayı deneyin make install. Bu berbat ama yine de çıplak olmaktan iyidir make install.


Lütfen orada bulunan ayrıntılardan bazılarını genişletin. Bit-çürüklüğü meydana gelir ve bu olduğunda bu cevap işe yaramaz hale gelir.
sysadmin1138

tamam, cevabımı güncelledim
Mikhail

Saygı. çalışır
dotslash

Özet: ./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

Sadece 2691 satır Makefile'a gittim. Nitekim hiçbir kaldırma kaldırma. Lanet olsun.

Bu durumda, geçici bir çözüm make rpmseçeneği kullanmak olabilir . Rpm'yi kurun (önceden yüklenmiş dosyaların aynısı olması gereken tüm kurulu dosyaların üzerine yazınız). Sonra rpm'yi sökünüz.

Gelecekteki tüm durumlarda bir paket oluşturmak (RPM, yum, neyse). Bakımı çok daha kolaylaştırır.


1
Bunların dışında genellikle make installöneklere malzeme /usr/localkoyarken, rpm / deb / paketiniz-burada ./configurefarklı parametrelerle çalışır , böylece kurdukları dosyalar önekle sonuçlanır /usr.
ptman

Ben CentOS'ta acemiyim. Hangi komutu çalıştırmalıyım? Daha fazla açıklayabilir misiniz, lütfen
Mikhail

make rpmEmri ben verdim . Bir sonraki ne yapmalıyım?
Mikhail

man rpmVeya ile başlayın 'rpm --help. Muhtemelen kullanmanı söyleyecektir rpm -i packagename.rpm. Bununla birlikte, sysadmin'den şemsiye-ağdaki size yardım etmesini istemek en iyisi olabilir. Sadece bir mesafeden yapabileceğimiz çok şey var.
Hennes
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.