उसी फ़ाइल सिस्टम में हार्डलिंकिंग करते समय अवैध क्रॉस-डिवाइस लिंक


14

मेरे पास /home/myuser/Desktop/rc/.netrc फ़ाइल है जिसे मैं हार्डलिंक को रूट / रूट करना चाहता हूं , अर्थात रूट उपयोगकर्ता की होम निर्देशिका । जब मैं करता हूं:

ln /home/user/Destkop/rc/.netrc /root

यह निम्नलिखित त्रुटि देता है:

ln: हार्ड लिंक /root/.netrc' =>बनाना .netrc ': अमान्य क्रॉस-डिवाइस लिंक

लेकिन यह तब काम करता है जब मैं फ़ाइल को myuser के घर, यानी / home / myuser पर हार्डलिंक करता हूं

तो, समस्या क्या है, यह अवैध क्रॉस-डिवाइस क्यों कहता है जब यहां केवल एक फाइल सिस्टम है?

पुनश्च। मैं RHEL6 का उपयोग कर रहा हूं


btw मेरी .netrc अनुमतियाँ 600 है, जैसा कि यह होना चाहिए
एल्विन असलानोव

1
क्या आप सुनिश्चित हैं कि दो निर्देशिकाएं एक ही फाइल सिस्टम पर हैं? दौड़कर mount | column -tदेख लो। या, चलाने mountpoint -d /, mountpoint -d /home, mountpoint -d user, और mountpoint -d /root। आपको ... is not a mountpointअंतिम तीन के लिए मिलना चाहिए ।

2
कृपया कई StackExchange साइटों पर पोस्ट क्रॉस न करें ।

@EvanTeitelman असली रूप नहीं है mount | column -tलेकिन column -t < /proc/mounts
हॉके लैजिंग

1
@ हॉकिंग: आप सही कह रहे हैं। /proc/mountsअधिक से अधिक एक सिस्टम पर सभी आरोह दिखाने की संभावना है /etc/mtab, जहां mountसे इसकी जानकारी खींचती है। हालांकि, यह ध्यान देने योग्य है कि कई आधुनिक प्रणालियों पर, /etc/mtabऔर /proc/mountsदोनों से जुड़े हुए हैं /proc/self/mounts

जवाबों:


8

यह सबसे अधिक संभावना है कि आपकी /homeनिर्देशिका निर्देशिका के समान विभाजन पर नहीं है /root

आप इसे आसानी से जांच सकते हैं कि cat /etc/fstab हार्डलिंक को विभिन्न विभाजनों के बीच नहीं बनाया जा सकता है, केवल सहानुभूति ही कर सकते हैं।


4

यह मुझे सबसे अच्छा तरीका लगता है कि HARD लिंक का उपयोग नहीं करना है, बल्कि इसके बजाय एक प्रतीकात्मक लिंक का उपयोग करना है। आप पाएंगे कि यह एक परेशानी से कम है और चीजें ठीक काम करती हैं। यदि आपको उनके बारे में जानकारी नहीं है तो कड़ी से कड़ी में कुछ दिलचस्प समस्याएं हैं।

विकल्प देखें man lnऔर देखें -s!

कृपया HARD लिंक के बजाय सामान्य उपयोग प्रतीकात्मक लिंक का उपयोग करें।


9
हालांकि यह समस्या को हल कर सकता है, यह वास्तव में नहीं समझाता है कि ऐसा क्यों हो रहा है।
Bex
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.