Arhiivid ja pakkimine
Selles peatükis vaatame, kuidas faile kokku pakkida, lahti pakkida ja transportimiseks või varunduseks arhiveerida.
Loogika
Arhiveerimine koondab failid, pakkimine teeb need väiksemaks. See on seotud failide liigutamise, allalaadimise ja varukoopiatega.
Kiirspikker
tar -cf fail.tar kaust/loo arhiivtar -xf fail.tarpaki lahtitar -tf fail.tarvaata arhiivi sisutar -czf fail.tar.gz kaust/loo gzip-pakitud arhiivtar -czf fail.tgz kaust/sama loogika lühema laiendigatar -xzf fail.tar.gzpaki gzip-arhiiv lahtitar -cJf fail.tar.xz kaust/loo xz-pakitud arhiivzip -r fail.zip kaust/loo zip-arhiivunzip fail.zippaki zip lahti
Tähtsamad võtmed
ccreate ehk loo arhiivxextract ehk paki lahtittable ehk näita sisuffile ehk järgmine argument on arhiivifaili nimizkasutagzippakkimistJkasutaxzpakkimistvverbose ehk näita töö käigus rohkem infot
tar põhimõte
tar ise on ajalooliselt arhiveerija. Pakkimine lisatakse sageli eraldi:
tarainult koondab failidgzipteeb faili väiksemaksxzpakib tihedamalt, aga võib olla aeglasem
Sellepärast on need kujundid sisuliselt järgmised:
tar -cfloo arhiiv ilma pakkimatatar -czfloogzip-ga pakitud arhiivtar -xzfpakigzip-ga pakitud arhiiv lahtitar -cJflooxz-ga pakitud arhiiv
.tar.gz ja .tgz tähendavad tavaliselt sama asja. .tgz on lihtsalt lühem failinimi.
Käivita need käsud
mkdir -p ~/tmp/arh/kaust
printf 'tere\n' > ~/tmp/arh/kaust/tere.txt
tar -cf ~/tmp/arh/proov.tar -C ~/tmp/arh kaust
tar -tf ~/tmp/arh/proov.tar
tar -czf ~/tmp/arh/proov.tar.gz -C ~/tmp/arh kaust
tar -xzf ~/tmp/arh/proov.tar.gz -C ~/tmp/arh
zip -r ~/tmp/arh/proov.zip ~/tmp/arh/kaust
unzip ~/tmp/arh/proov.zip -d ~/tmp/arh/unzipped
Millal mida kasutada
tar.gzon väga levinud Linuxi maailmastar.xzsobib siis, kui tihendusaste on tähtiszipon mugav, kui faile jagatakse erinevate süsteemide vahel
Metaandmed ja puustruktuur
Arhiiviformaadi valikul ei loe ainult tihendusaste. Loeb ka see, mida arhiiv peab kaasa võtma.
tarsobib hästi Unix-laadse puustruktuuri jaokstarsäilitab failipuud, õigused, ajatemplid ja lingid paremini kuizipzipon sageli mugavam jagamiseks eri süsteemide vahelzipei ole tavaliselt parim valik siis, kui Unix-i õigused ja omanikud on olulised
Praktiline mõtteviis:
- Linuxi või serveri varukoopia: eelista sageli
tar.gzvõitar.xz - laiemaks jagamiseks:
zip
Kasulikud võtted
tar -tf fail.tar.gznäitab sisu ilma lahti pakkimatatar -tzf fail.tar.gz | lesslaseb suure arhiivi sisu sirvidatar -xzf fail.tar.gz -C sihtkaustpakib lahti kindlasse kohtatar -czf backup-$(date +%F).tar.gz kaust/teeb kuupäevaga varukoopiaunzip -l fail.zipnäitab zip-arhiivi sisu ilma lahti pakkimata
Kui arhiiv on suurem, siis on väga praktiline:
tar -tzf fail.tar.gz | less
See aitab enne lahtipakkimist näha:
- mis kaustad seal sees üldse on
- kas arhiivis on ootuspärane juurkaust
- kas failinimed paistavad mõistlikud
Minitest
- Loo väike testkaust kahe failiga.
- Tee sellest
tar.gzarhiiv. - Vaata arhiivi sisu ilma seda lahti pakkimata.
- Paki arhiiv lahti teise kausta.