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
- 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.
- 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ń)
- 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
- 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.