tar to stary (ale jary) program do tworzenia archiwów. Początkowo używany był do tworzenia archiwów na taśmach magnetycznych. Archiwum utworzone przy pomocy tar można potem skompresować przy pomocy programów bzip2 (.tar.bz2), Izma (tar.xz) lub innych. bzip2 i algorytm Izma są najczęściej używane, ze względu na szybkość i wydajność. Izma używany jest też przez program 7-zip. Skompresowane archiwa można następnie zaszyfrować programem GPG.
Podstawowe parametry dla tar:
- -c utwórz archiwum tar
- -f archiwum znajduje się w pliku, którego nazwa podawana jest w wierszu poleceń
- -v informuj o tym, co aktualnie robisz. Wielokrotne podanie opcji -v (-vv) zwiększa szczegółowość informacji generowanych przez tar o aktualnie wykonywanym działaniu, ale w istotny sposób wpływa na szybkość przetwarzania danych.
- -x rozpakuj archiwum
- -t wyświetl zawartość archiwum
- -j skompresuj archiwum przy pomocy bzip2 (.tar.bz2)
- -J skompresuj archiwum przy pomocy lzma (.tar.xz)
- -C przed wykonaniem jakiejkolwiek operacji zmień katalog bieżący na katalog podany po -C
Przykłady:
Spakuj katalog do archiwum
tar -cvf nazwa_archiwum.tar /ścieżka/do/katalogu (lub nazwa katalogu w bieżącym katalogu roboczym)
Rozpakuj archiwum w bieżącym katalogu roboczym
tar -xvf nazwa_archiwum.tar
Dodaj nowy_plik do istniejącego archiwum
tar -rvf nazwa_archiwum.tar nowy_plik
Pokaż zawartość archiwum
tar -tvf nazwa_archiwum.tar
Pobierz z archiwum plik. Jeżeli w ścieżce do pliku znajdują się spacje lub inne znaki, które mogą być zinterpretowane przez bash jako znaki specjalne całą ścieżkę umieszczamy w cudzysłowie. UWAGA: jeżeli w bieżącym katalogu roboczym znajduje się folder, który został zarchiwizowany pobierany plik nadpisze plik oryginalny! (domyślne ustawienie, które można modyfikować). Plik jest odtwarzany wraz z pełną ścieżką. Wszystkie foldery nadrzędne ze ścieżki, jeżeli nie istnieją, zostaną odtworzone.
tar -xf nazwa_archiwum.tar '/ścieżka/do/pliku/w/archiwum'
Pobierz z archiwum dwa katalogi. Jako parametr podajemy ścieżki (w archiwum) do katalogów.
tar -xvf nazwa_archiwum.tar '/ścieżka/do/katalog-1/' '/ścieżka/do/katalog-2/'
Utwórz archiwum i skompresuj przy pomocy gzip2
tar -cjvf nazwa_archiwum.tar.bz2 /ścieżka/do/katalogu
Utwórz archiwum i skompresuj przy pomocy lzma
tar -cJvf nazwa_archiwum.tar.xz /ścieżka/do/katalogu
Zaszyfruj archiwum skompresowane przy pomocy gzip2 używając GPG.
Parametry:
- -c zaszyfruj szyfrem symetrycznym przy pomocy hasła
- –no-symkey-cache – WAŻNE – nie zapamiętuj hasła podanego przy opcji -c
gpg zapamiętuje hasła podawane przy szyfrowaniu symetrycznym, aby operacja odszyfrowania na lokalnej maszynie nie wymagała od użytkownika wprowadzania hasła (wygodne, ale potencjalnie bardzo niebezpieczne). Żeby zablokować to zachowanie używamy parametru –no-symkey-cache
gpg -c --no-symkey-cache nazwa_archiwum.tar.bz2
Po zaszyfrowaniu pliku gpg dodaje na końcu nazwy rozszerzenie .gpg
Odszyfrowanie pliku zaszyfrowanego szyfrem symetrycznym do bieżącego katalogu. GPG powinien się domyśleć, że chodzi o odszyfrowanie pliku i poprosić o hasło.
gpg nazwa_archiwum.tar.bz2.gpg
Pełna wersja polecenia: -o (zapisz odszyfrowany plik tutaj) nazwa_pliku_wyjściowego -d (odszyfruj) nazwa_zaszyfrowanego_archiwum
gpg -o nazwa_archiwum.tar -d nazwa_archiwum.tar.bz2.gpg
Można zaszyfrować archiwum używając jednego z kluczy publicznych przechowywanych w repozytorium gpg (keyring). Trzeba jednak pamiętać, że odszyfrownie zaszyfrowanego w ten sposób pliku będzie możliwe tylko przy pomocy klucza prywatnego stanowiącego parę dla klucza publicznego użytego do szyfrowania, co w dalekiej przyszłości może być kłopotliwe (zmiana komputera, utrata repozytorium kluczy). Klucz publiczny wskazujemy poprzez podanie adresu e-mail powiązanego z tym kluczem. Oczywiście abyśmy mogli w przyszłości odszyfrować archiwum musimy użyć klucza publicznego, do którego posiadamy klucz prywatny. W podanym niżej przykładzie tworzymy zaszyfrowane archiwum nazwa_archiwum.tar.gpg używając do szyfrowania klucza publicznego skojarzonego z adresem poczty elektronicznej e-mail@tataija.eu a szyfrowany plik to nazwa_archiwum.tar (-o = –output; -r = –recipient; -e = –encrypt).
gpg -o nazwa_archiwum.tar.gpg -r e-mail@tataija.eu -e nazwa_archiwum.tar
Powyższe polecenie można skrócić do „gpg -e nazwa_archiwum.tar” wówczas gpg sam poprosi o wprowadzenie identyfikatora użytkownika (w postaci adresu e-mail) a nazwę pliku wyjściowego utworzy przez dodanie do nazwy pliku wejściowego rozszerzenia .gpg
Zaszyfrowany plik można podpisać elektronicznie dodając w poleceniu parametr –sign (-s). Możemy też zaszyfrować plik w taki sposób, by do odszyfrowania można było użyć zarówno klucza prywatnego jak i tajnego hasła. W tym celu do polecenia dodajemy parametr –symmetric (-c). Najpierw gpg poprosi nas o podanie tajnego hasła do zaszyfrowania pliku a potem o hasło do klucza prywatnego, którym zostanie podpisany zaszyfrowany plik.
gpg -s -c -o nazwa_archiwum.tar.gpg -r e-mail@tataija.eu -e nazwa_archiwum.tar
Przy odszyfrowywaniu tak zaszyfrowanego pliku zostaniemy poinformowani, że plik został podpisany, podpis jest prawidłowy, i otrzymamy szczegółowe informacje o kluczu użytym do podpisania i dacie złożenia podpisu.
Szczegółowy podręcznik: gnu tar || Podręcznik gpg: tutaj || Inne podręczniki gnu: tutaj