जवाबों:
package-cleanup --quiet --leaves
से यम-utils संकुल पुस्तकालय संकुल जो नहीं अन्य संकुल द्वारा पर भरोसा कर रहे हैं सूची जाएगा। दुर्भाग्य से यह थोड़ा अधिक हो जाता है। मेरे सिस्टम पर, उदाहरण के लिए, इसने libvirt को हटाने का सुझाव दिया। --exclude-bin
तर्क जोड़ने से मदद मिलती है। यदि आप इसके सुझाव से खुश हैं, तो संकुल को साफ करने के लिए, करें:
# package-cleanup --quiet --leaves --exclude-bin | xargs yum remove -y
DNF, फेडोरा 22 के बाद से यम प्रतिस्थापन, एक autoremove
उपकमांड भी प्रदान करता है जिसे apt-get / yum autoremove के बाद बनाया गया है ।
उदाहरण:
# dnf autoremove
जो सभी स्वचालित रूप से स्थापित और अन्यथा अप्रयुक्त निर्भरता पैकेज को हटाने की कोशिश करता है - के लिए बहुत अधिक समकक्ष होना चाहिए apt-get autoremove
।
# dnf autoremove examplepackage
जो उदाहरण के प्रकार और उसके सभी स्वचालित रूप से स्थापित (और अन्यथा अप्रयुक्त) निर्भरता को हटाता है।
यम के पास फेडोरा 19 के बाद से ऑटोरेमोव कमांड है, और यह फेडोरा 20 / आरएचईएल 7 के बाद से प्रलेखित है।
उपयोग dnf कार्यान्वयन के अनुरूप है, जैसे:
# yum autoremove
या
# yum autoremove examplepackage
यम remove
उपकमांड के डिफ़ॉल्ट व्यवहार को बदलने के लिए एक विन्यास विकल्प का समर्थन करता है (जैसे /etc/yum.conf के माध्यम से):
clean_requirements_on_remove=yes
जब यह सेट हो जाता है, तो अगला yum remove
भी ऑटो संकुल पर निर्भरता को दूर करने की कोशिश करता है यदि उन्हें अन्य पैकेजों की आवश्यकता नहीं होती है।
आप इस विकल्प को अस्थायी रूप से कुछ इस तरह से परख सकते हैं:
# yum --setopt=clean_requirements_on_remove=1 remove examplepackage
(फेडोरा संस्करणों के लिए, जहां यम ऑटोरेमोव उपकमांड उपलब्ध नहीं है और / या clean_requirements_on_remove
काम नहीं करता है।)
हालाँकि संकुल की स्थापना के दौरान निर्भरताएँ इस तरह से चिह्नित की जाती हैं (आरपीएम / यम की अपेक्षाकृत नई विशेषता प्रतीत होती है)।
आप के माध्यम से अनावश्यक निर्भरता पा सकते हैं:
$ package-cleanup --leaves -q --all \
| xargs repoquery --installed --qf '%{nvra} - %{yumdb_info.reason}' \
| grep -- '- dep' \
| cut -d' ' -f1 > tmp
यह कमांड लाइन fenris02 की स्क्रिप्ट से प्रेरित है ।
tmp
(और शायद अवधि) के निरीक्षण के बाद आप उन्हें कुछ इस तरह से हटा सकते हैं:
# xargs yum remove < tmp
adobe-release
के माध्यम सेyum localinstall
आपको यम प्लगइन "रिमूव-विथ-लीव्स" स्थापित करने की आवश्यकता है:
# yum install yum-plugin-remove-with-leaves.noarch
एक बार स्थापित:
# yum remove --remove-leaves package
सौभाग्य!
yum-plugin-remove-with-leaves.noarch
को उपयोग करने के लिए स्थापित पैकेज की आवश्यकता हैpackage-cleanup
# package-cleanup --orphans >/tmp/junk
/tmp/junk
फ़ाइल को संपादित करें और कमांड लाइन से सूचना देने वाली पहली लाइन को हटा दें जो निम्नलिखित दर्ज करें:
for file in `cat /tmp/junk`
do
yum remove $file
done
apt-get autoremove
करता है के बराबर नहीं है। apt-get (8) कहता है: 'ऑटोरेमोव का उपयोग उन पैकेजों को हटाने के लिए किया जाता है जो स्वचालित रूप से कुछ पैकेज के लिए निर्भरता को पूरा करने के लिए स्थापित किए गए थे और जिनकी अब अधिक आवश्यकता नहीं है।'
नोट: यह उत्तर सही है लेकिन केवल RHEL 7+ और फेडोरा 20+ पर लागू होता है (जहां ऑटोरेमोव को एक नई सुविधा के रूप में जोड़ा गया है)।
# yum autoremove
बस चयनित पैकेजों को हटाने की पुष्टि करें।
लैरी मोहर के जवाब पर बिल्डिंग :
package-cleanup --orphans | sed '1d' | sed '/^ * /d' | sed '/Loading mirror speeds from cached hostfile/d' | xargs sudo yum remove
(यदि आपको आश्चर्य हो तो तेज दर्पण के लिए लंघन शामिल है।)
फेडोरा में, अनाथ पैकेज का मतलब है कि कोई भी उम्मीदवार इसे अपडेट करने के लिए रिपोज नहीं करता है!
यदि अनाथ पैकेज आपके द्वारा yum.repos.d / some.conf को अक्षम किया गया था।
yum distro-sync
अन्य अनाथ पैकेज, आदेश खतरनाक हो सकता है।
yum remove $(package-cleanup --orphans)
या, बस सुरक्षा आदेश का उपयोग करें।
yum remove name-of-page
इन मुद्दों का कारण नहीं होने का एक और तरीका लेनदेन का उपयोग करना है।
सेटअप बेस सिस्टम के बाद, जैसा कि आप yum का उपयोग करके इंस्टॉल करते हैं, यह लेनदेन बनाता है। जब आप चीजों को हटाने का इरादा रखते हैं, तो लेनदेन को रोलबैक करें।
netbeans-platform
और पैकेज-सफाई के बाद इसका परीक्षण किया गया है, कुछ सामानों को सूचीबद्ध करता है, लेकिन वास्तव में पहले से स्थापितnetbeans-platform
निर्भरता (फेडोरा 17 का उपयोग करके) में से कोई भी नहीं ।