प्रतीकात्मक लिंक, या सिम्लिंक, आपके Linux सिस्टम के प्रबंधन को सरल बनाने का एक तरीका है। यह सर्वर या वर्कस्टेशन पर काफी सामान्य है, जहां एक निर्देशिका को दूसरे से जोड़ने का उपयोग एप्लिकेशन को निर्देशिका ट्री में किसी अन्य स्थान पर कॉन्फ़िगरेशन बदलने के बिना जानकारी भेजने के लिए किया जाता है - एक स्वस्थ प्रणाली को बनाए रखने के लिए आवश्यक है। हालाँकि, सिम्लिंक का उपयोग करने में समस्या यह है कि इस बात की कोई गारंटी नहीं है कि आपके पास उस लिंक में हमेशा दोनों निर्देशिकाएँ होंगी। यहां हम आपको दिखाते हैं कि लिनक्स में टूटी हुई सिम्लिंक को कैसे ढूंढा और ठीक किया जाए।
टूटे हुए सिम्लिंक को ठीक करने के लिए उपकरण
एक अविश्वसनीय रूप से उपयोगी एप्लिकेशन है जिसे केवल symlinks
कहा जाता है अधिकांश रिपॉजिटरी में। यह एक साधारण कमांड-लाइन उपयोगिता है जो उन्हीं टूटे हुए सिम्लिंक को हटाने के लिए सहायक आउटपुट और विकल्प देगी।
इसे स्थापित करने के लिए, निम्न आदेशों का उपयोग करें:
# For Debian/Ubuntu-based distro sudo apt install symlinks # For Fedora/CentOS sudo dnf install symlinks
symlinks
. के लिए कुछ प्रमुख विकल्प हैं . वे हैं -d
, जो लटकती कड़ियों को हटा देगा, और -r
, जो उपनिर्देशिकाओं के माध्यम से आपके द्वारा निर्दिष्ट किसी भी विकल्प को पुनरावर्ती रूप से करेगा।
आप अंतर्निहित find
. का भी उपयोग कर सकते हैं लिनक्स में उपकरण। यह एक कम उपयोगकर्ता के अनुकूल उदाहरण है, लेकिन खोज कमांड और यह कैसे काम करता है, यह सीखने में मददगार है।
ब्रेकिंग Symlinks
सबसे पहले, मैं एक प्रतीकात्मक लिंक बनाऊंगा। इसमें एक मौजूदा फ़ाइल लेना और 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 .
आउटपुट पिछली बार जैसा दिखेगा लेकिन इसमें "डिलीट" के लिए एक लाइन भी शामिल होगी।
find
. के साथ टूटे हुए सिम्लिंक को ठीक करने के लिए , निम्न आदेश का प्रयोग करें:
find . -xtype l
एक बार फिर ध्यान दें कि "।" वर्तमान कार्यशील निर्देशिका का प्रतिनिधित्व करना। यह कम उपयोगकर्ता के अनुकूल आउटपुट देगा लेकिन फिर भी सहायक होगा।
और हटाने के लिए, delete
जोड़ें विकल्प।
find . -xtype l -delete
आपको इसके लिए कोई आउटपुट नहीं मिलेगा, लेकिन अगर आप इसे -delete
के बिना फिर से चलाते हैं विकल्प, आपको कुछ नहीं मिलेगा।
इतना ही। अब आप आसानी से टूटे हुए सिम्लिंक ढूंढ सकते हैं और इससे पहले कि वे अधिक समस्याएँ पैदा करें, उन्हें हटा दें। सिम्लिंक पर अधिक ट्यूटोरियल हैं जिन्हें आपको देखना चाहिए। आप सिम्लिंक और हार्ड लिंक के बीच अंतर और आपको उनका उपयोग कब करना चाहिए, इसके बारे में भी अधिक जान सकते हैं।