|
امروزه شما قادرید تا براحتی یکی از توزیع های لینوکس را تهیه کرده و آنرا نصب و استفاده نمایید بدون اینکه واقعا نیاز داشته باشید تا بخش های فنی سیستم عامل را درک نمایید. مقاله حاضر نگاهی اجمالی به فرایند راه اندازی سیستم لینوکس شما دارد.
اصطلاح فنی راه اندازی کامپیوتر را فرایند بوت یا Bootstrapping می گویند و یا بطور خلاصه تر بوت (boot یا booting). بخش آغازین این فرایند توسط کدهای ذخیره شده در ROM کامپیوتر انجام می شود. این بخش در همه سیستم عامل ها یکسان می باشد. وظیفه این کد بارگذاری مدیر بوت لینوکس (Linux Boot Loader) برای ادامه فرایند می باشد.
● برنامه های مدیر بوت
برنامه های مدیر بوت برنامه هایی هستند که توسط ROM کامپیوتر (یا همان BIOS) بارگذاری می شوند. در لینوکس دو مدیر بوت رایج وجود دارد. لیلو (LiLO) مدیر بوت سنتی لینوکس و گراب (Grub) مدیر بوتی جدیدتر می باشد.هرکدام از این برنامه ها ابتدا مقداری اطلاعات پیکربندی را دریافت کرده و سپس هسته لینوکس یا سیستم عامل دیگری را بارگذاری می کند و ادامه فرایند بوت را به آن می سپارد. قبلا دو مقاله برای آشنایی بیشتر با نحوه مدیریت و پیکربندی این دو مدیر بوت منتشر کرده ام که می توانید آنها را در بخش مقالات سایت مطالعه نمایید.
مهمترین تفاوت بین لیلو و گراب در نحوه دریافت اطلاعات پیکربندی است. فایل پیکربندی لیلو با اجرای دستور lilo بصورت ثابت ذخیره می گردد. این اطلاعات یا در رکورد بوت اصلی (MBR یا Master Boot Record) دیسک یا در رکورد بوت پارتیشن لینوکس ذخیره می شود. اطلاعات پیکربندی که توسط دستور lilo استفاده می شود، عموما در فایل etc/lilo.conf ذخیره می شود. در زیر یک مثال از این فایل پیکربندی را مشاهده می نمایید.
boot=/dev/hda boot loader to MBR
root=/dev/hda1 root partition
install=/boot/boot.b
map=/boot/map
delay=50 5 second delay before auto-boot
image=/vmlinuz kernel
label=linux name to refer to entry
read-only
image=/vmlinuz.old backup entry
label=old
read-only
در مثال بالا امکان انجام بوت از روی دو هسته مختلف یعنی vmlinuz و vmlinuz.old وجود دارد. هنگام بوت شما می توانید یکی از این هسته ها را انتخاب نمایید. با فشردن کلید TAB در اعلان لیلو، گزینه های موجود لیست می شوند. در صورتی که هسته جدیدی را با ویرایش فایل etc/lilo.conf اضافه کرده اید و یا هر تغییر دیگری در فایل پیکربندی لیلو اعمال کرده اید، باید پس از آن دستور lilo را اجرا نمایید تا این تغییرات اعمال شوند.
گراب فایل پیکربندی را هنگام بوت می خواند. حجم MBR فقط 512 بایت است و تنها بخشی از گراب که عهده دار فرایند های بسیار ابتدایی بوت است در آن ذخیره می شود. بقیه اطلاعات از روی پارتیشنی که اطلاعات بوت گراب در آن ذخیره شده است، بارگذاری می گردد.
گراب توسط برنامه grub-install نصب می شود. فایل پیکربندی گراب به طور معمول در مسیر boot/grub/menu.lst قرار دارد. در زیر یک مثال از این فایل را مشاهده می نمایید:
default 0
timeout 8
gfxmenu (hd0,1)/boot/message
title Linux
kernel (hd0,1)/boot/vmlinuz root=/dev/hda2 desktop showopts
initrd (hd0,1)/boot/initrd
title Failsafe
kernel (hd0,1)/boot/vmlinuz root=/dev/hda2 showopts ide=nodma apm=off acpi=o
ff vga=normal nosmp noapic maxcpus=0 3
initrd (hd0,1)/boot/initrd
title Memory Test
kernel (hd0,1)/boot/memtest.bin
در صورتی که شما کامپیوتر خود را با یک سیستم عامل عامل اختصاصی از ردموند به اشتراک گذاشته اید، حواستان باشد که آنها اعتقاد دارند که سیستم عاملی جز سیستم عامل خودشان وجود ندارد و بنابراین اگر ویندوز را پس از لینوکس نصب کنید، بر روی MBR خواهد نوشت. به همین علت ابتدا ویندوز را نصب نمایید.
● سطوح اجرایی لینوکس
سطوح اجرایی لینوکس به شما آرایه ای از پیکربندی های سیستمی ارایه می کنند. بدون مشخص کردن، معمولا سیستم با سطح اجرایی پیش گزیده که ممکن است 3، 2 یا 5 باشد، بوت می شود. این سطح اجرایی پیش گزیده را می توانید با ورود برخی کلمات کلیدی هنگام بوت تغییر دهید.
به طور استاندارد 7 سطح اجرایی در لینوکس وجود دارد. از 0 تا 7. سطح اجرایی 0 به معنی خاموش کردن سیستم، سطح اجرایی 1 به معنی حالت تک کاربر و سطح اجرایی 6 به معنی بوت مجدد (Reboot) سیستم هستند.
سطوح اجرایی دیگری که رایج هستند عبارتند از سطح اجرایی 3 که یک سیستم چند کاربره بدون محیط گرافیکی است، حالت اجرایی 5 که محیط اجرایی چندکاربره همراه با محیط گرافیکی است. البته در سیستم های مبتنی بر لینوکس دبیان، سطوح اجرایی 3 و 5 با سطح اجرایی 2 جایگزین شده اند. در بسیاری از سیستم ها، یک سطح اجرایی دیگر موسوم به S وجود دارد که مشابه به سطح اجرایی 1 بوده ولی برای ورود به آن نیاز به کلمه عبور ریشه می باشد. این بدلیل مسایل امنیتی است.
محتویات فایل etc/inittab مشخص کننده سطوح اجرایی سیستم شما و سطح اجرایی پیش گزیده می باشد. در زیر مثالی از این فایل را مشاهده می نمایید:
/etc/inittab
This is the main configuration file of /sbin/init, which
is executed by the kernel on startup.
The default runlevel
id:5:initdefault:
/etc/init.d/rc takes care of runlevel handling
runlevel 0 is System halt (Do not use this for initdefault!)
runlevel 1 is Single user mode
runlevel 2 is Local multiuser without remote network (e.g. NFS)
runlevel 3 is Full multiuser with network
runlevel 4 is Not used
runlevel 5 is Full multiuser with network and xdm
runlevel 6 is System reboot
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
l5:5:wait:/etc/init.d/rc 5
l6:6:wait:/etc/init.d/rc 6
what to do in single-user mode
ls:S:wait:/etc/init.d/rc S
~~:S:respawn:/sbin/sulogin
what to do when CTRL-ALT-DEL is pressed
ca::ctrlaltdel:/sbin/shutdown -r -t 4 now
getty-programs for the normal runlevels
The "id" field MUST be the same as the last
characters of the device (after "tty").
1:2345:respawn:/sbin/mingetty --noclear tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
خط id:5:initdefault به معنی این است که سطح اجرایی پیش گزیده کامپیوتر شما سطح اجرایی 5 است. خطوط l1:1:wait:/etc/init.d/rc 1 و به همین ترتیب، باعث می شوند تا اسکریپت etc/init.d/rc سطح اجرایی مربوطه را بصورت یک آرگومان ارسال نماید. سپس این اسکریپت پروسه های خاص سطح اجرایی ارسال شده را آغاز می کند. تمام اسکریپت های کنترل کننده پروسه های مختلف در مسیر etc/init.d/ ذخیره شده اند.
به طور معمول، بطور معمول پروسه هایی که با ورود به یک سطح اجرایی، اجرا یا متوقف خواهند شد در زیر دایرکتوری هایی مانند rc2.d یا rc5.d (همنام با شماره سطح اجرایی مربوطه شان) ذخیره شده اند. این فایل ها لینک های Symbolic به اسکریپت های موجود در etc/init.d/ می باشند. لینک هایی که با K آغاز می شوند، هنگام ورود به سطح اجرایی مربوطه نابود (Kill) خواهند شد. لینک هایی که با S شروع می شوند، هنگام ورود به آن سطح اجرایی شروع (Start) خواهند شد. این لینک ها بصورت الفبایی اجرا می شوند، به این معنی که ابتدا لینک های K آغاز شده و سپس لینک های S. ترتیب اجرای لینک های K و S با عددی دو رقمی که بلافاصله پس از حروف S یا K قرار می گیرد، تعیین می شود.
این روش، روش استاندارد برای اجرای پروسه ها در آغاز فرایند بوت می باشد. این سیستم استاندارد به System V Init موسوم می باشد که مشابه با سیستم عامل یونیکس است.
در صورتی که همه چیز به خوبی پیش رفته باشد، سیستم شما هم اکنون در حال اجرا بر روی سطح اجرایی انتخاب شده است. برای تغییر سطح اجرایی می توانید بصورت کاربر ریشه وارد شده و دستور init را در خط فرمان تایپ نمایید. برای مثال init 3.
technotux
|