السلام عليكم ورحمة الله وبركاته
موضوعنا اليوم إن شاء الله موضوع خفيف وظريف وذو أهمية لمستخدمى نظام التشغيل جنو/لينوكس بشكل عام وبشكل خاص لمحبوبة قلبى توزيعة Debian والتوزيعات المبنية عليها مثل ubuntu وعائلتها الكريمة .
وكما هى عادتى عن البدء فى كتابة موضوع ما ان أبدأ من عنوان الموضوع وهو "كيفية التحكم فى الخدمات أثناء عملية الإقلاع " ، فى البداية قد يستغرب البعض العوان ويستاءل ما المقصود بالخدمات أثناء عملية الإقلاع لذا سنبادر بتوضيح بسيط ونقوم بشرح العنوان بشكل أبسط .
تعالى مع لنستعرض سويا عملية إقلاع توزيعة Debian كمثال فى البداية تقوم بالضغط على زر التشغيل Power لكى يتم تشغيل الحاسوب لديك ، بعد ذلك تقوم ال Bios داخل اللوحة الأم الخاصة بك أو ال MotherBoard بإظهار بعض البيانات المخزنة داخليا عليها وبشكل ثابت على شاشة الحاسب لديك أو ال monitor ويتم التعرف حينها على الأقراص والأقراص الصلبة ووسائط الأقراص المدمجة وغيرها من العتاد الخاص بالحاسوب لديك ، بعض ذلك تقوم الBios بالبحث عن البرنامج الذى يوفر عملية الإقلاع داخلها إما عن طريق ال Harddisk او ال cd-rom او ال Usb Drivers إلخ وبشكل تلقائى تكون عملية الإقلاع للقرص الصلب هى صاحبة الأسبقية فى ذلك ، بعد ذلك يأتى هنا دور البرنامج المسئول عن عملية الإقلاع الخاصة بنظام التشغيل جنو/لينوكس والذى فى غالب الأحيان يكون هو Grub Boot-loader ، ثم تأتى شاشة خيارات نظم التشغيل المتاحة والمثبتة على القرص الصلب لتختار منها ما تشاء وولنفترض جدلأ أن تمتلك توزيعة Debian مثبتة بالفعل لديك فيحنها كل معليك فعله هو الضغط على زر Enter لتبدأ عملية الإقلاع للتوزيعة فى العمل ، الآن أخبرنى ماذا ترى ؟؟
أصحاب توزيعة ديبيان كل مالديهم على شاشة الحاسب عبارة عن خلفية سوداء وبعض السطور البيضاء التى تظهر بشكل تلقائى تباعاً الواحد تلو الآخر دون تدخل منا فى ذلك سواء بالإضافة أو الحذف أو التعديل إلى أن تنتهى تلك العملية وتظهر فى النهاية إما شاشة سواء مستقرة تحمل الرسالة التالية :
Debian Gnu/Linux 4.0 debian
debian login :
أو ظهور الواجهة الرسومية للعملية السابقة والتى تتحكم فيها إما الحزمة GDM لمستخدمى الواجهة الرسومية Gnome أو الحزمة KDM لمستخدمى الواجهة الرسومية KDE ، وكل ما عليه فعله حينها هو وضع إسم المستخدم وكلمة المرور الخاصة بك لكى تبحر فى عالم Debian !
الآن يتساءل البعض إذا هل انتهى الموضوع الذى تتحدث عنه ؟؟
بالطبع ﻻ !! السطور السابقة التى قمت بكتابتها ما كانت إﻻ سرد موجز لما يحدث أمامك وسيناريو متطابق لعملية إقلاع توزيعة Debian ، لكن ما سوف نتحدث عنه فى هذا الموضوع هو كيفية التحكم فى بعض السطور البيضاء التى تظهر على الخلفية السوداء أثناء عملية الإقلاع !!
هل وصلت الفكرة بالشكل المطلوب لديك ؟ ربما ﻻ
حسناً ، سأفصل المزيد ، السطور البيضاء التى ظهرت أمامك على الشاشة ماهى إﻻ بعض الخدمات التى يقوم نظام إدارة العمليات أو الخدمات والذى يسمى init بعملية التشغيل لها وهو النظام الإفتراضى فى توزيعة Debian ، أما فى التوزيعات الحديثة من Ubuntu تم إستبداله بحزمة Upstart ، لذا مهمتنا اليوم هى التحكم فى بعض من تلك العمليات إما بالإيقاف أو بالتشغيل وستنتاول ثلاثة طرق لكيفية عمل ذلك فلنتابع معا .
الطريقة الأولى : مدير الخدمات أو Services-admin
تستطيع الوصول إلى مدير الخدمات بطريقتين مختلفتين أولهما بإستخدام المسار التالى :
مستخدمى Debian :
Desktop => Administration => Services
مستخدمى Ubuntu :
System => Administration => Services
أما الطريقة الثانية فهى فتح الحزمة من خلال محاكى الطرفية بالشكل التالى :
muhammad@debian:~$ services-admin &
ملحوظة : ﻻ تقم بالدخول إلى محاكى الطرفية بإستخدام المستخدم الجذر أو root .
بعد ذلك ستظهر نافذة الخدمات المتاحة والتى توجد ليك كما فى الصورة التالية :
بعد ذلك كل ما عليك فعله هو وضع أو حذف علامة صح أمام ما تريده من خدمات سواء كنت تريد الخدمة أن تبدأ أثناء الإقلاع أو ﻻ .
الطريقة الثانية : بإستخدام الحزمة sysv-rc-conf أو rcconf
تعرفنا فى الطريقة الأولى على تفعيل الخدمات أثناء عملية الإقلاع او إيقافها من خلال مدير الخدمات بالواجهة الرسومية ، أما الطريقة الثانية التى سوف نتعرض ستكون من خلال كلا ً من الحزمة sysv-rc-conf أو rcconf ، والفارق بين كلا الحزمتين هو أن الحزمة sysv-rc-conf توفر مزيداً من التحكم بشكل أفضل للعملية الواحدة على مختلف مستويات التشغيل كلها بداية من المستوى 0 إلى 6 إنتهاءاً بمستوى التشغيل S ولمزيد من المعلومات عن مستويات التشغيل المختلفة راجع القسم الخاص بجزئية ال Run Levels من خلال الأمر التالى :
فى البداية سنقوم بتثبيت الحزمة sysv-rc-conf بالشكل التالى :
توزيعة Debian يتعين عليهم الدخول بحساب المستخدم root أوﻻ ً :
muhammad@debian:~$ su -
Password:
بعد ذلك قم بتنفيذ الأمر التالى :
apt-get install sysv-rc-conf
مستخدمى توزيعة Ubuntu :
sudo apt-get install sysv-rc-conf
بعد الإنتهاء من عملية تثبيت الحزمة سنقوم بتشغيلها من خلال محاطى الطرفية Terminal بإستخدام حساب المستخدم root لأنها تتطلب صلاحيات أعلى بالشكل التالى :
بعد ذلك ستعمل الحزمة فى نفس شاشة محاكى الطرفية Termianl المفتوحة فعليا بالشكل التالى كما هو موضح بالصورة :
لاحظ فى الصورة السابقة وجود الخدمة مثلا acpid مفعلة فى أكثر من مستوى تشغيل وكذلك الأمر مع كل الخدمات تستطيع تشغيل الخدمة أثناء الإقلاع فى أى مستوى تشغيل تريد إما بإستخدام زر Space أى المسطرة من لوحة المفاتيح أو إستخدام الفأرة فى عمل ذلك وحينما تنتهى من ضبط الخدمات التى تريدها قم بالضغط على زر q للخروج إلى محاكى الطرفية مرة أخرى .
أما بالنسبة للحزمة rcconf فنستطيع تثبيتها بنفس الكيفية السابقة :
مستخدمى Debian بحساب المتسخدم root :
مستخدمى توزيعة Ubuntu :
sudo apt-get install rcconf
لتشغيل الحزمة أيضا من محاكى الطرفية :
ملحوظة : ﻻ يشترط لتلك لتشغيل تلك الحزمة الدخول بحساب المستخدم root .
بعد الضغط على زر Enter ستظهر الحزمة داخل محاكى الطرفية بالشكل التالى :
بإستخدام زر Space أو مسطرة لتحديد العمليات المطلوب بدء تشغيلها أثناء عملية الإقلاع ثم بعد ذلك بإستخدام زر tab تستطيع اختيار ok ثم تقوم بالضغط على Enter
الطريقة الثالثة : إستخدام الأمر update-rc.d
من خلال الأمر update-rc.d نستطيع إضافة أو حذف خدمة معينة أثناء عملية الإقلاع ، وكل ما يتطلب معرفته هو إسم الحزمة فقط وتكون صيغة الأمر بالشكل التالى :
اوﻻ وقف خدمة من التشغيل أثناء الإقلاع :
update-rc.d -f service_name remove
اما لإضافة خدمة أثناء الإقلاع :
update-rc.d -f Service_name defaults
اتعذر إن كان الموضوع غير مفصل بشكل أكبر من ذلك لكن وددت طرح الأمر أمام الجميع لكى يقوم البعض بالتجربة وإعطاء مزيد من التفاصيل عن تجربته
لذا أود فى ذلك الموضوع من كل مشترك طرح الخدمات الذى قام بتفعيلها أو إيقافها أثناء عملية الإقلاع وأبدأ بنفسى :
أستخدم Debian وقمت بتعطيل الخدمات التالية :
أعلم أنها ليست بالعمليات الكثيرة لأنى لست من هواة وجود برامج كثيرة لا أحتاج إليها ولكن من يستخدم Debian قد توجد لديه تلك الخدمة وهى AppleTalk service وسببت لى ارق بعض الوقت لانها كانت تأخذ وقتا غير طبيعى لبدء التشغيل أثناء عملية الإقلاع ولم أكن أعلم حينها ما إسم الحزمة المسئولة عن تلك الخدمة وعلمت فيما بعد انها netatalk .
أتمنى إثراء الموضوع ووضع أى تلمحيات أخرى مفيدة
السلام عليكم ورحمة الله وبركاته
مواقع النشر (المفضلة)