لماذا يعيد Jellyfin إنشاء الملفات المفقودة بمالكٍ غير صحيح؟

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

عادةً ما يعيد Jellyfin إنشاء الملفات بمالك غير صحيح عندما تختلف هوية الخدمة النشطة عن مالك الدليل، أو عندما يستخدم مسار استيراد ثانٍ معرّف UID/GID مختلفًا.

هل تؤثر المشكلة في الأعمال الفنية التي نُزّلت حديثًا فقط أم في كل ملف يكتبه Jellyfin؟ قارن بين ملف يعمل بشكل صحيح، وملف أُنشئ حديثًا، وهوية الحاوية النشطة، والوجهة المرتبطة قبل تشغيل أي أمر تكراري لتغيير الأذونات. الهدف هو إصلاح التوارث، لا تكرار معالجة الأعراض.

أثبت أي هوية ومسار نفّذا عملية الكتابة

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

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

إذا كانت الملفات المستوردة فقط تملكًا غير صحيح، فقارن بين UID/GID وقناع umask الخاص بالمستورد وتلك الخاصة بـ Jellyfin. وإذا كان كل ملف جديد غير صحيح، فتحقق من قائمة التحكم بالوصول الافتراضية وسلوك setgid للدليل الأب.

تحقق من umask والمجموعات وقوائم التحكم بالوصول وعامل الاستيراد

قارن بين UID/GID ووضع أذونات الدليل الأب وبين العملية التي تنشئ الملف. قد يكتب برنامج تنزيل أو مهمة مجدولة أو حاوية جانبية عبر حاوية مختلفة، حتى إذا كان Jellyfin يعرض العنصر لاحقًا. تحقق من المجموعات الإضافية وقوائم التحكم بالوصول الافتراضية قبل تغيير شجرة الأدلة بأكملها.

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

اختبر ملفًا جديدًا واحدًا عبر مسار الاستيراد الفعلي بعد تغيير الهوية. لا تقيّم الإصلاح بناءً على ملفات أُنشئت قبل إعادة إنشاء الحاوية أو الحاوية الجانبية.

أصلح التوارث وتحقق بعد إعادة الإنشاء

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

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

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

-15% OFF

تحقق من الملكية بعد إعادة التشغيل وإعادة الاستيراد

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

أبقِ الإصلاح عندما ترث الملفات الجديدة المجموعة المقصودة ويتمكن Jellyfin من القراءة أو الكتابة في الدلائل المطلوبة لسير العمل فقط. لا تمنح صلاحية كتابة واسعة لشجرة الوسائط بأكملها.

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

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

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

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.