अपने लिनक्स मशीन और संस्थापित संकुल को बेहतर ढंग से प्रबंधित करने के लिए ldd कमांड का उपयोग करके निर्भरता प्रबंधन सीखें।
निर्भरता प्रबंधन आपके लिनक्स सिस्टम को बनाए रखने का एक अभिन्न अंग है। सॉफ्टवेयर जटिल है और साझा पुस्तकालयों और फाइलों की भीड़ पर निर्भर करता है। कभी-कभी, किसी एप्लिकेशन द्वारा आवश्यक फ़ाइलों का ट्रैक रखना कठिन हो जाता है।
यहीं पर Linux पर ldd कमांड चलन में आता है। ldd एक एप्लिकेशन द्वारा आवश्यक साझा ऑब्जेक्ट निर्भरताओं का ट्रैक रखने के लिए एक संसाधनपूर्ण कमांड लाइन उपकरण है।
आइए जानें कि कैसे आप अपने लाभ के लिए ldd कमांड का उपयोग कर सकते हैं और लिनक्स पर निर्भरताओं के प्रबंधन में विशेषज्ञ बन सकते हैं!
पैकेज निर्भरता क्या हैं?
सॉफ्टवेयर केवल स्टैंडअलोन स्रोत कोड नहीं है, बल्कि मूल स्रोत कोड और बाहरी पुस्तकालयों से उधार कोड का समामेलन है। जब ये पुस्तकालय और अन्य साझा वस्तुएं आपके सिस्टम से गायब हैं, तो उनके आधार पर एक एप्लिकेशन खराब हो सकता है या सीधे लॉन्च करने से इंकार कर सकता है।
इन सभी साझा फाइलों, पैकेजों, पुस्तकालयों आदि को संचयी रूप से लिनक्स पर निर्भरता कहा जाता है। हालाँकि यह छोटी परिभाषा आपको निर्भरता के बारे में एक मोटा विचार देती है, वास्तविक तस्वीर इससे थोड़ी अधिक जटिल है, और इसलिए यह सीखना महत्वपूर्ण है
पैकेज निर्भरताएँ क्या हैं गहराई में।एलडीडी कमांड क्या है और यह कैसे काम करता है?
ldd लिस्ट डायनेमिक डिपेंडेंसी का संक्षिप्त नाम है। जैसा कि नाम से पता चलता है, ldd एक एप्लिकेशन द्वारा आवश्यक सभी साझा वस्तुओं को सूचीबद्ध करता है।
यह विशेष रूप से सेट के साथ डायनेमिक लिंकर को लागू करके काम करता है पर्यावरण चर. जब आप बाइनरी के स्थान के साथ ldd चलाते हैं, तो यह एक आउटपुट देता है जिसमें निर्भरताओं की सूची, उनका स्थान और एक हेक्साडेसिमल मान होता है जो दर्शाता है कि मेमोरी में वे कहाँ लोड होते हैं।
एलडीडी कमांड के साथ साझा वस्तु निर्भरता ढूँढना
अब जबकि आपको स्पष्ट रूप से पता चल गया है कि ldd क्या है, तो चलिए इसका अभ्यास करते हैं और सीखते हैं कि आप इसके साथ सॉफ़्टवेयर निर्भरताओं का पता कैसे लगा सकते हैं।
इससे पहले कि आप ldd का उपयोग करना सीखें, पहले पुष्टि करें कि क्या आपने ldd के स्थापित संस्करण को प्रिंट करके इसे अपने सिस्टम पर स्थापित किया है:
ldd --version
अगर यह वापस आता है "कमांड नहीं मिला" त्रुटि, आपको पहले ldd इंस्टॉल करना होगा।
उबंटू- और डेबियन-आधारित सिस्टम पर, चलाएँ:
sudo apt libc-bin स्थापित करें
आर्क-आधारित वितरण के लिए:
सूडो पॅकमैन -S glibc
आरएचईएल और फेडोरा पर:
sudo dnf glibc-common इंस्टॉल करें
एलडीडी स्थापित होने के साथ, अब आप इसका उपयोग करने के तरीके सीखने पर ध्यान केंद्रित कर सकते हैं। यहाँ ldd कमांड के लिए मूल सिंटैक्स है:
एलडीडी बाइनरी_लोकेशन
यदि आप बाइनरी का स्थान नहीं जानते हैं, तो आप इनमें से किसी एक का उपयोग कर सकते हैं कई लिनक्स कमांड-लाइन ऑपरेटर और पैकेज के लिए निर्भरताओं को खोजने के लिए ldd के साथ किस कमांड के आउटपुट को गठबंधन करें:
ldd -flag $ (कौन सा बाइनरी_नाम)
एलडीडी कमांड आउटपुट को संशोधित करने के लिए चार अलग-अलग विकल्प प्रदान करता है। वे हैं:
- -वी: प्रत्येक निर्भरता के लिए संस्करण जानकारी जैसे अतिरिक्त जानकारी सहित वर्बोज़ आउटपुट प्रिंट करता है
- -यू: सभी अप्रयुक्त निर्भरताएँ प्रिंट करता है, जिसका अर्थ है कि निर्भरताएँ जो लोड की गई हैं लेकिन लागू नहीं की गई हैं
- -डी: लापता वस्तुओं को प्रिंट करता है और स्थानांतरण करता है
- -आर: लापता वस्तुओं और कार्यों को प्रिंट करता है और स्थानांतरण करता है
लिनक्स पर पैकेज निर्भरता का प्रबंधन
अपने सॉफ़्टवेयर शस्त्रागार में एलडीडी के साथ, आप अपने आवेदन के साथ साझा वस्तु निर्भरता-संबंधी समस्याओं का निवारण करने में सक्षम होंगे।
इसके अलावा, जैसा कि ldd उस स्थान को भी आउटपुट करता है जहां एक लाइब्रेरी लोड की जाती है, आप किसी एप्लिकेशन को डीबग करने में सक्षम होंगे और बेहतर समझ पाएंगे कि किसी विशेष लाइब्रेरी को कैसे लागू किया जाता है। ldd किसी एप्लिकेशन में उपयोग की जाने वाली साझा लाइब्रेरी के संस्करणों को भी प्रिंट करता है।
इस सुविधा का उपयोग करके, आप किसी साझा लाइब्रेरी के पुराने संस्करण से संबंधित किसी भी संभावित भेद्यता के लिए अपने एप्लिकेशन का ऑडिट कर सकते हैं।
निर्भरता प्रबंधन एक प्रमुख कौशल है जो आपके लिनक्स सिस्टम को स्वस्थ रखने के लिए महत्वपूर्ण है। हालाँकि, कभी-कभी, एक पैकेज अपनी सभी निर्भरताओं के स्वस्थ होने के बावजूद टूट सकता है। यह महत्वपूर्ण है कि आप जानते हैं कि टूटे हुए पैकेजों को कैसे ढूँढ़ना और ठीक करना है।