Felhasználói eszközök

Eszközök a webhelyen


oktatas:linux:toemoerites

< Linux

Tömörítés

Archiválás

Archiválás az esetünkben annyit jelent, hogy könyvtárakat, fájlokat egyetlen állományba rendezzük. Néhány tömörítő program ezt automatikusan megteszi. Más tömörítő programok, feltételezik, hogy a már egy archivált állományt szeretnénk tömöríteni.

tar

A tar a leggyakrabban használt archiváló program.

Becsomagolás:

tar -cf adat.tar adat
tar --create --file adat.tar adat

Kibontás:

tar -xf adat.tar
tar --extract --file adat.tar
tar --get --file adat.tar

Tartalom megtekintése:

tar -t adat.tar
tar --list adat.tar

Fájl csatolása az archív fájl végéhez:

tar -r -f adat.tar ujfajl

Fájl törlése az archívból:

tar --delete -f adat.tar torlendofajl

A tar archívhoz egy másik tar archívot fűzünk:

tar -A -f adat.tar masik.tar

shar

Telepítés

apt install sharutils

Archiváló program. A csomag telepítésével a következő parancsok lesznek elérhetők:

  • shar
  • unshar
  • uudecode
  • uuencode

Archív készítés:

shar dir1 > adat.shar

Kicsomagolás:

unshar adat.shar

Néhány kapcsoló:

  -j, --bzip2
  -z, --gzip
  -Z, --compress
  -o prefix, --output-prefix=prefix

Tömörítés

Az állományokat veszteségmentesen tömöríteni szoktuk a kisebb helyfoglalás érdekében. Erre a célra különféle algoritmusok alakultak ki az évek során. Ilyenek:

  • LZW
  • LZMA
  • LZX
  • LZ77
  • DEFLATE
  • Huffman-kódolás

arc

LZW algoritmus. Későbbi változatok LZW 13 bites verziója, a 12 helyett.

Telepítés:

apt install arc

Archív készítése:

arc a adat.arc adat1 adat2 adat3 adat4

Kicsomagolás:

arc x adat.arc

compress

A compress parancs az ncompress csomag része és LZX algoritmust használ. Nem leghatékonyabb algoritmus, de a korai Unix rendszerek ezt használták.

Telepítés rendszergazdaként:

apt install ncompress

Használata:

mkdir gy
echo 01234567890123456789012345689 > gy/a.txt
tar -cf gy.tar gy
compress gy.tar

Az eredmény egy .Z kiterjesztésű fájl:

  • gy.tar.Z

Nézzük meg a fájl méretét:

ls -l

Kicsomagolás:

uncompress.real gy.tar.Z

zip

A zip a DEFLATE algoritmust használja. A DEFALTE algoritmus az LZ77 és a Huffman keveréke.

Telepítés rendszergazdaként:

apt install zip

Tar fájl tömörítés:

zip gy.tar.zip gy.tar

Txt fájl tömörítés:

zip gy.zip gy.txt

Egy könyvtár tömörítése:

zip -r dir1.zip dir1

Hozzáadás:

zip -g gy.zip gy2.txt

Fájl törlése:

zip -d gy.zip gy2.txt

Tesztelés:

zip -T gy.zip

Tartalom listázása:

unzip -l gy.zip

Tömörítési szint -#

  • legkisebb: -1
  • legnagyobb: -9
  • alapértelmezett: -6

Példa:

zip -9 

Kicsomagolás:

unzip gy.zip

Használhatók még:

7z x gy.zip

Igaz grafikus program, de lehet parancssorban is használni:

ark -ab gy.zip

arj

LZH algoritmust használ, ami az LZ77 és a dinamikus Huffman-kódolás kombinációja. A finomított szótárkezelés hatékonyabbá tette szemben a zip-pel.

Telepítés rendszergazdaként:

apt install arj

Tar fájl tömörítése:

arj a gy.tar.arj gy.tar

Archiválás és tömörítés:

arj a gy.arj *.txt

Kicsomagolás:

arj e gy.arj

Tartalom megjelenítése:

arj l gy.arj

rar

A LZSS (Lempel-Ziv-Storer-Szymanski) algoritmust használja, ami az LZ77 fejlettebb változata. E-mellett fejlett adattípus felismerőképessége tette hatékonnyá.

Az /etc/apt/sources.list fájlban fel kell venni a non-free ágat, majd mehet a telepítés:

Telepítés rendszergazdaként:

apt install rar
rar a gy.tar.rar gy.tar
  • kiterjesztés: rar
rar a gy.rar *.txt
rar a gy.rar adat[1-3].txt

Kicsomagolás:

rar x gy.rar

Tartalom megtekintése:

rar l gy.rar

Fájl törlése az archívumból:

rar d gy.rar gy1.txt

Tesztelés:

rar t gy.rar

Egy fájl hozzáadása:

rar a gy.rar gy1.txt

7za

Korábban LZMA algoritmust használta, mostanság LZMA2.

Magas tömörítési aránnyal dolgozó tömörítő.

Telepítés rendszergazdaként:

apt install 7zip

Régebben: apt install p7zip-full.

  • kiterjesztés: 7z

Tömörítés:

7za a gy gy[1-3].txt

Kibontás:

7za e gy.7z
p7zip -d gy.7z

Tartalom:

7za l gy.7z

Egy fájl kiszedése és törlése az archívból:

7za d gy.7z gy1.txt

gzip

A DEFLATE algoritmust használja, de nem tud archiválni, csak tömöríteni.

  • kiterjesztés: .gz

Becsomagolás:

gzip gy.txt
  • gzip gy.tar

Kicsomagolás:

gzip -d gy.tar.gz
gunzip gy.tar.gz

A gunzip képes kicsomagolni a gzip, zip, compress és a pack tömörítő programok csomagjait.

xz

LZMA2 algoritmust használja.

  • kiterjesztés: .xz

Tömörítés:

xz gy.tar

Kibontás:

xz -d gy.tar.xz

Információ egy archívról:

xz -l gy.tar.xz

Tömörítési szint:

  • minimum: -0
  • maximum: -9
  • alapértelmezett: -6
zx -9 gy.tar

lzip

Az eredeti tiszta LZMA algoritmust használja.

Telepítés rendszergazdaként:

apt install lzip
  • kiterjesztés: lz

Tömörítés:

lzip gy.tar

Kicsomagolás:

lzip -d gy.tar.lz

Tömörítési szint:

  • minimum: -0
  • maximum: -9
  • alapértelmezett: 6
  • --fast -0
  • --best -9
  • lzip -9 gy.tar

bzip2

Szakít a hagyományos algoritmusokkal. Burrows-Wheeler transzformáció (BWT), Move-To-Front (MTF), Huffman-kódolás, használja.

Telepítés rendszergazdaként:

apt install bzip2
  • kiterjesztés: bz2

Tömörítés:

bzip2 gy.tar

Kicsomagolás:

bzip2 -d gy.tar.bz2

ACE

Valamilyen LZ alapú tömörítő eljárás.

ACE tömörítő nem áll rendelkezésre, csak kicsomagoló.

apt install unace

Esetleg non-free:

apt install unace-nonfree

lz4

Az LZ4 algoritmust használja. Méret helyett a szuper nagy sebességre lett optimalizálva.

Telepítés rendszergazdaként:

apt install liblz4-tool

Parancsok:

  • lz4, unlz4, lz4cat

Tömörítés:

lz4 data.tar

Kicsomagolás:

lz4 -d gy.tar.lz4
unlz4 gy.tar.lz4

Az lz4 kicsomagolása esetén megmarad az eredeti .lz4 archívum.

lhasa

LZH algoritmus: A LZSS és statikus vagy dinamikus Huffman-kódolás kombinálva.

Telepítés rendszergazdaként:

apt install lhasa

Csak kicsomagolásra alkalmas.

Kicsomagolás:

lha -e gy.lzh

Tartalom:

lha -l gy.lzh

pigz

A DEFLATE algoritmust használja.

A pigz több szálat használ a tömörítéshez, kihasználva a processzorokat és processzor magokat. A bemenetet 128 KB-s részekre bontja, majd párhuzamosan tömöríti azokat.

A tömörítési formátum gzip, zlib vagy egyszerű zip. Több mag vagy processzor esetén a gzip helyett szoktuk használni.

apt install pigz

Tömörítés:

pigz gy.tar

Kicsomagolás:

pigz -d gy.tar.gz
unpigz gy.tar.gz
pigz --decompress gy.tar.gz
pigz --uncompress gy.tar.gz

zstd

LZ77, FSE(Finite State Entropy) és Huffman-kódolást használja. A zstd képes tanulni. A tanulás során létrehoz egy szótárfájlt.

apt install zstd

Tömörítés:

zstd gy.tar

Kapunk egy ilyet: gy.tar.zst

Kicsomagolás:

unzstd gy.tar.zst

brotli

Az LZ77 és a Huffman-kódolás egy extrém módon továbbfejlesztett változatát használja. Szöveges fájloknál ad jó tömörítési arányt.

apt install brotli
tar -cf valami.tar /valahol/valami
brotli valami.tar

Az eredmény:

  • valami.tar.br

A brotlival tömörített fájlok .br kiterjesztést kapnak.

Csővezeték használata

Becsomagolás:

tar -cO pro[1-3] | gzip -c > pro.tar.gz
  • tar
    • -c archívum létrehozása
    • -O a kimenet a /dev/stdout
  • gzip
    • -c a kimenet a /dev/stdout

Kicsomagolás:

gzip -dc pro.tar.gz | tar -xf -
  • gzip parancs:
    • A -d kapcsoló megmondja, hogy kicsomagolunk.
    • A -c kapcsoló megmondja, hogy az alapértelmezett kimenetre ír.
  • tar parancs:
    • A -x megmondja, hogy kicsomagolunk.
    • A -f a kicsomagolandó fájl következik:
      • A kötőjel, azt jelenti az adatok a /dev/stdin fájlból jönnek.

A gunzip paranccsal:

  gunzip -c pro.tar.gz | tar -xf -

zcat

A zcat segítségével a tömörített fájlok kicsomagolhatók az alapértelmezett kimenetre, miközben meghagyja az eredeti fájlt.

Legyen a példa kedvéért egy adat.tar.gz fájl.

zcat adat.tar.gz > adat.tar
zcat adat.tar.gz | tar -xf -

Az eredeti fájl megmarad.

Vagy legyen .tar.gz kiterjesztés helyett .tgz.

zcat adat.tgz | tar -xf -

Legyen a következő példa kedvéért egy szöveges fájl (.txt), amelyet gzippel tömörítettünk:

gzip adat.txt

Eredmény:

adat.txt.gz

A tartalmát a képernyőre írathatjuk:

zcat adat.txt.gz

A tar és a tömörítés

A tar parancs csak archiválni tud, mivel nem tartalmaz tömörítő algoritmust; de képes meghívni tömörítő programokat.

Archiválás és tömörítés:

tar -czf adat.tar.gz adat

Bőbeszédű változat:

tar -cvzf adat.tar.gz adat

Archiválás és tömörítés .tgz kiterjesztéssel:

tar -czf adat.tgz adat

A tömörített archívum kibontása:

tar -xzf adat.tar.gz

Bőbeszédű forma:

tar -xvzf adat.tar.gz

Hosszú kapcsolókkal:

tar --create --gzip --file adat.tar.gz adat

Kicsomagolás hosszú kapcsolókkal:

tar --extract --gunzip --file adat.tar.gz

A bzip2 tömörítő használata:

tar -j -c -f adat.tar.bz2 adat
tar --bzip2 --create --file adat.tar.bz2 adat

Az xz tömörítő használata:

tar -J -c -f adat.tar.bz2 adat
tar --xz --create --file adat.tar.xz adat

A compress tömörítő használata:

tar -Z -c -f adat.tar.Z adat
tar --compress --create --file adat.tar.Z adat

Külső program használata, ha van -d kapcsolója a kicsomagoláshoz:

tar --use-compress-program xz -cf adat.tar.xz adat
tar --use-compress-program xz -xf adat.tar.xz

Önkicsomagoló archív

makeself

Telepítés:

apt install makeself

A makeself alapvetően programok, scriptek becsomagolására lett kitalálva, de adatokat is tárolhatunk vele.

Legyen egy gy nevű könyvtár, amibe van egy a.txt állományunk.

gy/
  `-a.txt
makeself <könyvtár> <fájlnév> <leírás> <program>
  • könyvtár: A könyvtár, amit becsomagolunk.
  • fájlnév: A készülő önkicsomagoló fájl neve.
  • leírás: Egy rövid szöveg, ami leírás. Pl. „Saját adatok”
  • program: A kicsomagolás után végrehajtandó program vagy script.
makeself dir1 adatcsomag.run "Saját adatok" true

A true csak egy kötelező paraméter, mivel valamit meg kell adni. A true parancs fut le a kicsomagolás után.

./adatcsomag.run --target valami

A parancs végrehajtásának tiltása. De true egyébként sem csinál semmit.

./adatcsomag.run --noexec --target valami

unzipsfx

Telepítés:

apt install unzip

Parancs:

unzipsfx

Az önkicsomagoló állomány mindig a már tömörített állományból készíthető. A tömörítendő állományokat célszerű egy könyvtárba tenni.

zip -r vmi.zip konyvatVagyAllomany | cat /usr/bin/unzipsfx vmi.zip > vmi.sfx

A zip esetén a -r rekurzívan az alkönyvtárakra is vonatkozik. vmi.zip esetén a kiterjesztést nem kötelező megadni.

Az unzipsfx a Debian GNU/Linux 3.0-ban a uzip csomagban van.

shar

A shar parancs a sharutils csomag része.

Önkicsomagoló archív létrehozására:

shar -z állományok* > archinnev.shar

A -z kapcsoló a gzip tömörítésre ad utasítást.

oktatas/linux/toemoerites.txt · Utolsó módosítás: 2025/12/24 21:14 szerkesztette: admin