Bagaimana saya bisa menghapus semua dependensi build untuk paket tertentu?

10

Ketika saya ingin mengkompilasi sesuatu dari sumber di Ubuntu / Debian, saya biasanya mendapatkan " sudo apt-get build-dep PACKAGE_NAME" dependensi-membangun dengan menjalankan " " di terminal.

Mereka (biasanya) tidak berguna setelah pekerjaan kompilasi selesai.

Jadi, bagaimana cara saya menghapus semua dependensi build untuk paket tertentu?

Khurshid Alam
sumber

Jawaban:

5

Untuk mengetahui dependensi build dari suatu program yang dapat Anda jalankan apt-cache showsrc pkgnamedan itu akan mencantumkan, di antara informasi lainnya Build-Depends, file yang sering berakhiran -dev; meskipun perlu memeriksa apakah ada file (terutama yang tidak ditandai -dev) yang diperlukan oleh program lain. Anda bisa mengetahuinya dengan menggunakan apt-cache depends filedan apt-cache rdepends file. Contoh berikut adalah untuk Shotwell:

apt-cache showsrc shotwell

Build-Depends: 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-plugins-base0.10-dev (> = 0.10.32), gerusan python, libunity-dev, liblaunchpad- integrasi-3.0-dev (> = 0.1.36), librest-dev

Ada perintah untuk melakukan semuanya sekaligus di situs webupd8 , tetapi saya telah menemukan bahwa itu tampaknya tidak berfungsi dengan baik dengan versi Ubuntu saat ini yang sepertinya menghapus terlalu banyak. Saya mencobanya dengan Pinta dan menyarankan untuk menghapus seluruh perpustakaan mono. Ada diskusi tentang masalah tersebut dengan menggunakan perintah seperti yang ada di webupd8 di Launchpad . Berhati-hatilah saat bereksperimen dengan 'solusi' yang mungkin Anda temukan.

Sayang sekali tidak ada autoremoveperintah untuk build-deppaket yang diinstal.


sumber
1
Saya mencoba metode aptitude & ya, Anda benar, ini menghapus terlalu banyak ... mungkin karena saling ketergantungan. Satu mothod lain saya menemukan adalah untuk memberikan opsi berikut (saat menggunakan perintah build-dep): sudo apt-get build-dep -o APT::Get::Build-Dep-Automatic=true PACKAGE_NAME. Sekarang mereka dapat dihapus dengan apt-get autoremove. Tetapi ini hanya berfungsi setelah menghapus paket utama.
Khurshid Alam
2
Bagaimanapun, saya baru tahu bahwa cara yang tepat untuk melakukannya, adalah menggunakan pbuilder. Jadi tidak ada yang perlu khawatir tentang menginstal / menghapus ketergantungan.
Khurshid Alam
6

Tumbleweed menulis :

Untuk masa depan, saya sangat merekomendasikan menggunakan mk-build-deps... bukan aptitude build-dep. Itu meninggalkan paket ... di sistem Anda, [yang memiliki dependensi] pada build-deps, yang dapat Anda hapus dengan mudah nanti.

mk-build-deps dapat diinstal dengan sudo apt install devscripts

FalcoGer
sumber
4

Pilihan 1:

Ingat paket mana yang diinstal oleh sudo apt-get build-dep PACKAGE_NAMEdan menghapusnya setelah membangun.

Pilihan 2:

apt-cache showsrc memberikan banyak informasi tentang paket sumber, termasuk daftar build-depend.

apt-cache showsrc PACKAGE_NAME

Sebagai contoh:

$ apt-cache showsrc pithos
Package: pithos
Binary: pithos
Version: 0.3.17~git07dcbd86a1
Section: python
Maintainer: Kevin Mehall <[email protected]>
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

Risiko dengan opsi ini adalah Anda dapat menghapus paket yang penting untuk sesuatu selain membangun PACKAGE_NAME. Cukup baca daftar paket yang akan dihapus sebelum melanjutkan.

Michael Crenshaw
sumber