Saya memiliki skenario di mana saya ingin menghapus satu set paket yang mungkin atau mungkin tidak diinstal, dan saya ingin apt-get untuk menghapus yang ada dan diam-diam mengabaikan yang tidak. Sesuatu seperti:
apt-get remove foo bar baz
yang, jika foo dan bar diinstal tetapi baz tidak, akan menghapus foo dan bar tanpa mengeluh tentang baz. Apakah ada cara untuk melakukan ini?
Hal-hal yang saya coba tidak berhasil, dengan cups-dbg sebagai paket kambing hitam saya yang sebenarnya diinstal untuk dihapus:
jcp@a-boyd:~$ sudo apt-get remove -y cups-dbg bogus-package
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package bogus-package
jcp@a-boyd:~$ sudo apt-get remove --ignore-missing cups-dbg bogus-package
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package bogus-package
jcp@a-boyd:~$ sudo apt-get remove --fix-broken cups-dbg bogus-package
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package bogus-package
Saya tahu saya bisa melakukan ini dengan skrip shell dan dpkg --list
sihir, tetapi saya ingin menghindari kerumitan yang tidak mutlak diperlukan.
Jawaban:
Apakah kembali ke alat level bawah seperti dpkg merupakan pilihan?
Untuk menghapus paket, konfig menggunakan file purge seperti di bawah ini
sumber
Saya menggunakan
apt-get remove --purge
(aliasapt-get purge
) untuk dependensi berikut dengan daftar paket. Untuk menangani paket yang tidak ada, saya memfilter paket yang tidak diinstal dengan skrip berikut.sumber
Untuk Debian ≤ 9, dimungkinkan untuk hanya menggunakan
aptitude
alih-alihapt-get
:Aptitude mencetak peringatan, namun tetap menghapus paket Anda:
Jika Anda ingin membersihkan (menghapus file konfigurasi paket) daripada menghapus (menyimpan file konfigurasi), perhatikan bahwa
aptitude
hanya membersihkan paket yang diberikan secara langsung, sedangkan dependensi yang tidak digunakan hanya dihapus. Namun, Anda dapat membersihkan semua paket yang dihapus di langkah kedua:sumber
bogus-package
hanya saja memiliki nama yang salah. jadi, jika kita memiliki sekitar 500 paket, akan lebih baik untuk menganalisis paket palsu juga dan melakukan beberapa trik (misalnya, nomor setelah nama yang kurang, dll. jadi, bisakah Anda memberikan petunjuk tentang cara melakukan ini ..Couldn't find any package whose name or description matched 'QUX' Unable to apply some actions, aborting
2-liner kecil lain jika ada yang perlu menggunakan apt:
Penjelasan:
sumber