Aleks
Gaining Experience
- 18 мај 2007
- 5.748
- 289
Објаснување на boot процесот на линукс.
Прво треба да се објасне што значи тоа boot процес, што е тоа уствари?
Кога го уклучувате вашиот компјутер, прво се прочитаат податоците што ги содрже биосот (подесувања на хард дискови итн), а потоа boot loader-от го лоадира или стартува оперативниот систем.
Објаснување на boot процесот кај оперативниот систел ГНУ/Линукс:
Откако биосот кје си го сврше своето и го најде хард дискот кој е наместен како прв бутабилен поцхнува да го чита MBR-то од хард дискот. MBR или Master Boot Record е делот од хард дискот каде што се наоѓа boot лоадерот или податоците (просто кажано програма) кои се одговорни за вклучувањето на оперативниот систем. Во нашиот случај, кај Линуксот постојат 2 попознати boot loader-и и тоа: GRUB I LILO. Овие два loader-и лоадираат 2 важни фајлови во RAM-от и тоа:
Vmlinuz – Компресирана слика од кернелот (срцето на ГНУ/Линукс), кој е одговорен за контролирање на меморијата за процесите или просто речено, кернелот претставува врската помеѓу хардверсиот и софтверскиот дел на еден компјутер.
Initrd – Ова претставува фаjл кој се лоадира пред кернелот и служи за правење на специјален RAM диск во кој се става кернелот и кој понатаму ги монтира вистинските партиции (initrd е најдобрата работа кај линуксот поради тоа што овозможува изработка на Live дистрибуции за кои не им е потребно хард диск).
Откако кернелот си ја сврсши првичната работа (монтиранје на хард дискови и подготовката на хардверскиот дел) кје го најде фајлот inittab кој ги има сите конфигурирации за стартување на процесот init кој е одговорен за сите процеси во Линуксот и нацхинот на кој се однесува Линуксот (одовде почнува да се покажува флексибилноста на Линуксот). Init може да се вклуче во еден од шесте модови или нивоа. Еве го нивното објаснување:
Ниво Локација на скриптите за ауто старт Значење
0 /etc/rc0.d/ Исклучување на сите процеси и гасење на компјутерот
1 /etc/rc1.d/ Мод за работа само со еден усер (Singleuser)
2 /etc/rc2.d/ Multiuser ама без некои network додатни процеси
3 /etc/rc3.d/ Нормален старт – CLI и комплетен Multiuser
4 /etc/rc4.d/ Нема, или секоја дистрибуција си има одредено посебно
5 /etc/rc5.d/ Комплентен multiuser ама со X server и десктоп средина (GUI)
6 /etc/rc6.d/ Рестарт
Мора да напоменам дека освен овие 7 модови некои дистрибуции можат да имаат и додатни модови (како на пример Slackware има мод ‘S’ / и служе за одржуванје – Singleuser)
Кога ќе се вклуче init тој прво ги изврсхува скриптите кои се наоѓаат во /etc/rc.S/S##script и продолжува да се уклуче во еден од горенаведените модови. Значи во /etc/rcS.d/ ќе се извршат скриптите пред влугување во Runlevel.
Што се наоѓа во овие /etc/rcX.d/?
Епа тука се наоѓаат линкови до скрипти и нивните информации (Дали да се уклучат или исклчат) како и редниот број по кој таа скрипта ќе стартува. Еве еден пример т.е. листање на фајловите во една ваква директорија:
S20ssh -< ../init.d/ssh
S210ppp -< ../init.d/ppp
Етц.. Сега да разгледаме еден од овие линкови. Еве на пример S20ssh.
Првата буква, S, ни ознацхува дека овој процес (честопати е скрипта) треба да се вклучи, ама некогаш оде може и да стои и ‘K’ која означува KILL и служи за исклучување на процес/скрипта
Втората т.е. бројката ни го кажува редот по кој програмата кје се активира
И третото е името (може да се крсте како и да било).
Овде најважното е да се напомене дека во овие /etc/rcX.d/ се наоѓаат само линкови од фајловите што се наоѓаат во /etc/init.d(Debian, Slackware) и /etc/rc.d/init.d/(Red Hat , Fedora), поради полесната нивна манипулација и сигурноста во тоа да не се наштете на оргиналниот фајл.
Откако ќе се прочита иниттаб, и ќе се извршат сите стартуп скрипта, зависно од тоа кој мод е наведено Linuxот да работи, компјутерот е спремен за работа.
Мора да напоменам дека локацијата на на скриптите може да варира од дистрибуција на друга, ама концептот на boot-ирање е прилично овој.
Поздрав, очекувам коментари.
Прво треба да се објасне што значи тоа boot процес, што е тоа уствари?
Кога го уклучувате вашиот компјутер, прво се прочитаат податоците што ги содрже биосот (подесувања на хард дискови итн), а потоа boot loader-от го лоадира или стартува оперативниот систем.
Објаснување на boot процесот кај оперативниот систел ГНУ/Линукс:
Откако биосот кје си го сврше своето и го најде хард дискот кој е наместен како прв бутабилен поцхнува да го чита MBR-то од хард дискот. MBR или Master Boot Record е делот од хард дискот каде што се наоѓа boot лоадерот или податоците (просто кажано програма) кои се одговорни за вклучувањето на оперативниот систем. Во нашиот случај, кај Линуксот постојат 2 попознати boot loader-и и тоа: GRUB I LILO. Овие два loader-и лоадираат 2 важни фајлови во RAM-от и тоа:
Vmlinuz – Компресирана слика од кернелот (срцето на ГНУ/Линукс), кој е одговорен за контролирање на меморијата за процесите или просто речено, кернелот претставува врската помеѓу хардверсиот и софтверскиот дел на еден компјутер.
Initrd – Ова претставува фаjл кој се лоадира пред кернелот и служи за правење на специјален RAM диск во кој се става кернелот и кој понатаму ги монтира вистинските партиции (initrd е најдобрата работа кај линуксот поради тоа што овозможува изработка на Live дистрибуции за кои не им е потребно хард диск).
Откако кернелот си ја сврсши првичната работа (монтиранје на хард дискови и подготовката на хардверскиот дел) кје го најде фајлот inittab кој ги има сите конфигурирации за стартување на процесот init кој е одговорен за сите процеси во Линуксот и нацхинот на кој се однесува Линуксот (одовде почнува да се покажува флексибилноста на Линуксот). Init може да се вклуче во еден од шесте модови или нивоа. Еве го нивното објаснување:
Ниво Локација на скриптите за ауто старт Значење
0 /etc/rc0.d/ Исклучување на сите процеси и гасење на компјутерот
1 /etc/rc1.d/ Мод за работа само со еден усер (Singleuser)
2 /etc/rc2.d/ Multiuser ама без некои network додатни процеси
3 /etc/rc3.d/ Нормален старт – CLI и комплетен Multiuser
4 /etc/rc4.d/ Нема, или секоја дистрибуција си има одредено посебно
5 /etc/rc5.d/ Комплентен multiuser ама со X server и десктоп средина (GUI)
6 /etc/rc6.d/ Рестарт
Мора да напоменам дека освен овие 7 модови некои дистрибуции можат да имаат и додатни модови (како на пример Slackware има мод ‘S’ / и служе за одржуванје – Singleuser)
Кога ќе се вклуче init тој прво ги изврсхува скриптите кои се наоѓаат во /etc/rc.S/S##script и продолжува да се уклуче во еден од горенаведените модови. Значи во /etc/rcS.d/ ќе се извршат скриптите пред влугување во Runlevel.
Што се наоѓа во овие /etc/rcX.d/?
Епа тука се наоѓаат линкови до скрипти и нивните информации (Дали да се уклучат или исклчат) како и редниот број по кој таа скрипта ќе стартува. Еве еден пример т.е. листање на фајловите во една ваква директорија:
S20ssh -< ../init.d/ssh
S210ppp -< ../init.d/ppp
Етц.. Сега да разгледаме еден од овие линкови. Еве на пример S20ssh.
Првата буква, S, ни ознацхува дека овој процес (честопати е скрипта) треба да се вклучи, ама некогаш оде може и да стои и ‘K’ која означува KILL и служи за исклучување на процес/скрипта
Втората т.е. бројката ни го кажува редот по кој програмата кје се активира
И третото е името (може да се крсте како и да било).
Овде најважното е да се напомене дека во овие /etc/rcX.d/ се наоѓаат само линкови од фајловите што се наоѓаат во /etc/init.d(Debian, Slackware) и /etc/rc.d/init.d/(Red Hat , Fedora), поради полесната нивна манипулација и сигурноста во тоа да не се наштете на оргиналниот фајл.
Откако ќе се прочита иниттаб, и ќе се извршат сите стартуп скрипта, зависно од тоа кој мод е наведено Linuxот да работи, компјутерот е спремен за работа.
Мора да напоменам дека локацијата на на скриптите може да варира од дистрибуција на друга, ама концептот на boot-ирање е прилично овој.
Поздрав, очекувам коментари.