Operační systémy cvičení 2 © Milan Keršláger Obsah: Linux, distribuce, stanice v A10, textový režim, terminál, konzole, emulace terminálu, problematika terminálu, příkazový řádek, formát příkazu, přepínače a parametry, mezery jako speciální znak, adresáře, relativní a absolutní cesta, správa adresářů, soubory, adresářová struktura unixových systémů, připojování souborových systémů a USB flash, informace o připojených souborových systémech.
Linux ● unixový operační systém ● Unix vznikl v AT&T v roce 1969 ● Linux 1991, Linus Torvalds – Universita v Helsinkách – Linux je jeho diplomová práce – inspirace Minixem (mikrokernel) ● Linux v pravém slova smyslu jen jádro ● licence GPL2 s výjimkou ● dnes označení i pro obsažený software – nejrůznější open source licence
Distribuce ● úhledné balení ● připraveno k použití, instalátor ● obsahuje open source software ● zdrojový kód, redistribuce, volné použití ● různé licence (GPL, BSD, LGPL,...) ● v zásadě stejné, nicméně také odlišné: ● konfigurační nástroje, objem distribuce ● použité verze jednotlivých programů ● umístění konfiguračních souborů ● startovací skripty atd.
Hlavní distributoři – I. ● Red Hat, Inc. ● největší Linuxová firma na světě → USA ● Red Hat Enterprise Linux → komerční – prodej služeb ● Fedora → komunitní vývoj ● SUSE ● č. 2, v zádech má IBM, původně Německo ● dnes Novell ● Ubuntu ● investice miliardáře: Mark Shuttleworth ● zajímavý desktop, zdrojem Debian
Hlavní distributoři – II. ● Mandriva ● původně francouzská, dnes Conectiva ● „Red Hat jinak“ (konf. nástroj Drakeconf) ● Debian ● čistě komunitní vývoj, obrovský záběr ● mnoho hlavních vývojářů platí Ubuntu ● poměrně konzervativní ● Gentoo ● „zkompilujte si vlastní distribuci“ ● a další...
Jak vybrat distribuci ● co dobře ovládá můj kamarád? ● správa komerční distribuce ● Red Hat Enterprise Linux → Fedora, klony RHEL ● RHEL je nejrozšířenější komerční distribuce ● zajímavá licence pro akademické instituce ● klony CentOS, Scientific Linux, ale i komerční – Oracle unbreakable Linux a další ● Fedora jako vývojová laboratoř – nejen pro RHEL, ale i obecně pro Linux ● Live CD/DVD – Linux bez instalace na zkoušku
„Latest and greatest“ ● problém vývoje každého software ● uživatelé prahnou po poslední verzi programu ● s open source je snadné mít poslední verzi ● pro vývojáře nutnost ● novinky nejsou někdy úplně odladěné (Fedora) ● občas něco přestane po aktualizaci fungovat ● konzervativní přístup (Debian, RHEL) ● starší, ale odladěný je výhodou, ale: ● open source: netlačí se na vývoj a bugfixy
Stanice v A10 ● CentOS 5 – aka RHEL 5 ● přihlašování centrálním účtem proti LDAP ● domácí adresář je čistě lokální na dané stanici ● nebudeme se věnovat GUI konfigurátorům ● zejména seznámení s unixovým systémem ● co to umí, jak se to dá využít ● jak se to liší od MS Windows ● k čemu je dobrý příkazový řádek ● eventuální administrace systému: VirtualBox
Konzole ● klávesnice + monitor přímo připojený k počítači ● u sálových počítačů užíváno ke správě systému ● PC je vlastně konzole ● u konzole je možné mít (rychlé) grafické rozhraní ● jádro typicky neumí grafiku ● BSOD ve Windows → jádro sděluje problém textově ● Linux: virtuální terminály ● 1 až 6 → textové (může jich být méně i více) ● 7 → grafický (X Window System, nemusí být) ● přepínání: ALT+F1 až F6; GUI je na ALT+F7 ● z GUI: CTRL+ALT+F1 až F6
Textový terminál ● typicky 80x25 znaků ● textový VGA režim ● původní uměly jen přidávat znaky ● při přechodu na nový řádek odrolování o 1 řádek nahoru (text se nahoře ztrácí) ● někdy podtržení, tučný tisk, inverzní tisk ● novější celoobrazovkový režim ● tisk znaku na libovolnou pozici ● nejnovější i barvy ● podklad + inkoust (pozadí a barva písma)
Textový režim ● původní ovládání počítače ● terminál + příkazový řádek, bez grafiky ● alfanumerické znaky, speciální znaky ● terminál ● hloupé zařízení: klávesnice + monitor ● sériovým kabelem spojeno se sálovým počítačem ● stisknuté znaky putují k programu ● program tiskne znaky na terminál ● terminál nezávislý na operačním systému, programu ● je nutné si uvědomit, že program může běžet jinde – uživatel zajišťuje jen vstupy a vidí výstupy
Emulace terminálu ● speciální aplikace v grafickém rozhraní (GUI) ● různá nastavení, vzhled, možnosti ● pohodlně zastupuje textové rozhraní ● dnes komunikace přes počítačovou síť ● různá vylepšení ● scrollback buffer (roletka na pravém okraji) ● barvičky, podklad, průhlednost atd. ● emuluje textovou konzoli ● Linux – Gnome terminal, Konsole, xterm ● Windows – PuTTY (+ různé komerční)
Problémy terminálu ● program neví, jaké schopnosti má terminál ● dříve dáno výrobcem terminálu ● terminál při přihlášení sděluje své schopnosti ● textový řetězec (xterm, linux, vt100, …) ● lokální databáze schopností terminálu ● termcap, dnes terminfo ● program může zjistit a přizpůsobí se – posílá správné řídící kódy ● automaticky u nadstavbových knihoven – program s menu, barvičkami atd.
Příkazový řádek ● uvnitř terminálu ● nejjednodušší ovládání počítače ● zobrazuje se výzva → prompt ● uživatel zadá příkaz a potvrdí Enter ● (shell) se pokusí příkaz spustit ● formát příkazu: ● nazevprogramu [prepinace]... [parametry]... ● přepínače a parametry se oddělují mezerou
Přepínače a parametry ● přepínače mění chování programu ● krátké ( -a ) nebo dlouhé ( --all ) ● ls -lls -a ● ls -l -als -la ● někdy přepínač s parametrem ● ping -s 1440 seznam.cz ● parametry říkají, s čím má pracovat ● typicky názvy souborů, adresářů ● ls -l /var/log /usr /proc/cpuinfo
Adresáře a soubory – úmluvy ● adresáře se oddělují dopředným lomítkem: / ● jinak povoleny všechny znaky (kromě 0x00) ● aktuální adresář →. ● nadřízený adresář →.. ● cesta k adresáři nebo souboru může být: ● absolutní → začíná znakem / ● relativní začíná něčím jiným...../adr adr./adr ● skryté soubory začínají tečkou ● přípona (tečka) nemá v názvu speciální význam
Adresářová struktura ● v unixových systémech je jeden kořen → / ● další souborové systémy (oddíl, nový disk) ● připojují se do existujících adresářů ● lze i v MS Windows ● typicky /home ● zaplnění nezpůsobí problém OS ● někdy virtuální souborové systémy (FS), např: ● /proc – export datových struktur jádra jako FS ● /dev – v RAM, vznikají po připojení hardware
Adresáře – průzkum cd – změna adresáře ● bez parametru přepne do domácího adresáře ● parametr je absolutní nebo relativní cesta pwd – vypíše aktuální adresář ls – výpis adresáře ● parametr může být soubor i adresář ● -l → podrobný výpis ( --long ) ● -a → včetně skrytých souborů ( --all ) ● -d → výpis adresáře samotného, ne obsahu
Adresáře – správa mkdir adresar ● vytvoření adresáře ● parametrem je název adresáře ● mkdir -p adr/adr2/adr3 – lze najednou rmdir adresar ● smazání adresáře ● mazaný adresář musí být prázdný
Soubory – správa touch soubor ● vytvoří soubor nulové délky ● existuje-li, změní datum modifikace na aktuální čas rm soubor ● smazání souboru ● -r – rekurzivní mazání adresáře (včetně obsahu) ● -f – neptej se a mazej Pozor: rm -rf.* → rm -rf.[^.]*
Problém mezery ● mezera je speciální znak, odděluje parametry mkdir nový_adresář – nepoužívat mezeru není dost praktické řešení mkdir nový adresář – vytvoří dva adresáře mkdir "nový adresář" – vytvoří jeden adresář s mezerou v názvu touch 'nový soubor.txt' – dtto, avšak uvnitř nefungují speciální znaky (např. $) rmdir nový\ adresář – jednorázové potlačení speciálního významu spec. znaku
Typické adresáře v kořeni FS /bin – běžné nástroje /etc – konfigurační soubory /home – domácí adresáře /lib – knihovny /media – vyměnitelná média /net – připojené síťové FS /proc – data z jádra OS /root – domácí adresář správce /sbin – nástroje pro správu /sys – správa jádra /usr – uživatelské programy /var – měnící se data programů
Připojování dalších FS bin etc home huzva texty skripty jane fotky video lib usr / Kořen je připojen na základní FS Do /home je připojen další disk Připojený FS může mít odlišnou stavbu (NTFS, FAT, ext3, XFS, síťový NFS,...)
Příkaz df ● informace o (připojených) souborových systémech (disk filesystem) ● zobrazuje velikost, obsazeno, volno, procenta, přípojný bod ● -h → přepočet na násobky jednotek ● jinak info o počtu násobků 1024 bajtů Souborový systém Velikost Užito Volno Uži% Připojeno do /dev/sda2 30G 7,1G 21G 26% / /dev/sda3 219G 77G 132G 37% /home /dev/sda1 90G 9,8G 75G 26% /media/WinXP
Připojení USB flash ● zasuneme klíčenku do USB ● řadič USB detekuje hot-plug událost ● vyjedná napájení ● zjistí: typ zařízení, ID výrobce, ID zařízení ● informuje přerušením OS o události + řekne detaily ● v Linuxu HAL démon detekuje hot-plug ● zavede ovladač mass storage (ví dle typu) ● připojí do vhodného adresáře (příkaz mount) – typicky /media/LABEL ● informuje aplikace desktopu přes d-bus – objeví se průzkumník, bublina v rohu atd.
Příkaz mount a umount ● připojování (a odpojování FS) ● jen root nebo pomocí helperu (spec. program) mount /dev/sdb1 /media/LABEL ● první parametr je název speciálního zařízení ● soustředěny do /dev, vznikají automaticky ● sdb je druhý detekovaný disk (IDE je hdb ) ● číslo značí pořadí oddílu na disku ● druhý parametr je adresář, kam připojit ● parametr může upřesnit typ FS, heslo apod. ● odpojování: umount /media/LABEL