لماذا يمكن لنظام ملفات مُثبّت إنشاء الملفات لكنه يرفض إعادة تسميتها؟

إيفا وونغ هي كاتبة تقنية و ومهندسة هاوية في ZimaSpace. مهووسة بالتكنولوجيا مدى الحياة ولديها شغف بالمختبرات المنزلية والبرمجيات مفتوحة المصدر، تتخصص في تبسيط المفاهيم التقنية المعقدة إلى أدلة عملية وسهلة الفهم. تؤمن إيفا بأن الاستضافة الذاتية يجب أن تكون ممتعة وليست مخيفة. من خلال دروسها، تمكّن المجتمع من تبسيط إعدادات الأجهزة، بدءًا من بناء أول نظام تخزين شبكي NAS وحتى إتقان حاويات Docker.

قد يسمح نظام الملفات المركّب بإنشاء الملفات، لكنه قد يرفض إعادة تسميتها لأن عملية إعادة التسمية تتطلب شروطًا منفصلة تتعلق بالأدلة والملكية والحدود والعلامات والمقابض المفتوحة.

لا يثبت نجاح التركيب إلا أن نظام الملفات متصل، كما يثبت نجاح كتابة ملف أن العميل يستطيع إنشاء كائن واحد على الأقل أو تعديله. إعادة التسمية عملية تخص إدخالات الأدلة، وقد تتطلب أذونات على دليلي المصدر والوجهة، وحقوق الحذف، ووجود المسار على نظام الملفات نفسه، واسم هدف صالحًا، وعدم وجود وضع مشاركة متعارض في SMB أو علامة ملف محمية. سجّل الخطأ الدقيق وقارن بين عمليات الإنشاء وإعادة التسمية والنقل والحذف كلٌّ على حدة قبل اعتبار نظام الملفات تالفًا.

سجّل خطأ إعادة التسمية الدقيق قبل تغيير الأذونات

كرّر عملية إعادة تسمية واحدة من المضيف ومن العميل المتأثر. سجّل مسار المصدر، ومسار الوجهة، وهوية المستخدم، ونظام الملفات، ونقطة التركيب، ورمز الخطأ، وما إذا كان اسم الهدف موجودًا مسبقًا.

تُميّز أخطاء استدعاء النظام rename في لينكس بين حالات فشل الأذونات، ونقاط التركيب المشغولة، وعمليات النقل بين الأجهزة، وأنظمة الملفات للقراءة فقط، والأهداف غير الفارغة، وغيرها من الحالات التي قد تبدو متطابقة في متصفح الملفات الرسومي.

إذا نجح إنشاء ملف جديد لكن فشلت إعادة تسميته، فاحتفظ بهذا التباين. فهذا يحصر المشكلة في استبدال إدخال الدليل، أو أذونات الحذف، أو قواعد التسمية، أو الأقفال، أو حدود المسار، بدلًا من كونها مشكلة في الوصول العادي للكتابة.

تحقق من الأذونات على دليلي الأصل

افحص الملكية، وبتات الوضع، وقوائم التحكم في الوصول (ACLs)، والهوية الفعلية على الدليل الذي يحتوي على الاسم القديم والدليل الذي سيحتوي على الاسم الجديد. تُحدَّد أذونات إعادة التسمية أساسًا بواسطة الأدلة، لا بواسطة بت الكتابة الخاص بالملف.

توضح Red Hat أن sticky bit يقيّد إعادة التسمية والحذف في الأدلة المشتركة القابلة للكتابة لتقتصر على مالك الملف أو مالك الدليل أو المستخدم ذي الصلاحيات المميّزة، حتى عندما يستطيع عدة مستخدمين إنشاء الملفات هناك.

اختبر باستخدام مستخدم NAS نفسه الذي يتلقى الخطأ. لا يثبت نجاح المسؤول أن الحساب العادي يملك حقوق الحذف أو إعادة التسمية لإدخالي الدليل كليهما.

افحص العلامات غير القابلة للتغيير وغير القابلة للحذف والإلحاق فقط

تحقق من علامات نظام الملفات على الملف وعلى الأدلة الأصلية له، بالإضافة إلى الأذونات العادية وقوائم ACL. فقد تحتفظ عمليات الاستعادة أو أدوات الأمان أو سير عمل الاحتفاظ بالبيانات بعلامات لا تظهر في قائمة أذونات أساسية.

يشير دليل الأمان في FreeBSD إلى أن علامة الملف غير القابل للتغيير تمنع التعديل أو الحذف، كما يمكن لعلامات الإلحاق فقط وعدم القابلية للحذف أن تمنع أيضًا تغييرات الدليل اللازمة لإعادة التسمية.

أزل العلامة الواقية فقط بعد تحديد السياسة أو التطبيق الذي عيّنها. فقد يؤدي مسح العلامات على نطاق واسع إلى تعطيل ضوابط الاحتفاظ بالبيانات أو النسخ الاحتياطي أو الحماية من برمجيات الفدية.

استبعد وجود عملية نقل بين نظامي ملفات مخفية خلف شجرة مجلد واحدة

حدّد دليلي المصدر والوجهة للوصول إلى معرّفات الأجهزة، ونقاط التركيب، وعمليات التركيب المرتبطة، ومجموعات البيانات، ومسارات الحاويات. فقد ينتمي مجلدان تحت المشاركة نفسها إلى نظامي ملفات مركّبين مختلفين.

تعرّف مكتبة GNU C EXDEV بأنه خطأ إعادة تسمية بين جهازين. وقد تتعافى أداة نقل عالية المستوى بالنسخ ثم الحذف، بينما يفشل تطبيق يتوقع إعادة تسمية ذرّية ببساطة.

إذا نجح النقل المحلي فقط عبر نسخ الملف بأكمله، فلم تكن العملية إعادة تسمية ذرّية. صحّح المسارات المؤقتة والنهائية للتطبيق، أو أبقِ المرحلتين على نظام الملفات نفسه.

تحقق من المقابض المفتوحة ومشاركة الحذف في SMB

اعرض الملفات المفتوحة وجلسات SMB الخاصة بدليلي المصدر والهدف. أغلق عارضات المعاينة، ومولّدات الصور المصغرة، والمحررات، وماسحات الوسائط، وأدوات مكافحة الفيروسات، وعملاء النسخ الاحتياطي واحدًا تلو الآخر.

توثّق Microsoft حالة في مجلد شبكي حيث يمنع مقبض مفتوح لذاكرة التخزين المؤقت للصور المصغرة إعادة التسمية، ما يوضح سبب عدم كفاية القدرة على قراءة ملفات أخرى أو إنشائها لتجاوز مخالفة مشاركة على الكائن المحدد.

لا تعِد تشغيل NAS بالكامل قبل حفظ أدلة المقابض المفتوحة. فقد يؤدي إعادة التشغيل إلى تحرير القفل مع إخفاء العميل أو الخدمة التي أعادت إنشاءه.

قارن قواعد إعادة التسمية في SMB باسم الملف الذي يستخدمه العميل

اختبر اسمًا بسيطًا بأحرف لاتينية صغيرة في الدليل نفسه. ثم قارن بين تغييرات حالة الأحرف فقط، والأحرف المحجوزة، والنقاط أو المسافات في نهاية الاسم، وتطبيع Unicode، ووجود اسم وجهة مسبقًا.

توفر وحدة التشغيل البيني مع macOS في Samba خيارًا للتوافق مع إعادة التسمية وفق POSIX، ما يوضح أن دلالات التسمية لدى العميل والخادم قد تغيّر قبول إعادة تسمية الدليل.

إذا فشل نمط واحد من أسماء الملفات فقط، فاحتفظ بربط الاسم الأصلي قبل تطبيعه. فقد يؤدي تغيير الأسماء على دفعات دون قائمة تراجع إلى تعطيل مكتبات الوسائط، ومهام المزامنة، والاختصارات، والنسخ الاحتياطية.

أصلح الطبقة التي تم التحقق منها وتحقق من كل عملية

صحّح السبب المؤكد فقط: أذونات الدليل الأصلي، أو ملكية sticky bit، أو علامة محمية، أو مسارًا على نظام الملفات نفسه، أو مقبضًا مفتوحًا، أو اسم ملف غير متوافق. أعد الاختبار باستخدام المستخدم والتطبيق الأصليين.

تتناول مقالة ZimaSpace حول تعارضات أسماء الملفات الناتجة عن اختلاف حالة الأحرف فقط الحالة الأضيق العابرة للمنصات، حيث تصبح اسمان متكافئين في الوجهة.

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

الأسئلة الشائعة

لماذا يمكنني إنشاء ملف ولكن لا أستطيع إعادة تسميته؟

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

هل يعني خطأ إعادة التسمية EXDEV أن نظام الملفات تالف؟

لا. يعني ذلك عادةً أن المصدر والوجهة موجودان على نظامي ملفات مختلفين، ولذلك لا يستطيع النواة إكمال إعادة تسمية ذرّية واحدة. وقد يظل النقل عبر النسخ والحذف ممكنًا.

هل يمكن إعادة تسمية ملف مفتوح؟

تسمح بذلك كثير من أنظمة ملفات POSIX المحلية، لكن عملاء SMB والتطبيقات قد يفتحون الملفات دون مشاركة الحذف، ما يتسبب في رفض الخادم لإعادة التسمية حتى يُغلق المقبض.

الدعم والنصائح

المزيد للقراءة

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.