compress
A compress (/usr/bin/compress) tömörítő program UNIX-on és UNIX-szerű operációs rendszereken. Funkcióját a POSIX szabvány, a Single UNIX Specification és az IEEE 1003.1 szabvány tartalmazza.[1] Ellentétével, uncompress-szel (/usr/bin/uncompress) együtt archívumok helytakarékos kezelését szolgálja.
A compress tömörítési algoritmusát a Unisys szoftverszabadalma védte,[2] míg az LZW és az LZ78 algoritmusokat Terry A. Welch és társai szabadalmi joga.
A következő POSIX- és Single Unix Specification-változatban a tervek szerint a gzip Deflate algoritmusa támogatott lesz.[3]
Módszer
[szerkesztés | forrásszöveg szerkesztése]A Lempel–Ziv-algoritmust nem támogató rendszereken a compress az argumentumként megadott fájlokat nem módosítja, hanem 2-nél nagyobb Error Levellel megszakad. Ugyanígy megszakadáshoz vezet, ha a .Z kiterjesztés a NAME_MAX rendszermagkonstans által meghatározott maximális névhosszt túllépné.
Más rendszereken a fájlokat tömöríti és a tömörített fájllal helyettesíti, melynek nevét a .Z kiterjesztéssel egészíti ki. Ha az ezt végrehajtó folyamat jogosultsága elegendő, a jogosultságok és a tulajdonosok megmaradnak. E fájlokat a uncompress révén lehet kicsomagolni, mely a névvégi .Z kiterjesztést eltávolítja.
Hasonlóan a gziphez és a bzip2-höz a compress csak egyes fájlokat tömörít. Ha több fájl vagy teljes könyvtárhierarchia tömörítendő, gyakran archiváló programmal (például tar, cpio, backup stb.) együtt használják, melynek kimenete végül tömöríthető.
Szabadalmi jogok
[szerkesztés | forrásszöveg szerkesztése]A POSIX szabvány rögzíti, hogy a compress fájlokat az adaptív Lempel–Ziv-algoritmus (LZC, az LZW algoritmus változata) alapján szerkeszti. Ezen algoritmust (pontosabban az alapot képző LZ78 algoritmust) és a kiterjesztését 2003-ig (Japánban 2004-ig) Terry A. Welch szabadalmi joga védte, melyet a Sperry Corporationnek adtak ki.[4][5]
Alternatívák
[szerkesztés | forrásszöveg szerkesztése]Többek közt e jogvédett folyamattól való függés miatt fejlesztették ki az alternatívákat, a gzip és a bzip2 algoritmusokat, melyek mindegyike hasonló, de nem jogvédett tömörítő algoritmusokon alapul. A GNU operációs rendszer így gzipet (GNU-zip) használ a compress helyett. A gzip képes bár compress-szel kapott fájlokat olvasni és kicsomagolni, de a tömörítés az ahhoz használt (korábban) szabadalmi jogok által védett folyamat miatt nem volt támogatott. Ennek ellenére Unixon és BSD-n a compress használatban maradt, és a compress és uncompress parancsokat az IBM i operációs rendszerrel is kompatibilissé tették.[6]
Használat, példák
[szerkesztés | forrásszöveg szerkesztése]Általában a compress egy vagy több fájlnevet kér argumentumként, és e fájlokat cseréli le tömörített változatukra. A -c kapcsolóval e változat viszont a stdout-ra íratik ki a fájlrendszer tartalmának változtatása nélkül. Ez használható a tömörített másolatok külső eszközökön való tárolására (az adatfolyamot egy megfelelő program megfelelő csatornán teszi elérhetővé), vagy a kimenő fájlok törlésének megkerülésére:
# compress -c /path/to/input > /path/to/output.Z
Ezenkívül a -c N lehetővé teszi a tömörítés(i arány) változtatását, ahol N az egy kódhoz maximálisan felhasználható bitek száma (9 és 14 közti értékek támogatottak). A hosszabb kódok jobb tömörítést tesznek lehetővé nagyobb számítási igény mellett.
Jegyzetek
[szerkesztés | forrásszöveg szerkesztése]- ↑ "compress-Spezifikation der Open Group" (angol nyelven). Hozzáférés: 2013. május 12.
- ↑ "Jean-Loup Gailly, acteur méconnu de l'Open Source.". Planete Linux (francia nyelven) (20). 2002. 2002. október 30. dátummal az eredeti címről archiválva. Hozzáférés: 2012. június 22.
{{cite journal}}:|first1=missing|last1=(súgó); Unknown parameter|journal-link=ignored (súgó); Unknown parameter|month=ignored (súgó); Unknown parameter|name1=ignored (súgó) - ↑ "0001041: Encourage implementations to include better integrity checksum, compression and decompression utilities if possible". Austin Group Bug Tracker. Hozzáférés: 2017. november 23.
- ↑ Apparatus and method for compressing data signals and restoring the compressed data signals
- ↑ High speed data compression and decompression apparatus and method
- ↑ IBM. "IBM System i Version 7.2 Programming Qshell" (PDF). IBM (angol nyelven). Hozzáférés: 2020. szeptember 5.
Fordítás
[szerkesztés | forrásszöveg szerkesztése]- Ez a szócikk részben vagy egészben a compress című német Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.