Bagaimana cara menghapus dependensi paket yang dihapus?


48

Saya ingin menginstal paket (DigiKam), tetapi memiliki banyak dependensi. Jika saya memutuskan saya tidak lagi memerlukan perangkat lunak ini dan menghapus instalannya, apakah ketergantungan yang sekarang tidak akan dihapus?

Jika tidak, bagaimana saya bisa melakukannya secara manual?

Jawaban:


80

Anda bisa menggunakan perintah apt-get autoremove. Ini akan menghapus paket yang diinstal sebagai dependensi otomatis, tetapi tidak tergantung lagi.

apt-getmemiliki bendera --auto-removeyang dapat digunakan untuk secara otomatis menghapus paket yang diinstal secara otomatis saat menghapus paket yang diinstal secara manual:

apt-get remove --auto-remove packagename

Alat-alat lain tertentu juga mampu melakukan ini, misalnya aptitudeakan secara otomatis menyarankan Anda menghapus paket-paket yang telah yatim piatu.

Pelacakan paket yang terinstal secara otomatis dibuat untuk apt sehingga pelacakan harus bekerja tidak peduli alat apa yang Anda gunakan untuk menginstal paket.


Jadi, jawabannya adalah BUKAN dilakukan secara otomatis untuk menghapus paket "induk", kan?
jfoucher

Itu tergantung pada metode yang Anda gunakan untuk menghapus paket induk. Misalnya aptitude menyarankan bahwa paket-paket itu dihapus ketika Anda menghapus paket induk. Tidak semua alat melakukan ini.
Ressu

Anda dapat menghapus paket dan semua dependensinya yang sekarang tidak lagi dibutuhkan dalam satu langkah bersama sudo apt-get remove --auto-remove package.
Marius Gedminas

perbedaan antara autoremove dan --auto-remove agak tidak jelas. Bisakah saya menggabungkannya?
Johnny mengapa

@ johny mengapa bendera dimaksudkan sebagai parameter untuk menghapus perintah sedangkan perintah hapus otomatis adalah yang berdiri sendiri. Saya ragu Anda dapat menggabungkan mereka, tetapi saya tidak dapat memeriksa untuk memastikan saat ini.
Ressu

10
aptitude purge digikam
deborphan
aptitude purge $(deborphan)

deborphandaftar paket yang tidak digunakan atau tidak bergantung. Jadi Anda dapat menghapusnya dengan aman. Saya cenderung menggunakan purgesebagai opsi aptitudekarena menghapus juga file konfigurasi dan hal-hal lain.


Saat menggunakan deborphan, sering kali perlu menjalankannya beberapa kali berturut-turut, atau setidaknya menurut pengalaman saya. Sepertinya terus mencari barang baru.
mfisch

Ya itu benar. Seseorang menulis perbaikan untuk deborphan. Tapi itu tidak pernah berhasil sampai ke Debian. Algoritma lebih baik dan Anda harus menjalankannya sekali saja. Mungkin saya akan bertanya kepada penulis apakah dia ingin menambahkannya lagi ke repo Debian / Ubuntu.
qbi

Mungkin saya tidak bisa menggunakannya, tetapi deborphan biasanya ingin menghapus banyak aplikasi yang sebenarnya saya gunakan, serta beberapa paket sistem penting.
Rafał Cieślak

1
aptitude purge <pkgname>sangat berguna untuk paket yang benar-benar menghapus yang telah gagal / sebagian berhasil dihapus. Status mereka mungkin terdaftar dpkg -L <pkgname>sebagai deinstalltetapi menggunakan aptitudeakan menghapus mereka sepenuhnya dari database aptitude, dan file-file yang tersisa tidak dihapus oleh instalasi yang gagal tampaknya dihapus juga.
KomodoDave


4

Saya menggunakan tweak ubuntu , ia memiliki utilitas pembersihan aplikasi yang sangat efisien yang tidak pernah dihapus lebih dari yang seharusnya.


3
sudo apt-get remove --auto-remove 

Hanya jalankan ini.

Instal BleachBit dari Pusat Perangkat Lunak. Ketika Anda membersihkan sistem Anda menggunakannya, BleachBit akan secara otomatis menjalankan perintah ini untuk membersihkan cache apt.


0

Saya memiliki masalah yang sama. Inilah yang saya lakukan:

sudo apt-get check

Perintah ini akan memberikan nama dependensi. Misalnya sistem saya punya chromium-browser-l10n.

Kemudian masukkan perintah berikut

sudo apt-get remove --auto-remove chromium-browser-l10n

Ini akan menghapus dependensi sepenuhnya dari sistem Anda

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.