Oznámení

Sbalit
Aktuálně žádná oznámení.

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

Sbalit
X
Sbalit
  •  

  • Používání komprimačních utilit lha, lzx a unzip

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

    Lha v amize pravděpodobně nemám.
    ​Lha v amize pravděpodobně nemám.

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

    Lha nalezeno. Bude se pravděpodobně nacházet v C:
    ​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 používat. Nicméně nyní 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.

    Execute Command – spuštění Shellu
    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)

    „Instalace“ Lha – část 1.
    ​„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ří!

    „Instalace“ Lha – část 2.
    ​„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é adresář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.

    Příkazem lha t ZalohaSystemu.lha jsem právě otestoval, zda je archiv v pořádku.
    ​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ů.

    Doinstalováním doplňku do Total Commanderu lze vstupovat do lha archivů.
    ​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.

    Directory Opus na PC pracuje s lha soubory nativně.
    ​Directory Opus na PC pracuje s lha soubory nativně.

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

    Rozbalení lha archivu v oblíbeném 7zipu.
    ​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 umí komprimovat i prázdné adresáře, bohužel při rozbalování u nich hlásí chybu.
    ​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

    Rozbalení zip archivu za pomoci Unzipu.
    ​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á)

    • Dedy
      #3
      Dedy komentoval
      Editace komentáře
      Fajn článek, taky to mám v DOpusu. Jeden klik a vidím celý archiv, druhým klikem kopíruji co chci a kam chci

    • Cyberian
      #4
      Cyberian komentoval
      Editace komentáře
      Pěkný článek
      DOpus mám takto:
      - Roletka "AmigaDOS" příkaz: lha x {f} RAM:
      - flags: "Do all files", "output window"

      Funguje to i při označení více lha archivů. Vybaluje to do RAMky

    • Falcon_11
      #5
      Falcon_11 komentoval
      Editace komentáře
      Dami, parada
      Ja pouzivat Dopus4.17pre20 a Dopus5.91 a som si to tam nakonfiguroval velmi podobne ako to je v Amikite. Tak mi to vyhovuje, kedze sa stale hram so systemom a potrebujem zalohovat vsetko co je v na systemovej partition.
    Přidávání komentářů není v této časti diskusního fóra bez přihlášení možné, nebo zde nejsou povoleny.

Nejnovější články

Sbalit

  • Sam460 - PCIe průkopník
    vytvořil sailor
    I když je počítač Sam460ex s námi již bezmála patnáct let, je v AmigaNG světě tak trochu nenápadný. Nenajdete o něm téměř žádný blog či recenzi. Snad jen pár videí na youtube. A přesto je tento počítač v několika směrech výjimečný. Takže když už mám od loňska k dispozici jeho poslední verzi Sam460LE, trochu ho představím.

    Sam460ex ( HW: 2010, AmigaOS 4.1 u2: 2011, MorphOS 3.8: 2015)

    1. Historie

    V roce 2008 kdy firma ACube jako jediná vyráběla počítače kompatibilní...
    13.12.2024, 09:37:39

Nové komentáře v článcích

Sbalit

  • pavlor
    Odpověděl na Sam460 - PCIe průkopník
    vytvořil pavlor
    Skvělý článek!
    18.12.2024, 14:54:09
  • sailor
    Odpověděl na Sam460 - PCIe průkopník
    vytvořil sailor
    Také musím říct, že mě Sam460le mile překvapil.
    3D ovladače pro MorphOS jsou v procesu . Kupodivu doopravdy. Bigfoot na tom dělá.
    V devátém veřejném upgradu TinyGL již 3D ovladače pro Terascale a Terascale2 byly ( s označením work-in-progress ). Nestihla jsem je vyzkoušet a v desátém upgradu již opět nejsou, takže měly nejspíše nějaké chybky.
    16.12.2024, 19:38:18
  • Stano
    Odpověděl na Sam460 - PCIe průkopník
    vytvořil Stano
    Veľmi sa mi páči, ako výrazne dokáže grafická karta posunúť "starý" či "nevýkonný" počítač smerom k všeobecnej použiteľnosti. Ako sú na tom drivre pre MoprhOS?
    16.12.2024, 19:00:15
  • Falcon_11
    Odpověděl na Sam460 - PCIe průkopník
    vytvořil Falcon_11
    DIk, znova za ďaľší super článeček, kde sa človek podozvedá aj veci, čo ešte ani nepočul, nevidel a tým pádom si pekne doplní svoje vedomosti. Este raz dik.
    16.12.2024, 16:32:22
  • sailor
    Sam460 - PCIe průkopník
    vytvořil sailor
    I když je počítač Sam460ex s námi již bezmála patnáct let, je v AmigaNG světě tak trochu nenápadný. Nenajdete o něm téměř žádný blog či recenzi. Snad jen pár videí na youtube. A přesto je tento počítač v několika směrech výjimečný. Takže když už mám od loňska k dispozici jeho poslední verzi Sam460LE, trochu ho představím.

    Sam460ex ( HW: 2010, AmigaOS 4.1 u2: 2011, MorphOS 3.8: 2015)

    1. Historie

    V roce 2008 kdy firma ACube jako jediná vyráběla počítače kompatibilní...
    13.12.2024, 09:37:39
  • Prober (CADA)
    Odpověděl na Sam460LE a A1222 Plus, duel velterových vah
    vytvořil Prober (CADA)
    Cena? Přece klasická Amigácká. Samotná deska včetně 4GB RAM je za 1.225 Euro (31.067,- Kč) a kompletní komp potom za 1.605 Euro (40.704,- Kč).
    28.10.2024, 17:44:09
  • Noro
    Odpověděl na Sam460LE a A1222 Plus, duel velterových vah
    vytvořil Noro
    Hezké čtení.
    To s tím FPU co jsem pochopil, byl ten hlavní důvod odkládání A1222+ . Otázka co dál s tíma hlavně jak jsou na tom ceny.
    28.10.2024, 16:25:02
  • Cyberian
    Odpověděl na Programování EPROM na PC podruhé
    vytvořil Cyberian
    Zrovna resim tema MX29F1615 EEPROM programmer, protoze jsem jeden nasel po globalnom prohledavani PCBWay. No a obloukem jsem skoncil tu. Diky za navod, bude se hodit!
    04.09.2024, 06:17:57
  • DaMi
    Odpověděl na Disketa s podporou CF karet v PCMCIA
    vytvořil DaMi
    👍🏽 Paráda Dedy, jste šikovní. 👍🏽
    13.07.2024, 19:24:00
  • Dedy
    Odpověděl na Disketa s podporou CF karet v PCMCIA
    vytvořil Dedy
    Tak jsem se konečně dostal ke zprávě o úspěšné instalaci AOS3.2.2. Sice s menšími problémy a s vydatnou pomocí Derika se na ARTWay podařilo, na čistou CF, a teď sbírám odvahu na přeinstalaci AOS3.1.4, přece jen je to větší karta. Jo a jinak vše provedeno na IDE LayLines, díky Boboovi, vše zatím funguje, jen ještě opravit tu kolizi PCMCIA s 8 MB paměti, ale to by se mělo vyřešit..
    Díky Dami, skvělá práce.
    12.07.2024, 16:04:03

Populární tagy v článcích

Sbalit

a500 (5) a1200 (6) akce (18) amiga (20) apple (7) artway (6) cybergraphx (5) demoscena (10) dizzy (9) emulace (8) fastata (9) furia (6) hardware (17) internet (7) iomega (6) mac (6) midi (8) morphos (14) navody (10) pfs3 (8) srazy (13) staraskola (5) vrané (5) winuae (10) zip (7)
Zpracovávám...
X