Apakah ada cara yang lebih baik untuk menginstal hanya dependensi yang diperlukan dari suatu paket, daripada menginstalnya langsung dengan apt-get (atau antarmuka dpkg lainnya) dan kemudian segera menghapusnya, meninggalkan dependensinya?
sumber
Apakah ada cara yang lebih baik untuk menginstal hanya dependensi yang diperlukan dari suatu paket, daripada menginstalnya langsung dengan apt-get (atau antarmuka dpkg lainnya) dan kemudian segera menghapusnya, meninggalkan dependensinya?
apt-cache depends pkgname
akan menunjukkan dependensi suatu paket.
Jika Anda ingin semuanya dalam satu perintah, Anda bisa melakukan lebih buruk daripada:
apt-get install `apt-cache depends pkgname | awk '/Depends:/{print$2}'`
apt-get menyediakan perintah untuk itu ...
apt-get build-dep <package name>
Dari halaman manual yang Anda dapatkan
build-dep menyebabkan apt-get untuk menginstal / menghapus paket-paket dalam upaya untuk memenuhi dependensi build untuk paket source. Secara default, dependensi puas untuk membangun paket secara asli. Jika diinginkan, arsitektur host dapat ditentukan dengan opsi --host-architecture.
build dependencies
dandependencies
? Seperti pada, jika Anda biasanya menginstal sebuah program Anda mendapatkan dependensi yang benar-benar harus dijalankan, dan dengan build-dependencies saya lebih memikirkan perpustakaan, kompiler, hal-hal seperti itu. Jadi karena saya tidak yakin (jawaban ini memang memiliki upvotes) tetapi bagi saya sepertinya tidak sepele bahwa mendapatkan dependensi build sama dengan mendapatkan dependensi (run) yang dimiliki paket?aptitude akan memungkinkan Anda menentukan kueri alih-alih nama paket saat menginstal. Jika Anda ingin menginstal dependensi paket yang bernama
foo
, Anda dapat menginstal paket yang memiliki dependensi terbalik padafoo
:atau
Masalah dengan menginstal paket kemudian menghapusnya, adalah bahwa semua paket yang diinstal sebagai dependensi akan ditandai sebagai "terinstal secara otomatis", dan akan dihapus oleh tindakan instal / hapus / perbarui dengan bakat atau ketika Anda menjalankan
apt-get autoclean
kecuali Anda tandai sebagai diinstal secara manual menggunakanaptitude mark
atauapt-mark
perintah.Namun, ini menimbulkan pertanyaan mengapa Anda ingin melakukan ini tebakan terbaik saya adalah bahwa Anda mencoba menginstal dependensi untuk beberapa perangkat lunak yang akan Anda kompilasi dengan tangan. Jika demikian, Anda harus menginstal dependensi build terlebih dahulu
apt-get build-dep packagename
, tetapi kemudian Anda harus membuat paket dummy yang memiliki dependensi runtime (yang umumnya berbeda dari dependensi build) dengan menggunakanequiv
paket untuk membangun paket dummy dengan dependensi yang benar untuk program yang Anda susun secara manual. Lihat informasi tentangequivs
di APT HOWTOsumber
Dalam kasus membangun pkgname dari sumber
sumber