Sedláme Linux, 10. díl: archivace a komprimace

V dnešní části zakončíme naše povídání o textovém režimu GNU/Linuxu. Podíváme se na archivaci, komprimaci a instalaci programů ze zdrojových kódů. V závěru si pak projdeme některé důležité činnosti, které se jinam nevešly.
Sedláme Linux, 10. díl: archivace a komprimace

Archivace a komprimace

Archivace

K archivaci dat slouží program tar (tape archiver). Původně byl určen k archivaci na magnetickou pásku - ale doba už poněkud pokročila a časy, kdy se data zálohovala na magnetické pásky, jsou téměř nenávratně pryč (i když ještě ne úplně - velké objemy dat se takto zálohují i v dnešní době). Dnes tedy využíváme tento příkaz k obecné archivaci dat.

Vytvoření archivu vlastně znamená, že několik souborů spojíme do jednoho a jsme schopni tento celistvý soubor zase následně rozdělit do původních souborů anebo přidat/ubrat soubory do/z tohoto archivu. Nutno podotknout, že archivace nemění velikost souborů, tj. pokud archivujeme soubory, jejichž celková velikost je 10 MB, bude velikost archivu také 10 MB.

Program tar umí pracovat ve čtyřech různých módech, které jsou ve volbách symbolizovány jedním písmenem. Jedná se o x - rozbalení existujícího archivu (extract), c - vytvoření nového (create), t - výpis obsahu, nebo r - přidání souboru do archivu.

Další nezbytností je zadání souboru, do nějž zapisujeme nebo ze kterého čteme. Tento soubor specifikujeme volbou f. Nyní už můžeme jen pro úplnost doplnit volbu v (verbose), která zajistí, že nás bude systém v průběhu práce s archivem informovat o prováděné činnosti.

Pro vytvoření archivu tedy můžeme použít příkaz:

tar cvf home.tar /home/kmartin

Vytvoří se archiv home.tar, který bude obsahovat všechny soubory z adresáře /home/kmartin.

Pro rozbalení archivu nám poslouží příkaz:

tar xvf home.tar

Komprimace

Když mluvíme o komprimaci, pak máme na mysli zmenšení velikosti souboru. V GNU/Linuxu nemůžeme vzít adresář a ten celý zkomprimovat do jednoho souboru. Nejprve si vytvoříme archiv, který bude tyto soubory obsahovat a ten následně zkomprimujeme. Můžeme použít následující zápis:

gzip home.tar

Původní soubor se nám promění na home.tar.gz. Pro dekomprimaci pak poslouží příkaz:

gunzip home.tar.gz

Máme ale ještě jednu možnost. Už při archivaci můžeme zajistit, aby se archiv zároveň zkomprimoval. Pak zkrátka mezi volby příkazu tar začleníme i z, tedy:

tar cvfz home.tar.gz /home/kmartin

Dekomprimace s rozbalením archivu vypadá zcela obdobně:

tar xvfz home.tar.gz

Instalace programů

1) RPM balíčky

Přejděme ale k jiné problematice. K instalaci programů. Jestliže si stáhneme nějaký program v podobně RPM balíčku, měli bychom vědět, co s ním.

Ze všeho nejdříve se podíváme, co všechno o něm víme. Stáhneme si například tkwrite-7.2-4.i386.rpm. Již z jeho názvu vidíme několik důležitých věcí:

Název programu: tkwrite
Verze: 7.2
Release (vydání): 4
Platforma: 386 (a vyšší)

Zastavme se ještě na chvíli u platformy. Pokud je zde napsáno i386, znamená to, že se jedná o předkompilovanou verzi programu pro procesory 386 a vyšší. Může zde být ale uvedeno i 586 (většinou nefunguje na 486), 686, alpha nebo noarch. Poslední možnost udává, že obsah balíčku není závislý na HW platformě. Jedná se většinou o interpretované programy (vyžadují ke svému spuštění interpret - programové prostředí, které zajišťuje jejich běh a správu). Pokud balíček obsahuje pouze zdrojové kódy programu, bude zde místo platformy uvedeno src (source).

Jak ho teď ale nainstalujeme? Jednoduše.

rpm -i tkwrite-7.2-4.i386.rpm

Parametr -i zajistí instalaci. Naopak pro odstranění balíčku použijeme -e (erase). Abychom mohli nainstalovat novou verzi programu, musíme nejprve odstranit starou verzi a pak teprve nainstalovat novou. Bude to tedy vypadat zhruba takto:

rpm -e tkwrite-7.0-2

rpm -i tkwrite-7.2-4.i386.rpm

Tak jako všechno, můžeme i tuto operaci shrnout do jednoho příkazu a efektivně ji nahradit přepínačem -U (update):

rpm -U tkwrite-7.2-4.i386.rpm

Jestli se vám zdají tyto operace náročné a těžko zapamatovatelné, pak můžete pro lepší manipulaci s RPM balíčky využít nejrůznější snadno ovladatelné nadstavby. Mezi nejoblíbenější patří Grab nebo Purp.

2) Zdrojové kódy

Programy ale můžeme instalovat také ze zdrojových kódů. Ty jsou většinou šířeny v podobě TARballů, tedy komprimovaných archivů (.tar.gz).

Konkrétní postup instalace se může v závislosti na příslušném programu mírně lišit. Záleží především na konfiguračních volbách, apod. Všechny důležité informace bychom měli najít v souboru INSTALL, který by měl být součástí každého programu.

Obecný postup je vcelku jednoduchý. Ze všeho nejdříve TARball rozbalte, jak jsme se to naučili o několik řádků výše. Pak se přesuňte do adresáře, do kterého byl rozbalen a zapište:

./configure

Tím spustíme skript, který prohlédne náš systém a zjistí jeho přesné parametry. Na základě těchto vypátraných informací pak vygeneruje soubor Makefile, se kterým se pracuje v další fázi instalace.

make

Jako další zadáme příkaz make. Tím zkompilujeme zdrojové kódy tak, aby z nich bylo možné program definitivně nainstalovat.

make install

Tímto příkazem pak program nainstalujeme.

Přiznám se, že osobně upřednostňuji nástroj checkinstall, který je mj. běžnou součástí distribuce Debian GNU/Linux, ale je k dispozici i pro ostatní (v SuSE 8.1 je také standardně umístěn). Ten umožňuje program buď nainstalovat nebo z něj vytvořit RPM či DEB balíček, což může být vhodné v některých případech, kdy se obáváme problémů se závislostmi.

Co se jinam nevešlo

V rychlosti si teď projdeme několik důležitých věcí, na které se už nedostalo anebo jsem na ně zapomněl.

1) Vypnutí & restart systému

K restartování systému můžeme využít příkaz reboot, případně shutdown -r xxx, kde xxx nahradíme časovým údajem. Například:

shutdown -r now

Pro vypnutí systému slouží příkaz halt nebo shutdown -h xxx, tedy opět například:

shutdown -h now

2) Připojení disku, diskety, CD mechaniky,...

Pro připojení dalších periferií, tedy zejména dalšího disku, disketové mechaniky nebo mechaniky CD-ROM, slouží příkaz mount. Pokud jsme přihlášeni jako běžný uživatel, zadáme mu jako parametr adresář, který je v souboru /etc/fstab asociován s příslušným zařízením. Například adresář /disketa může být asociován s /dev/fd0, což je ovladač právě pro disketovou mechaniku. Zápis pak bude vypadat takto:

mount /disketa

Jestliže pracujeme na účtu správce systému (root), můžeme připojovat kterékoliv zařízení do kteréhokoliv adresáře ("přípojného bodu"). Pak vypadá zápis takto:

mount /dev/fd0 /etc/blbost/kravina/disketa

Případně můžeme specifikovat cílový souborový systém (ve většině případů bývá rozeznán automaticky):

mount -t msdos /dev/fd0 /etc/blbost/kravina/disketa

Uvedeným příkazem se připojí disketová mechanika a bude očekáván souborový systém FAT16.

Před ukončením práce se systémem je nutné všechny periferie odpojit. Jinak můžeme mít při opětovném spuštění systému problémy (zvláště pokud využíváme Ext2FS). To provedeme příkazem umount. Za ním stačí uvést přípojný bod, tedy například:

umount /disketa

Podmínkou je, že s příslušným adresářem nesmíme pracovat (nesmíme se v něm ani nacházet).

Další možností pak je odpojení všech periferií najednou (platí stejná podmínka jako v předchozím případě). Pak použijeme přepínač -a (all):

umount -a

Tolik tedy k textovému režimu operačního systému GNU/Linux. V příští části se přesuneme do X11, tedy grafického prostředí.

Témata článku: Linux, Mount, Pace, Tape, Archiv, Důležitý soubor, Disketa, Díl, Archivace, Lin

106 komentářů

Nejnovější komentáře

  • info, info 19. 12. 2005 23:50:31
    < >
  • Martin Kysela 10. 8. 2003 15:21:54

    ad IQ - na to uz jsem reagoval hodnkrat, tady to proto pisu...

  • Pichi 8. 8. 2003 13:15:11
    Tak jako na všechno, tak i na tohle je v unixových, potažmo v GNU zvlášť...
Určitě si přečtěte

Co je realita a fikce? Brzy to nepoznáme. A.I. ze Stanfordu tvoří fotky z neexistujících měst

Co je realita a fikce? Brzy to nepoznáme. A.I. ze Stanfordu tvoří fotky z neexistujících měst

** Fotografii každý vnímá jako jednoznačný důkaz ** časem to ale přestane platit ** Strojové učení se totiž neustále zdokonaluje

16.  8.  2017 | Jakub Čížek | 13

Nový Skype! Vypadá jinak a je „sociálnější“

Nový Skype! Vypadá jinak a je „sociálnější“

18.  8.  2017 | Markéta Mikešová | 42

USB zařízení je možné odposlouchávat ze sousedního portu

USB zařízení je možné odposlouchávat ze sousedního portu

** Crosstalk byl dřív problém paralelních portů, dnes se ho pokusili prověřit na USB ** Zařízení ze sousedního USB portu může odposlouchávat to vedlejší ** Mohou vznikat záškodnické flašky nebo třeba USB lampičky

14.  8.  2017 | Adam Harmada | 19


Aktuální číslo časopisu Computer

Velký test NVMe a SATA SSD

Máte slabý signál
Wi-Fi? Poradíme!

Jak umělá inteligence opravuje fotky

Kupujete dron? Ty levné se nevyplatí