सिम्बोलिक लिंक, या सिमलिंक, आपके Linux सिस्टम के प्रबंधन को सरल बनाने का एक तरीका है। यह सर्वर या वर्कस्टेशन पर काफी आम है, जहां एक डायरेक्टरी को दूसरी से लिंक करना एप्लिकेशन को कॉन्फ़िगरेशन बदले बिना डायरेक्टरी ट्री में दूसरी जगह जानकारी भेजने के लिए उपयोग किया जाता है - एक स्वस्थ सिस्टम बनाए रखने के लिए आवश्यक। हालांकि, सिमलिंक का उपयोग करने की समस्या यह है कि इस बात की कोई गारंटी नहीं है कि उस लिंक में दोनों डायरेक्टरी हमेशा रहेंगी। यहां हम आपको दिखाते हैं कि Linux में टूटे हुए सिमलिंक को कैसे खोजें और ठीक करें।
टूटे हुए सिमलिंक को ठीक करने के उपकरण
अधिकांश रिपॉजिटरी में symlinks नामक एक अविश्वसनीय रूप से उपयोगी एप्लिकेशन है। यह एक सरल कमांड-लाइन उपयोगिता है जो सहायक आउटपुट और उन्हीं टूटे हुए सिमलिंक को हटाने के विकल्प देती है।
इसे इंस्टॉल करने के लिए, निम्न कमांड का उपयोग करें:
# Debian/Ubuntu-आधारित डिस्ट्रो के लिए sudo apt install symlinks # Fedora/CentOS के लिए sudo dnf install symlinks
symlinks के लिए कुछ प्रमुख विकल्प हैं। वे हैं -d, जो लटकते लिंक को हटा देगा, और -r, जो आपके द्वारा निर्दिष्ट विकल्प के माध्यम से सबडायरेक्टरी में जो कुछ भी करेगा उसे रिकर्सिवली करेगा।
आप Linux में बिल्ट-इन find टूल का भी उपयोग कर सकते हैं। यह कम उपयोगकर्ता-अनुकूल उदाहरण है, लेकिन find कमांड और यह कैसे काम करता है यह सीखने में मददगार है।
सिमलिंक तोड़ना
पहले, मैं एक सिम्बोलिक लिंक बनाऊंगा। इसमें एक मौजूदा फ़ाइल लेना और ln कमांड का उपयोग करके इसे एक ऐसी फ़ाइल से लिंक करना शामिल है जो अभी तक मौजूद नहीं है। यह मेरे लिए निम्न उदाहरण की तरह होगा।
touch test-file.txt ln -s test-file.txt linked-file.txt
आप ls कमांड के माध्यम से देख सकते हैं कि लिंक मौजूद है।
अब, मैं उस सिमलिंक को तोड़ दूंगा।
rm test-file.txt
आप देख सकते हैं कि भले ही मैंने मूल फ़ाइल हटा दी हो, ls -l कमांड अभी भी लिंक की रिपोर्ट करता है। यहीं समस्या आती है। ये फ़ाइलें अलग-अलग डायरेक्टरी में हो सकती हैं, जिससे यह जांचना बहुत कठिन हो जाता है कि मूल फ़ाइल अभी भी है या नहीं।
टूटे हुए सिमलिंक ढूंढना और ठीक करना
टूटे हुए सिमलिंक को ठीक करने का तरीका बस उन्हें हटाना है। उन्हें वापस लाना असंभव है, इसलिए आपको बस उन्हें वर्चुअल डायरेक्टरी ट्री से साफ़ करना होगा।
symlinks टूल के साथ टूटे हुए सिमलिंक की रिपोर्ट करने के लिए, निम्न कमांड का उपयोग करें:
symlinks .
वर्तमान वर्किंग डायरेक्टरी को इंगित करने वाला "." नोट करें। इसे उस डायरेक्टरी के लिए बदलें जिसे आप खोजने की कोशिश कर रहे हैं। आउटपुट इस तरह दिख सकता है:
dangling: /home/jperkins/linked-file.txt -> test-file.txt
यह दर्शाता है कि "linked-file.txt" लटक रहा है और सिमलिंक टूटा हुआ है। उन्हें हटाने के लिए, निम्न कमांड का उपयोग करें:
symlinks -d .
आउटपुट पिछली बार के समान दिखेगा लेकिन इसमें "deleted" के लिए एक लाइन भी शामिल होगी।
find के साथ टूटे हुए सिमलिंक को ठीक करने के लिए, निम्न कमांड का उपयोग करें:
find . -xtype l
एक बार फिर ध्यान दें कि "." वर्तमान वर्किंग डायरेक्टरी को दर्शाता है। यह कम उपयोगकर्ता-अनुकूल आउटपुट देगा लेकिन फिर भी सहायक होगा।
और हटाने के लिए, delete विकल्प जोड़ें।
find . -xtype l -delete
इसके लिए आपको कोई आउटपुट नहीं मिलेगा, लेकिन यदि आप इसे -delete विकल्प के बिना फिर से चलाते हैं, तो आपको कुछ नहीं मिलेगा।
बस इतना ही। अब आप आसानी से टूटे हुए सिमलिंक ढूंढ सकते हैं और उन्हें हटा सकते हैं इससे पहले कि वे अधिक समस्याएं पैदा करें। सिमलिंक पर अधिक ट्यूटोरियल हैं जिन्हें आपको देखना चाहिए। आप सिमलिंक और हार्ड लिंक के बीच अंतर और कब उनका उपयोग करना चाहिए, इसके बारे में भी अधिक जान सकते हैं।