Mustand: sisu ei ole veel tehniliselt ega keeleliselt täielikult kontrollitud ega toimetatud.

Peatüki vaade

Linux/Unix/macOS käsurea kiirõpik

Praegu loed peatükki Arhiivid ja pakkimine, mis kuulub osasse Osa III: Failid, võrk ja süsteemitöö.

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 arhiiv
  • tar -xf fail.tar paki lahti
  • tar -tf fail.tar vaata arhiivi sisu
  • tar -czf fail.tar.gz kaust/ loo gzip-pakitud arhiiv
  • tar -czf fail.tgz kaust/ sama loogika lühema laiendiga
  • tar -xzf fail.tar.gz paki gzip-arhiiv lahti
  • tar -cJf fail.tar.xz kaust/ loo xz-pakitud arhiiv
  • zip -r fail.zip kaust/ loo zip-arhiiv
  • unzip fail.zip paki zip lahti

Tähtsamad võtmed

  • c create ehk loo arhiiv
  • x extract ehk paki lahti
  • t table ehk näita sisu
  • f file ehk järgmine argument on arhiivifaili nimi
  • z kasuta gzip pakkimist
  • J kasuta xz pakkimist
  • v verbose ehk näita töö käigus rohkem infot

tar põhimõte

tar ise on ajalooliselt arhiveerija. Pakkimine lisatakse sageli eraldi:

  • tar ainult koondab failid
  • gzip teeb faili väiksemaks
  • xz pakib tihedamalt, aga võib olla aeglasem

Sellepärast on need kujundid sisuliselt järgmised:

  • tar -cf loo arhiiv ilma pakkimata
  • tar -czf loo gzip-ga pakitud arhiiv
  • tar -xzf paki gzip-ga pakitud arhiiv lahti
  • tar -cJf loo xz-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.gz on väga levinud Linuxi maailmas
  • tar.xz sobib siis, kui tihendusaste on tähtis
  • zip on 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.

  • tar sobib hästi Unix-laadse puustruktuuri jaoks
  • tar säilitab failipuud, õigused, ajatemplid ja lingid paremini kui zip
  • zip on sageli mugavam jagamiseks eri süsteemide vahel
  • zip ei ole tavaliselt parim valik siis, kui Unix-i õigused ja omanikud on olulised

Praktiline mõtteviis:

  • Linuxi või serveri varukoopia: eelista sageli tar.gz või tar.xz
  • laiemaks jagamiseks: zip

Kasulikud võtted

  • tar -tf fail.tar.gz näitab sisu ilma lahti pakkimata
  • tar -tzf fail.tar.gz | less laseb suure arhiivi sisu sirvida
  • tar -xzf fail.tar.gz -C sihtkaust pakib lahti kindlasse kohta
  • tar -czf backup-$(date +%F).tar.gz kaust/ teeb kuupäevaga varukoopia
  • unzip -l fail.zip nä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

  1. Loo väike testkaust kahe failiga.
  2. Tee sellest tar.gz arhiiv.
  3. Vaata arhiivi sisu ilma seda lahti pakkimata.
  4. Paki arhiiv lahti teise kausta.