یک برنامه نویس نوجوان ، با روحیه و متکی به اتمام پروژه به بهترین نحو . همچنین بسیار کنجکاو و علاقه مند به حل خطاها و بررسی انها و نوشتن مقاله درباره مشکلاتی که بهش بر میخورد
تغییر RunLevel در سیستم های Init لینوکسی
ران لول چیه ؟؟
ران لول ها در لینوکس در واقع سطح اجراهایی هستن که کاربر بسته به نیاز خودش میتونه از اونا استفاده کنه
پیشنهاد میکنیم قبل از شروع کار ی نگا به این مقاله بندازید
چی چیز هایی رو میخوای بهمون بگی ؟؟
قرار بهتون بگیم که چطوری :
- به صورت پیشفرض ران لول خودتون رو در init تنظیم کنید (در حال ساخت مقاله )
- ران لول خودتون رو در init به صورت زنده عوض کنید
تغییر ران لول در سیستم های Init
تنظیم ران لول در سیستم های init به سه صورت انجام میشه :
- تنظیم ران لول از طریق ترمینال
- تغییر ران لول قبل از بالا اومدن کرنل
- تغییر ران لول از فایل etc/inittab/
1: تنظیم ران لول به از طریق ترمینال :
برای اینکه ببینید تو چه ران لولی هستید میتونید از دستور زیر استفاده کنید
runlevel
برای من اینو نشون داد
حرف N به معنای بوت سیستم هست و عدد ۵ ران لولی هست گه داخلش قرار دارم
اگه نمیدونید این اعداد چه مفهومی دارن این مقاله رو بخونید
حالا من تصمیم دارم برم توی ران لول ۳ (چند کاربره با نتورک ) برای تغییر ران لول کافیه این دستور رو بزنید
telinit 3
نکته : این روش تو سیستم های systemd قابل اجرا هست ولی پیشنهاد نمیشه
حالا اگه دوباره دستور runlevel رو بزنید خروجی به این صورت میشه :
همینطور که میبینید صفحه ی سیستم سیاه شده چون من وارد ران لول ۳ (چند کاربره با نتورک ) شدم
حالا برای برگشتن به ران لول ۵ (محیط گرافیکی با نتورک و چند کاربره) دوباره دستور telinit رو میزنم
telinit 5
۲: تنظیم ران لول قبل از بالا اومدن کرنل
توی این روش لازم هست که منوی بوت لودر خودتون که معمولا grub هست را فعال کنیم تا در زمان ریستارت و روشن شدن سیستم منو برای شما نمایش داده بشه اگه بلد نیستید که چطوری منوی بوت لودر سیستم خودتون رو نمایش بدید این مقاله به شما کمک میکنه
نکته : پیشنهاد میکنیم برای بالا رفتن امنیت سیستم از ماشین مجازی مثل ویرچوال باکس برای اینکار استفاده کنید
خب زمامی که سیستم رو ریستارت کردید با همچین صحنه ای رو به رو میشید :
سیستم عامل من اوبونتو هست و به صورت پیشفرض توزیع سیستم عالم روی اوبونتو تنظیم شده .
خب بگذریم !
الان با زدن کلید E وارد هیچین صفحه ای میشیم :
در اینجا تنظیمات سیستمون هست که قبل از رسیدن به کرنل و اجرای کاملش میتونیم بررسی کنیم
ما با این قسمت کار داریم :
در قسمتی که من با فلش در تصویر مشخص کرده ام میبینید که عدد ۳ نوشته شده است درواقع خطی که مشاهده میکنید مربوط به چگونه بالا اومدن سیستم عامل شماست که من با وارد کردن عدد ۳ در انتهای خط گفتم که میخوام سیستمم با ران لول 3 (چند کاربره با نتورک ) بالا بیاد
نکته : این روش همیشگی نیست و بعد ی خاموش روشن کردن سیستم تنظیمات بوت لودر از بین میرود
خب الان که کارمون تموم شده میتونم طبق دستور عمل با زدن کلید Ctrl + x سیستم رو اجرا کنم
تغییر ران لول از فایل etc/inittab/
خب الان رسیدیم به روش اخر :)))) ی نفس عمیق بکشید
خوب حالا بریم ادامه ....
نکته : این روش به صورت default و پیشفرض هست یعنی زمانی که سیستم رو روش میکنید به صورت پیشفرض ران لولتون چیزی میشه که اینجا تنظیم کرده اید :)
با ی ویرایشگر فایل زیر رو باز کنید (ویرایشگر من nano هست )
sudo /etc/inittab
نکته : این فایل در سیستم های جدید وجود نداره چون به جای init از systemd یا upstart استفاده میکنن
خب اگه فایل رو باز کنید با همچین چیزی رو به رو میشید
این سورس ها رو نگا کنید :
l0:0:wait:/etc/init.d/rc 0
l1:1:wait:/etc/init.d/rc 1
l2:2:wait:/etc/init.d/rc 2
l3:3:wait:/etc/init.d/rc 3
#l4:4:wait:/etc/init.d/rc 4
l5:5:wait:/etc/init.d/rc 5
l6:6:wait:/etc/init.d/rc 6
در واقع به این صورت میشه :
id:runlevel:action:process
- id : ی مقدار هست و میتونه هر عددی جاش باشه
- runlevel : ران لولی که میخوایم رو اجرا میکنیم
- action : کارمون رو به صورتی که تعریف کردیم انجام میده به عنوان مثال میگیم که فقط یکبار انجامش بده
- process : پروسه ای رو که میخوایم اجرا میکنه به عنوان مثال میگیم که فایل etc/init/rc6 رو اجرا کنه
خب سرتون رو درد نیارم فقط اینکه برای دیدن اینکه موقع اجرای ران لول چه اتفاقاتی میفته وارد ادرس زیر بشید :
cd /etc/init.d
از فایل هایی که با rc تو حروفشون هست ی لیست میگیریم :
ls rc*
لیستتون شبیه به این میشه :
rc6.d
rc5.d
rc4.d
rc3.d
rc2.d
rc1.d
هر کدوم از این اعداد به ران لول خودشون برمیگردن به عنوان مثال rc2.d برای ران لول 2 (چند کاربره بدون نتورک) هست
حالا اگه فولدر rc2.d رو باز کنیم همچین چیزی رو میبینید :
- اگه اول فایل ها کلمه S باشه یعنی ماژور مورد نظر Start میشه
- اگه اول فایل ها کلمه K باشه یعنی ماژول مورد نظر Kill یا خاموش میشه
تمام :)
منبع : از دروس LIPC استاد میرمیرایی (جادی)
مطلبی دیگر از این انتشارات
تغییر target فایل های .desktop در لینوکس/اوبونتو
مطلبی دیگر از این انتشارات
فعال کردن منوی بوت لودر GRUB
مطلبی دیگر از این انتشارات
سطح اجرا یا (Runlevel) در لینوکس چیست؟