Kaynaktan bir paket oluşturursam nasıl tamamen kaldırabilirim veya kaldırabilirim?

119

Aşağıdaki gibi bir paket oluşturmak için kaynak kodu kullandım:

./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

Ama ne yazık ki, onun en son sürümünün olduğunu keşfettim ve çok fazla hata var, bu yüzden onu kaldırmam / kaldırmam gerekiyor. Ama bunu nasıl yapabilirim? % Co_de% denedim ancak hala görüyorum:

# pkg-config --list-all | grep Myplugin
myplugin-....
$ ls /usr/lib/myplugin/libXYZ.so
exist....

Şimdi bunu nasıl kaldırıyorsunuz?

    
sordu YumYumYum 12.12.2011 12:42

6 cevap

150

Genellikle sadece şunları kullanabilirsiniz:

make uninstall

veya

sudo make uninstall

Uygulama kök olarak kurulduysa.

Ancak bu, yalnızca paketin geliştiricisi iyi bir kaldırma kuralı oluşturduğunda işe yarayacaktır.

Ayrıca, yazılımı yüklemek için kullanılan adımları şu adresten inceleyebilirsiniz:

make -n install

Sonra bu adımları manuel olarak tersine çevirmeye çalışın.

Gelecekte bu tür sorunlardan kaçınmak için, mümkün olduğunda checkinstall yerine make install kullanmayı deneyin. Hem derlenmiş hem de paketlenmiş bir versiyonu aynı anda tutmak istemediğiniz sürece AFAIK. Daha sonra favori paket yöneticinizi kullanarak kaldırabileceğiniz bir deb dosyası oluşturacak ve yükleyecektir.

make clean genellikle bina dizinlerini temizler, paketi kaldırmaz. Tüm şeyin sadece değiştirilmiş dosyalar değil, derlendiğinden emin olmak için kullanılır.

    
verilen cevap Javier Rivera 12.12.2011 12:49
26

Bunun bir hata olduğunu düşünmüyorum, kaynak yüklerken check-in'i okumak ve kullanmayı öğrenmek iyi bir fikir olacaktır.

check-up'ları depolardan, paketin kısa bir tanımını yükleyebilirsiniz;

CheckInstall, oluşturulan tüm dosyaları izler veya yükleme komut dosyanız tarafından değiştirildi ("make install" "install_modules olun", "kurulum", vb), bir standart ikili paket ve sizin için sistem ile onu kaldırma yeteneği veren dağıtımın standart paket yönetimi yardımcı programları.

Aşağıdaki bu bağlantılar daha iyi anlaşılması için yardımcı olabilir. İşte

İşte

    
verilen cevap Sabacon 20.01.2011 23:36
15

Bu bir hata değil - kaynak derleme, paket yönetim sistemini (Yazılım Merkezi tarafından kullanılan) tamamen devre dışı bırakan bir yazılım yükleme desteklenmeyen bir yöntemdir.

Ubuntu'nun ne yapılacağını bilemeyecek şekilde, kaynaktan derlenen yazılımın kurulup kaldırılmasının standart bir yolu yoktur. Yazılım yüklü bir program olarak bile listelenmiyor.

Bu özel yazılımın kurulumu ve kaldırılması için distribütörün talimatlarına uymalısınız. Paket yönetim sisteminin kullanılabilmesi için bir Debian paketi oluşturmasını istemek için geliştiriciyle de iletişime geçebilirsiniz.

    
verilen cevap dv3500ea 20.01.2011 23:38
3

Bu bir hata değildir, geliştiriciler yerel paketleme yöntemleri ile değil, kaynak yoluyla dağıtıma başvurduklarında gerçekleşir.

Kaynak dosyalarınızı checkinstall veya dhbuild kullanarak debian paket haline getirebilirsiniz. Dürüst olmak gerekirse, bence yeni kullanıcılar kaynağından yükleme yapmaktan kaçınmalı ve geliştiriciler yalnızca kaynak yoluyla dağıtmaktan kaçınmalıdır.

    
verilen cevap RolandiXor 20.01.2011 23:36
0

Yüklemeyi kaldır 'ın yapmamasını her zaman işe yarayacak, yani aşağıda proaktif bir çözümden daha fazlasıdır.

 Bu paco programının kullanımını içerir Ubuntu Yazılım Merkezi'nde mevcuttur. Paco kurduktan sonra, Bir programı "yüklediğimizde" log modunu kullanabiliriz. Paco, "make install" iniz için bir sarıcı gibi davranır ve / var / log / paco dizininde çeşitli dizinlere kopyalanan dosyaların listesiyle bir günlük oluşturur. Dahası, Paco Front ucundaki dosyaları görebilirsiniz.

Örneğin, php'yi kaynaktan derlediğimde aşağıdakileri yaptım:

paco -lp php5 "make install"

Parametre l paco'yu günlük modunda çalıştırır. Bu, / var / log / paco dizininde php5 adında bir log dosyası yaratır (komutta verdiğim isim). Yükleme sırasında çeşitli standart konumlara kopyalanan tüm dosyaları içeriyordu. Dosyaları görüntülemek için bir komut satırı düzenleyicisi veya paco gui kullanabilirsiniz.

Aşağıda örnek alınacak. sed komut satırı editörünü kullanarak dosya listesi

(php5'i dosya adınızla değiştirin).

cat /var/log/paco/php5 | sed -n 's/|\(.*\)//;/^#\(.*\)/d;p'

Dosyaların listesini aldığınızda, bunları nasıl sileceğinizi biliyorsunuz değil mi? Gerçekten de, yukarıdaki komutun sonuçlarını aşağıda gösterildiği gibi back-up'ları kullanarak rm olarak iletebilirsiniz:

sudo rm 'cat /var/log/paco/php5 | sed -n 's/|\(.*\)//;/^#\(.*\)/d;p''

İş bitti!

Not: LD_PRELOAD sınırlamaları nedeniyle paco, suid programlarının izini takip edemez. Adam sayfasına bakın.

    
verilen cevap sjsam 09.03.2015 13:56
0

openssl ile yapılandırmadan php-5.6.30 kaynağından derledim, bu yüzden geri dönüp onu sıfırdan yüklemem gerekiyordu. kaldırmadı php için Makefile olarak çalışmak onu desteklemiyor.

Ancak, bu adım benim için çalıştı, - Ben php ile ilgili tüm dosyaları listelenen ve onları el ile kaldırıldı, bir ter kırmadan yaklaşık 5 dakika sürdü. Derlenmiş yazılımınızı kaldırmak için bu adımları benzer şekilde kullanabilirsiniz.

Kaldırmanız gereken yazılımla php yerine

whereis php

Yukarıdaki komut, ikili dosyaların kurulu olduğu dizinleri listeler: / usr / local / bin / php, / usr / bin / php .. çıktılarınızda listelenen her dosyayı / dizini kaldırın.

sudo rm -f /usr/local/bin/php

Bunu yukarıdaki çıktıda listelenen tüm dosyalarla yapın ve daha yeni sürümü sıfırdan kurmaya hazırsınız.

    
verilen cevap Abhinay 03.04.2018 21:25

Etiketlerdeki diğer soruları oku