Slackware Logo
Slackware Logo

Lugons

Info

Prevodioci

Greške

 
  LUGONS Slackbook prevod

15.3 tar

tar(1) komanda je GNU tape arhiver. Uzima nekoliko fajlova ili direktorijuma i stvara jedan veliki fajl. Ovo nam omogućava da kompresujemo celo stablo direktorijuma, što je nemoguće učiniti koristeći samo gzip ili bzip2 naredbu. tar komanda ima dosta opcija koje su objašnjene na njenoj man strani, Ovaj deo će objasniti samo najosnovnije stvari tar naredbe.

Uobičajeno se tar naredba koristi da se dekompresuje i raspakuje paket koji je preuzet sa web ili ftp sajta. Većina fajlova dolazi sa ekstenzijom .tar.gz. Ova vrsta arhiva se uobičajeno naziva “tarball”. To znači da je nekoliko fajlova arhivirano pomoću tar naredbe i potom kompresovano pomoću gzip naredbe. Takođe, možete se sresti sa .tar.Z fajlovima. To je ista vrsta arhiva kao prethodna ali se uobičajeno može sresti na starijim Unix sistemima.

Takođe, mogu se naći i fajlovi sa .tar.bz2 ekstenzijom.. Kernel source se distribuira na takav način jer predstavlja manju količinu za skidanje. Kao što se može pretpostaviti ova vrsta fajlova predstavlja više fajlova arhiviranih tar naredbom a zatim kompresovano bzipom.

Može se pristupiti svim fajlovima u ovoj arhivi koristeći tar i određene argumente u komandnoj liniji. Raspakivanje tarball-a se vrši korišćenjem opcije -z, što znači da se fajl prvo propusti kroz gunzip i dekompresuje se. Najuobičajeniji način da raspakujete tarball je na primer:

% tar -xvzf filename.tar.gz

Postoji prilično mnogo parametara. Ali šta sve oni znače? -x parametar znači ekstrahovanje ili vađenje. Ovo je važno iz razloga što govori tar komandi tačno šta da radi sa ulaznim fajlom. U ovom slučaju mi ćemo razdvojiti ulazni fajl na njegove početne elemente, tj. fajlove od kojih je napravljen. -v parametar znači verbose ili opširno. Ova opcija će izlistati sve fajlove koji se dearhiviraju. Skroz je prihvatljivo da se ova opcija izostavi, Takodje, može se koristiti -vv parametar koji još opširnije predstavlja podatke koji se raspakivaju. -z parametar govori tar komandi da provuče filename.tar.gz kroz gunzip naredbu.I na kraju -f opcija govori tar komandi da je sledeći niz znakova unetih u komandnu liniju fajl nad kojim se vrši operacija.

Postoji još nekoliko različitih načina da se napiše ova komanda. Na starijim sistemima bez adekvatne GNU tar komande, možete je videti napisanu ovako:

% gunzip filename.tar.gz | tar -xvf -

Ova naredba će dekompresovati fajl i izlaz poslati tar komandi. Pošto će gzip naredba da pošalje rezultat na standardni izlaz ako joj se kaže, ova naredba će ispisati dekompresovan fajl na standardni izlaz. Pipe će ga onda poslati tar komandi na dearhiviranje. “-” znači da se operacije vrše na standardnom ulazu. To će dearhivirati tok podataka koji se dobije od gzip komande i zapisati na disk.

Još jedan način da se napiše cela komanda je da se izostavi crtica pre navodjenja parametara, kao naprimer:

% tar xvzf filename.tar.gz

Možete takođe naleteti na bzip-ovane arhive. Verzija tar komande koja dolazi uz Slackware Linux može da barata njima isto kao sa gzip-ovanim arhivama. Umesto -z opcije koristi se -j parametar:

% tar -xvjf filename.tar.bz2

Važno je naglasiti da će tar naredba smestiti dearhivirane fajlove u trenutni direktorijum. Tako da, ako imate arhivu u /tmp koju želite da dekompresijete u vaš home direktorijum, imate na raspolaganju nekoliko opcija. Prvo, arhivu možete premestiti u svoj home direktorijum. i onda je propustiti kroz tar naredbu. Drugo, možete srecificirati putanju do arhive u komandnoj liniji. Treće, možete koristiti -C opciju da “raširi” tarball u naznačenom direktorijumu.

% cd $HOME
% cp /tmp/filename.tar.gz .
% tar -xvzf filename.tar.gz

% cd $HOME
% tar -xvzf /tmp/filename.tar.gz

% cd /
% tar -xvzf /tmp/filename.tar.gz -C $HOME

Svi gore navedeni primeri su istovetni. U svakom od navedenih slučajeva arhiva je otpakovana unutar vašeg početnog (home) direktorijuma i originalna dekompresovana arhiva je postavljena na mesto.

Ali šta nam znači da možemo da dekompresujemo ove arhive ako ne možemo da ih kreiramo? Dakle, tar komanda je takodje odgovorna za kreiranje arhiva. U većini slučajeva to je jednostavno kao što je uklanjanje “-x” parametra i njegova zamena sa “-c” parametrom.

% tar -cvzf filename.tar.gz .

U ovoj naredbi -c parametar govori tar komandi da kreira arhivu, dok -z parametar provlači rezultujući fajl kroz gzip naredbu da bi ga kompresovao. filename.tar.gz je naziv fajla koji želite da kreirate.

Navođenje “-f” parametra nije uvek potrebno,ali se smatra dobrom praksom. Bez njega, tar komanda piše na standardni izlaz što je poželjno kada se izlaz tar komande koristi kao ulaz drugog programa, tzv. pipe. Kao na primer.

% tar -cv filename.tar . | gpg --encrypt

Ova komanda kreira nekompresovanu tar arhivu od sadržaja tekućeg direktorijuma, pipe-uje tarball kroz gpg program koji enkriptuje i kompresuje tarball, čineći nemogućim da ga iko drugi pročita ili koristi osim osobe koja poseduje tajni ključ.