A kiválasztott változat és az aktuális verzió közötti különbségek a következők.
Előző változat mindkét oldalon Előző változat | Előző változat Utolsó változat Következő változat mindkét oldalon | ||
oktatas:linux:toemoerites [2018/11/10 18:04] |
oktatas:linux:toemoerites [2023/05/12 18:15] admin [zstd] |
||
---|---|---|---|
Sor 1: | Sor 1: | ||
+ | [[oktatas:linux|< Linux]] | ||
+ | |||
+ | ====== Tömörítés ====== | ||
+ | |||
+ | * **Szerző:** Sallai András | ||
+ | * Copyright (c) Sallai András, 2018, 2019 | ||
+ | * Licenc: GNU Free Documentation License 1.3 | ||
+ | * Web: http://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ó: | ||
+ | <code> | ||
+ | -j, --bzip2 | ||
+ | -z, --gzip | ||
+ | -Z, --compress | ||
+ | -o prefix, --output-prefix=prefix | ||
+ | </code> | ||
+ | ===== 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: | ||
+ | <code> | ||
+ | $ ls -l | ||
+ | </code> | ||
+ | |||
+ | 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 | ||
+ | * <nowiki>--fast -0</nowiki> | ||
+ | * <nowiki>--best -9</nowiki> | ||
+ | |||
+ | * 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. | ||
+ | |||
+ | |||