Belirli bir paket için tüm derleme bağımlılıklarını nasıl kaldırabilirim?


10

Ubuntu / Debian kaynağından bir şey derlemek istediğimde, genellikle sudo apt-get build-dep PACKAGE_NAMEterminalde " " çalıştırarak derleme bağımlılıkları alıyorum .

Derleme işi yapıldıktan sonra (genellikle) işe yaramazlar.

Peki, belirli bir paket için tüm derleme bağımlılıklarını nasıl kaldırabilirim ?

Yanıtlar:


5

Çalıştırabileceğiniz bir programın derleme bağımlılıklarını bulmak apt-cache showsrc pkgnameiçin Build-Depends, genellikle biten dosyalar olan diğer bilgilerin yanı sıra -dev; dosyalardan herhangi birinin (özellikle işaretlenmemiş olanlar -dev) diğer programlar tarafından gerekli olup olmadığını kontrol etmeye değer . Sen kullanarak bu out bulabildiğim apt-cache depends fileve apt-cache rdepends file. Aşağıdaki örnek şöyledir Shotwell:

apt-cache showsrc shotwell

Derlemeye Bağlı: debhelper (> = 7.0.50 ~), m4, valac-0.16 (> = 0.15), libgee-dev (> = 0.5.0), libgtk-3-dev (> = 3.0.11), libexif -dev (> = 0.6.16), libsqlite3-dev (> = 3.5.9), libgexiv2-dev (> = 0.4.1-1build1), libgnomevfs2-dev (> = 2.24.2), libgphoto2-2-dev (> = 2.4.2), libsoup2.4-dev (> = 2.26.0), libxml2 (> = 2.6.32), libunique-3.0-dev (> = 1.0.0), libwebkitgtk-3.0-dev (> = 1.1.5), libgudev-1.0-dev (> = 145), libdbus-glib-1-dev (> = 0.80), libraw-dev (> = 0.13.1-2), libusb-dev, libjson-glib -dev (> = 0.7.6), libgstreamer0.10-dev (> = 0.10.28), libgstreamer-eklentileri-base0.10-dev (> = 0.10.32), python-scour, libunity-dev, liblaunchpad- entegrasyon-3.0-dev (> = 0.1.36), librest-dev

Webupd8 sitesinde hepsini bir arada yapmak için bir komut var , ancak Ubuntu'nun mevcut sürümüyle güvenilir bir şekilde çalışmadığını gördüm, çünkü çok fazla kaldırıyor . Pinta ile denedim ve tüm mono kütüphaneyi kaldırmayı önerdi. Launchpad'de webupd8 gibi komutları kullanmayla ilgili bu tür sorunlar tartışılıyor . Bulabileceğiniz herhangi bir 'çözüm' denerken çok dikkatli olun.

Kurulu paketler autoremoveiçin komutun olmaması utanç vericidir build-dep.


1
Yetenek yöntemini denedim ve evet, haklısın, çok fazla kaldırıyor ... çapraz bağımlılıklar nedeniyle olabilir. Ben buldum başka bir mothod (build-dep komutunu kullanırken) aşağıdaki seçeneği geçmek sudo apt-get build-dep -o APT::Get::Build-Dep-Automatic=true PACKAGE_NAME. Şimdi ile kaldırılabilir apt-get autoremove. Ancak bu yalnızca ana paketi kaldırdıktan sonra çalışır.
Khurshid Alam

2
Her neyse, bunu yapmanın doğru yolunun kullandığını öğrendim pbuilder. Dolayısıyla hiç kimse bağımlılıkları yükleme / kaldırma konusunda endişelenmek zorunda değildir.
Khurshid Alam

6

Tumbleweed yazıyor :

Gelecek için mk-build-deps... yerine kullanmanızı şiddetle tavsiye ederim aptitude build-dep. Bu, paketinizde ... daha sonra kolayca kaldırabileceğiniz [bağımlılıklara sahip] sisteminizde bırakır.

mk-build-deps ile kurulabilir sudo apt install devscripts


4

Seçenek 1:

Hangi paketlerin kurulduğunu hatırlayın sudo apt-get build-dep PACKAGE_NAMEve binadan sonra kaldırın.

Seçenek 2:

apt-cache showsrc build-depends listesi de dahil olmak üzere kaynak paketler hakkında birçok bilgi verir.

apt-cache showsrc PACKAGE_NAME

Örneğin:

$ apt-cache showsrc pithos
Package: pithos
Binary: pithos
Version: 0.3.17~git07dcbd86a1
Section: python
Maintainer: Kevin Mehall <km@kevinmehall.net>
Build-Depends: cdbs (>= 0.4.43), debhelper (>= 6), python, python-central (>= 0.6.11), python-distutils-extra (>= 2.10)
Architecture: all
Standards-Version: 3.8.2
Format: 1.0
Directory: pool/main/p/pithos
Files:
 cdf2129923e62bb62c246965453b40bd 2023031 pithos_0.3.17~git07dcbd86a1.tar.gz
 97689e8ada8be527d689f2c83415d3b0 1544 pithos_0.3.17~git07dcbd86a1.dsc
Python-Version: current
Checksums-Sha1: 35cbf3ae52922e50a0b81afcce2cd97a86afb254 2023031 pithos_0.3.17~git07dcbd86a1.tar.gz
Package-List: pithos deb python extra
Checksums-Sha256: 2b704d86f3dc1d36d180177d11e578bdcf74ea97b09b530144afe754e570b262 2023031 pithos_0.3.17~git07dcbd86a1.tar.gz
$ sudo apt-get remove cdbs debhelper python python-central python-distutils-extra

Bu seçenekle ilgili risk, PACKAGE_NAME oluşturmanın yanı sıra önemli olan bir paketi kaldırabilmenizdir . Devam etmeden önce kaldırılacak paketler listesini okuyun.

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.