Skip to main content

Comando inittab-Linux / Unix

Inicialização, init, runlevels, init.d, inittab e telinit - Linux Debian (Giugno 2026)

Inicialização, init, runlevels, init.d, inittab e telinit - Linux Debian (Giugno 2026)
Anonim

inittab: formato del file inittab utilizzato dal processo init compatibile con sysv

Descrizione

Ilinittab file descrive quali processi vengono avviati all'avvio e durante il normale funzionamento (ad esempio /etc/init.d/boot, /etc/init.d/rc, gettys …).Dentro(8) distingue piùrunlevelognuno dei quali può avere il proprio insieme di processi che vengono avviati. I runlevel validi sono0-6 piùUN, B, eC persu richiesta inserimenti. Una voce nelinittab il file ha il seguente formato:

id: runlevel: azione: processo

Le righe che iniziano con `# 'vengono ignorate.

id è una sequenza unica di 1-4 caratteri che identifica una voce ininittab(per le versioni di sysvinit compilate con librerie <5.2.18 o librerie a.out il limite è di 2 caratteri).

Nota: per gettys o altri processi di accesso, ilid il campo dovrebbe essere il suffisso tty del tty corrispondente, ad es.1 pertty1. In caso contrario, l'account di accesso potrebbe non funzionare correttamente.

runlevelelenca i runlevel per i quali deve essere eseguita l'azione specificata.

azionedescrive quale azione dovrebbe essere intrapresa.

processispecifica il processo da eseguire. Se il campo processo inizia con un carattere `+ ',dentronon farà utmp e wtmp contabilità per quel processo. Questo è necessario per i gettys che insistono nel fare le proprie utmp / wtmp housekeeping. Questo è anche un bug storico.

Ilrunlevel il campo può contenere più caratteri per diversi runlevel. Per esempio,123 specifica che il processo deve essere avviato nei runlevel 1, 2 e 3. Ilrunlevel persu richiestale voci possono contenere unUN, B, oC. Ilrunlevel campo disysinit, avvio, ebootwait le voci sono ignorate.

Quando viene modificato il runlevel del sistema, tutti i processi in esecuzione che non sono specificati per il nuovo runlevel vengono uccisi, prima con SIGTERM, quindi con SIGKILL.

Azioni valide perazione campo sono:

respawn

Il processo verrà riavviato ogni volta che termina (ad esempio getty).

aspettare

Il processo verrà avviato una volta quando viene inserito il runlevel specificato edentroattenderà la sua conclusione.

una volta

Il processo verrà eseguito una volta quando viene inserito il runlevel specificato.

avvio

Il processo verrà eseguito durante l'avvio del sistema. Il runlevel il campo è ignorato.

bootwait

Il processo verrà eseguito durante l'avvio del sistema, mentredentroattende la sua cessazione (ad es. / etc / rc). Il runlevel il campo è ignorato.

via

Questo non fa nulla.

su richiesta

Un processo contrassegnato con unsu richiesta runlevel verrà eseguito ogni volta che specificatosu richiesta viene chiamato runlevel. Tuttavia, non si verificherà alcun cambiamento del runlevel (su richiesta i runlevel sono `a ',` b' e `c ').

initdefault

Uninitdefault voce specifica il runlevel che deve essere inserito dopo l'avvio del sistema. Se nessuno esiste,dentro chiederà un runlevel sulla console. Il processi il campo è ignorato.

sysinit

Il processo verrà eseguito durante l'avvio del sistema. Sarà eseguito prima di qualsiasiavvio obootwait inserimenti. Ilrunlevel il campo è ignorato.

powerwait

Il processo verrà eseguito quando l'alimentazione si interrompe. Di solito, Init viene informato di ciò tramite un processo che comunica con un UPS collegato al computer.Dentro attenderà il completamento del processo prima di continuare.

powerfail

Quanto apowerwait, salvo chedentro non aspetta il completamento del processo.

powerokwait

Questo processo verrà eseguito non appenadentro è informato che il potere è stato ripristinato.

powerfailnow

Questo processo verrà eseguito quandodentro viene detto che la batteria dell'UPS esterno è quasi vuota e l'alimentazione è in errore (a condizione che l'UPS esterno e il processo di monitoraggio siano in grado di rilevare questa condizione).

ctrlaltdel

Il processo verrà eseguito quandodentro riceve il segnale SIGINT. Ciò significa che qualcuno sulla console di sistema ha premuto il tastoCTRL-ALT-DEL combinazione chiave. In genere si vuole eseguire una sorta dispegnimento o per accedere al livello utente singolo o riavviare la macchina.

kbrequest

Il processo verrà eseguito quandodentro riceve un segnale dal gestore della tastiera che è stata premuta una combinazione di tasti speciale sulla tastiera della console.

La documentazione per questa funzione non è ancora completa; più documentazione può essere trovata nei pacchetti kbd-x.xx (la più recente era kbd-0.94 al momento in cui scriviamo). Fondamentalmente vuoi mappare alcune combinazioni di tastiere con l'azione "KeyboardSignal". Ad esempio, per mappare Alt-Uparrow per questo scopo, utilizzare quanto segue nel file keymaps:

alt keycode 103 = KeyboardSignal

ESEMPI

Questo è un esempio di un inittab che assomiglia al vecchio inittab di Linux:

# inittab per 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

Questo file inittab viene eseguito/ Etc / rc durante l'avvio e avvia gettys su tty1-tty4.

Un più elaboratoinittab con diversi runlevel (vedi i commenti all'interno):

# Livello da eseguire in id: 2: initdefault: # Inizializzazione del sistema prima di ogni altra cosa. si :: sysinit: /etc/rc.d/bcheckrc # Il runlevel 0,6 si ferma e si riavvia, 1 è in modalità di manutenzione. l0: 0: aspetta: /etc/rc.d/rc.halt l1: 1: aspetta: /etc/rc.d/rc.single l2: 2345: aspetta: /etc/rc.d/rc.multi l6: 6: wait: /etc/rc.d/rc.reboot # Cosa fare al "3 finger greeting". ca :: ctrlaltdel: / sbin / shutdown -t5 -rf ora # Runlevel 2 e 3: getty su console, livello 3 anche getty su porta 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

Guarda anche

dentro(8), telinit(8)

Importante: Utilizzare il uomo comando ( % uomo ) per vedere come viene utilizzato un comando sul tuo computer specifico.