Skip to content

inittab – příkaz Linux / Unix

20 de Červenec de 2021
developers team in their office 604865576 57ec164a5f9b586c35947008

The inittab soubor popisuje, které procesy jsou spuštěny při bootování a během normálního provozu. Init odlišuje různé úrovně běhu, z nichž každý může mít vlastní sadu spuštěných procesů. Platné úrovně běhu jsou 06 Plus A, B, a C pro položky na vyžádání. Záznam v inittab soubor má následující formát: id: runlevels: action: process

Řádky začínající znakem # jsou ignorovány. V souboru id je jedinečná sekvence 1-4 znaků, která identifikuje záznam v inittab.

Pro gettys nebo jiné procesy přihlášení se id pole by mělo být příponou tty odpovídajícího tty, např 1 pro tty1. Jinak nemusí přihlašovací účetnictví fungovat správně.

Úrovně běhu, akce a procesy

Soubor iniitab obsahuje informace včetně:

  • úrovně běhu seznam úrovní běhu, pro které by měla být provedena zadaná akce.
  • akce popisuje, která opatření by měla být přijata.
  • proces určuje proces, který má být proveden. Pokud pole procesu začíná znakem `+, inic nebude za tento proces účtovat utmp a wtmp. To je nutné pro getty, kteří trvají na tom, aby si vedli vlastní úklid / wtmp úklid. Toto je také historická chyba.

The úrovně běhu pole může obsahovat více znaků pro různé úrovně běhu. Například, 123 specifikuje, že proces by měl být spuštěn na úrovních 1, 2 a 3. The úrovně běhu pro na požádání položky mohou obsahovat A, Bnebo C. The úrovně běhu pole sysinit, boot, a bootwait položky jsou ignorovány. Když se změní úroveň běhu systému, všechny spuštěné procesy, které nejsou zadány pro novou úroveň běhu, jsou zabity, nejprve pomocí SIGTERM, poté pomocí SIGKILL.

Akční standardy

Platné akce pro akce pole jsou:

  • respawn: Proces bude restartován, kdykoli bude ukončen (např. Getty).
  • Počkejte: Proces se spustí jednou, když zadáte zadanou úroveň běhu a inic počká na jeho ukončení.
  • jednou: Proces bude proveden jednou při zadání zadané úrovně běhu.
  • boot: Proces bude spuštěn během bootování systému. The úrovně běhu pole je ignorováno.
  • bootwait: Proces bude spuštěn během bootování systému, zatímco inic čeká na jeho ukončení (např. / etc / rc). The úrovně běhu pole je ignorováno.
  • na požádání: Proces označený na požádání runlevel bude proveden vždy, když je zadánna požádání volá se runlevel. K žádné změně úrovně běhu však nedojde (na požádání runlevels are `a ‚,` b‘, and c ‚).
  • initdefault: An initdefault položka určuje úroveň běhu, která by měla být zadána po spuštění systému. Pokud žádný neexistuje, inic požádá o úroveň běhu na konzole. The proces pole je ignorováno.
  • sysinit: Proces bude spuštěn během bootování systému. Bude provedeno dříve boot nebobootwait záznamů. The úrovně běhu pole je ignorováno.
  • powerwait: Proces bude spuštěn, když dojde k výpadku napájení. Init je obvykle o tom informován procesem rozhovoru s UPS připojenou k počítači. Init počká na dokončení procesu, než bude pokračovat.
  • powerfail: Co se týče powerwait, kromě toho inic nečeká na dokončení procesu.
  • powerokwait: Tento proces bude proveden, jakmile inic je informován, že napájení bylo obnoveno.
  • powerfailnow: Tento proces bude proveden, když inic je řečeno, že baterie externí UPS je téměř vybitá a napájení selhává (za předpokladu, že externí UPS a monitorovací proces jsou schopny detekovat tento stav).
  • ctrlaltdel: Proces bude proveden, když inic přijímá signál SIGINT. To znamená, že někdo na konzole systému stiskl klávesu Ctrl-Alt-Del kombinace kláves. Typicky člověk chce něco provést vypnout buď se dostat na úroveň jednoho uživatele, nebo restartovat počítač.
  • kbrequest: Proces bude proveden, když inic přijme signál od obsluhy klávesnice, že na klávesnici konzoly byla stisknuta speciální kombinace kláves.

Dokumentace k této funkci ještě není úplná; více dokumentace lze najít v balíčcích kbd-x.xx. V zásadě chcete namapovat nějakou kombinaci klávesnice na akci „KeyboardSignal“. Například k mapování Alt + šipka nahoru pro tento účel použijte v souboru keymaps následující: alt keycode 103 = KeyboardSignal

Ukázkové soubory „inittab“

Toto je příklad inittab, který se podobá staré linuxové inittab: # inittab pro 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: / etc / getty 9600 tty3
4: 1: respawn: / etc / getty 9600 tty4

Tento soubor inittab se spustí / etc / rc během bootování a začíná gettys na tty1-tty4. Komplikovanější inittab s různými úrovněmi běhu: # Úroveň pro spuštění
id: 2: initdefault:
# Inicializace systému před čímkoli jiným.
si :: sysinit: /etc/rc.d/bcheckrc
# Úroveň běhu 0,6 se zastaví a restartuje, 1 je režim údržby.
l0: 0: počkat: /etc/rc.d/rc.halt
l1: 1: počkat: /etc/rc.d/rc.single
l2: 2345: počkejte: /etc/rc.d/rc.multi
l6: 6: počkejte: /etc/rc.d/rc.reboot
# Co dělat při „pozdravu 3 prsty“.
ca :: ctrlaltdel: / sbin / shutdown -t5 -rf nyní
# Runlevel 2 & 3: getty pro konzolu, úroveň 3 také getty pro port modemu.
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

Použijte muž příkaz (% muž) a uvidíte, jak se příkaz používá v konkrétním počítači.