سؤال

أعلم أنه شرط من الروابط الصعبة التي لا يمكنها تمديد أنظمة الملفات. هل ينطبق هذا على حوامل NFS؟ بالنظر إلى بنية الدليل التالية ، هل سأتمكن من إنشاء رابط صعب في الدليل أ يشير إلى ملف في الدليل ب؟

/root
    /A
    /B  <-NFS mount

على سبيل المثال ، أود الجري ln /root/B/file.txt /root/A/linkedfile.txt

هل كانت مفيدة؟

المحلول

حسنا ، منذ ذلك الحين /B هو نظام ملفات منفصل (نظام ملفات NFS مثبتة) لا يمكنك عمل رابط صعب بينه و /A, ، لأنها ليست على نفس نظام الملفات.

ذلك لأن الارتباط الصلب لا يصنع نسخة من بيانات ضع نسخة فقط من مؤشر إلى تلك البيانات ، لذلك يجب أن تكون في نفس "مساحة العنوان".

نصائح أخرى

ستكون فكرة جيدة أن نفهم أولاً ماهية الرابط الصعب.

عادةً على نظام يشبه UNIX ، يشير اسم ملف في دليل إلى رقم inode - في الأساس رقم لملف. "الرابط الصعب" هو مجرد إنشاء اسم ملف آخر مع نفس رقم inode. الآن عليك أن تشير أسماء مختلفة إلى نفس الملف المرقم.

لكن لاحظ أنه لا يوجد حقًا اتصال مباشر بين هذين الاسمين. العلاقة هي أن Name1 و Name2 على حد سواء لديهم رقم inode الخاص بهما على 12756 - ولكن لا يوجد شيء يمكنك حمله وتقول "هذا الشيء في يدي هو الارتباط بين ملفين". إنهما مجرد إدخالان لقاعدة بيانات يشتركان في رقم معرف. يمكنك إجراء استعلام (بطيئًا ، نظرًا لأنك تسير عبر كل إدخال ملف على النظام) لأسماء الملفات التي تشترك في رقم معرف ، ولكن هذا كل شيء.

لذلك لا يعني ذلك أي شيء لإنشاء "صلة صلبة بين نظامين ملفين" - نظرًا لأن نظامين ملفات يحتويان على مخططات ترقيم مختلفة (inode 1234 على النظام الأول ، و 1234 على النظام الثاني ، تشير إلى ملفات مختلفة تمامًا) ، والشيء الوحيد الذي أنت يجب أن تتخزين هو اسم+عدم وجود ، لا يوجد شيء يجب القيام به.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top