Inittab-Linux / Unix Komanda

inittab - format i skedarit inittab që përdoret nga procesi init i pajtueshëm me sysv

Përshkrim

Skedari inittab përshkruan se cilat procese janë nisur gjatë fillimit dhe gjatë funksionimit normal (p.sh. /etc/init.d/boot, /etc/init.d/rc, gettys ...). Init (8) dallon runlevels të shumta, secila prej të cilave mund të ketë grupin e vet të proceseve që fillojnë. Runlevels të vlefshëm janë 0 - 6 plus A , B dhe C për hyrjet në kërkim . Një hyrje në skedarin inittab ka formatin e mëposhtëm:

id: runlevels: veprim: Procesi

Linjat që fillojnë me `# 'shpërfillen.

id është një sekuencë unike me 1-4 karaktere që identifikon një hyrje në inittab (për versionet e sysvinit të përpiluara me biblioteka <5.2.18 ose biblioteka a.out kufi është 2 karaktere).

Shënim: Për gettys ose proceset e tjera të identifikimit, fusha id duhet të jetë prapashtesa tty e tty përkatëse, p.sh. 1 për tty1 . Përndryshe, llogaria e identifikimit nuk mund të funksionojë siç duhet.

runlevels listat e runlevels për të cilat duhet të merren veprimet e specifikuara.

veprimi përshkruan se cila veprim duhet të merret.

procesi përcakton procesin që duhet ekzekutuar. Nëse fusha e procesit fillon me një karakter '+', init nuk do të bëjë llogari utmp dhe wtmp për atë proces. Kjo është e nevojshme për gettys që insistojnë në bërjen e tyre utmp / wtmp shtëpisë. Ky është gjithashtu një gabim historik.

Fusha e menaxhimit mund të përmbajë karaktere të shumta për runlevel të ndryshme. Për shembull, 123 specifikon që procesi duhet të fillojë në runlevelet 1, 2 dhe 3. Runlevelet për futjet në ondemand mund të përmbajnë një A , B ose C. Fusha runlevels e sysinit , boot , dhe entries bootwait injorohen.

Kur ndryshohet niveli i drejtimit të sistemit, çdo proces drejtimi që nuk është specifikuar për runlevelun e ri vritet, së pari me SIGTERM, pastaj me SIGKILL.

Veprimet e vlefshme për fushën e veprimit janë:

ringjallje

Procesi do të rifillojë sa herë që të përfundojë (p.sh. getty).

pres

Procesi do të fillojë një herë kur të futet runlevel specifikuar dhe init do të presë për përfundimin e tij.

dikur

Procesi do të ekzekutohet një herë kur të futet runlevel specifikuar.

boot

Procesi do të ekzekutohet gjatë boot sistemit. Fusha e menaxhimit nuk injorohet.

bootwait

Procesi do të ekzekutohet gjatë boot sistemit, ndërsa init pret për ndërprerjen e tij (p.sh. / etc / rc). Fusha e menaxhimit nuk injorohet.

nga

Kjo nuk bën asgjë.

OnDemand

Një proces i shënuar me një runlevel ondemand do të ekzekutohet sa herë që kërkohet runlevel e specifikuar ondemand . Sidoqoftë, nuk do të ndodhë asnjë ndryshim në runlevel ( runlevels ondemand janë `a ',` b' dhe `c ').

initdefault

Një hyrje initdefault përcakton runlevelin që duhet të futet pas nisjes së sistemit. Nëse nuk ekziston, init do të kërkojë një runlevel në tastierë. Fusha e procesit injorohet.

sysinit

Procesi do të ekzekutohet gjatë boot sistemit . Ajo do të ekzekutohet para se të regjistrojë ndonjë boot ose bootwait . Fusha e menaxhimit nuk injorohet.

powerwait

Procesi do të ekzekutohet kur fuqia të ulet. Init zakonisht informohet për këtë me një proces duke folur me një UPS të lidhur me kompjuterin. Init do të presë që procesi të mbarojë përpara se të vazhdojë.

powerfail

Sa për pushtetin , përveç se init nuk pret që procesi të përfundojë.

powerokwait

Ky proces do të ekzekutohet sapo të informohet në fillim se fuqia është rivendosur.

powerfailnow

Ky proces do të ekzekutohet kur init është thënë se bateria e UPS-së së jashtme është pothuajse bosh dhe fuqia dështon (me kusht që UPS-i i jashtëm dhe procesi i monitorimit të jenë në gjendje të zbulojnë këtë gjendje).

ctrlaltdel

Procesi do të ekzekutohet kur init merr sinjalin SIGINT. Kjo do të thotë që dikush në tastierë të sistemit ka shtypur kombinimin e butonit CTRL-ALT-DEL . Në mënyrë tipike, dikush dëshiron të ekzekutojë një lloj mbyllje ose të hyjë në nivel të një përdoruesi ose të riniset makinën.

kbrequest

Procesi do të ekzekutohet kur init merr një sinjal nga mbajtësi i tastierës që një kombinim i veçantë çelësi është shtypur në tastierë tastierë.

Dokumentacioni për këtë funksion nuk është ende i plotë; më shumë dokumentacion mund të gjenden në paketat kbd-x.xx (më e fundit ishte kbd-0.94 në kohën e këtij shkrimi). Në parim ju dëshironi të hartoni disa kombinime të tastierës me veprimin "KeyboardSignal". Për shembull, për të hartuar Alt-Uparrow për këtë qëllim, përdorni në dosjen tuaj të skedarëve:

alt keycode 103 = KeyboardSignal

SHEMBUJ

Ky është një shembull i një inittab që i ngjan inittab-it të vjetër të Linux-it:

# inittab për linux id: 1: initdefault: rc :: bootwait: / etc / rc 1: respawn: / etc / getty 9600 tty1 2: 1: respawn: / etc / getty 9600 tty2 3: etj / getty 9600 tty3 4: 1: respawn: / etc / getty 9600 tty4

Ky skedar inittab ekzekuton / etc / rc gjatë boot dhe fillon gettys në tty1-tty4.

Një inittab më i përpunuar me runlevels të ndryshëm (shih komentet brenda):

# Niveli për të kandiduar në id: 2: initdefault: # Fillimi i sistemit para çdo gjëje tjetër. si :: sysinit: /etc/rc.d/bcheckrc # Runlevel 0,6 është ndalur dhe reboot, 1 është modaliteti i mirëmbajtjes. l0: 0: prisni: /etc/rc.d/rc.halt l1: 1: prisni: /etc/rc.d/rc.single l2: 2345: prisni: /etc/rc.d/rc.multi l6: 6: prisni: /etc/rc.d/rc.reboot # Çfarë duhet të bëni në "3 gishtin e përshëndes". ca :: ctrlaltdel: / sbin / shutdown -t5 -rf tani # Runlevel 2 & 3: getty në tastierë, niveli 3 gjithashtu getty në portin modem. 1: 23: respawn: / sbin / getty tty1 VC linux 2: 23: respawn: / sbin / getty tty2 VC linux 3: 23: respawn: / sbin / getty tty3 VC linux 4: 23: respawn: / sbin / getty tty4 VC linux S2: 3: respawn: / sbin / uugetty ttyS2 M19200

Shiko gjithashtu

init (8), telinit ( 8)

E rëndësishme: Përdorni komandën e njeriut ( % man ) për të parë se si përdoret një komandë në kompjuterin tuaj të veçantë.