Použití komprimačních utilit lha, lzx a unzip

Autor:

I na amize se z důvodu úspory diskového prostoru nebo snadné manipulace s většími adresáři používají komprimační utility. Většina dostupných archivů je vytvořena v lha, některé v lzx a při přenosu dat z pc do amigy často narazíte i na klasický zip.

Komprimační utilita Lha se v amize používá nejdelší dobu, přičemž za jejím rozšířením stojí nejenom to, že byla jedna z prvních, ale především její open source licence.

Mám v amize lha?

Pokud jste v nedávné době pořídili amigu s nainstalovaným systémem na disku a nejste si jisti, zda již lha nemáte v systému, můžete to ověřit v AmigaDosu, který lze spustit např. přes zkratku PraváAmiga + E a zadáním příkazu newcli.

Spuštění AmigaDosu lze provést mj. zkratkou PraváAmiga+E a zápisem newcli.

Spuštění AmigaDosu

Do konzole napište lha (1) a zmáčkněte enter. Pokud lha v systému nemáte, zobrazí se informace lha:Unknown command. Druhý způsob ověření je příkaz dir c:lh#? (2), který vypíše z umístění C: veškerý obsah začínající na lh. C: je systémový adresář, kde se lha a podobné programy běžně nachází. Pokud je výsledkem nic, jako na obrázku níže, lha se v systémovém adresáři nenachází a je potřeba tuto utilitu do systému přidat.

Testování, zda se v amize nachází utilita lha.

Lha v amize pravděpodobně nemám.

Jestliže do systému někdo někdy lha přidal, zobrazí se tato informace.

Amiga nalezla utilitu lha.

Lha nalezeno. Bude se pravděpodobně nacházet v C:

Pokud tedy lha máte v systému, přeskočte instalační část a začněte tuto komprimační utilitu začít používat. Nicméně budu předpokládat, že ji nemáte a potřebujete ji do systému přidat.

Mimochodem, stejně můžete otestovat přítomnost ostatních komprimačních utilit v systému, tedy lzx i unzip.

„Instalace“ lha

Lha lze stáhnout z aminetu. Stáhněte starší verzi, která je samorozbalovací a pak i novější, která má ošetřeny některé chyby. Oba soubory (lha.run a lha_68k.lha) nahrajte na disketu nebo CompactFlash kartu a nakopírujte je do amigy.

Budu předpokládat, že vše provádíme přes pc dd disketu.

Nastartujte AmigaDOS.

Příkaz pro spuštění shellu z nabídky Execute Command.

Execute Command – spuštění Shellu

A přejděte na disketu příkazem PC0: (1)

Pro jistotu vypište příkazem DIR obsah diskety (2).

Zkopírujte oba soubory (lha.run a lha_68k.lha) do ram disku. To provedete příkazem copy lha#? ram: (3)

První část instalace Lha.

„Instalace“ Lha – část 1.

Nyní přejdeme příkazem ram: (4) do ramdisku a rozbalíme samorozbalovací archiv, stačí pouze napsat lha.run (5) a zápis ukončit entrem.

Rozbalí se několik verzí utility lha pro různé verze procesoru, nicméně my je budeme potřebovat jen pro rozbalení novější verze lha_68k.lha.

Příkazem makedir MojeLha (6) vytvoříme v ramdisku adresář MojeLha, do kterého rozbalíme novější verzi utility lha. Rozbalení provedeme příkazem lha_68k x lha_68k.lha ram:MojeLha/ (7)

Jednotlivé části příkazu znamenají: příkazem lha (konkrétně lha_68k) rozbal (parametr x) archiv lha_68k.lha do adresáře MojeLha v ram: (tedy ram:MojeLha). Na konci musí být bezpodmínečně lomítko, jinak se rozbalení nepodaří!

Druhá část instalace Lha.

„Instalace“ Lha – část 2.

Nyní do adresáře vstoupíme, tedy napíšeme MojeLha (8) a necháme obsah adresáře vypsat příkazem dir (9). Příkazem cpu (10) zjistíme, jaký typ procesoru máme v amize a podle toho nakopírujeme příslušnou verzi utility lha do systémového adresáře C:

  • Soubor lha_68k je určen pro procesory 68000 a 68010;
  • soubor lha_68020 je určen pro procesory 68020 a 68030;
  • soubor lha_68040 je určen pro procesory 68040 a 68060.

Samotné nakopírování příslušeného souboru provedete zápisem copy lha_68020 c:lha (11)

Tento zápis kopíruje soubor lha_68020 do systémového adresáře c: pod názvem lha (tedy proběhne přejmenování výchozího názvu souboru). Kopírujte jen verzi, která se určená pro váš procesor, kopírováním jiné verze si zakládáte na problémy.

Touto, na první pohled komplikovanou, operací lze trvale do systému začlenit utilitu lha, kterou můžete kdykoli později používat pro jakoukoli komprimaci či dekomprimaci souborů a složek.

Ještě si můžete zjistit, jakou máte verzi „lháčka“. To provedete příkazem version c:lha (12).

Jak dekomprimovat lha archivy

Nyní lze lha používat velmi jednoduše. Stačí spustit AmigaDos a do něj napsat

Lha x NázevArchivu.lha – archiv se rozbalí na místě, kde momentálně jste

nebo

lha x NázevArchivu.lha ram: – archiv se rozbalí do ramdisku

nebo

lha x NázevArchivu.lha ram:MujAdresar/ archiv se rozbalí do ramdisku do adresáře MujAdredar. Pokud adresář neexistuje, utilita lha si jej vytvoří. Při rozbalování do adresáře je vždy nezbytné zápis ukončit lomítkem.

Jak vytvářet lha archivy

Archiv lze vytvořit zápisem

lha a MistoANazevNovehoArchivu MistoKtereChciArchivovat/#?

Příklad 1: lha a ram:ZalohaSystemu sys:#? vytvoří v ramdisku nový soubor s názvem ZalohaSystemu.lha, v kterém bude archivováno vše na systémovém disku sys:. Zápis sys:#? znamená zarchivování všech soborů a neprázdných adresářů. #? odpovídá písíčkovému zápisu *.*.

Příklad 2: lha a ram:Turrican dh1:games/turrican/#? vytvoří v ramdisku archiv Turrican.lha, který bude obsahovat všechny soubory a neprázdné adresáře nacházející se na uvedeném místě, tedy na dh1:games/turrican/.

Bohužel pokud by v umístění byly prázdné adresáře, nebudou do archivu přidány. Přidání prázdných adresářů lze docílit přepínačem -e a přepínačem -r, tedy výsledný zápis vypadá takto: lha -e -r a ram:Turrican dh1:games/turrican/#?, nicméně zrovna ve whdload archivu Turricana prázdné adreáře nejsou.

Přehled některých užitečných přepínačů:

  • -e archivace prázdných adresářů;
  • -x zachování názvů cest;
  • -r zpracování archivu vzestupně podle názvu;
  • -Qh velikost Huffmanova bufferu, např. Qh64;
  • -b velikost I/O bufferu;
  • -V multivolume archivy (funguje do velikosti jedné diskety?).

Po nainstalování funkčního systému (Workbenche) vůbec není od věci vytvořit si lha zálohu za pomoci výše uvedených příkazů. Pokud se se systémem cokoli stane, stačí disk zformátovat (quickformat), nastartovat systém z diskety s podporou cf karet a systém rozbalit na původní partition. Ušetříte si tím spoustu času. Zálohu celého systému lze dosáhnout již zmíněným zápisem lha -e -x -r a cf0:ZalohaSystemu sys:#?.

Po vytvoření archivu je užitečné provést test, zda se archiv vytvořil správně. Toho lze dosáhnout příkazem lha t Cesta:NazevArchivu.lha.

Test existujícího archivu.

Příkazem lha t ZalohaSystemu.lha jsem právě otestoval, zda je archiv v pořádku.

Pokud byste prováděli rozbalování většího archivu častěji, lze rozbalování risknout přepínačem -q, který nebude vypisovat průběh rozbalování (nebo i komprimace) na obrazovku, čímž se proces dekomprimace i komprimace výrazně zrychlí (cca na 1/4 času). Nicméně je zde riziko, že v případě chyby nebudete upozorněni.

Multivolumové archvivy v posledních verzích lha příliš dobře nefungují. Je ověřeno, že multivolumový archiv se dá spolehlivě vytvořit ve verzi lha 1.5. Místo multivolumových archivů spíše doporučuji používat HJSplit.

Lha ve Windows

Pakovací algoritmus lha je dostupný pro Windows i jiné platformy. Po spuštění instalátoru se lha „nainstaluje“ do C:\Program Files (x86)\GnuWin32\bin

Je rozumné odsud soubor lha.exe nakopírovat do C:\Windows\System32, protože pak stačí kdykoli vyvolat cmd a komprimovat/dekomprimovat přímo v cmd.

Použití Lha ve Windows 10

Použití Lha ve Windows 10.

Lha podporu lze taktéž doinstalovat do TotalCommanderu, pak můžete do lha archivů přistupovat přímo z vašeho oblíbeného správce souborů.

Lha v Total Commanderu.

Doinstalováním doplňku do Total Commanderu lze vstupovat do lha archivů.

A jestli používáte na Windows Directory Opus, podpora lha archivů je dlouhodobě součástí Opusu, aniž by bylo potřeba cokoli dodatečně instalovat.

Lha v Directory Opusu

Directory Opus na PC pracuje s lha soubory nativně.

Lha soubory lze ve Windows rozbalit např. i 7zipem.

7zip rozbaluje lha archiv

Rozbalení lha archivu v oblíbeném 7zipu.

Jak pracovat s lzx archivy

Lzx je kompresní metoda, která umožňuje sadu několika souborů spojit do jednoho bloku dat a teprve tento blok zkomprimovat. Tato velmi efektivní metoda se nazývá file merging, její účinnost je až 300% a ve své době byla považována za unikátní. Za komprimačním algoritmem lzx stojí pánové Jonathan Forbes a Tomi Poutanen, kteří tento algoritmus na amigu vyvinuli v polovině devadesátých let. Lzx bylo shareware, nicméně od roku 1997 byl uvolněn generický klíč, který zpřístupnil všechny funkce lzx všem uživatelům jako freeware. Komprimační utilitu lzx včetně generického klíče lze stáhnout z Aminetu. Bohužel tato verze obsahuje chybu dekodování časových údajů i souborů vytvořených po roce 2000. Jako opravu lze použít tento patchovací balíček. Dalším zdrojem informací, včetně patchnuté verze lzx, je tato stránka.

Lzx archiv lze vytvořit zápisem:

lzx a ram:nazev_archivu sys:#?

který lze číst takto: použij lzx (lzx) pro komprimaci (a), výsledek ulož do souboru v (např. ram:nazev_archivu) a do tohoto archivu zařaď vše, co se nachází na místě (např.: sys:#?).

Pokud by se jednalo o komprimaci jen určitého adresáře, poslední parametr bude vypadat takto: dh1:games/turrican/#?

Lzx osahuje množství užitečných přepínačů:

  • -Qf zrychlí kompresi (spotřebuje více RAM);
  • -9 je maximální komprese (-0 – nekomprimuje, -1 – min. komprese, -2 výchozí, -3 – vyšší účinnost, -9 – maximální účinnost. Tento přepínač lze nastavit jen u lzx pro procesory 68020 a vyšší (tedy přepínač nefunguje v základní verzi pro 68000);
  • -bo změní velkost výstupního bufferu. Má vliv na archivaci i dearchivaci a jeho výchozí velikost je 64 Kb. Při de/kompresi určuje velikost zásobníku, po jejíž dosažení se data zapíší na disk. Zápis ne např. -bo256;
  • -q tichý režim, údaje se nevypisují na obrazovku;
  • -r prohledávání všech adresářů a zpracování jejich cest (tato volba automaticky obsahuje -x, které tím tedy není nutné zapisovat);
  • -x zachování adresářové cesty;
  • -e archivuj prázdné adresáře.

Skutečný zápis může vypadat takto:

lzx -r -e -Qf -9 -q a ram:turrican dh1:games/turrican/#?

Rozbalení lzx archivu lze provést zápisem:

Lzx x CoChciRozbalit KamToChciRozbalit

tedy např. lzx x ram:turrican.lzx games:Turrican/Turrican1/

Jestliže bude součástí archivu i informace o zabaleném adresáři, je lepší v zápise odebrat poslední část, tedy:

tedy např. lzx x ram:turrican.lzx games:Turrican/

Dále doplním, že přepínač -e zaarchivuje i prázdné adresáře (pokud v umístění existují). Při rozbalování prázdných adresářů se zobrazuje chyba, nicméně nic není špatně, je to jen rozbalení prázdného adresáře.

Lzx a prázdné adresáře

Lzx umí komprimovat i prázdné adresáře, bohužel při rozbalování u nich hlásí chybu.

Jak rozbalit ZIP archivy

Především whdload hry jsou zabaleny v klasickém zipu. Pokud byste je chtěli rozbalovat přímo na amize, použijte unzip. Tento balíček stačí rozbalit např. do ram disku a odtud nakopírovat unzip do systémového adresáře c:

Shrnutí příkazů:

Unzip NazevArchivu.zip – rozbalí soubory v místě, kde se nachází archiv

Unzip NazevArchivu.zip -d ram: – rozbalí archiv do ram disku

Nebo

Unzip NazevArchivu.zip -d dh1:games/Turrican – rozbalí archiv do dh1:games/Turrican

Unzip na amize rozbaluje zip archiv.

Rozbalení zip archivu za pomoci Unzipu.

Shrnutí příkazů jednotlivých komprimačních utilit

  • Příklad komprimace: lha -r a ram:nazev_archivu ram:jmeno_archivovaneho_adresare/#?
  • Příklad dekomprimace: lha x ram:nazev_archivu ram:jmeno_destinace/
  • příklad komprimace: lzx -r -e -Qf -9 -q a ram:nazev_archivu ram:adresar_archivovat/#?
  • příklad dekomprimace: lzx x cesta_a_nazev_archivu cesta_kam_dearchivovat/
  • Příklad dekomprese: unzip CoChciRozbalit -d KamToChciRozbalit (lomítko se konec nedává)

Komentáře k "Použití komprimačních utilit lha, lzx a unzip"

Napsat komentář (Přihlásit se)

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

*