محمد نصیری
بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

آموزش تغییر runlevel پیشفرض CentOS و RedHat نسخه 7 و بالاتر

در سیستم عامل های خانواده RedHat برای اینکه runlevel ها را تغییر بدهیم مجبور به استفاده از فایل inittab بودیم و با باز کردن این فایل می توانستیم براحتی runlevel را تغییر بدهیم ، با معرفی شدن RedHat نسخه 7 یک تغییر اساسی در این خانواده به وجود آمد و inittab دیگر توسط systemd مورد استفاده قرار نگرفت ، برای تغییر دادن runlevel ها ما از مکانیزم جدیدی به نام targets استفاده می کنیم ، در این نکته آموزشی در ITPRO ما می خواهیم runlevel خودمان را که بصورت پیشفرض 5 است را به 3 تغییر بدهیم یا به زبان ساده تر می خواهیم از محیط گرافیکی به محیط text mode سویچ کنیم ، تعیی کردن default runlevel از روشهای مختلفی امکانپذیر است اما ما در اینجا از دستور systemctl برای اینکار استفاده می کنیم ، خوب در ابتدای کار با استفاده از دستور زیر runlevel فعلی سیستم را مشاهده می کنیم :

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران
[root@itpro-centos]# systemctl get-default
runlevel5.target

قبل از اینکه بخواهیم runlevel را تغییر بدهیم بهتر است که target های موجود را مشاهده کنیم برای اینکار دستور زیر را وار می کنیم :

# systemctl list-units --type=target

خروجی دستور بالا به شکل زیر خواهد بود :

UNIT                LOAD   ACTIVE SUB    DESCRIPTION
basic.target        loaded active active Basic System
cryptsetup.target   loaded active active Encrypted Volumes
getty.target        loaded active active Login Prompts
graphical.target    loaded active active Graphical Interface
local-fs-pre.target loaded active active Local File Systems (Pre)
local-fs.target     loaded active active Local File Systems
multi-user.target   loaded active active Multi-User System
network.target      loaded active active Network
nfs.target          loaded active active Network File System Server
paths.target        loaded active active Paths
remote-fs.target    loaded active active Remote File Systems
slices.target       loaded active active Slices
sockets.target      loaded active active Sockets
swap.target         loaded active active Swap
sysinit.target      loaded active active System Initialization
timers.target       loaded active active Timers
 
LOAD   = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB    = The low-level unit activation state, values depend on unit type.

از خروجی هایی که در دستور بالا نمایش داده شدن runlevel 3 معادل با multi-user.target می باشد و ما با استفاده از دستور زیر می توانیم مقدار default را تغییر بدهیم :

# systemctl set-default multi-user.target

با دستور زیر مطمئن می شویم که runlevel پیشفرض تغییر کرده است :

# systemctl get-default
multi-user.target

دستور reboot را به شکل زیر می زنیم و سیستم دیگر با محیط گرافیکی boot نخواهد شد :

# reboot

ITPRO باشید

نویسنده : محمد نصیری

منبع : ITPRO

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد


محمد نصیری
محمد نصیری

بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

محمد نصیری هستم ، هکر قانونمند و کارشناس امنیت سایبری ، سابقه همکاری با بیش از 50 سازمان دولتی ، خصوصی ، نظامی و انتظامی در قالب مشاور ، مدرس و مدیر پروژه ، مدرس دوره های تخصص شبکه ، امنیت ، هک و نفوذ ، در حال حاضر در ایران دیگه رسما فعالیتی غیر از مشاوره انجام نمیدم و مقیم کشور ترکیه هستم ، عاشق آموزش و تدریس هستم و به همین دلیل دوره های آموزشی که ضبط می کنم در دنیا بی نظیر هستند.

نظرات