بررسی Runlevel ها در لینوکس
بررسی Runlevel ها در لینوکس
می خواهیم ببینیم وقتی لینوکس را روشن می کنیم در چه شرایطی قرار می گیرد.
سیستم عامل لینوکس در روش System V به محض بالا آمدن در یکی از حالات زیر قرار دارد:
نکته:
Runlevel4 روی PC های Intel معنای خاصی ندارد، ولی روی Mainframe ها و Solaris و… وجود دارد.
پس بهتر است برنامه ها جهت Cross-Platform بودن روی Run level 4 نباشند، تا در صورت استفاده از همان تنظیمات در سیستم های دیگر مشکلی پیش نیاید.
یکی از راههای خاموش کردن سیستم نوشتن فرمان init0 است که در آن سیستم به Runlevel صفر که همان Shut Down است می رود.
برای Restart هم می توانید از فرمان زیر استفاده کنید:
init 6 #
یادآوری: علامت # که در خط بالا آمده است به معنای سطح دسترسی Root است.
نوع دیگری از init وجود دارد که telinit است.
telinit نیز همانند init می تواند با گرفتن عددی Runlevel را تغییر دهد.
البته telinit می تواند با گرفتن q و Q به عنوان آرگومان، فایل etc/inittab/ را دوباره بخواند و تغییرات اعمال شده در آن را دوباره اعمال کند.
بنابراین اگر در فایل etc/inittab/ تغییری ایجاد کرده اید یکی از راه های اعمال آن زدن فرمان زیر است:
telinit q #
البته راه دیگر Restart کردن سیستم است که توصیه نمی شود
و یکی از راه های دیگر هم زدن فرمان زیر است:
kill -1 1 #
یادتان باشد در Runlevel یک که Single User Mode است فقط و فقط Admin می تواند با کنسول کار کند.
Runlevel 2 علاوه بر Runlevel 1، امکان استفاده از Network را هم فراهم می آورد و می توانیم کاربران دیگری هم داشته باشیم.
برای اینکه بفهمیم در چه Run level هستیم این فرمان را می زنیم:
runlevel #
فرمان دیگری که در این خصوص وجود دارد، فرمان رو برو می باشد:
who -r #
فرمان دیگری در این خصوص:
ps -aef | less #
نکته:
در هر محیطی و یا در هر Runlevel می توانیم محیط گرافیکال داشته باشیم
که یک فرمان داریم به نام Startx که ما در Runlevel 1 می زنیم Startx که محیط گرافیکال هم داشته باشیم،
بنابراین کار کردن در خط فرمان و نداشتن محیط گرافیکی به معنای کار گردن در Runlevel خاصی نیست.
وقتی فایل رو به رو را باز کنیم اولین خطی که Comment# نیست، شماره Runlevel می باشد در اصل این Runlevel پیش فرض سیستم است
less /etc/inittab $
اگر ما 015 بگذاریم یعنی Runlevel که می خواهیم برویم 5 است
اگر 013 بگذاریم یعنی Runlevel 3
اگر در فایل بالا Runlevel پیش فرض سیستم را بر روی 6 تنظیم کنیم سیستم مدام Restart می شود.
تنها فقط زمانی که بخواهیم یک کامپیوتر را Test کنیم، چنین کاری انجام می دهم
اگر فرمان init را به همراه یکی از شماره های Runlevel ها بزنيم آن Runlevel اجرا می شود.
به طور مثال:
man init $
init 0 $
init 3 $
سؤال: کاربرد و تفاوت Runlevel دو و سه چیست؟
می دانیم که Runlevel۲ و ۳ هر دو شبکه را فراهم می کنند ولی ۲ زمانی است که یک لینوکس داریم و مثلاً دو نفر کار می کنند.
ولی در ۳ نرم افزارهای (NFS(Network File System بالا می آیند.
مثلاً دو لینوکس در دو اتاق به هم شبکه می شوند. البته این تنظیمات قابل تغییر است.
در نسخه لینوکس ما در فایل inittab ،Runlevel پیش فرض 5 می باشد ولی در سیستم Debian، Runlevel پیشفرض دو است.
حال به بررسی دقیق خط مربوط به Runlevel در فایل inittab می پردازیم:
:id: 5: initdefault
:identifier) id) این فیلد شناسه نام دارد و حداکثر ۴ حرف می باشد.
:5 فیلد دوّم Runlevel است.
init یک فایلی دارد که می داند در چه Runlevel است.
وقتی بررسی init انجام می شود این خط را می خواند و می فهمد در چه Runlevel ای باید باشد
و می فهمد چه نرم افزاری را و با چه Runlevel ی در حافظه بیاورد،
اسم نرم افزار ها مثلا Test است و می خواهیم همواره در هر Runlevel که بودیم یک نسخه از آن در حافظه باشد.
اگر خط مربوط به اجرای یک برنامه در فرمت inittab در قسمت Runlevel چیزی نبود و خالی بود یعنی در تمام Runlevel ها اجرا شود.
id:: Action: Process
جهت شرکت در دوره های لینوکس و یونیکس بر روی این لینک کلیک نمایید
جدیدترین اخبار مجموعه فراز نتورک را در این صفحه اجتماعی دنبال کنید.
بررسی Runlevel ها در لینوکس – نویسنده: موسی رشوند
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.