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.

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í.

Diskuze (106) Další článek: Mimail – poštovní červ schovaný v HTML

Témata článku: Linux, Archivace, Mount, Obecný postup, Komprimace, Archiv, Pace, Důležitý soubor, Disketa, Lin, Díl, Tape, Stejná podmínka, Arc, Komprimovaný archiv


Určitě si přečtěte

Takhle zemřete, když asteroid dopadne na vaše město

Takhle zemřete, když asteroid dopadne na vaše město

** Jak by to dopadlo, kdyby na světovou metropoli či do nedalekého moře dopadl velký asteroid? ** Simulovali to odborníci z University of Southampton ** Výsledky jsou velmi zajímavé

Petr Kubala | 32

Apple: naše mapy budou nejlepší na světě. Tajně jsme na nich pracovali několik let

Apple: naše mapy budou nejlepší na světě. Tajně jsme na nich pracovali několik let

** Apple odhalil své plány na zcela nové mapy ** Několik let pracuje na nových mapách, které by měly předběhnout konkurenci ** Objeví se s příchodem iOS 12 pro vybrané státy

Karel Javůrek | 50

Alan Turing: Genius, který matematicky stvořil počítač

Alan Turing: Genius, který matematicky stvořil počítač

Řešením matematického problému se dostal k modelu teoretického stroje, který nese jeho jméno a je základem logiky univerzálních počítačů.

Pavel Tronner | 56

15 věcí, které umí Windows 10, ale možná o nich vůbec nevíte

15 věcí, které umí Windows 10, ale možná o nich vůbec nevíte

** Systém Windows 10 umí spoustu užitečných drobností ** O mnoha praktických funkcích pravděpodobně ani nevíte ** Poznejte užitečné tipy, které se vám mohou hodit každý den

Vladislav Kluska | 36

Google ADT-2: Miniaturní krabička s Android TV 8.0, kterou si nikdy nekoupíte

Google ADT-2: Miniaturní krabička s Android TV 8.0, kterou si nikdy nekoupíte

** Dlouho se nevědělo, co to přesně má být ** Pak se s krabičkou Google pochlubil na I/O ** Do „Chromecastu“ vtěsnal celý Android TV

Jakub Čížek | 24

Jak dopadl velký den Applu s náloží novinek: Sledujte, co letos připravil

Jak dopadl velký den Applu s náloží novinek: Sledujte, co letos připravil

** Apple večer představil novinky ** Ukáže nové operační systémy, ale čekala se i nová zařízení ** Začíná vývojářská konference Applu WWDC 2018

Karel Javůrek | 87


Aktuální číslo časopisu Computer

Velký test 18 bezdrátových sluchátek

Vše o přechodu na DVB-T2

Procesory AMD opět porážejí Intel

7 NVMe M.2 SSD v přímém souboji