Jawaban:
package-cleanup --quiet --leaves
dari paket yum-utils akan mencantumkan paket perpustakaan yang tidak diandalkan oleh paket lain. Sayangnya itu cenderung sedikit berlebihan. Di sistem saya, misalnya, disarankan menghapus libvirt. Menambahkan --exclude-bin
argumen membantu. Jika Anda puas dengan sarannya, maka untuk membersihkan paket, lakukan:
# package-cleanup --quiet --leaves --exclude-bin | xargs yum remove -y
DNF, pengganti yum sejak Fedora 22, juga menyediakan autoremove
subperintah yang dimodelkan setelah apt-get / yum autoremove.
Contoh:
# dnf autoremove
yang mencoba untuk menghapus semua paket dependensi yang diinstal secara otomatis dan yang tidak digunakan - harusnya setara apt-get autoremove
.
# dnf autoremove examplepackage
yang menghapus paket contoh dan semua dependensinya yang diinstal secara otomatis (dan jika tidak digunakan).
Yum memiliki perintah autoremove sejak Fedora 19, dan didokumentasikan sejak Fedora 20 / RHEL 7.
Penggunaannya analog dengan implementasi dnf, misalnya:
# yum autoremove
atau
# yum autoremove examplepackage
Yum mendukung opsi konfigurasi untuk mengubah perilaku default dari remove
sub- perintah (mis. Via /etc/yum.conf):
clean_requirements_on_remove=yes
Ketika ini diatur, berikutnya yum remove
juga mencoba untuk menghapus dependensi yang diinstal otomatis jika mereka tidak diperlukan oleh paket lain.
Anda juga dapat menguji opsi ini untuk sementara waktu melalui sesuatu seperti:
# yum --setopt=clean_requirements_on_remove=1 remove examplepackage
(Untuk versi Fedora di mana yum autoremove subcommand tidak tersedia dan / atau clean_requirements_on_remove
tidak berfungsi.)
Meskipun selama instalasi paket diinstal dependensi ditandai seperti itu (tampaknya fitur yang relatif baru dari rpm / yum).
Anda dapat menemukan dependensi yang tidak dibutuhkan melalui:
$ package-cleanup --leaves -q --all \
| xargs repoquery --installed --qf '%{nvra} - %{yumdb_info.reason}' \
| grep -- '- dep' \
| cut -d' ' -f1 > tmp
Baris perintah ini terinspirasi oleh skrip fenris02 .
Setelah memeriksa tmp
(dan mungkin kurasi) Anda dapat menghapusnya melalui sesuatu seperti ini:
# xargs yum remove < tmp
adobe-release
melaluiyum localinstall
Anda perlu menginstal plugin yum "hapus-dengan-daun":
# yum install yum-plugin-remove-with-leaves.noarch
setelah diinstal:
# yum remove --remove-leaves package
semoga berhasil!
yum-plugin-remove-with-leaves.noarch
paket yang diinstal untuk menggunakanpackage-cleanup
# package-cleanup --orphans >/tmp/junk
edit /tmp/junk
file dan hapus baris pertama yang bersifat informasi dari baris perintah, masukkan yang berikut ini:
for file in `cat /tmp/junk`
do
yum remove $file
done
apt-get autoremove
dilakukannya. apt-get (8) mengatakan: 'autoremove digunakan untuk menghapus paket yang diinstal secara otomatis untuk memenuhi dependensi untuk beberapa paket dan yang tidak diperlukan lagi.'
CATATAN: Jawaban ini benar tetapi hanya berlaku untuk RHEL 7+ dan Fedora 20+ (di mana autoremove telah ditambahkan sebagai fitur baru).
# yum autoremove
Cukup konfirmasi untuk menghapus paket yang dipilih.
Membangun berdasarkan jawaban Larry Mohr :
package-cleanup --orphans | sed '1d' | sed '/^ * /d' | sed '/Loading mirror speeds from cached hostfile/d' | xargs sudo yum remove
(Termasuk melewatkan untuk cermin tercepat, jika Anda bertanya-tanya.)
Di Fedora, paket anak yatim berarti tidak ada repo kandidat untuk diperbarui!
Jika paket-paket anak yatim dihasilkan oleh Anda, nonaktifkan yum.repos.d / some.conf.
yum distro-sync
Paket yatim lainnya, perintahnya mungkin berbahaya.
yum remove $(package-cleanup --orphans)
atau, cukup gunakan perintah keamanan.
yum remove name-of-page
Cara lain untuk tidak menyebabkan masalah ini adalah dengan menggunakan transaksi.
Setelah pengaturan sistem dasar, saat Anda menginstal menggunakan yum, itu menciptakan transaksi. Ketika Anda bermaksud untuk menghapus sesuatu, kembalikan transaksi.
netbeans-platform
dan paket-pembersihan daftar beberapa hal tetapi sebenarnya tidak adanetbeans-platform
dependensi yang diinstal sebelumnya (menggunakan Fedora 17).