لا يضمن تغيير PUID وPGID داخل تطبيق Docker أن الحاوية ستتمكن من الكتابة إلى كل نظام ملفات على المضيف. في هذا النقاش الذي جرى في فبراير 2026، لم يتمكن HandBrake من الكتابة إلى قرص SSD موصول تحت /media/sda2 حتى بعد أن جرّب المستخدم عدة معرّفات للمستخدمين والمجموعات.
كانت التفاصيل الحاسمة هي نظام الملفات: كان القرص بتنسيق exFAT وموصولًا بحيث تعود ملكيته إلى root. لا يوفر exFAT ملكية UID/GID عادية لكل ملف في Linux بالطريقة نفسها التي يوفرها ext4، لذلك لم يكن تغيير مستخدم الحاوية وحده كافيًا لإصلاح أذونات نقطة التوصيل على المضيف.
لم تكن المشكلة مقتصرة على مستخدم الحاوية
أوضح المستخدم أن حاوية HandBrake تحتوي بالفعل على قيمتي PUID وPGID، لكن مجلد المضيف ظل يظهر بملكية root. وقد ميّز أحد أعضاء المجتمع بشكل صحيح بين هوية Docker ودلالات نظام الملفات على المضيف.
ينطبق هذا التمييز على العديد من التطبيقات المستضافة ذاتيًا: لا يمكن للحاوية استخدام سوى الأذونات التي تتيحها نقطة التوصيل على المضيف.
يستخدم exFAT تعيين الأذونات على مستوى نقطة التوصيل
يُعد exFAT مفيدًا لنقل الأقراص بين أنظمة التشغيل، لكنه لا يخزن ملكية Linux وبتات الأذونات مثل ext4. ويتم تحديد سلوك UID وGID والقناع عند توصيل نظام الملفات.
لذلك قد تبدو محاولات chown أو chmod العادية غير فعالة على قرص exFAT، رغم أن الأوامر نفسها تعمل بصورة طبيعية على ext4.
يسرد ZimaOS الحالي exFAT باعتباره نظام ملفات مدعومًا للقراءة والكتابة. وهذا يصف الوصول الأساسي إلى نظام الملفات، وليس سلوك أذونات POSIX الخاص بـ Docker. استخدم جدول دعم أنظمة الملفات الحالي عند تحديد ما إذا كانت قابلية النقل أو الأذونات الأصلية في Linux أكثر أهمية لقرص الخادم.
فشلت إعادة التهيئة عبر الواجهة أيضًا في هذه الحالة
أظهر الفحص اللاحق أن القرص كان موصولًا في عدة مواقع تديرها ZimaOS، وظل مشغولًا من خلال خدمة الملفات. ولم يصل النقاش إلى تسلسل إصلاح رسمي من IceWhale، لذلك لا ينبغي إعادة نشر أوامر إلغاء التوصيل أو أوامر fstab المدمرة الواردة في ردود المجتمع على أنها تعليمات رسمية.
عيّن مجلد المضيف صراحةً داخل الحاوية
أوضح رد لاحق تعيين وحدة التخزين الصحيح من الناحية المفاهيمية: اختر مجلدًا حقيقيًا على المضيف وعيّنه إلى مسار الحاوية الذي يتوقعه التطبيق.
لماذا يُعد ext4 أبسط لتخزين الحاويات المخصص لـ Linux
كانت توصية المجتمع استخدام ext4 لقرص مخصص لأحمال Docker، لأن ext4 يدعم ملكية Linux وبتات الأذونات العادية. وهذه توصية عملية لإدارة Linux، وليست متطلبًا من IceWhale بأن تستخدم كل أقراص البيانات في ZimaOS نظام ext4.
إذا كانت قابلية النقل بين الأنظمة أكثر أهمية، فقد يظل exFAT مناسبًا، لكن يجب أن يتوافق نموذج الملكية على مستوى نقطة التوصيل مع المستخدمين الذين يشغّلون حاوياتك.
أبقِ تخزين التطبيقات بعيدًا عن قرص النظام
يتيح ZimaOS الحالي للمستخدمين اختيار موقع بيانات التطبيقات وتعيين مجلدات التخزين الفعلية داخل الحاويات. ويُعد شرح كيفية تحول مجلدات المضيف إلى وحدات تخزين للحاويات مفيدًا قبل تغيير الملكية أو إعادة تهيئة القرص.
الأسئلة الشائعة حول أذونات مجلدات Docker
لماذا لم يؤدِّ تغيير PUID وPGID إلى إصلاح قرص exFAT؟
لأن exFAT لا يخزن ملكية الملفات العادية في Linux. وتحدد قيمتا UID وGID والقناع الخاصتان بنقطة التوصيل كيفية ظهور نظام الملفات أمام عمليات Linux.
هل يدعم ZimaOS القراءة والكتابة على exFAT؟
نعم. يسرد ZimaOS الحالي exFAT باعتباره نظام ملفات للقراءة والكتابة، لكن ذلك لا يجعله مكافئًا لـ ext4 من حيث ملكية POSIX.
هل ينبغي أن يكون كل قرص بيانات Docker بتنسيق ext4؟
ليس بالضرورة، لكن ext4 أبسط عندما يكون القرص مخصصًا لحاويات Linux التي تعتمد على الملكية والأذونات العادية.
هل حُلَّ خطأ التنسيق في النقاش؟
لم يُنشر أي إصلاح نهائي رسمي. وظل القرص مشغولًا من خلال نقاط التوصيل والخدمات التي تديرها ZimaOS.
