Apt menangani dependensi antar paket yang diinstal dari repositori atau *.deb
file-nya. Namun, bagaimana dengan perangkat lunak yang telah dikompilasi dan diinstal pengguna dari sumbernya ./configure && make && make install
tanpa membuat .deb
file terlebih dahulu? Apakah mungkin Apt dapat menghapus paket yang dibutuhkan oleh perangkat lunak tersebut? Apakah menginstal perangkat lunak dari sumber /opt
atau /usr/local
membuat perbedaan?
debian
apt
dependencies
Elena
sumber
sumber
Jawaban:
APT tidak tahu apa-apa tentang perangkat lunak yang diinstal secara manual. Tidak tahu perpustakaan apa yang dibutuhkan perangkat lunak atau apa pun.
Ketika APT menginstal paket hanya untuk memenuhi dependensi paket lain, paket ini ditandai sebagai diinstal secara otomatis. Jika Anda menghapus semua paket yang bergantung pada paket yang diinstal secara otomatis, paket itu dihapus ketika Anda menjalankan
apt-get autoremove
; antarmuka tingkat tinggi ke APT biasanya akan menawarkan untuk melakukan hal itu setelah pemeliharaan lainnya. Untuk menghindari penghapusan paket yang diperlukan oleh perangkat lunak yang diinstal secara lokal, tandai paket ini sebagai yang diinstal secara manual:, atau kunci dalam aptitude.apt-mark manual PACKAGE-NAME
m
Untuk menemukan paket perpustakaan apa yang perlu dieksekusi biner, jalankan
ldd /path/to/executable
. Untuk setiap baris yang berisi , jalankan untuk menampilkan nama paket yang berisi perpustakaan itu. Untuk skrip, tunjukkan interpreter yang digunakan oleh skrip; pastikan bahwa juru bahasa ini tetap diinstal. Menemukan perpustakaan apa yang digunakan oleh skrip bisa sulit, tidak ada cara universal untuk melakukannya./usr/lib/SOMETHING
dpkg -S /usr/lib/SOMETHING
head -n 1 /path/to/script
Jika Anda secara manual menginstal versi terbaru dari sebuah paket yang ada di distribusi Anda, lihat dependensi dari paket distribusi dan tandai sebagai diinstal secara manual.
sumber
apt-get
di Debian Jessie tidak memilikimanual
opsi. Untuk petunjuk pemasangan manual vs. otomatis (matic) ini saya telah menggunakanapt-mark
. (apt-mark manual pkg
,apt-mark showmanual pkg
,apt-mark auto pkg
, Dll)apt-mark
, terima kasih.apt
dandpkg
benar - benar dapat menghapus perangkat lunak yang diperlukan oleh perangkat lunak lain yang diinstal secara lokal yang berada di luar ruang lingkup sistem manajemen paket. Tidak ada cara untukapt
dandpkg
mengetahui bahwa perangkat lunak tersebut mungkin ada.Lokasi di mana perangkat lunak tersebut diinstal tidak membuat perbedaan: itu bisa
/opt
atau/usr/local
atau di direktori home pengguna (dalam hal ini bahkan sysadmin mungkin tidak menyadari keberadaannya), atau di mana saja, sungguh.Secara teknis
apt
ataudpkg
bahkan dapat menghapus perangkat lunak yang diperlukan oleh perangkat lunak lain yang merupakan bagian dari sistem manajemen paket, jika perangkat lunak yang terakhir gagal menyatakan bahwa itu tergantung pada perangkat lunak sebelumnya. Namun, proses untuk membuat paket deb mencakup otomatisasi untuk membantu mencegah pengelola paket lupa menyatakan ketergantungan seperti itu.sumber