Skip to main content

Inittab-Linux / Unix Command

10.3 Init System and Run Levels (Juni- 2026)

10.3 Init System and Run Levels (Juni- 2026)
Anonim

inittab - formaat van het inittab-bestand dat wordt gebruikt door het sysv-compatibele init-proces

Omschrijving

Deinittab bestand beschrijft welke processen worden gestart bij het opstarten en tijdens de normale werking (bijvoorbeeld /etc/init.d/boot, /etc/init.d/rc, gettys …).In het(8) onderscheidt meerdererunlevels, die elk een eigen reeks processen kunnen hebben die zijn gestart. Geldige runlevels zijn0-6 plusEEN, B, enC voorop aanvraag inzendingen. Een vermelding in deinittab bestand heeft de volgende indeling:

id: runlevels: actie: proces

Regels beginnend met `# worden genegeerd.

ID kaart is een unieke reeks van 1-4 tekens die een invoer identificeertinittab(voor versies van sysvinit gecompileerd met bibliotheken <5.2.18 of a.out-bibliotheken is de limiet 2 tekens).

Opmerking: voor gettys of andere aanmeldingsprocessen, deID kaart veld moet het tty achtervoegsel zijn van de corresponderende tty, b.v.1 voortty1. Anders werkt de inlogaccounting mogelijk niet correct.

runlevelsgeeft de runlevels weer waarvoor de opgegeven actie moet worden uitgevoerd.

actiebeschrijft welke actie moet worden ondernomen.

werkwijzegeeft het proces aan dat moet worden uitgevoerd. Als het procesveld begint met een `+ 'teken,in hetzal niet utmp en wtmp voor dat proces rekenschap geven. Dit is nodig voor gettys die erop staan ​​hun eigen utmp / wtmp-huishouding te doen. Dit is ook een historische bug.

Derunlevels veld kan meerdere tekens bevatten voor verschillende runlevels. Bijvoorbeeld,123 geeft aan dat het proces moet worden gestart in runlevels 1, 2 en 3. Hetrunlevels voorop aanvraagvermeldingen kunnen een bevattenEEN, BofC. Derunlevels gebied vansysinit, bagageruimte, enbootwait invoeren worden genegeerd.

Wanneer het runlevel-systeem wordt gewijzigd, worden alle actieve processen die niet zijn opgegeven voor het nieuwe runlevel, gedood, eerst met SIGTERM en vervolgens met SIGKILL.

Geldige acties voor deactie veld zijn:

respawn

Het proces wordt opnieuw gestart wanneer het wordt beëindigd (bijvoorbeeld getty).

Wacht

Het proces wordt eenmaal gestart wanneer het opgegeven runlevel wordt ingevoerd enin hetwacht op de beëindiging.

een keer

Het proces wordt eenmaal uitgevoerd wanneer het opgegeven runlevel wordt ingevoerd.

bagageruimte

Het proces wordt uitgevoerd tijdens het opstarten van het systeem. De runlevels veld wordt genegeerd.

bootwait

Het proces wordt uitgevoerd tijdens het opstarten van het systeem, terwijlin hetwacht op de beëindiging ervan (bijvoorbeeld / etc / rc). De runlevels veld wordt genegeerd.

uit

Dit doet niets.

op aanvraag

Een proces gemarkeerd met eenop aanvraag runlevel wordt uitgevoerd wanneer het gespecificeerd isop aanvraag runlevel wordt genoemd. Er zal echter geen runlevel-wijziging optreden (op aanvraag runlevels zijn `a ',` b' en `c ').

initdefault

Eeninitdefault entry geeft het runlevel aan dat moet worden ingevoerd na het opstarten van het systeem. Als er geen bestaat,in het zal vragen om een ​​runlevel op de console. De werkwijze veld wordt genegeerd.

sysinit

Het proces wordt uitgevoerd tijdens het opstarten van het systeem. Het zal vóór worden uitgevoerdbagageruimte ofbootwait inzendingen. Derunlevels veld wordt genegeerd.

powerwait

Het proces zal worden uitgevoerd wanneer de stroom uitvalt. Init wordt meestal hiervan op de hoogte gebracht via een proces dat spreekt met een UPS die op de computer is aangesloten.In het wacht tot het proces is voltooid voordat je verdergaat.

Powerfail

Wat betreftpowerwait, behalve datin het wacht niet op de voltooiing van het proces.

powerokwait

Dit proces zal zo snel worden uitgevoerdin het wordt geïnformeerd dat de stroom is hersteld.

powerfailnow

Dit proces wordt uitgevoerd wanneerin het wordt verteld dat de batterij van de externe UPS bijna leeg is en de stroom uitvalt (op voorwaarde dat de externe UPS en het bewakingsproces deze toestand kunnen detecteren).

ctrlaltdel

Het proces wordt uitgevoerd wanneerin het ontvangt het SIGINT-signaal. Dit betekent dat iemand op de systeemconsole op heeft gedruktCTRL-ALT-DEL toetscombinatie. Meestal wil men een soort van uitvoerenstilgelegd om op single-user niveau te komen of om de machine opnieuw op te starten.

kbrequest

Het proces wordt uitgevoerd wanneerin het ontvangt een signaal van de toetsenbordhandler dat een speciale toetscombinatie op het toetsenbord van de console is ingedrukt.

De documentatie voor deze functie is nog niet compleet; meer documentatie is te vinden in de pakketten kbd-x.xx (meest recent was kbd-0.94 op het moment van schrijven). Kortom, u wilt een bepaalde toetsenbordcombinatie toewijzen aan de actie "KeyboardSignal". Als u bijvoorbeeld Alt-Uparrow voor dit doel wilt toewijzen, gebruikt u het volgende in uw keymaps-bestand:

alt keycode 103 = KeyboardSignal

Voorbeelden

Dit is een voorbeeld van een inittab die lijkt op de oude Linux inittab:

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

Dit inittab-bestand wordt uitgevoerd/ Etc / rc tijdens het opstarten en start gettys op tty1-tty4.

Een meer uitgebreideinittab met verschillende runlevels (zie de opmerkingen hieronder):

# Niveau dat moet worden uitgevoerd in id: 2: initdefault: # Systeeminitialisatie vóór alles anders. si :: sysinit: /etc/rc.d/bcheckrc # Runlevel 0,6 is gestopt en opnieuw opgestart, 1 is onderhoudsmodus. l0: 0: wait: /etc/rc.d/rc.halt l1: 1: wait: /etc/rc.d/rc.single l2: 2345: wait: /etc/rc.d/rc.multi l6: 6: wacht: /etc/rc.d/rc.reboot # Wat te doen bij de "3-vingerbegroeting". ca :: ctrlaltdel: / sbin / shutdown -t5 -rf nu # Runlevel 2 & 3: getty op console, niveau 3 ook getty op modempoort. 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

Zie ook

in het(8), telinit(8)

Belangrijk: Gebruik de man commando ( % man ) om te zien hoe een opdracht wordt gebruikt op uw specifieke computer.