Jawaban:
package-cleanup --quiet --leavesdari 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-binargumen 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 autoremovesubperintah 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 removesub- perintah (mis. Via /etc/yum.conf):
clean_requirements_on_remove=yes
Ketika ini diatur, berikutnya yum removejuga 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_removetidak 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-releasemelaluiyum 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.noarchpaket yang diinstal untuk menggunakanpackage-cleanup
# package-cleanup --orphans >/tmp/junk
edit /tmp/junkfile 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 autoremovedilakukannya. 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-platformdan paket-pembersihan daftar beberapa hal tetapi sebenarnya tidak adanetbeans-platformdependensi yang diinstal sebelumnya (menggunakan Fedora 17).