2011-01-24 16 views
5

पर साझा किए जाने पर टूटा हुआ मैक पर, मेरे पास साझा फ़ोल्डर, ~ \ दस्तावेज़ हैं। पिछले दो वर्षों से फाइलों के फ़ोल्डर्स वाले दो उपफोल्डर्स, डेटा और डेटा_2011 हैं, और बाद में डेटा फ़ोल्डर में फ़ोल्डर्स के प्रतीकात्मक लिंक होते हैं जिन्हें 1 जनवरी 2011 से अपडेट किया गया है। लिंक मानक के साथ बनाए गए थे ln -s कमांड।प्रतीकात्मक लिंक विंडोज या लिनक्स (एसएमबी) में साझा किए जाने पर काम करते हैं, लेकिन मैक (afp या smb)

जब मैं विंडोज कंप्यूटर पर साझा दस्तावेज़ फ़ोल्डर को माउंट करता हूं, लिंक काम करते हैं। जब मैं एसएमबी का उपयोग कर लिनक्स पर माउंट करता हूं, तो लिंक काम करते हैं। जब मैं सीधे मैकिंग मैक पर इन लिंक का उपयोग करता हूं, तो वे काम करते हैं। हालांकि, जब मैं रिमोट मैक से दस्तावेज़ फ़ोल्डर को माउंट करता हूं, तो सॉफ्ट लिंक टूटे होते हैं। स्पष्ट होने के लिए, मैं फ़ाइंडर> सर्वर से कनेक्ट> afp: //xxx.xxx.xx.xx/ या smb: //xxx.xxx.xx.xx/ दस्तावेज़

किसी भी विचार पर जाकर दस्तावेज़ फ़ोल्डर को माउंट करता हूं रिमोट मैक में साझा किए जाने पर काम करने के लिए इन सॉफ्ट लिंक को कैसे प्राप्त करें?

-Sibo

उत्तर

4

मैक ओएस फ़ाइल साझा वास्तविक सांकेतिक लिंक के रूप में सांकेतिक लिंक को उजागर करता है।

यदि मैं एक मैक को किसी अन्य से कनेक्ट करता हूं, तो एएफपी या एसएमबी का उपयोग करके, मैं इसकी पुष्टि कर सकता हूं।

ध्यान दें कि प्रतीकात्मक लिंक क्लाइंट द्वारा हल किए जाते हैं - यहां तक ​​कि गैर-फ़ाइल-साझाकरण मामले में इसका मतलब है कि प्रतीकात्मक लिंक में सापेक्ष पथ मुश्किल हो सकते हैं, और इस मामले में नेटवर्क फ़ाइल साझाकरण शामिल है, इसका मतलब क्लाइंट कंप्यूटर की ज़रूरत है लक्ष्य फ़ाइल को देखने में सक्षम होने के लिए (लक्ष्य फ़ाइल को उस फ़ोल्डर में भी होना चाहिए जो साझा और आरोहित है), और पथ समान होना चाहिए।

उदाहरण के लिए, यदि मैं अपनी होम निर्देशिका में "foo" नाम की एक टेक्स्ट फ़ाइल बनाता हूं, तो symlink नामक एक लिंक बनाने के लिए "ln -s foo symlink" करें, फिर उस कंप्यूटर निर्देशिका को दूसरे कंप्यूटर से माउंट करें और "ls -l" करें इसे "symlink @ -> foo" के रूप में दिखाया गया है, और यदि मैं फ़ाइल को बिल्ली देता हूं तो मैं इसे पढ़ सकता हूं। लेकिन अगर मैं "ln -s/users/matt/foo symlink" के रूप में symlink बना देता हूं, तो दूसरे कंप्यूटर पर ls -l इसे "symlink @ ->/उपयोगकर्ता/matt/foo" के रूप में दिखाता है, और बिल्ली कहती है "बिल्ली: symlink: ऐसी कोई फ़ाइल या निर्देशिका नहीं है "। ऐसा इसलिए है क्योंकि दूसरे कंप्यूटर पर,/उपयोगकर्ता/मैट एक स्थानीय होम निर्देशिका है जिसमें foo नामक फ़ाइल नहीं है (और यदि ऐसा होता है, तो सिम्लिंक को हल करने वाला कुछ भी स्थानीय foo को देखेगा, न कि पहले कंप्यूटर से साझा किया गया foo) ।

तो मूल रूप से: आप "ls -l" का उपयोग कर सकते हैं यह देखने के लिए कि सिम्लिंक बिंदु कहां है, और ध्यान दें कि क्लाइंट कंप्यूटर सिम्लिंक को हल करेगा और उस फ़ाइल को खोलने का प्रयास करेगा, जो हो सकता है कि आप क्या हो या न हो अपेक्षित होना।

(संभवतः आपका परीक्षण आपकी लिनक्स मशीन से काम करता है और नहीं कि आपका मैक यह है कि लिनक्स मशीन में अधिक नेटवर्क शेयर घुड़सवार हैं या अलग-अलग नाम हैं, जैसे कि सिम्लिंक लक्ष्य नाम लिनक्स मशीन पर वैध फ़ाइल नाम था लेकिन मैक नहीं।)

+0

मैं समझता हूं और आपकी तर्क के साथ सहमत हूं कि मेरे सिम्लिंक वर्तमान में विफल क्यों हैं। इसलिए एक संभावित समाधान मेरे फ़ोल्डर संरचना को पुन: स्थापित करना हो सकता है, जैसे कि डेटा_2011 एक फ़ोल्डर है जिसमें सिम्लिंक और डेटा सबफ़ोल्डर दोनों शामिल हैं। हालांकि, यह वास्तव में आदर्श नहीं है। क्या निर्देशिकाओं को विलय किए बिना इन लिंक को काम करने का कोई तरीका है? मैंने एक रिश्तेदार लिंक जैसे "ln -s ../Data/datafolder symlink" का उपयोग करने का प्रयास किया है, लेकिन मुझे कोई अलग परिणाम नहीं मिलता है। –

+0

अद्यतन: कभी नहीं - एक सापेक्ष स्थान के साथ एक सिम्लिंक बनाना काम करता है, इसलिए मैं इस प्रश्न को उत्तर दूंगा। मैं वास्तव में एक खोज कमांड ("find -exec ln -s} के भीतर अपने ln कमांड को चेन करता हूं, इसलिए यह मेरी स्थिति में सभी काम करने के लिए थोड़ा और परेशान होगा। मदद के लिए धन्यवाद! –

+0

बहुत धन्यवाद। आप उत्तर देते हैं मैकोज़ हाई सिएरा पर सोनोस मीडिया लाइब्रेरी सेटअप के साथ मेरी मदद करता है – ursa