Yanıtlar:
package-cleanup --quiet --leaves
dan yum-utils paketi değil Diğer paketler tarafından güvenerek kütüphane paketleri listeler. Ne yazık ki biraz abartılı olma eğilimindedir. Benim sistemimde, örneğin, libvirt'in kaldırılmasını önerdi. --exclude-bin
Argüman eklemek yardımcı olur. Önerisinden memnunsanız paketleri temizlemek için şunları yapın:
# package-cleanup --quiet --leaves --exclude-bin | xargs yum remove -y
Fedora 22'den beri yum'un yerine geçen DNF, apt-get / yum autoremove komutundan sonra modellenen bir autoremove
alt komut da veriyor.
Örnekler:
# dnf autoremove
otomatik olarak kurulan ve aksi takdirde kullanılmayan bağımlılık paketlerini kaldırmaya çalışan - hemen hemen aynı olmalıdır apt-get autoremove
.
# dnf autoremove examplepackage
örneklem paketini ve tüm otomatik olarak yüklenen (ve aksi takdirde kullanılmayan) bağımlılıkları ortadan kaldırır.
Yum, Fedora 19’dan beri otomatik kumanda komutuna sahiptir ve Fedora 20 / RHEL 7’den beri belgelenmiştir.
Kullanım, dnf uygulamasına benzer, örneğin:
# yum autoremove
veya
# yum autoremove examplepackage
Yum, remove
alt komutun varsayılan davranışını değiştirmek için bir yapılandırma seçeneğini destekler (örn. /Etc/yum.conf aracılığıyla):
clean_requirements_on_remove=yes
Bu ayarlandığında, bir sonraki yum remove
adım, diğer paketler tarafından gerekmediğinde otomatik olarak kurulan bağımlılıkları da kaldırmaya çalışır.
Ayrıca, bu seçeneği aşağıdaki gibi geçici olarak test edebilirsiniz:
# yum --setopt=clean_requirements_on_remove=1 remove examplepackage
(Yum autoremove alt komutunun kullanılamadığı ve / veya clean_requirements_on_remove
çalışmadığı Fedora sürümleri için )
Her ne kadar paketlerin kurulumu sırasında yüklenen bağımlılıklar böyle işaretlenmiştir (rpm / yum'un nispeten yeni bir özelliği gibi görünmektedir).
Gereksiz bağımlılıkları aşağıdaki yollarla bulabilirsiniz:
$ package-cleanup --leaves -q --all \
| xargs repoquery --installed --qf '%{nvra} - %{yumdb_info.reason}' \
| grep -- '- dep' \
| cut -d' ' -f1 > tmp
Bu komut satırı fenris02'nin senaryosundan ilham alıyor .
İncelemesinden tmp
(ve belki de küratörlüğünden) sonra, bunları şöyle bir şeyden çıkarabilirsiniz:
# xargs yum remove < tmp
adobe-release
aracılığıylayum localinstall
"remove-with-leaves" yum eklentisini yüklemeniz gerekir:
# yum install yum-plugin-remove-with-leaves.noarch
kurulduktan sonra:
# yum remove --remove-leaves package
iyi şanslar!
yum-plugin-remove-with-leaves.noarch
kullanmak için kurulu pakete ihtiyacı varpackage-cleanup
# package-cleanup --orphans >/tmp/junk
/tmp/junk
dosyayı düzenleyin ve komut satırından bilgi alan ilk satırı kaldırın, aşağıdakini girin:
for file in `cat /tmp/junk`
do
yum remove $file
done
apt-get autoremove
. apt-get (8) diyor ki: 'otomatik paket, bir paketin bağımlılıklarını karşılamak için otomatik olarak kurulan ve artık gerekmeyen paketleri kaldırmak için kullanılıyor.'
NOT: Bu cevap doğrudur, ancak sadece RHEL 7+ ve Fedora 20+ (otomatik çalıştırma yeni bir özellik olarak eklenmişse) için geçerlidir.
# yum autoremove
Sadece seçilen paketleri kaldırmak için onaylayın.
Üzerine bina Larry Mohr cevap :
package-cleanup --orphans | sed '1d' | sed '/^ * /d' | sed '/Loading mirror speeds from cached hostfile/d' | xargs sudo yum remove
(Merak ediyorsanız, en hızlı ayna için atlama içerir.)
Fedora'da yetim paketi, güncellenmesi için hiçbir aday depo anlamına gelmiyor!
Yetim paketleri sizin tarafınızdan oluşturulduysa, yum.repos.d / some.conf dosyasını devre dışı bırakın.
yum distro-sync
Diğer yetim paketlerinde komut tehlikeli olabilir.
yum remove $(package-cleanup --orphans)
veya sadece güvenlik komutunu kullanın.
yum remove name-of-page
Bu sorunlara neden olmamanın bir başka yolu da işlemleri kullanmaktır.
Kurulduktan sonra temel sistem, yum kullanarak kurarken işlem yaratır. Bir şeyleri kaldırmak istediğinizde işlemleri geri alın.
netbeans-platform
ve paket temizleme bazı şeyleri listeler, ancak önceden kurulmuşnetbeans-platform
bağımlılıkların hiçbirini (Fedora 17 kullanarak).