Untuk meneliti apa yang menyebabkan pemasangan paket yang diberikan, saya ingin mendapatkan daftar paket yang bergantung pada paket itu. Saya tidak dapat menemukan sesuatu yang jelas man dpkg
.
201
Untuk meneliti apa yang menyebabkan pemasangan paket yang diberikan, saya ingin mendapatkan daftar paket yang bergantung pada paket itu. Saya tidak dapat menemukan sesuatu yang jelas man dpkg
.
aptitude
, sesuatu yang belum diinstal secara default selama bertahun-tahun. Pada 2017, semua orang di Ubuntu masih memilikinyaapt-cache
. Siapa pun yang mengikuti pertanyaan terkait akan tersesat dalam diskusi tentang beberapa program.Jawaban:
apt-cache rdepends packagename
harus melakukan apa yang Anda inginkansumber
apt-cache rdepends tofrodos
mengkonfirmasi kecurigaan bahwa itu diinstal oleh paket lain (usangdos2unix
).--installed
, hasilnya bahkan berguna untuk paket-paket yang dapat digunakan oleh banyak orang lain:apt-cache rdepends --installed packagename
sudo apt rdepends packagename
(Perhatikan itu tidak menggunakan apt-cache tetapi hanya apt)aptitude memiliki cara penanganan yang cukup bagus:
Secara default, ini hanya mencantumkan alasan "paling terinstal, terkuat, ketat, terpendek", tetapi Anda dapat menggunakannya
aptitude -v why
untuk membuatnya menampilkan semua yang ditemukannya.sumber
reverse-depends
diubuntu-dev-tools
ubuntu-dev-tools
ada di Debianopenssh-server
merekomendasikan (dan karena itu diinstal)xauth
pada server tanpa kepala, menyeret ratusan dependensi x11 dan puluhan pembaruan tidak berguna sebulan. Itulah masalah dengan manajemen paket otomatis!Contoh:
sumber
apt showpkg <pkgname>
Ada lebih dari satu cara, dengan masing-masing metode menunjukkan keluaran yang berbeda.
Untuk tampilan terperinci dari pohon dependensi terbalik penuh;
Kalau tidak;
Atau daftar ringkas:
sumber
rdepends
ditampilkan di pohon itu?apt-rdepends php7.0-fpm
menunjukkansed
.sed
tidak tergantung pada PHP, apalagi PHP FPM.apt-rdepends -r yourPackageNameHere
Opsi paling sederhana adalah:
yang tidak mengharuskan Anda untuk menginstal paket apa pun.
sumber
apt-cache
keluaran s. Ini persis apa yang saya butuhkan saat ini (men-debug ketidakcocokan glibc 2.28, jadi upvoting)Selain jawaban baik lainnya, APT / APT-GET
-s
melakukan penghapusan "simulasi" (atau instal).sudo apt -s remove <pkgname>
Menggunakan
-s
atau--simulated
menghapus (atau menginstal) paket, biasanya akan mencantumkan dependensi yang terpengaruh. Ini akan menampilkan paket yatim ketika menghapus, atau dependensi yang diperlukan saat menginstal tanpa benar-benar menjalankaninstall
atauremove
. Hanya informasi.sumber
apt remove -s php7.0-fpm
menunjukkanThe following additional packages will be installed: apache2 apache2-bin apache2-data libapache2-mod-php7.0 libaprutil1-dbd-sqlite3 libaprutil1-ldap liblua5.1-0
. Mengapa apache diinstal jika saya menghapus PHP FPM?