Mmene Mungagwiritsire Ntchito Lamulo la Init ku Linux

Init ndi kholo la njira zonse. Cholinga chake chachikulu ndi kulenga njira kuchokera ku script yosungidwa / etc / inittab (onani inittab (5)). Fayiloyi nthawi zambiri imakhala ndi zolembera zomwe zimachititsa kuti init iwononge ma bety pamzere uliwonse omwe ogwiritsa ntchito angalowemo. Imawongolanso njira zodzilamulira zomwe zimafunika ndi dongosolo lina lililonse.

Mitundu yothamanga

A runlevel ndi osintha mapulogalamu a dongosolo lomwe limalola gulu lokha lazinthu kukhalapo. Zomwe zimayambira ndi init kwa imodzi mwa izi zothamanga zimatchulidwa mu / etc / inittab fayilo. Init ikhoza kukhala imodzi mwa masewera asanu ndi atatu: 0-6 ndi S kapena s . Kuthamanga kumasinthidwa pokhala ndi wogwiritsira ntchito wothamanga telinit , yomwe imatumiza zizindikiro zoyenera kwa init , kuwuza zomwe runlevel zimasintha.

Mapulogalamu 0 , 1 , ndi 6 akusungidwa. Runlevel 0 imagwiritsidwa ntchito kuletsa dongosololo, runlevel 6 imagwiritsidwa ntchito kubwezeretsanso dongosolo, ndipo runlevel 1 imagwiritsidwa ntchito kuti pulogalamuyo ikhale yosasintha. Runlevel S sikutanthauza kuti ikhale yogwiritsidwa ntchito mwachindunji, koma zambiri za malemba omwe akuchitidwa pamene alowa mu runlevel 1. Kuti mudziwe zambiri pazomweyi, onaninso malemba kuti asatseke (8) ndi inittab (5).

Mipikisano 7-9 ndi yovomerezeka, ngakhale kuti siinalembedwe kwenikweni. Izi ndichifukwa chakuti mitundu ya Unix "yachikhalidwe" samaigwiritsa ntchito. Ngati mukufuna kudziwa, maseĊµera a S ndi s ali ofanana. Pakati pawo iwo ali mgwirizano wa zofanana.

Kuwombera

Pambuyo pa init ikuyitanitsidwa ngati sitepe yotsiriza ya kernel boot motsatizana, ikuyang'ana fayilo / etc / inittab kuona ngati pali kulowa kwa mtundu initdefault (onani inittab (5)). Kulowera kosavomerezeka kumayambitsa njira yoyamba yothamanga. Ngati palibe zolembera (kapena ayi / etc / inittab nkomwe), runlevel iyenera kulowa mkati pulogalamu yowonongeka.

Runlevel S kapena s imabweretsa dongosololo kuti lisagwiritsidwe ntchito ndi osasintha ndipo safuna fayilo / etc / inittab . Mu njira imodzi yokha yogwiritsira ntchito, mizu ya chipolopolo imatsegulidwa pa / dev / console .

Pogwiritsa ntchito njira imodzi yogwiritsira ntchito, init imawerenga a console ioctl (2) imachokera ku /etc/ioctl.save . Ngati fayilo ilipo, init ayambitsa mzere pa 9600 baud ndi ma CLOCAL . Pamene masamba a init amatha kugwiritsa ntchito osasintha, amasungira makonzedwe a ioctl mu fayilo kotero kuti akhoza kuwagwiritsanso ntchito potsatira gawo limodzi.

Mukalowetsamo makina opanga mauthenga ambiri, init amapanga boot ndi bootwait zolembera kuti kulola mafayilo apakidwe pamaso abasebenzisi angalowemo. Kenako zolemba zonse zofanana ndi runlevel amasinthidwa.

Poyambitsa njira yatsopano, init yoyamba ngati fayilo / etc / initscript ilipo. Ngati izo zikugwiritsidwa ntchito, zimagwiritsa ntchito scriptyi kuyambitsa ndondomekoyi.

Nthawi iliyonse mwana akamatha, init zolemba ndi chifukwa chake anafera / var / run / utmp ndi / var / log / wtmp , pokhapokha mafayilowa alipo.

Kusintha kwa Runlevels

Pambuyo poyambitsa ndondomeko yonseyi, init akudikirira njira imodzi ya mbeu yake kuti ife, chizindikiro cha powerfail, kapena kufikira chizindikiro cha telinit kuti isinthe dongosolo la runlevel. Pamene chimodzi mwa zinthu zitatuzi zili pamwambazi, zimayambanso kufufuza fayilo / etc / inittab . Zolemba zatsopano zikhoza kuwonjezedwa pa fayilo nthawi iliyonse. Komabe, init akudikira kuti chimodzi mwa zinthu zitatuzi zichitike. Kuti mupereke yankho la panthawi yomweyo, telinit Q kapena Q ikhoza kuyimitsa init kuti awerenge kachiwiri / etc / inittab fayilo.

Ngati init sichigwiritsa ntchito njira imodzi yogwiritsira ntchito ndipo imalandira chizindikiro cha powerfail (SIGPWR), imawerenga fayilo / etc / powerstatus . Icho chimayambira lamulo kuchokera pa zomwe zili mu fayilo iyi:

F (AIL)

Mphamvu ikulephera, UPS ikupereka mphamvu. Ikani zotsatira za powerwait ndi mphamvu .

CHABWINO)

Mphamvu yatsitsimutsidwa, ikani zolembera zamagetsi .

L (OW)

Mphamvu ikulephera ndipo UPS ili ndi batsi otsika. Ikani zotsatira za powerfailnow .

Ngati / etc / powerstatus palibe kapena muli ndi china chilichonse ndiye makalata F , O kapena L , init adzakhala ngati adawerenga kalata F.

Kugwiritsiridwa ntchito kwa SIGPWR ndi / etc / powerstatus kwatayika . Wina amene akufuna kuyanjana ndi init ayenera kugwiritsa ntchito njira / control / initctl yoyendetsa - awone kachidindo ka chitsimikizo cha sysvinit papepala zambiri zokhudzana ndi izi.

Pamene init akupempha kusintha kusintha, imatumiza chizindikiro chochenjeza SITTERM kuzinthu zonse zomwe sizikudziwika mu latsopano runlevel. Imadikirira masekondi asanu asanayambe kugwira ntchitoyi kudzera mu chizindikiro cha SIGKILL . Tawonani kuti init imaganiza kuti zonsezi (ndi mbadwa zawo) zimakhalabe momwemo gulu lomwe poyamba linalengedwa kwa iwo. Ngati ndondomeko iliyonse ikasintha kayendedwe ka gulu lawo silingalandire zizindikiro izi. Njira zoterozo ziyenera kuthetsedwa payekha.

Telinit

/ sbin / telinit imagwirizanitsidwa ndi / sbin / init . Zimatengera mkangano umodzi ndi zizindikiro za init kuti achite zoyenera. Zotsatira zotsatirazi zimakhala monga malangizo kwa telinit :

0 , 1 , 2 , 3 , 4 , 5 kapena 6

onitani init kuti musinthe pazomwe munathamanga.

a , b , c

oniteni init kuti muzitha kugwiritsa ntchito mafayilo awo / etc / inittab ali ndi runlevel a , b kapena c .

Q kapena q

nenani init kuti muwerenge kachiwiri / etc / inittab fayilo.

S kapena s

onitani init kuti musinthe njira imodzi yokha yogwiritsa ntchito.

U kapena u

uzani init kuti adzipangitsenso (kuteteza dziko). Palibe kachiwiri kufufuza / etc / inittab mafayilo akuchitika. Kuthamanga msinkhu uyenera kukhala umodzi wa Ss12345 , pempho lina likanakhala losasamala .

telinit angathenso kudziwa init kuti ayenera kuyembekezera nthawi yotani pakati potumiza njira SIGTERM ndi SIGKILL chizindikiro. Zosasintha ndi masekondi asanu, koma izi zingasinthidwe ndi -seri njira.

teliniti ikhoza kuyankhidwa okha ndi ogwiritsa ntchito mwayi woyenera.

Zowonongeka za init ngati ndi init kapena telinit pakuyang'ana pa ndondomeko yake id ; chidziwitso chenicheni cha init nthawi zonse 1 . Kuyambira izi zikutsatiranso kuti mmalo moitana teleiniti mmodzi akhoza kugwiritsa ntchito init m'malo mwa njira yochepa.