Operační systém GNU/Linux

Spuštění OS

O systému

Linux, jehož domovská stránka je na univerzitě v Helsinkách prozradí, že jde o implementaci specifikace POSIX s rozšířeními BSD a System V. Jinými slovy: jde o Unix implementovaný úplně od začátku. Otcem celého projektu je Linus Torvalds, student helsinské univerzity. Původně si chtěl jenom zkusit, jak funguje chráněný režim procesoru i386, a dnes vede vývoj verze 2.1 plně funkčního operačního systému, který už byl přenesen i na další platformy.
Síťový operační systém Linux je stále více vyhledáván pro svoji stabilitu a bezpečnost, volné šíření, možnosti konfigurace. Umožňuje vlastní modifikace systému a syntaxe je příbuzná moderním programovacím a skriptovacím nástrojům jako je například jazyk C, Java, PHP a SQL.
Výhodou Linuxu je kromě velmi příznivého poměru cena/výkon, univerzálnost operačního systému velice dobře pracujícího v síťovém prostředí. Podpora TCP/IP, IPX, AppleTalk a dalších umožňuje nasazovat počítače vybavené Linuxem jako síťové servery. Není problém se sdílením tiskáren, disků a dalších periferií. Množství hardwaru podporovaného Linuxem je obdivuhodné, zvláště když si uvědomíme, že většina ovladačů nepochází od výrobců hardwarových zařízení, ale od nezávislých programátorů. Možnost simultánní práce více uživatelů na jednom počítači je samozřejmou vlastností všech Unixů, stejně jako ochrana dat pomocí přístupových práv.

Po nabootování běží v systému jen jádro (kernel). Jádro pak samo spustí první uživatelský program, kterému vyhradí potřebné prostředky a předá mu řízení. Běh programu je pak jádrem usměrňován jedině, když se musí obsloužit i jiné programy, nebo když je nutné obsloužit periferii. Program může po jádru vyžadovat nějakou systémovou službu, o kterou se přihlásí systémovým voláním.
Běžícím aplikačním programům se říká procesy. Proces se skládá z identifikačních údajů v jádře, kódu v operační paměti a z dalších dat programu. Procesy mohou pomocí systémového volání vytvářet další procesy a stanovovat, jakým programem budou obsluhovány. Každý proces a datový soubor má svého majitele, kterým může být kterýkoliv registrovaný uživatel.
První proces po startu systému se nazývá vždy init a jeho majitelem je root. Proces init pak vytváří řadu dalších procesů k poskytování komplexních systémových služeb, které běží po celou dobu života systému - tzv. démony (např. démon cron, který spouští aplikace podle naplánování). Většina démonů obsluhuje síťové služby, "vyčkává" na síťovém portu až přijde síťový paket a předává ho jádru. Jádro požadavek "přeloží" a vrátí ho zpět démonu, který si ho sám vyhodnotí a určitým způsobem se pak zachová (může třeba navázat komunikaci s jinou aplikací). Démon většinou pro provedení instrukcí vytvoří pomocí systémového volání nový proces a sám pak znovu vyčkává na další instrukce.

Uživatelské prostředí

Uživatel má dvě možnosti jak celý systém ovládat a dávat příkazy – CLI nebo GUI. CLI je zkratka pro Command Line Interface – jinými slovy ovládání přes příkazovou řádku. GUI je zkratka Graphical User Interface – tudíž tolik oblíbené grafické rozhraní ve kterém klikáme na ikony a pracujeme s okny. GNOME, KDE a Xfce jsou názvy uživateli oblíbených GUI. Linux, s GUI a samotnými aplikacemi můžeme označit jako linuxovou distribuci pro snadnou instalaci.
Každá distribuce nainstaluje své hlavní grafické prostředí (někdy máte při instalaci možnost výběru). Tudíž pokud si vyberete např. distribuci Ubuntu, vyberete si tím i grafické prostředí GNOME. Naopak distribuce Kubuntu používá grafické prostředí KDE. Dalo by se říci, že se jedná o Ubuntu s grafickým prostředím KDE.


GNOME v distribuci Fedora 10


KDE v distribuci OpenSuSE 11


Xfce v distribuci Mint 10

Základním pracovním nástrojem uživatele UNIXu je shell, program sloužící ke spouštění dalších programů. Shell se aktivuje vždy, když se uživatel přihlásí k unixovskému stroji na konzoli, po síti nebo prostřednictvím terminálu. Používá se k zadání povelů pomocí klávesnice. V grafickém režimu lze spouštět programy pomocí příslušných ikon. Složitější textové příkazy shellu je vhodné napsat do souboru a ten pak spouštět jako kterýkoliv jiný program (program se spouští prostým zadáním jeho jména). Činnost programů lze ovlivnit úpravou jejich konfiguračních souborů.

Aplikace

Existuje velké množství programů určených pro Linux a mezi nimi najdete i známé softwarové kousky, které možná používáte i ve Windows. Jde o software, který jeho vývojáři vyvíjejí jak pro operační systém Linux, tak i pro operační systémy Windows či další. Těmito kousky jsou např. internetové prohlížeče Mozilla Firefox a Opera, emailový klient Mozilla Thunderbird, kancelářský balík OpenOffice.org, video a audio přehrávač VLC Media Player, grafický editor GIMP, komunikátor Skype nebo některé hry.
Pokud nejste vázáni na nějaký profesionální (placený) program či hru, tedy už nyní si vystačíte s tzv. free (zdarma) programy a hrami, jistě nebudete mít - ohledně softwaru - žádný problém s přechodem k Linuxu. Stejně jako celý operační systém Linux, tak i drtivá většina softwaru pro tento operačním systém je zdarma a ve většině případů i česky.

Pokud vyžadujete nějaký konkrétní software či hru na Windows, kterého se nemůžete vzdát, je tu alternativa "emulátoru" Wine. Tento program simuluje prostředí operačního systému Windows, díky němuž je umožněna instalace programů a jejich spuštění. Wine nemusí být vždy schopen každý program a především hru bez problémů nainstalovat a spustit. Na stránkách Wine si můžete vyhledat informace o konkrétním programu určený pro Windows. Pokud aplikaci v seznamu najdete, pak u ní bude napsáno, ve které distribuci byla aplikace vyzkoušena, s jakou verzí programu Wine a hodnocení instalace a běhu programu od nejlepší Platinum, Gold, Silver až po nejhorší Garbage.
Dále existují aplikace vycházející z programu Wine: CrossOver Linux, CrossOver Games a Cedega.

Pokud by vám z nějakého důvodu nevyhovovala linuxová alternativa, ani "emulátor" Wine a placené programy postavené na jeho základě, jsou tu dvě další možnosti, jak se dostat k Linuxu a nepřijít o nepostradatelné programy z Windows.

Je možné stáhnout program ze stránek a pak ho nainstalovat, ale proč to dělat složitě, když to jde jednoduše. Snad ve všech běžně používaných distribucích najdete jeden program nazývající se správce balíků. Tento program vám zobrazí seznam s tisíci aplikacemi, utilitkami a ovladači, které si jednoduše vyberete a necháte stisknutím jednoho tlačítka nainstalovat. O ostatní se správce balíků postará sám. Stáhne program, vše potřebné z internetu a nainstaluje. Jedinou podmínkou pro takto snadnou instalaci software je nutné připojení k internetu.

Než se pustíte do bezhlavého hledání a instalací softwaru, uvědomte si, jakou linuxovou distribuci používáte. Jedná se především o grafické prostředí distribuce - GNOME a KDE. Tato dvě velká grafická prostředí mají několik "svých" typických programů, které je samozřejmě možné nainstalovat a používat také v druhém grafickém prostředí. Musíte však počítat s tím, že vzhled programu nemusí do druhého grafického prostředí příliš zapadat.
Jedná se především o programy, jako je např. kecálek Pidgin (GNOME) a Kopete (KDE), vypalovací program Brasero (GNOME) a K3b (KDE) či hudební přehrávače Rhythmbox (GNOME) a Amarok (KDE). Osobně doporučuji používat software vyvíjený pro dané grafické prostředí. Samozřejmě je to jen doporučení, pokud se rozhodnete používat aplikaci z KDE v GNOME nebo naopak, nebude v tom žádný problém.

Jak poznáte, který software je určen pro to či ono grafické prostředí? Pokud instalaci provedete pomocí správce balíků, pak bude při výběru programu ve správci balíků zobrazen popis aplikace. Uvidíte v popisu, zda je aplikace vyvíjena pro konkrétní grafické prostředí, nebo zda je "neutrální".

Repozitáře

Odkud se software prostřednictvím správce balíků stahuje? Jedná se o již zmiňované repozitáře. Jedná se o úložiště, kam je vkládán software ve formě balíků, včetně všech částí linuxové distribuce. Počet programů se pohybuje ve stovkách až tisících. Repozitáře obsahují veškerý software, od programů pro kancelářskou práci, přes grafické editory až po linuxové hry. V Linuxu si prostřednictvím správců balíků seznam programů z těchto serverů zobrazíte. Stažení vybraného programu a instalaci provede správce balíků za vás.

Pokud není vámi požadovaný software ve správci balíků, pak je možné přidat tzv. repozitáře třetích stran. Jedná se o úložiště softwaru, který nemusí být prověřené výrobcem systému. Také se může jednat o "neoficiální" repozitář, kde jsou uloženy aplikace, které z licenčních důvodů nemohou být v oficiálních repozitářích. Většina velkých distribucí má nástroj pro přidávání takových repozitářů ve svých ovládacích centrech. V některých případech není možné mít počítač připojený k internetu. Stejně jako repozitáře třetích stran je možné si tedy přidat jako repozitář DVD / CD distribuce.

Konfigurace

Adresářová struktura

Celá adresářová struktura v Linuxu začíná tzv. kořenovým adresářem, který se označuje symbolem /. Často se také používá anglický výraz root (stejně se označuje i superuživatel-administrátor). Jeho obsah můžete vidět na obrázku. Nacházejí se zde hlavní systémové adresáře.
Pro lepší představu si můžeme adresářovou strukturu znázornit pomocí schématu. Jak jinak vše vychází z kořene. Oblasti 1-4 vymezují diskové oddíly (partitions). Kořen se svými podadresáři má vyhrazen samostatný diskový oddíl. Další diskový oddíl bývá obvykle vyhrazen pro adresář /home (do něj se ukládají data uživatelů, viz dále), často se vyhrazují diskové oddíly pro adresáře /usr, /var, /boot, popř. další.

Připojování disků a oddílů

Diskové oddíly jsou připojovány jako určité adresáře – pevné disky obvykle při startu systému a výměnná média za běhu. Předpis, kde se jaký oddíl má připojit, je uložen v souboru fstab v adresáři /etc/; např. zápis /dev/hda6 / ext3 znamená, že 6. oddíl primárního IDE disku (hda6) se připojí jako kořen (/) na souborovém systému ext3. A v případě /dev/hda8 /home xfs bude 8. oddíl téhož disku připojen do adresáře /home se souborovým systémem XFS.

Diskové oddíly, na nichž jsou nainstalovány nelinuxové operační systémy, jsou obvykle připojovány do adresáře /mnt jako adresáře označené příslušným názvem (např. windows, win_c, win_d apod.). Do stejného adresáře jsou připojovány i výměnná média – CD a DVD-ROM mechaniky, vypalovačky, disketové jednotky (adresáře se pak mohou jmenovat cdrom, dvd, floppy atp.). Do jakého konkrétního adresáře se dané výměnné médium či oddíl jiného OS připojí, je rovněž uloženo v souboru fstab.
Adresář /home je vyhrazen pro domovské adresáře uživatelů a bývá vhodné vyhradit mu samostatný oddíl na disku již při instalaci. Důvod je praktický – jakmile je potřeba upgradovat či přeinstalovat systém (má svůj diskový oddíl), data uživatelů zůstanou nedotčena. V /home jsou podadresáře shodné s přihlašovacími jmény uživatelů. Jeden uživatel obvykle nemá právo zápisu do adresářů jiných uživatelů (lze zakázat i čtení aj.).

Každý soubor a adresář (jde vlastně o speciální soubor) má v adresářové struktuře svou unikátní absolutní cestu, pomocí které jsou jednoznačně identifikovány. Absolutní cesta vždy začíná kořenem a končí názvem konkrétního souboru či adresáře. Tak kupříkladu /home/kindle/Dokumenty/clanek.txt jednoznačně určuje soubor clanek.txt v adresáři Dokumenty uživatele kindle.

Oproti absolutní cestě známe ještě relativní cestu. To je poloha adresáře či souboru oproti místu (adresáři), ve kterém se právě nacházíme. Důsledkem je, že určení cílového souboru není jednoznačné, ale záleží na aktuální poloze v adresářové struktuře. Relativní cestu od absolutní rozeznáme tak, že nezačíná symbolem /.
Pokud jsme tedy v adresáři /home/kindle/Video, pak se k našemu článku dostaneme pomocí absolutní cesty /home/kindle/Dokumenty/clanek.txt, nebo pomocí relativní cesty ../Dokumenty/clanek.txt.

Existují určité speciální symboly pro usnadnění práce s cestami. Symbol ~ nahrazuje cestu do domovského adresáře přihlášeného uživatele, takže místo absolutní cesty bychom mohli napsat ~/Dokumenty/clanek.txt (pokud budete ale jako uživatel bibri, bude mít ~ význam /home/bibri/).

V relativní cestě lze použít symbol .. (dvě tečky) pro označení nadřízeného adresáře a symbol . (jedna tečka) pro označení aktuálního adresáře. Takže ./clanek.txt označuje soubor clanek.txt v aktuálním adresáři a ../../clanek.txt soubor clanek.txt o dva adresáře výše.

Skryté soubory a adresáře se v Linuxu jednoduše vytvářejí tak, že jejich jméno začnete tečkou. Pokud tedy soubor clanek.txt přejmenujete na .clanek.txt, stane se skrytým a pokud je správce souborů nastaven tak, aby nezobrazoval skryté soubory, pak již tento soubor neuvidíte. Stejné platí pro adresáře.

Systémové adresáře

V linuxovém systému existuje množství adresářů, které vznikají bez přímého přičinění běžných uživatelů; jde tedy o adresáře nacházející se jinde než v adresáři /home. Zmíníme se zde alespoň o těch nejdůležitějších a nejzajímavějších:

  • /bin – Adresář obsahuje několik málo základních programů potřebných pro start systému, jež mohou být využity i běžnými uživateli (po startu).
  • /sbin – Obdobně jako adresář /bin, ale zde umístěné programy nejsou určeny pro běžné uživatele, nýbrž administrátora (superuživatele root).
  • /boot – Zde jsou uloženy soubory zavaděče a jádra potřebné při spouštění systému.
  • /dev – Soubory zařízení; jde o speciální soubory, které umožňují uživatelskou komunikaci se zařízeními systému (např. připojené diskové oddíly, sériové porty, zvuk, obraz aj.).
  • /etc – Konfigurační soubory globální, systémové; další konfigurační soubory jednotlivých aplikací naleznete v domovských adresářích uživatelů.
  • /home – Domovské adresáře jednotlivých uživatelů obsahující uživatelská data a uživatelskou konfiguraci.
  • /lib – Sdílené knihovny vyžadované programy v kořenovém adresáři.
  • /mnt, /media – Adresář určený pro dočasně připojované systémy jako disketová jednotka, CD-ROM aj.
  • /opt – Instalují se sem některé nestandardní součásti systému, např. OpenOffice.org aj.
  • /proc – Poskytuje informace o systému. Obsahuje pseudosouborový systém, který nereprezentuje strukturu dat na disku, ale jde o strukturu vytvořenou v paměti umožňující přístup k informacím o procesech a nastavení systému a jádra.
  • /root – Domovský adresář administrátora root; obvykle není přístupný ostatním uživatelům.
  • /tmp – Prostor vyhrazený běžícím programům pro ukládání dočasných souborů.
  • /usr – Tento adresář bývá velmi objemný, protože jsou do něj instalovány všechny aplikace; Najdeme zde bin, sbin, etc, lib; zvláštní význam mají adresáře /usr/share, kam jsou umisťovány aplikacemi sdílené soubory, a /usr/local, kde jsou instalovány aplikace "mimo" distribuci (např. při kompilaci).
  • /var – Obsahuje data měněná za normálního běhu systému; jsou zde kupříkladu adresáře pro logování, tiskové a poštovní fronty, dlouhodobější tmp adresář aj.

Superuživatel

Pokud chce běžný uživatel provést úkon (odstranění, úpravu souborů, složky), který může mít vliv na správný chod systému, musí jej provést jako superuživatel root (správce). Systém se tím chrání před neodborným zásahem běžného uživatele.
Pokud se stanete rootem, můžete dělat v systému cokoliv. Rootem by se měl stát vždy správce systému, to znamená upravovat a nastavovat systém by měl vždy jen člověk, který ví, co dělá. Tato významná bezpečnostní složka v Linuxu odděluje samotný systém, jeho soubory a adresáře od uživatele a jemu přidělenou domovskou složkou. Oddělena je pomocí správcovského hesla neboli hesla roota, které jste zadávali při instalaci.

Nastavování

Některé distribuce obsahují typická ovládací centra, ve kterých najdete nejrůznější možnosti nastavení systému. S typickými ovládacími centry, které znáte např. z Windows, se setkáte především v distribucích jako Mandriva Linux, OpenSuSE. Distribuce Ubuntu, Fedora, především s grafickým prostředím GNOME, taková klasická ovládací centra neobsahují. Veškerá nastavení bývají v hlavní nabídce.

Ovladače

Po instalaci distribuce a prvním spuštění systému je v některých distribucích systémem oznámena možnost instalace nesvobodných ovladačů, v jiných se instalace provádí manuálně (pomocí Správce balíků). Nesvobodné ovladače jsou drivery, které jsou vyvíjeny přímo výrobcem a které nemohou vývojáři distribucí nijak ovlivňovat. Toto se týká především grafických karet NVIDIA a ATI.