कभी-कभी जब आप Linux मशीन पर किसी सॉफ़्टवेयर को अनइंस्टॉल या अपग्रेड करने का प्रयास करते हैं तो आप डिपेंडेंसी संबंधी समस्याओं में पड़ जाते हैं। RPM आधारित डिस्ट्रीब्यूशन के साथ काम करने वाला लगभग हर व्यक्ति जिसे मैं जानता हूं, उसने एक समय या किसी अन्य पर "RPM हेल" या "डिपेंडेंसी हेल" का अनुभव किया है। यदि आप उन स्थितियों में फंसे हैं तो यहां कुछ आपकी मदद के लिए है।
आइए देखें कि इंस्टॉल किए गए RPM पर कौन सी फ़ाइलें निर्भर करती हैं, इसकी जांच कैसे करें।
मान लें कि आप अपने Linux कंप्यूटर से sendmail के RPM को अपग्रेड या अनइंस्टॉल करने का प्रयास कर रहे हैं। अनइंस्टॉल कमांड चलाते समय आप डिपेंडेंसी समस्याओं में पड़ सकते हैं:
# rpm -e sendmail-8.13.1-3.2
ऐसे मामले में यह देखना उपयोगी हो सकता है कि यह पैकेज किन फ़ाइलों पर निर्भर करता है। निम्न कमांड का उपयोग करें:
# rpm -qR sendmail-8.13.1-3.2
/bin/bash
/bin/mktemp
/bin/sh
/bin/sh
/bin/sh
/bin/sh
/bin/sh
/usr/sbin/alternatives
/usr/sbin/useradd
bash >= 2.0
chkconfig >= 1.3
config(sendmail) = 8.13.1-3.2.el4
cyrus-sasl
fileutils
gawk
libc.so.6
libc.so.6(GLIBC_2.0)
libc.so.6(GLIBC_2.1)
…
अब आप उन फ़ाइलों की सूची देख सकते हैं जिन पर sendmail पैकेज निर्भर करता है और आप असफल अनइंस्टॉलेशन प्रक्रिया को डीबग करने के लिए बेहतर ढंग से सुसज्जित होंगे।