Saya tahu bagaimana cara menghapus dependensi paket yang dihapus? dan saya mencoba
apt-get autoremove
tetapi itu tidak menghapus dependensi yang direkomendasikan / disarankan oleh paket lain.
Yaitu, jika saya menginstal paket X yang merekomendasikan Y, tapi saya tidak menginstal Y, dan kemudian saya menginstal paket Z yang tergantung pada Y. dan kemudian saya lakukan
apt-get remove --auto-remove Z
maka Y tidak secara otomatis dihapus meskipun tidak ada yang bergantung padanya. (X "mengambil" Y, meskipun itu tidak bergantung padanya).
apt
package-management
pengguna2809402
sumber
sumber
Jawaban:
Jika Anda ingin menghapus paket yang direkomendasikan dari sistem Anda, bahkan jika masih ada beberapa paket yang diinstal merekomendasikan (atau menyarankan) mereka, masukkan yang berikut ini di file
/etc/apt/apt.conf.d/99_norecommends
(buatlah):Dokumentasi untuk opsi-opsi ini ada di sini .
Kemudian, jalankan apt berikutnya harus menghapus semuanya. Jika tidak, luncurkan
aptitude
, dan ketik gdan glagi.Konfigurasi ini juga menonaktifkan instalasi otomatis paket yang disarankan saat menggunakan
apt-get
. Untukaptitude
itu dapat dilakukan dari konsol GUI, menu Pilihan> Preferensi> "Instal paket yang direkomendasikan secara otomatis" (hapus centang).sumber
InstallRecommends
orang cacat. Sebagai catatan, itu dinonaktifkan secara default sampai Debian Squeeze dirilis, yaitu sejak Februari 2011 (tidak tahu tentang Ubuntu). Selain itu, Anda mungkin tidak memerlukan konfigurasi yang sama di server atau pengaturan desktop.Mengganti opsi APT
Tidak seperti dependensi, paket yang "otomatis" atau "disarankan" yang diinstal secara otomatis dapat diabaikan oleh
apt-get autoremove
.Seperti yang dijelaskan di tempat lain, perilaku APT ini dapat diubah dalam konfigurasi.
Demikian juga, konfigurasi
apt-get
perintah dapat sementara diubah melalui-o
opsi baris perintah.Ini adalah, bagaimana Anda akan memaksa autoremove untuk menghapus sisa "disarankan" dan "disarankan" paket, di samping dependensi yang tidak digunakan.
Peringatan!
Beberapa fungsi mungkin hilang. Bersiaplah untuk menyelidiki dan menginstal ulang hal-hal. Mungkin lebih mudah meninggalkan paket-paket ini sendiri.
Pilihan lain
Untuk menghapus paket 'disarankan' dan 'disarankan' hanya untuk paket tertentu, lihat log riwayat apt.
sumber
apt-get
's-s
pilihan dan pipa untukgrep ^Remv
- jadi itu perintah:apt-get autoremove -s -o APT::Autoremove::RecommendsImportant=0 -o APT::Autoremove::SuggestsImportant=0 | grep ^Remv
Sebenarnya perintahnya adalah:
Tapi ini punya trik! Jika salah satu dari dependensi memiliki beberapa paket lain yang diinstal sebelumnya yang merekomendasikan / menyarankan mereka maka apt tidak akan menghapusnya.
Anda tidak menentukan paket apa itu tetapi sebagai contoh, jika saya menginstal plugin IcedTea, itu akan menginstal Java / OpenJRE oleh dependensi. Jika saya uninstall mereka menggunakan
sudo apt-get autoremove icedtea-7-plugin
Anda akan melihat bahwa itu tidak akan menghapus Java / OpenJRE, karena LibreOffice juga menyarankan paket.Jadi, untuk menghapusnya, Anda harus terlalu spesifik tentang paket yang ingin Anda hapus seperti biasa
autoremove
:Dengan cara ini Anda bisa memastikan paket Anda dihapus.
Anda juga dapat menggunakan deborphan untuk menghapus beberapa dependensi.
sumber
deborphan
tetapi deborphan mungkin masih melewatkan beberapa paket. Anda dapat menggunakanDebug::
opsi dan juga memeriksa jawaban saya yang lain tentang ini . Anda juga dapat menggunakan--no-install-recommends
, tetapi apt-get tidak menginstal paket yang disarankan secara default.Benar, jika Anda ingin menghapus paket
<Z>
dengan dependensi, ketik saja:sumber
autoremove
bekerja di seluruh sistem. Jadi, kapan pun Anda meneleponautoremove
, itu akan menghapus semua paket yang tidak digunakan di sistem Anda. Menginstal sebuah paket, makaautoremoving
biasanya tidak akan mengembalikan sistem ke status yang sama, dan sebagai gantinya akan meninggalkan banyak paket "sisa".