Anda mengajukan beberapa pertanyaan berbeda di sini, saya harap setidaknya saya dapat membantu satu atau dua.
Untuk mendaftar semua paket yang diinstal, gunakan dpkg
untuk menampilkan dalam daftar bidang yang dipisahkan
dpkg -l
Untuk hanya mendapatkan daftar paket, tanpa bidang tambahan, sehingga Anda dapat mengirimnya ke tempat lain.
dpkg -l | awk '{print $2 }' # Pipe to grep after the awk, or glob from dpkg
Misalnya, jika saya ingin menghapus kernel lama,
apt-get purge `dpkg -l linux* | awk '{print $2}' | grep 3.0.0-12`
Cara termudah untuk melewati semua dependensi yang tidak dibutuhkan, adalah dengan debfoster
. Ini berjalan secara interaktif dan melewati apa yang Anda inginkan, dependensi mereka dan dapat menghapus atau daftar apa yang bukan dependensi rekursif.
Untuk membuat daftar semua dependensi rekursif dari paket tertentu,
debfoster -d $PACKAGE ## PACKAGE is the specific package.
Setelah Anda mengeksekusi debfoster
Anda dapat memeriksa tanggungan yang dimiliki paket,
debfoster -e $PACKAGE ## PACKAGE is the specific package.
Cara yang hebat untuk mendaftar paket 'yatim piatu' adalah dengan deborphan
. Jalankan deborphan
tanpa opsi, dan itu akan mencantumkan semua paket 'yatim'. 'Yatim piatu' adalah paket yang tidak bergantung pada apa pun, dan Anda belum menginstalnya secara eksplisit.
Saya juga suka membersihkan paket 'yatim piatu', setelah instalasi baru. Setelah saya menghapus paket tertentu, Anda bisa mendapatkan apa pun yang terlewat apt-get autoremove --purge
dengan,
apt-get purge `deborphan`
Akhirnya terkadang Anda tidak --purge
dan berakhir dengan paket 'sisa', versi yang lebih baru apt-get
dapat secara otomatis menghapusnya. Untuk menghapus semua 'sisa' dari paket yang dihapus, jalankan,
apt-get autoclean
Jika Anda tidak memiliki versi baru apt-get
, Anda selalu dapat menghapusnya dengan perintah ini. Mereka membuat kesalahan jika tidak ada file 'sisa', sepertinya autoclean dapat melewatkan beberapa file sesekali.
dpkg --list |grep "^rc" | cut -d " " -f 3 | xargs dpkg --purge
apt-get --dry-run remove
pada dasarnya terlihat benar. Mungkin melewatkan beberapa paket yang diinstal secara otomatis yang hanya diperlukan untuk paket yang diinstal secara otomatis yang hanya dibutuhkan oleh paket yang Anda hapus. Apakah itu sebabnya Anda tidak menganggapnya sebagai jawaban yang cocok?