Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Linux - druhý pohled do nitra

Před nedávnem jsme se seznámili s tím, co se vlastně v počítači odehrává, když se Linux startuje. Dnes na toto téma navážeme a podíváme se podrobněji na funkce programu init a formát souboru /etc/inittab.

Tweetni to Twitter Jaggni to! Jagg Del.icio.us Delicious

V předchozím článku jsme se dostali až k fázi, kdy se spustí program init. Rovněž jsme si řekli, že chování tohoto programu určuje soubor /etc/inittab. Tento soubor je nesmírně důležitý a vřele doporučuji důkladně se seznámit s problematikou ještě než do něj začnete zasahovat. Rovněž zálohování není od věci. Na druhou stranu je třeba říci, že většina uživatelů nemusí tento soubor nijak upravovat, neboť často vystačí s tím, jak vypadá hned po instalaci.
Formát souboru je celkem jednoduchý. Každý povel se nachází na zvláštním řádku a má následující tvar:

id:runlevels:ac­tion:process

id je čtyřpísmený (nebo dvoupísmený, dle platformy) jednoznačný identifikátor povelu. Runlevels obsahuje výčet runlevelů (viz. minulý článek), pro něž se povel má vykonat. Action specifikuje akci, při níž se vykonává povel definovaný parametrem process. Nejčastěji používané hodnoty pro položku action jsou:

respawn – proces bude vždy znovu spuštěn, pakliže se ukončí. Typicky se používá například pro getty. Výhodou je, že init sleduje, zda se program neobnovuje příliš rychle a zabraňuje tak přetížení systému

wait – proces bude spuštěn jednou při vstupu do runlevelu a init počká na jeho dokončení

once – to samé jako wait, ale nečeká se na dokončení

boot – proces bude spuštěn jednou při bootu, runlevel je v tomto případě ignorován

bootwait – to samé jako boot, ale init čeká na dokončení

initdefault – definuje výchozí runlevel, který se použije při bootování. V případě, že neexistuje žádný povel tohoto typu, init bude požadovat zadání runlevelu na konzoli. Položka process je ignorována

sysinit – proces bude spuštěn jednou při bootu a to ještě před všemi povely typu boot (resp. bootwait)

ctrlaltdel – definuje povel, který bude vykonán při stisku kombinace kláves Ctrl+Alt+Delete (případně když init obdrží signál INT)

Existují i další hodnoty pro položku action, které však již nejsou tak časté. Kompletní seznam s popisem naleznete v manuálové stránce inittab(5).

Pakliže ještě zkonstatuji, že komentáře v souboru /etc/inittab začínají znakem #, měl by pro vás nyná být tento soubor srozumitelný. Běžný soubor pak může vypadat třeba takto:

id:3:initdefault:

si::sysinit:/etc/rc.d/rc.sysinit

l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6

ud::once:/sbin/update

ca::ctrlaltdel:/sbin/shutdown -t3 -r now

1:12345:respawn:/sbin/mingetty --noclear tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6

x:5:respawn:/usr/bin/X11/xdm -nodaemon

Vidíme, že výchozí runlevel bude 3, při bootu se spustí skript /etc/rc.d/rc.sy­sinit, nastartuje se démon update, při stisku kláves Ctrl+Alt+Del se provede povel /sbin/shutdown, nastartuje se šest textových konzolí (povel mingetty, v případě ukončení se opět nahodí). Poslední řádek slouží pro runlevel 5, který je běžně využíván pro přímý start Xek. Program xdm umožňuje přihlášení do systému už v grafickém rozhraní, akce je opět respawn, tudíž se po ukončení Xek znovu spustí xdm.

Poslední nevysvětlenou částí v uvedeném příkladě jsou povely s id l0 až l6. Ty slouží ke spuštění startovacích skriptů podle zvoleného runlevelu. O tom, jak vlastně vypadají startovací skripty v Linuxu (potažmo v jiných un*xech) si ale povíme až příště.

Školení: SQL pro začátečníky

Kdo nezná jazyk SQL jako kdyby nebyl. Tak lze stručně charakterizovat dnešní význam SQL v IT. Pokud se chcete naučit tento jazyk, tak navštivte naše školení SQL. Školení je určené začátečníkům, a proto se začíná od skutečných základů.

Kromě samotného SQL se účastíci školení seznámí i se základy PostgreSQL, což je databáze, která se díky své shodě se standardem ANSI SQL a komfortem, který poskutuje svým uživatelům, zvlášť hodí pro výuku SQL.

Podrobnější informace a přihláška

Ohodnoťte jako ve škole:
Průměrná známka 3,16

Přehled názorů

fv jk
Uno 21. 8. 2011 16:48
Nový
       

Tento text je již více než dva měsíce starý. Chcete-li na něj reagovat v diskusi, pravděpodobně vám již nikdo neodpoví. Pro řešení aktuálních problémů doporučujeme využít naše diskusní fórum.

Zasílat nově přidané příspěvky e-mailem