Tartalomjegyzék
Tömörítés
- Szerző: Sallai András
- Copyright © 2018, Sallai András
- Szerkesztve: 2018, 2019
- Licenc: CC BY-SA 4.0
- Web: https://szit.hu
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
Becsomagolás:
tar -cf adat.tar adat
tar --create --file adat.tar adat
Kicsomagolá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
arc
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:
apt install ncompress
Használata:
mkdir dir1 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
# 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
# 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
Az /etc/apt/sources.list fájlban fel kell venni a non-free ágat, majd mehet a telepítés:
# 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
p7zip
# apt install p7zip
$ p7zip gy.tar
- kiterjesztés: .7z
Kicsomagolás:
$ p7zip -d gy.tar.7z
7za
Magas tömörítési aránnyal dolgozó tömörítő.
Telepítés:
# 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
- 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
- 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
# 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
# apt install bzip2
- kiterjesztés: bz2
Tömörítés:
$ bzip2 gy.tar
Kicsomagolás:
$ bzip2 -d gy.tar.bz2
ACE
ACE tömörítő nem áll rendelkezésre, csak kicsomagoló.
apt install unace
Esetleg non-free:
apt install unace-nonfree
lz4
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
apt install lhasa
Csak kicsomagolásra alkalmas.
Kicsomagolás:
lha -e gy.lzh
Tartalom:
lha -l gy.lzh
pigz
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
apt install zstd
brotli
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
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.