إذا أعاد ZimaOS mkdir: cannot create directory '/mnt/...': Read-only file systemفلا تفترض أن القرص الخارجي نفسه معطّل. في موضوع مجتمع IceWhale المنشور في أكتوبر 2025، كان المستخدم يطبّق /mnt سير العمل إلى ZimaOS، حيث يُدار نظام الملفات وتخطيط التخزين بطريقة مختلفة.
أهم درس من الموضوع هو فصل مهمتين: أولًا، التأكد من أن ZimaOS يوفّر مسار مضيف مستقرًا للقرص الصلب الخارجي، ثم تعيين ذلك المسار إلى حاوية Immich. لا يستطيع Immich التحقق من مسار مكتبة خارجية إلا إذا كان موجودًا داخل حاويته. ولا تزال وثائق Immich الحالية تتبع مبدأ Docker نفسه، رغم أنها لم تعد تتطلب مسار الحاوية التاريخي /external_library تحديدًا.
لماذا كان /mnt للقراءة فقط في حالة المجتمع
حاول المؤلف الأصلي إنشاء:
/mnt/terrabay1
/mnt/terrabay2
/mnt/terrabay3
/mnt/terrabay4
لكن ZimaOS أعاد:
mkdir: cannot create directory '/mnt/terrabay4': Read-only file system
نصح Zima-Giorgio بعدم تعديل ملفات نظام ZimaOS مباشرةً إلا بتوجيه من خبير أو في بيئة اختبار. وأشار الرد نفسه إلى أن الأقراص والمشاركات التي يديرها ZimaOS تظهر عادةً ضمن مسارات تقع تحت /media ويمكن عرضها من الطرفية.
تحقّق من كيفية تحميل ZimaOS للقرص بالفعل
قبل إلغاء التحميل أو التحرير /etc/fstabافحص حالة التخزين الحالية:
lsblk -f
ls /media
df -h
في الموضوع الأصلي، كان ZimaOS قد أتاح الأقراص الأربعة بالفعل عبر مسارات مشابهة لما يلي:
/media/sdb-ata-ST2000VN003-3CW1
/media/sdc-ata-ST2000VN003-3CW1
إذا كان القرص موصولًا بالفعل ومستقرًا عبر ZimaOS، فقد لا تحتاج إلى إعادة تحميله يدويًا على الإطلاق. غالبًا ما يكون أبسط إعداد لـ Immich هو استخدام مسار المضيف الموجود في ZimaOS باعتباره الجانب الأيسر من تعيين وحدة تخزين Docker.
طريقة التحميل اليدوي التاريخية التي شاركها المؤلف
وثّق المؤلف الأصلي في النهاية طريقة يدوية باستخدام /etc/fstab الإدخالات ونقاط التحميل أدناه /DATAعلى سبيل المثال:
sudo mkdir -p /DATA/Enclosure/Bay1
sudo mount /dev/sdb /DATA/Enclosure/Bay1
ثم أمرًا من نوع /etc/fstab سطرًا يستخدم معرّف UUID حقيقيًا للقرص:
UUID=YOUR-REAL-UUID /DATA/Enclosure/Bay1 ext4 defaults,nofail,x-systemd.automount 0 0
متبوعًا بـ:
sudo systemctl daemon-reload
sudo mount -a
كان هذا حلاً بديلاً من المجتمع على ZimaOS في عام 2025، وليس توصية عامة حالية. لا تنسخ معرّفات UUID أو أسماء الأجهزة الواردة في الموضوع، مثل /dev/sdb؛ فهي تنتمي إلى أجهزة ذلك المستخدم وقد تتغير.
كان خطأ كتابي صغير جزءًا من المشكلة الأصلية
اكتشف المؤلف لاحقًا أن Apple Notes كان قد جعل الحرف الأول كبيرًا تلقائيًا في بعض أسطر الأوامر المنسوخة. أوامر Linux والمسارات حساسة لحالة الأحرف، لذا فإن أمرًا منسوخًا بصيغة Mkdir بدلًا من mkdir، أو مسارًا بتغيير في حالة الأحرف، سيفشل.
عند إعداد أوامر الطرفية، استخدم محرر نصوص عاديًا وتحقق من حالة الأحرف قبل اللصق.
تتطلب مكتبات Immich الخارجية خطوتين منفصلتين
أوضحت الردود اللاحقة البنية:
-
ZimaOS/Docker: اربط مسار مضيف القرص الصلب الخارجي بحاوية
immich-server. - Immich: أنشئ مكتبة خارجية باستخدام مسار جانب الحاوية من الخطوة 1.
إذا نُفذت الخطوة 2 فقط، فسيفشل التحقق في Immich لأن المسار غير موجود داخل حاويته.
استخدم مثال ZimaOS لعام 2025 المسار /external_library
استخدم عضو المجتمع sny مفهوم ربط مشابهًا لـ:
مسار مضيف ZimaOS: /media/USB_1/sny
مسار Immich: /external_library
ثم أضاف المستخدم في Immich:
/external_library
باعتباره مسار استيراد المكتبة الخارجية.
لا يتطلب Immich حاليًا الاسم /external_library
تتسم وثائق Immich الحالية بمرونة أكبر. إذ يعرض الدليل الرسمي للمكتبة الخارجية مسارات مضيف وحاوية عشوائية، مثل:
immich-server:
volumes:
- /home/user/photos1:/home/user/photos1:ro
- /mnt/photos2:/mnt/photos2:ro
القاعدة المهمة هي أن المسار المُدخل في Immich يجب أن يطابق مسار جانب الحاوية تمامًا. والاسم /external_library كان اصطلاحًا مناسبًا في مثال مجتمع ZimaOS، وليس متطلبًا من Immich في المصدر الأساسي.
تفضيل التركيبات للقراءة فقط لمكتبات الأرشيف
توصي وثائق Immich الحالية بإضافة :ro عندما ينبغي أن يقرأ Immich المكتبة الخارجية فقط:
/host/photos:/external_library:ro
أزل وضع القراءة فقط إذا كنت تريد عن قصد أن يحذف Immich الأصول الخارجية أو يكتب بيانات وصفية جانبية بتنسيق XMP. يقلل تركيب الأرشيف للقراءة فقط من خطر تعديل التطبيق للملفات الأصلية.
مكتبات خارجية متعددة
اقترح المجتمع مسارات منفصلة للحاويات مثل:
/external_library/usb1
/external_library/usb2
/external_library/photos
يدعم Immich حاليًا نقاط تثبيت متعددة أيضًا. يجب تثبيت مسار كل مكتبة داخل immich-server ثم أضفها إلى صفحة إدارة المكتبات الخارجية في Immich.
هل ينسخ Immich صور المكتبة الخارجية إلى مكتبته الرئيسية؟
لا. تصف وثائق Immich الحالية المكتبات الخارجية بأنها أصول تبقى في موقعها الأصلي ضمن نظام الملفات. يفحصها Immich، ويفهرس البيانات الوصفية، وينشئ سجلات قاعدة البيانات والموارد المشتقة مثل الصور المصغرة، ويعرضها في المخطط الزمني.
إذا اختفى ملف خارجي من القرص، فقد يضع Immich علامة على الأصل باعتباره مفقودًا أو ينقله إلى سلة المهملات بعد إعادة الفحص. احتفظ بنسخة احتياطية من محرك الأقراص الخارجي بشكل مستقل.
احذر عند تعديل /etc/fstab على ZimaOS
نجحت الطريقة اليدوية في موضوع المصدر بما يكفي لإنشاء مسارات ثابتة لمحرك الأقراص، لكن المؤلف أبلغ لاحقًا عن مشكلات إضافية تتعلق بـ USB والترحيل. وقد يؤدي إدخال غير صالح في /etc/fstab يمكن أن يتداخل الإدخال أيضًا مع عملية الإقلاع أو يجعل التخزين غير متاح.
إذا كان ZimaOS يدير القرص بالفعل ويعرض /media/... المسار، وفضّل استخدام ذلك المسار الحالي لتثبيت Immich المرتبط بدلًا من إعادة بناء تخطيط تخزين المضيف دون ضرورة.
قائمة التحقق لمحرك Immich الخارجي على ZimaOS
- تحقق من
lsblk -f,ls /mediaتقليدي، ثم تخزين ZimaOS أولًا. - لا تفترض أنك بحاجة إلى
/mntنقطة التثبيت. - فضّل مسار مضيف يديره ZimaOS إذا كان موجودًا بالفعل.
- اربط مسار المضيف بالحاوية
immich-serverالحاوية. - استخدم مسار حاوية واضحًا مثل
/external_library/photos. - استخدم
:roعندما يحتاج Immich إلى قراءة أرشيف فقط. - أضف مسار الحاوية الدقيق ضمن إدارة Immich ← المكتبات الخارجية.
- افحص المكتبة الجديدة وتحقق من تشغيل المهام.
- انسخ ملفات المكتبة الخارجية الأصلية احتياطيًا بشكل مستقل عن Immich.
الأسئلة الشائعة حول محرك Immich الخارجي على ZimaOS
لماذا لا يمكنني إنشاء /mnt/terrabay1 على ZimaOS؟
في حالة المصدر، رفض نظام ملفات ZimaOS الكتابة هناك. كان ZimaOS يدير التخزين الخارجي بالفعل عبر مسارات التخزين الخاصة به، بما في ذلك المسارات الموجودة ضمن /media.
هل أحتاج إلى تعديل /etc/fstab؟
ليس دائمًا. استخدم مؤلف المصدر ملف fstab لتخطيط تثبيت مخصص قائم على UUID، لكن إذا كان ZimaOS يثبت محرك الأقراص بشكل موثوق بالفعل، فإن استخدام مسار المضيف الحالي يكون أبسط وأقل تدخلًا.
هل يجب أن يكون مسار Immich هو /external_library؟
لا. كان ذلك اصطلاحًا متبعًا في مجتمع ZimaOS. يتيح Immich حاليًا استخدام مسارات مثبتة عشوائية، ما دام يُدخل المسار نفسه داخل الحاوية في إعدادات المكتبة الخارجية.
هل تنسخ مكتبة Immich الخارجية الملفات الأصلية؟
لا. تبقى الملفات في موقعها الخارجي الأصلي؛ ويفهرسها Immich وينشئ البيانات الوصفية والموارد المشتقة المرتبطة بها.
