2010-05-11 12 views
5

मेरा पर्ल कोड रूट के रूप में कई (4) आरपीएम फाइलों को स्थापित करता है। अगला संस्करण उन्हें एक नया संस्करण स्थापित करने से पहले (rpm -e) हटा देता है। कोई rpm -e के साथ यह नहीं देता है कि यह त्रुटि स्थापित नहीं है। हालांकि, बाद में जब अद्यतन फ़ाइल स्थापित है, तो संदेश दिया जाता है कि यह पहले से स्थापित है।लिनक्स आरपीएम इंस्टॉल करता है लेकिन मिटा नहीं सकता है। क्यूं कर?

मैन्युअल प्रयासों को हटाने के प्रयासों को एक ही परिणाम देने के लिए प्रयास करें। मेरे प्रश्न हैं कि आरपीएम डेटाबेस से कुछ हटाने को कैसे मजबूर करना है, और यह विरोधाभास क्यों मौजूद है (rpm -e से स्थापित नहीं है और पहले से ही rpm -Uvh और rpm -ivh से स्थापित है)?

+4

से मिटाने का प्रयास करें शायद यह प्रश्न superuser.com पर पोस्ट करना बेहतर है ?! यह भी प्रयास करें: rpm -e --nodeps {package_name} – mosg

उत्तर

11
  1. एक बार इंस्टॉल हो जाने पर, पैकेज नाम का उपयोग करें, पैकेज फ़ाइल नाम नहीं।
  2. आपको इसे अपग्रेड करने से पहले पैकेज को हटाने की आवश्यकता नहीं है। ऐसा करने का मतलब है कि एक या दोनों पैकेज टूट गए हैं।
1

rpm -e --forceनहीं जबरन अन्य निर्भरता के लिए जाँच करने के लिए यह रोक कर एक पैकेज निकाल देंगे, rpm -e --nodepsहोगा

यह संभव है आपके RPM डेटाबेस आकार के बाहर किसी तरह तुला में है, तो आप एक rpm --rebuilddb

+1

इस फैशन में एक आरपीएम हटाने को मजबूर करना अब CentOS 6.4 के रूप में काम नहीं करता है। बल का प्रयास करने से प्रतिक्रिया मिलती है: आरपीएम: केवल इंस्टॉलेशन, अपग्रेडिंग, आरएमएसओएस और आरएमएसपीसी को मजबूर किया जा सकता है – Magellan

6

कारण यह मिटाया नहीं है की संभावना है क्योंकि scriptlets में से एक विफल हो रहा है है की कोशिश करना चाह सकते हैं। इसे मैन्युअल रूप से करें और त्रुटियों के लिए देखें। यदि यह एक असफल स्क्रिप्टलेट का उल्लेख करता है, तो इसे rpm -e --noscripts

+0

धन्यवाद - इसने मेरे द्वारा बनाए गए पैकेज के साथ एक समस्या हल की, जिसे प्री-रिमोट स्क्रिप्टलेट में कोई त्रुटि थी। – RCross

संबंधित मुद्दे

 संबंधित मुद्दे