Príkaz inittab-Linux / Unix

inittab - formát súboru inittab používaného procesom init kompatibilným s sysv

popis

Súbor inittab opisuje, ktoré procesy sa spúšťajú pri štarte a počas bežnej prevádzky (napr. /etc/init.d/boot, /etc/init.d/rc, gettys ...). Init (8) rozlišuje viacero úrovní spustenia , z ktorých každá môže mať vlastnú sadu procesov, ktoré sa začali. Platné úrovne spustenia sú 0 - 6 plus A , B a C pre vstupy na požiadanie . Položka v súbore inittab má nasledujúci formát:

id: runlevels: akcie: Proces

Riadky začínajúce na "#" sú ignorované.

id je jedinečná sekvencia 1-4 znakov, ktorá identifikuje záznam v inittab (pre verzie sysvinitu kompilované s knižnicami <5.2.18 alebo a.out knižnice limit je 2 znaky).

Poznámka: Pre gettys alebo iné prihlasovacie procesy by pole id malo byť príponou tty príslušnej tty, napr. 1 pre tty1 . V opačnom prípade môže prihlasovacie účtovníctvo nefungovať správne.

na úrovni chodu sa uvádzajú úrovne spustenia, pre ktoré by sa mala vykonať špecifikovaná akcia.

akcia, ktorá sa má vykonať.

proces určuje proces, ktorý sa má vykonať. Ak procesné pole začína znakom "+", init nebude robiť utmp a wtmp účtovanie tohto procesu. To je potrebné pre gettys, ktorí trvajú na tom, že robia svoje vlastné utmp / wtmp housekeeping. Toto je aj historická chyba.

Pole runlevels môže obsahovať viac znakov pre rôzne úrovne chodu. Napríklad 123 špecifikuje, že proces by mal byť spustený v úrovniach 1, 2 a 3. Riadiace úrovne pre odbavovacie položky môžu obsahovať A , B alebo C. Polia runlevels položiek sysinit , boot a bootwait sa ignorujú.

Po zmene úrovne spustenia systému sa zablokujú všetky spustené procesy, ktoré nie sú špecifikované pre novú úroveň spustenia, najskôr pomocou SIGTERM a potom SIGKILL.

Platné akcie pre pole akcie sú:

respawn

Proces sa reštartuje vždy, keď skončí (napr. Getty).

počkať

Proces sa spustí raz, keď je zadaná zadaná úroveň spustenia a init bude čakať na jej ukončenie.

akonáhle

Tento proces sa vykoná raz, keď sa zadá zadaná úroveň spustenia.

topánka

Tento proces sa vykoná počas zavádzania systému. Pole runlevels sa ignoruje.

bootwait

Proces sa vykoná počas bootovania systému, zatiaľ čo init čaká na jeho ukončenie (napr. / Etc / rc). Pole runlevels sa ignoruje.

preč

To nič neurobí.

na požiadanie

Proces označený začiatočnou úrovňou behu sa vykoná vždy, keď sa vyvolá špecifikovaná úroveň úlohy . Neexistuje však žiadna zmena úrovne bežnej úrovne (úrovne runndy na úrovni "a", "b" a "c").

initdefault

Položka initdefault určuje úroveň spustenia, ktorá by mala byť zadaná po zavedení systému. Ak neexistuje žiadna, init sa bude opýtať na úroveň spustenia na konzole. Pole procesu sa ignoruje.

sysinit

Tento proces sa vykoná počas zavádzania systému . Spustí sa pred akýmkoľvek spúšťacím alebo bootovacím zápisom. Pole runlevels sa ignoruje.

powerwait

Proces sa vykoná, keď dôjde k poklesu výkonu. Init je zvyčajne o tom informovaný procesom hovoriacim s UPS pripojeným k počítaču. Init bude čakať na dokončenie procesu pred pokračovaním.

POWERFAIL

Pokiaľ ide o powerwait , okrem toho, že init nečaká na dokončenie procesu.

powerokwait

Tento proces sa vykoná ihneď po informovaní o tom, že výkon bol obnovený.

powerfailnow

Tento proces sa vykoná, keď je init povedané, že batéria externého UPS je takmer prázdna a napájanie je nedostatočné (za predpokladu, že externý UPS a monitorovací proces dokážu túto situáciu zistiť).

ctrlaltdel

Tento proces sa vykoná, keď init prijme signál SIGINT. To znamená, že niekto v systémovej konzole stlačil kombináciu klávesov CTRL-ALT-DEL . Zvyčajne chceme vykonať nejaké vypnutie, aby sme sa dostali na úroveň jedného používateľa alebo reštartovali počítač.

kbrequest

Tento proces sa vykoná, keď init prijme signál z obslužného programu klávesnice, že na klávesnici konzoly bola stlačená špeciálna kombinácia klávesov.

Dokumentácia pre túto funkciu ešte nie je dokončená. viac dokumentov možno nájsť v balíkoch kbd-x.xx (posledný bol kbd-0.94 v čase tohto písania). V podstate chcete zmapovať niektoré kombinácie klávesnice na akciu "KeyboardSignal". Napríklad na mapovanie Alt-Uparrow na tento účel použite nasledovné v súbore kľúčových kariet:

alt keycode 103 = KlávesnicaSignal

PRÍKLADY

Toto je príklad inittab, ktorý sa podobá starému inittabu Linuxu:

# inittab pre linux id: 1: initdefault: rc :: bootwait: / etc / rc 1: 1: respawn: / etc / getty 9600 tty1 2: 1: respawn: / etc / getty 9600 tty2 3: 1: respawn: atď / getty 9600 tty3 4: 1: respawn: / etc / getty 9600 tty4

Tento inittab súbor spúšťa / etc / rc počas bootovania a spustí gettys na tty1-tty4.

Podrobnejšia inittab s rôznymi úrovňami spustenia (pozri komentáre vo vnútri):

# Úroveň pre spustenie v id: 2: initdefault: # Inicializácia systému pred akýmkoľvek iným. si :: sysinit: /etc/rc.d/bcheckrc # Runlevel 0,6 sa zastaví a reštartuje, 1 je režim údržby. l0: 0: čakať: /etc/rc.d/rc.halt l1: 1: čakať: /etc/rc.d/rc.single l2: 2345: čakať: /etc/rc.d/rc.multi l6: 6: čakať: /etc/rc.d/rc.reboot # Čo robiť na "3 prst pozdrav". ca :: ctrlaltdel: / sbin / shutdown -t5 -rf teraz # Runlevel 2 & 3: getty na konzole, úroveň 3 aj getty na modemovom portu. 1: 23: respawn: / sbin / getty tty1 VC Linux 2: 23: respawn: / sbin / getty tty2 VC linux 3: 23: respawn: / sbin / getty tty3 VC linux S2: 3: odpoveď: / sbin / uugetty ttyS2 M19200

Pozri tiež

init (8), telinit ( 8)

Dôležité: Pomocou príkazu man ( % man ) môžete zistiť, ako sa príkaz používa vo vašom konkrétnom počítači.