Archiwizery z linii poleceń: tar, gzip, bzip (krótkie wprowadzenie)

Jednym z najważniejszych zastosowań archiwizerów jest wykonywanie kopii bezpieczeństwa systemu. Najwygodniej jest wykonywać to z pomocą skryptów albo wpisów do crontaba lub anacrona. Trzeba, więc obsługiwać je z linii poleceń. W Linuksie następuje rozróżnienie między archiwizatorem a programem kompresującym.

Wynika to z zasady rozdzielania funkcji na poszczególne podprogramy. Mamy, więc najpopularniejszego archiwizatora, czyli program tar oraz popularne kompresory: gzip, bzip. Oprócz nich posiadamy oczywiście uniwersalne programy (łączące obie funkcje) jak zip. Nie są one jednak na tyle wydajne, aby konkurować z tandemem tar + gzip lub tar + bzip.

Tar

Tar to program do archiwizowania danych. Jego zadaniem jest więc stworzenie jednego pliku, w którym zapisane są archiwizowane zasoby z określeniem praw dostępu, właścicielami itp. danymi. Pierwotnie działał z napędami taśmowymi, więc aby zmusić go do pracy z plikami musimy mu to specjalnie nakazać. Aby utworzyć archiwum z danym katalogiem wydajemy polecenie

tar -cf nazwa_archiwum.tar katalog_lub_pliki

natomiast, aby rozpakować archiwum wydajemy polecenie:

tar -xf nazwa_archiwum.tar

gzip

Gzip to program kompresujący, czyli jego zadaniem jest zmniejszyć objętość danego pliku bez strat zawartości. Aby skompresować plik wydajemy polecenie:

gzip nazwa_pliku

Program skompresuje plik a następnie doda mu rozszerzenie gz. Aby rozpakować archiwum wydajemy polecenie

gzip -d nazwa_pliku

Program ten często jest wykorzystywany razem z tar-em. Jest to o tyle wygodne, iż w jednym ruchu możemy wykonać archiwizację katalogu do pliku a następnie archiwum to skompresować. Działanie takie wykonamy korzystając z polecenia:

tar -zcf nazwa_archiwum.tar.gz	nazwa_katalogu_lub_plików

Aby szybko tak utworzone archiwum rozpakować korzystamy z polecenia:

tar -zxf nazwa_archiwum.tar.gz

bzip2

Bzip2 jest programem pozwalającym osiągnąć jeszcze większy stopień kompresji niż gzip. Aby skompresować plik wydajemy polecenie:

bzip2  nazwa_pliku

Program sam skompresuje plik a następnie doda rozszerzenie bz2. W celu rozpakowania pliku wydajemy komendę

bzip2 -d nazwa_pliku.bz2

Również ten program często wykorzystywany jest razem z tar-em. Analogiczne jak w przypadku gzip-a skompresowane archiwum tworzymy następująco (zmienia się tylko parametr z na j)

tar -jcf nazwa_archiwum.tar.bz2 katalog_lub_pliki

a rozpakowujemy archiwum komendą

tar -jxf nazwa_archiwum.tar.bz2

ćwiczenie 1

 

  1. W katalogu głównym proszę utworzyć katalog backup a w nim kopie bezpieczeństwa katalogu /home o nazwie home.tar.gz spakowaną programem tar i gzip.
  2. Proszę utworzyć analogiczną kopie bezpieczeństwa katalogu home ale tym razem o nazwie home.tar.bz utworzoną programem tar i bzip. Po wykonaniu ćwiczenia proszę sprawdzić poprawność archiwów wchodząc w nie przy pomocy programu mc.

 

Odpowiedzi do ćwiczeń

ćwiczenie 1 (archiwizery z linii poleceń)

  1. Nowy katalog możemy utworzyć poleceniem mkdir /backup albo przy pomocy programu mc. Następnie z dowolnego miejsca w strukturze katalogów wydajemy polecenie: tar -zvcf /backup/home.tar.gz /home
  2. Z dowolnego miejsca w strukturze katalogów wydajemy polecenie: tar -jvcf /backup/home.tar.bz /home

Sprawdzenie poprawności wykonania ćwiczenia polega na wejściu w archiwum przy pomocy programu mc.

Dodaj komentarz