حلّ المجتمع

لماذا قد لا يعمل الأمران chown وchmod على محرك أقراص USB يعمل بنظام ZimaOS: أذونات NTFS وexFAT وتعيين أفضل لـ Immich

A December 2025 thread where a user moved Immich image data to a large USB disk, created a symlink, and found that chown/chmod would not change ownership. The only reply attributed this to likely NTFS/exFAT semantics and recommended either a Linux filesystem or direct Docker volume mapping. The original poster did not confirm a final fix.

عندما يبدو أن chown وchmod لا يفعلان شيئًا على محرك أقراص USB، حدّد نظام الملفات أولًا. فقد افترض ردّ المجتمع المصدر أن النظام هو NTFS أو exFAT، وهو تفسير معقول لأن هذين النظامين لا يتعاملان مثل ext4/Btrfs مع ملكية Unix الأصلية وبتّات الصلاحيات.

لا يوضح المصدر نظام الملفات الذي استخدمه MikeFrizz فعليًا، كما أن صاحب المنشور الأصلي لم يعد بنتيجة مؤكدة. لذلك ينبغي أن يظل هذا دليلًا لاستكشاف الأخطاء وإصلاحها مع مراعاة نظام الملفات، لا تصريحًا بأن كل محركات USB في ZimaOS تتجاهل الصلاحيات.

حدّد نظام ملفات USB قبل تغيير الصلاحيات

تحقّق من تنسيق القرص في تخزين ZimaOS أو باستخدام أمر للقراءة فقط مثل:

lsblk -f

يدعم ZimaOS الحالي الوصول للقراءة والكتابة إلى NTFS وexFAT وext4 وBtrfs، من بين تنسيقات أخرى، لكن «دعم القراءة والكتابة» لا يعني أن جميع أنظمة الملفات تحفظ البيانات الوصفية لمعرّفات مستخدمي/مجموعات Unix وبتّات الصلاحيات بالطريقة نفسها.

استخدم جدول تنسيقات الأقراص المدعومة حاليًا.

يعرض NTFS وexFAT الصلاحيات عادةً من خلال خيارات التحميل

في Linux، يعرض exFAT والعديد من إعدادات تحميل NTFS الملفات بقيم ملكية/صلاحيات مشتقة من خيارات التحميل، بدلًا من تخزين تغييرات صلاحيات POSIX العادية تمامًا كما يفعل ext4. ونتيجة لذلك، قد يبدو أن chown أو chmod لا يؤثران، أو قد تُلغى التغييرات عند إعادة التحميل.

هذا لا يعني أن محرك الأقراص للقراءة فقط أو أنه معطّل.

يوفّر نظام ملفات Linux صلاحيات POSIX الأكثر قابلية للتنبؤ لـ Docker

إذا كان قرص USB مخصصًا لـ ZimaOS/Linux وكنت بحاجة إلى تحكم فعلي في معرّفات المستخدمين/المجموعات وبتّات الصلاحيات، فإن ext4 أو Btrfs خيار أنسب. إعادة التهيئة عملية مدمّرة، لذا انسخ البيانات إلى مكان آخر قبل تغيير نظام الملفات.

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

يكون الربط المباشر أو وحدة التخزين أوضح وأسهل في التدقيق.

اربط مجلد USB مباشرةً داخل Immich

بدلًا من الإبقاء على مسار قديم على المضيف وإعادة توجيهه باستخدام رابط رمزي، عدّل وحدة تخزين تطبيق/حاوية Immich بحيث يُركّب مجلد USB الحقيقي في مسار الحاوية الذي يتوقعه Immich.

توضح وثائق IceWhale الحالية أنه يمكن تغيير مسار المضيف دون تغيير المسار داخل الحاوية.

استخدم نموذج مسارات وحدات تخزين Docker الحالي في ZimaOS.

لا تنقل جميع مكوّنات Immich عشوائيًا إلى تخزين USB دون تحقق

تختلف متطلبات مكتبات الوسائط والتخزين المرفوع في Immich عن متطلبات قاعدة بيانات PostgreSQL وحالة التطبيق. قبل نقل المجلدات، حدّد بالضبط وحدة التخزين على المضيف التي سيجري نقلها، واتبع إرشادات النشر/الترحيل الحالية الخاصة بـ Immich.

لا تنقل مجلد قاعدة بيانات قيد التشغيل باستخدام رابط رمزي بينما تكون الحاويات قيد التشغيل.

أصلح الربط قبل استخدام chmod 777 على نطاق واسع

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

الأسئلة الشائعة حول صلاحيات USB

هل يدعم ZimaOS القراءة والكتابة على NTFS وexFAT؟

نعم، تدرج وثائق IceWhale الحالية كليهما ضمن الأنظمة المدعومة للقراءة والكتابة.

لماذا قد يتصرف chmod/chown بشكل مختلف رغم ذلك؟

لا يستخدم هذان النظامان دلالات ملكية/صلاحيات POSIX الأصلية في Linux بالطريقة نفسها التي يستخدمها ext4 أو Btrfs.

هل تم تأكيد نظام ملفات المستخدم المصدر والإصلاح النهائي؟

لا. استُنتج نظام الملفات من ردّ في المجتمع، ولم يذكر صاحب المنشور الأصلي نتيجة.