تشغيل خادم أوبونتو في وضع الطوارئ: دليل إنقاذ خطوة بخطوة

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

ينطبق هذا الدليل على عمليات تثبيت خادم أوبونتو التقليدية باستخدام systemd. قد تختلف الأوامر وقوائم الإقلاع في أوبونتو كور، والأنظمة المشفرة، والصور السحابية، والخوادم المُدارة من قِبل مزود الخدمة. تصف صفحات دليل أوبونتو الحالية emergency.target بأنه واجهة أوامر مصغرة لا تُشغّل الخدمات العادية ولا تُحمّل أنظمة الملفات العادية؛ وبحسب طريقة الوصول إليه، قد يكون نظام الملفات الجذر للقراءة فقط أو للقراءة والكتابة. لذا، فإن الخطوات الأولى هي الفحص والنسخ الاحتياطي.

1. اقرأ تفاصيل الخطأ قبل إجراء أي تغييرات

سجّل الدخول إلى وحدة التحكم المحلية أو وحدة تحكم المزوّد إذا طُلب منك ذلك. على جهاز فعلي، وصّل لوحة مفاتيح وشاشة؛ على خادم افتراضي، استخدم وحدة التحكم التسلسلية أو وحدة تحكم الاسترداد الخاصة بالمزوّد. صوّر أو انسخ رسالة الخطأ كاملةً، وخاصةً اسم الوحدة مثل `<اسم الوحدة>` systemd-fsck@dev-disk-by-uuid-....serviceأو اسم وحدة التحميل التي تنتهي بـ ` <اسم الوحدة .mount>`. يتطلب كل من فقدان مُعرّف UUID، وفشل فحص نظام الملفات، وتعطل الخدمة، حلولاً مختلفة.

من خلال غلاف الطوارئ، افحص الوحدات المعطلة وسجل بدء التشغيل الحالي:

systemctl --failed
journalctl -xb

ابحث عن أول خطأ ذي دلالة، وليس فقط سطر "فشل التبعية" الأخير. إذا حدد السجل وحدة تخزين مُثبّتة، ​​فدوّن نقطة التثبيت ومعرّف الجهاز الفريد (UUID). إذا حدد خدمة غير مرتبطة بالتخزين، فلا تبدأ بتغييرها /etc/fstabعشوائيًا؛ بل افحص تلك الوحدة تحديدًا systemctl status unit-nameورسائل سجلها الأخيرة.

2. تحقق مما إذا كان نظام الملفات الجذر يسمح بالتعديلات

قبل تعديل ملف التكوين، تحقق من كيفية تثبيت نظام الملفات الجذر:

findmnt /

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

mount -o remount,rw /

أعد تشغيل findmnt /العملية للتأكد من التغيير. إذا فشلت إعادة التحميل، فتوقف وسجّل الخطأ. قد يكون استخدام جذر للقراءة فقط إجراءً وقائيًا لمشاكل نظام الملفات؛ إذ إن فرض الكتابة أو إعادة محاولة التحميل بشكل متكرر قد يُصعّب عملية الاسترداد. استخدم بيئة إنقاذ أو تواصل مع دعم المزوّد إذا بدا أن وحدة التخزين الجذرية تالفة.

3. افحص الأقراص وقارنها بملف /etc/fstab

من الأسباب الشائعة وجود /etc/fstabبيانات قديمة: إما إزالة قرص، أو تغيير مُعرّف فريد عالمي (UUID)، أو كتابة مسار التحميل بشكل خاطئ. فيما يلي قائمة بأنظمة الملفات المكتشفة ومعرّفاتها:

lsblk -f
blkid

ثم اقرأ إعدادات جدول التثبيت:

cat /etc/fstab

طابق كل مُعرّف فريد عالمي (UUID) مُكوّن مع مُخرجات الأمر `get` lsblk -fأو `get` blkid، وتأكد من صحة نقطة التحميل ونوع نظام الملفات. لا تستبدل اسم الجهاز، مثلاً، /dev/sdb1بناءً على حرفه الحالي فقط؛ فقد يتغير ترتيب الأجهزة. غالبًا ما تكون مُعرّفات UUID أكثر استقرارًا، ولكن لا يزال يتعين عليها مُطابقة نظام الملفات الفعلي.

يتم تحويل الملف /etc/fstabإلى وحدات تثبيت systemd عند بدء التشغيل. تحتوي حقوله وخياراته على معانٍ محددة، لذا يُرجى الرجوع إلى دليل fstab الرسمي لنظام Ubuntu إذا كان أحد الإدخالات غير مألوف.

4. تجاوز مؤقت لحامل مفقود اختياري

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

cp -a /etc/fstab /etc/fstab.before-emergency-fix
nano /etc/fstab

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

بعد التعديل، اطلب من نظام systemd إعادة تحميل الوحدات المُنشأة واختبار الملف:

systemctl daemon-reload
mount -a

اقرأ جميع المخرجات. لا يُثبت ظهور مخرجات سليمة أن جميع التطبيقات قادرة على استخدام البيانات المُثبّتة، ​​ولكن وجود مُعرّف فريد عالمي (UUID) أو خطأ في بناء الجملة أو خطأ في التثبيت يُشير إلى ما تبقى لإصلاحه. يشرح دليل systemd-fstab-generator كيفية تحويل systemd لإدخالات fstab إلى وحدات تثبيت.

5. إصلاح معرّف UUID أو المسار أو خيار التثبيت الخاطئ

إذا كان القرص موجودًا ولكن معرّفه الفريد (UUID) مختلف، فتأكد من تحديد نظام الملفات الصحيح قبل تحديث UUID=...الحقل المطابق. تأكد من وجود دليل نقطة التحميل، وأن نوع نظام الملفات دقيق، وأن الخيارات صالحة لهذا النظام. صحّح إدخالًا واحدًا في كل مرة، ثم أعد تشغيل systemctl daemon-reloadالأمر mount -a.

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

6. قم بتشغيل فحص نظام الملفات فقط عندما يكون الهدف غير مثبت.

إذا أبلغت وحدة التحكم تحديدًا عن أخطاء في نظام الملفات، فحدد نوع نظام الملفات والجهاز قبل إصلاحه. لا تُشغّل أداة إصلاح على نظام ملفات مُثبّت، وخاصةً نظام الملفات الجذر النشط. يشرح دليل Ubuntu fsck أمر التغليف؛ وتعتمد خيارات الفحص والإصلاح الصحيحة على نظام الملفات.

بالنسبة لقسم بيانات ext2 أو ext3 أو ext4، تأكد أولاً من أنه غير مُثبَّت findmnt. إذا كان مُثبَّتًا، فقم بإلغاء تثبيته قبل التحقق. إليك مثال على فحص ext4 من بيئة إنقاذ مناسبة:

sudo e2fsck -f /dev/DEVICE

استبدل القسم /dev/DEVICEفقط بعد مطابقة القسم الصحيح من الملف lsblk -f. اقرأ أسئلة المدقق وحالته؛ ولا تُضِف خيار "نعم لكل شيء" تلقائيًا دون فهم مخاطر فقدان البيانات. بالنسبة لنظام ملفات جذر لا يمكن فصله من واجهة الطوارئ قيد التشغيل، شغّل بيئة استعادة مباشرة أو بيئة استعادة من مزود الخدمة، وتحقق منه أثناء عدم الاتصال بالإنترنت. تستخدم أنظمة الملفات Btrfs وXFS وغيرها أدوات وإجراءات إصلاح مختلفة. على وجه الخصوص، لا تعتبر fsckأمرًا عامًا دليلًا على إصلاح جميع أنواع أنظمة الملفات.

7. استخدم GRUB أو الاسترداد الخارجي فقط عندما يكون shell غير متاح

إذا لم يتمكن الخادم من الوصول إلى واجهة الطوارئ، فافتح قائمة GRUB وحاول استخدام خيار الاسترداد الخاص بالتوزيعة عند توفره. في تثبيت أوبونتو القياسي، غالبًا ما يتم الوصول إلى القائمة بالضغط على مفتاح Shift في أنظمة BIOS القديمة أو الضغط على مفتاح Esc في أنظمة UEFI، ولكن قد تستخدم الأجهزة الافتراضية المستضافة مسارًا مختلفًا لوحدة التحكم. لإجراء تمهيد طارئ لمرة واحدة باستخدام systemd، يمكن للمسؤول تعديل إدخال GRUB المحدد وإضافة أمر systemd.unit=emergency.targetإلى سطر أوامر نواة لينكس. ينطبق هذا التغيير على عملية التمهيد هذه فقط؛ قم بإزالته قبل عملية التمهيد العادية التالية. راجع مرجع قائمة GNU GRUB الرسمي .

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

8. أعد تشغيل الجهاز وتحقق من عملية الإصلاح

عند تصحيح السبب المُبلغ عنه واجتياز اختبارات التركيب، أعد تشغيل الجهاز:

reboot

بعد بدء التشغيل، تحقق من أن المضيف يصل إلى هدفه المعتاد للمستخدمين المتعددين، وأن أنظمة الملفات المتوقعة مثبتة، وأن الخدمات المهمة نشطة:

systemctl is-system-running
systemctl --failed
findmnt --target /

تحقق من نقاط تحميل البيانات المتوقعة باستخدام الأمر المناسب findmnt /path/to/mount، وتأكد من الخدمات الأساسية باستخدام الأمر المناسب أيضًا systemctl status service-name. في حال عودة وضع الطوارئ، راجع أول فشل في عملية الإقلاع الجديدة مرة أخرى بدلًا من تكرار عملية الإصلاح نفسها. تعني عملية الإنقاذ الناجحة أن الخادم يُكمل عملية إقلاع عادية وأن مساحة التخزين والخدمات المطلوبة متاحة؛ فمجرد الوصول إلى شاشة تسجيل الدخول لا يكفي.

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

اترك تعليقاً

حمّل لعبة FlightGear مجاناً: دليل التثبيت الرسمي

حمّل لعبة FlightGear مجاناً: دليل التثبيت الرسمي

حمّل برنامج FlightGear مجاناً من الموقع الرسمي. قارن بين حزم Windows و macOS و Linux، وثبّت ملفات البيانات، وابدأ رحلتك الأولى.

أو كي سامبلر: برنامج مجاني وبسيط لأخذ عينات موسيقية لإيقاعات لوحة المفاتيح

أو كي سامبلر: برنامج مجاني وبسيط لأخذ عينات موسيقية لإيقاعات لوحة المفاتيح

يقوم برنامج OKSampler بربط مقاطع MP3 بمفاتيح لوحة المفاتيح، كما يتيح تكرار الصوت. تعرّف على وظائف هذا البرنامج المجاني القديم، وحدود ميزاته القديمة، وما يجب التحقق منه قبل التنزيل.

تطبيق مهام جوجل لسطح المكتب: كيفية استخدامه على الكمبيوتر

تطبيق مهام جوجل لسطح المكتب: كيفية استخدامه على الكمبيوتر

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

كيفية لعب لعبة Don't Starve Together على نظام لينكس

كيفية لعب لعبة Don't Starve Together على نظام لينكس

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

كيفية تشغيل لعبة Squad على نظام Linux باستخدام Steam Proton

كيفية تشغيل لعبة Squad على نظام Linux باستخدام Steam Proton

قم بإعداد Squad على نظام Linux باستخدام Steam Play و Proton، ثم قم بتثبيت اللعبة، واختر أداة التوافق، وقم باستكشاف مشكلات مكافحة الغش وإصلاحها.

كيفية تثبيت نظام لينكس منت ديبيان الإصدار الخامس "إلسي" من خلال USB

كيفية تثبيت نظام لينكس منت ديبيان الإصدار الخامس "إلسي" من خلال USB

قم بتنزيل ملف LMDE 5 ISO المؤرشف والتحقق منه، ثم أنشئ قرص USB قابلًا للإقلاع، واختر إعدادات التثبيت الآمنة. انتهى دعم Elsie؛ راجع إصدار LMDE الحالي.

كيفية إنشاء قرص USB قابل للتشغيل لنظام التشغيل Windows 11 على نظام Linux

كيفية إنشاء قرص USB قابل للتشغيل لنظام التشغيل Windows 11 على نظام Linux

قم بإنشاء قرص USB لتثبيت نظام التشغيل Windows 11 على نظام Linux باستخدام Ventoy: احصل على ملف ISO الرسمي، وقم بتثبيت Ventoy بأمان، وانسخ الصورة، وقم بتشغيل جهاز الكمبيوتر المستهدف.

كيفية تشغيل لعبة It Takes Two على نظام لينكس باستخدام Steam Proton

كيفية تشغيل لعبة It Takes Two على نظام لينكس باستخدام Steam Proton

تعلم كيفية تشغيل لعبة It Takes Two على نظام Linux باستخدام Steam Proton، وتثبيت إصدار Steam، وتمكين التوافق، وإعداد وضع اللعب التعاوني، وحل مشاكل التشغيل.

كيفية تثبيت برنامج Wireshark على أنظمة Linux: أوبونتو، فيدورا، آرتش، وغيرها

كيفية تثبيت برنامج Wireshark على أنظمة Linux: أوبونتو، فيدورا، آرتش، وغيرها

قم بتثبيت Wireshark على Ubuntu أو Debian أو Fedora أو Arch أو openSUSE باستخدام أوامر الحزمة الحالية، ثم قم بتكوين التقاط الحزم المباشر بأمان.

كيفية لعب Slay the Spire على نظام Linux: قم بتثبيته وتشغيله باستخدام Steam

كيفية لعب Slay the Spire على نظام Linux: قم بتثبيته وتشغيله باستخدام Steam

قم بتثبيت Steam على نظام Linux، ثم احصل على نسخة Slay the Spire الأصلية لنظام Linux من مكتبتك، وقم بتشغيلها. يتضمن ذلك خطوات عملية لحل مشاكل بدء التشغيل الشائعة.