Blame

2b35b3 Samu 2025-10-30 13:06:19 1
# Pakkaus
2
3
## ZSTD
4
ZSTD on tehokas pakkaaja, mutta käyttää reilusti RAM muistia tiiviissä pakkauksessa.
5
6
esimerkki komento:
7
zstd --ultra -22 -T0 --long=30 /path/to/file
8
9
jossa:
10
zstd = varsinainen työkalu
11
--ultra = avaa tehokkaammat pakkausalgoritmit käyttöön (normaalisti 0-19)
12
-22 = käyttää pakkaustasoa 22, joka on kaikista korkein pakkaustaso (pienempi numero on kevyempi pakkaus ja isompi tiedosto pakattuna)
13
-T0 = Prosessori ytimien määrä pakkauksessa (0 = kaikki ytimet, 1 = yksi ydin, 2 = kaksi ydintä, jne)
14
--long = määrittää kirratiedoston koon. Käytännössä kuinka pitkältä matkalta etsii toistuvuutta tiedostossa pakkauksen saamiseksi.
15
numero on 2 potenssi, jolloin 30 tarkoittaa 2^30 eli 1GB ja esim 31 on 2GB ja 29 on 512MB jne.
16
huomioi, että tämä koko kirratiedosto säilytetään RAM muistissa ja jokaiselle säikeelle omanaan esimerkiksi:
17
1GB kirratiedosto ja 4 ydintä tarkoittaa 1GB * 4 RAM tilaa käytettynä + muu pakkauksen vaatima, jolloin RAM muistia vaaditaan yli 4GB pakkaamista varten (arviolta ainakin 6GB)
18
19
/path/to/file = tiedosto, joka halutaan pakata. Oletuksena kirjoittaa tiedoston ulos file.zst -tiedostoon
20
-o /path/to/output.zst = tällä pystyy määrittämään tiedoston mihin kirjoittaa pakatun tiedoston
21
22
HUOM! Jos tiedostoa sisään ei ole määritetty lukee stdin (standard input) pakkaamista varten, jos on putkitettu esim dd työkalulta luenta.
23
24
purkaminen:
25
zstd -d /path/to/file
26
27
jossa:
28
-d = decompress A.K.A pura tiedosto
29
/path/to/file = tiedosto, joka halutaan purkaa
30
31
32
## 7z
33
7z tarjoaa kaikista parhaan pakkaussuhteen, jopa parempi kuin zstd, mutta hintana on hitaampi pakkaus ja purkunopeus. Lisäksi esimerkiksi Windowsissakin toimiva 7zip osaa purkaa tiedoston, jolloin toimii paremmin tiedostoille, jotka täytyy pystyä purkamaan ja käsittelemään myös muissa käyttöjärjestelmissä, kuin Linuxissa.
34
35
esimerkki komento:
36
7z a -mx9 -mmf=bt2 /path/to/archive.7z /path/to/file_or_directory
37
38
jossa:
39
7z = varsinainen työkalu
40
a = add tai archive, eli pakkaa nämä tiedostot (x = pura, l = listaa, yms)
41
-mx9 = pakkaustaso 9, pakkaustasot on 0 - 9, joista 0 ei pakkaa lainkaan ja 9 on isoin pakkaus
42
-mmf = lisäalgoritmi pakkaukseen. bt2 on tehokas löytämään lisää toistuvuutta datasta, mutta vaatii lisää prosessoriaikaa
43
/path/to/archive.7z = mihin kirjoittaa pakatun tiedoston.
44
/path/to/file_or_directory = mitä tiedostoja pakkaa. Tähän voi lisätä useammankin tiedoston halutessaan
45
46
lisä valintoja:
47
-t = pakkaustyyppi (esim zip, 7z, xz, jne. määritetään -t7z tai -tzip)
48
49
toisin kuin zstd, 7z osaa automaattisesti käyttää useita ytimiä pakkaukseen ja purkamiseen.