Předchozí Další Obsah

1. První prohlídka systému

1.1 Systém adresářů

Nainstalovali jste si Linux a zdá se vám, že máte na disku nějak moc divných adresářů, ve kterých je spousta jiných divných adresářů? Nepropadejte panice! Systém adresářů na *NIXech1 je totiž postaven na trochu odlišné filozofii než v DOSu. Shrněme si největší rozdíly.

Toto řešení má své výhody i nevýhody. Namodelujme si následující situaci. Máte na svém počítači jeden pevný disk rozdělený na dva oddíly a používáte DOS. Vše je v pořádku dokud k vám nepříjde váš kolega (říkejme mu třeba Pepa) se svým diskem, že chce od vás nějaká data. Vy připojíte Pepův disk do svého počítače a po nabootování zjistíte, (Pro ostříleného DOSistu žádná novina) že tam kde jste měli disk D, si lebedí Pepův disk C, zatímco z vašeho bývalého D je nyní E. To je mrzuté pokud třeba na vašem disku D máte programy které spouštíte z autoexec.bat nebo programy které pro svou činnost chtějí vědět na kterém disku leží. Situace by byla daleko jednodužší, kdyby se Pepův disk neobjevil automaticky, ale až potom co si o něj řeknete - třeba: "připoj Pepův disk jako E:".

Tak takhle nějak to vypadá na *NIXech. Po nabootování je připojen jenom hlavní disk (ten který byl předán jádru jako parametr ze kterého má bootovat - viz 1.3 Start systému). a další disky se připojují až během startu systému, samozřejmě to lze automatizovat - viz 1.2 Důležité soubory soubor fstab.

Ruční připojování přináší trochu komplikace při práci s výměnnými médii. Po založení média do mechaniky (CD-disk, disketa) se musí disk připojit (příkaz mount) a před vyjmutím zase odpojit.

Rozptýlení programů po různých částech disku se může zdát nepřehledné a obtížné na správu, zvlášť když velikost programů a počet jejich souborů s novými verzemi narůstá. Moderní systémy disponují jakýmisi správci, například rpm nebo dpkg, kteří kromě přehledu co kam patří, obsahují i funkce na odinstalaci či kontrolu integrity programů (více informací zde).

Struktura adresářů je na všech *NIXech skoro stejná. Co mají všichni společné ukazuje následující tabulka:
Hrubý popis struktury adresářů
/bin Nejdůležitější programy nutné pro práci. (sh, bash, ls, cp, vi, ...)
/boot Jádro (kernel) systému a informace potřené k "nabootování2"
/dev Spousta zajímavých systémových souborů (podrobnosti se dočtete se později)
/etc Skoro všechny konfigurační soubory systému (Zpočátku sem budete chodit hodně často)
/home Adresáře jednotlivých uživatelů (Na domácím počítači jich moc nebývá)
/lib Sdílené knihovny a moduly jádra (I zde se podrobnosti dozvíte později)
/lost+found3 Sem se ukládají soubory obsahující ztracená data vlivem chyb v souborovém systému nalezené pomocí programu e2fsck. (obdobně jako soubory fileXXXX.chk a programu chkdsk či scandisk v DOSu).
/mnt Standartní umístění takzvaných mountpointů - adresářů do kterých se připojují jiné disky.
/proc Tento adresář vlastně doopravdy na disku vůbec neexistuje. Jeho obsah je pouze jakoby virtuálně generovaný jádrem a obsahuje informace o stavu systému. (Zpočátku vás jeho obsah nemusí moc zajímat.)
/root Privátní adresář správce systému.
/sbin Základní programy pro rozběhnutí a administraci systému (init, fdisk, lilo, ...) Jejich použití je určeno výhradně pro správce systému.
/tmp Prostor pro pracovní soubory. Programy, které si chtějí na chvíli odložit data je dávají sem.
/usr Obsahuje převážnou část programů a datových souborů z celého systému. Jeho struktura se z části podobá kořenovému adresáři. (Další podrobnosti viz následující tabulka)
/var Datové soubory, keré se často mění. (Například TeX sem generuje svoje fonty, nebo se sem ukládají data čekající ve frontě na tiskárnu, ukládá se sem doručená pošta, kde čeká na vyzvednutí adresátem, ...)

Následující výčet není kompletní, protože se systém od systému poněkud liší, nicméně to nejdůležitější tady najdete. (To ovšem neznamená, že ten zbytek můžete smazat :-)
Hrubý popis struktury adresáře /usr
/usr/X11R6 Programy a knihovny pro X Window System
/usr/bin Většina programů v systému.
/usr/doc Dokumentace k programům. (Jedno z prvních míst, kde je dobré hledat informace při nesnázích.) Zvlášť je třeba upozornit na podadresář HOWTO!
/usr/games Co dodat?
/usr/include Pokud jste něco programovali v jazyce C, asi tušíte. Jsou tady hlavičkové soubory knihoven jazyka C.
/usr/info Další z forem dokumentace k programům. (Například soubor bash.info.gz si zobrazíte příkazem info bash) Také se nazývá Texinfo dokumentace.
/usr/lib Ostatní sdílené knihovny
/usr/local Další možné umístění programů
/usr/man Další z forem dokumentace k programům - manuálové stránky. Dokumentace je rozdělena do několika skupin podle zaměření (uživatelské příkazy, administrátorské příkazy, příkazy knihoven jazyka C, popis formátu konfiguračních souborů, ... Například soubor echo zobrazíte příkazem man echo)
/usr/sbin Příkazy pro pokročilejší administraci. (Správa uživatelů, tiskových front, některých síťových služeb, ...)


1*NIX je
2Má někdo přijatelnější překlad?
3Tenhle adresář vlastně nesouvisí se strukturou adresářů, ale vyskytuje se na každém logickém oddílu disku se systémem e2fs a na disketách naformátovanych na e2fs.

1.2 Start systému

*** tady není vůbec nic

1.2.1 Kernel

1.2.2 Init

1.2.3 Login

1.3 Důležité soubory

*** tady bude o: fstab,mtab,inittab,passwd,group,

1.3.1 /etc/fstab

Jak už bylo řečeno s disky se pracuje na Linuxu poněkud odlišně než v DOS/Win. Existuje pouze jediný adresářový strom, v němž každy adresář (podstrom) může být jiný disk (diskový oddíl, partition). Nyní se pokusíme objasnit kdy a jak se jednotlivé disky k tomuto adresářovému stromu připojují.

Vše o discích nalezneme v konfiguračním souboru /etc/fstab. Nejlepší asi bude příklad.

/dev/hda3      /               ext2    defaults        1 1
/dev/hda2      swap            swap    defaults        0 0

/dev/fd0       /mnt/floppy     vfat    noauto,user     0 0
/dev/cdrom     /mnt/cdrom      iso9660 noauto,user,ro  0 0

/dev/hda1      /mnt/win        vfat    codepage=852,posix,iocharset=iso8859-2,quiet,umask=000,user        1 1
/dev/hdc1      /mnt/dos2       vfat    codepage=852,posix,iocharset=iso8859-2,quiet,umask=000        1 1
none           /proc           proc    defaults        0 0
V prvním sloupci je "zařízení", tedy diskový oddíl (partition), disketové jednotky, CD-ROM apod. V druhém sloupci je cesta (adresář) kam se dané zařízení připojit. Třetí sloupec uvádí souborový systém daného disku (FAT, vFAT, ext2). Pak již pokračují různé přepínače, které říkají jak je dané zařízení připojit,

Na UNIXech jsou věškerá periferijní zařízení (disky, myši,..) reprezentovavá speciálním souborem v adresáři /dev. Např.

Probereme teď jednotlivé řadky.

/dev/hda3      /               ext2    defaults        1 1
Tedy na prvním je hlavní oddíl (logický disk, partition) s nainstalovaným Linuxem, tento je na prvním fyzickém disku na třetím oddíle (/dev/hda3). Připojuje se přímo do kořenu adresářového stromu ( / ). A je na něm souboruvý systém ext2 (nativní Linuxový systém, second extended file system). Další přepínače mají default hodnoty.

/dev/hda2      swap            swap    defaults        0 0
Druhý řádek popisuje odkladácí prostor (swap). Ta leží na prvním disku v druhém oddíle (/dev/hda2). "Nikam" se nepřipojuje, pouze se říká že se jedná o swap. Souborový systém se jmenuje překvapivě "swap". Další přepínače jsou opět ponechány na základních hodnotách.

/dev/fd0       /mnt/floppy     vfat    noauto,user     0 0
Třetí řádek definuje disketu. První floppy jednotka (/dev/fd0). Připojuje se do adresáře /mnt/floppy a souborý systém je vfat (FAT s dlouhými názvy). Přepínač noauto způsobí že se nebude připojovat hned při startu. Přepínač user říká že tuto jednotku můžou připojovat také obyčejní uživatelé, tedy né pouze superuživatel (root).

/dev/cdrom     /mnt/cdrom      iso9660 noauto,user,ro  0 0
Čtvrtý řádek definuje CD-ROM (/dev/cdrom), která se připojuje do adresáře /mnt/cdrom, má souborový systém iso9660 (standard pro CDROM). A přibyl přepínač ro diky kterému se CD-ROM připojuje jako read-only.

/dev/hda1      /mnt/win        vfat    codepage=852,posix,iocharset=iso8859-2,quiet,umask=000,user        1 1
Velice zajímavý řádek. Připojuje oddíl M$ Windows. Tedy první oddíl na prvním disku (/dev/hda1), do adresáře /mnt/win jako vfat (použitelné i pro FAT32). Přepínač codepage říká v jakém kódování jsou názvy souborů, a iocharset říká do jakého kodóvání se má převádět (na UNIXech se zásadně používají mezinárodní ISO normy). Přepínač quiet způsobí že se systém nebude snažit nastavovat na tomto disku souborům unixové atributy (stejně by se mu to nepovedlo). umask nastavuje (maskuje) pro všechny soubory všechny unixové atributy souborů (viz 0.3.2 Uživatelé a soubory).

none           /proc           proc    defaults        0 0
Poslední řádek připojuje speciální adresář s indormace mi jádře systému.

A teď jak připojit např. disketu. Stačí příkaz

mount /mnt/floppy
pokud má disketa jiný souboruvý systém než jak je uvedeno v /etc/fstab pak ji můžeme připojit třeba takto
mount /mnt/floppy -t ext2
Více se přikazu mount můžete dozvědět z manuálových stránek ($ man mount)

1.3.1 /etc/mtab

Soubor /etc/mtab obsahuje seznam právě připojených disků (souborových systemů). Jeho struktura je stejná jako u /etc/fstab

1.4 Příklady konfigurace

Vhodná konfigurace jistě dokáže zpříjemnit život. Mně se například kdysi zdálo, že je dobré mít na konzolích po nastartování zapnutý numlock. Zámky na klávesnici se dají ovládat programem setleds, a jeho parametry naleznete na jeho manuálové stránce (man setleds). Zbývá zajistit nastavení při spuštění systému, tedy někam na konec souboru /etc/rc.d/rc.sysinit přidat

/usr/bin/setleds -D +num < /dev/tty1
/usr/bin/setleds -D +num < /dev/tty2
/usr/bin/setleds -D +num < /dev/tty3
/usr/bin/setleds -D +num < /dev/tty4
/usr/bin/setleds -D +num < /dev/tty5
/usr/bin/setleds -D +num < /dev/tty6
/usr/bin/setleds -D +num < /dev/tty7
/usr/bin/setleds -D +num < /dev/tty8
/usr/bin/setleds -D +num < /dev/tty9
/usr/bin/setleds -D +num < /dev/tty10
nebo elegantněji
for tty in /dev/tty[0-9]*; do
  /usr/bin/setleds -D +num < $tty
done

O něco jednodužší je například nastavit monitor aby se po určité době, kdy se na počítači nepracuje sám vypínal. Opět jej můžete zapsat do /etc/rc.d/rc.sysinit.

/usr/bin/setterm -blank 5 -powersave on -powerdown 8
Toto nastavení má vliv pouze na konzoli. Chcete-li totéž v X Window, koukněte na /etc/X11/XF86Config a hledejte v sekci Screen položky BlankTime, StandbyTime, SuspendTime a OffTime. Vyčerpávající informace naleznete v man setterm a man XF86Config.

Původních 6 virtuálních konzolí můžete zvýšit tak, že v souboru /etc/inittab ke stávajícím

1:12345:respawn:/sbin/mingetty 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
přidáte
7:2345:respawn:/sbin/mingetty tty7
8:2345:respawn:/sbin/mingetty tty8
9:2345:respawn:/sbin/mingetty tty9
10:2345:respawn:/sbin/mingetty tty10

Abyste mohli na CD-ROM předhrávat také audio CD, je nutné upravit atributy /dev/cdrom, tak aby mohl na CD přímo přistupovat i normalní uživatel (nebo jeho CD přehrávač).
Např. takto
$ ls -l /dev/cdrom

lrwxrwxrwx  1 root   root      3 červen  5 13:21 /dev/cdrom -> hdb

          // CD ROM je připojena jako druhý disk (hdb)

$ ls -l /dev/hdb

brw-rw----  1 root   disk      3,  64 květen  5  1998 /dev/hdb

$ chmod 666 /dev/hdb

          //  nastavení práv
          
$ ls -l /dev/hdb

          // kontrola

brw-rw-rw-  1 root   disk      3,  64 květen  5  1998 /dev/hdb

Také je dobré podobně upravit disketu, tedy /dev/fd0



Předchozí Další Obsah