Jak rozpakować plik tar.gz
Jeśli korzystasz z oprogramowania typu open source, jest szansa, że w którymś momencie napotkasz plik .tar. Narzędzie archiwizacji tar typu open source istnieje od 1979 roku , więc jest naprawdę wszechobecny w świecie POSIX. Jego cel jest prosty: pobiera jeden lub więcej plików i „opakowuje” je w samodzielny plik, nazywany archiwum taśmowym, ponieważ kiedy wynaleziono tar, był on używany do umieszczania danych w taśmy do przechowywania danych.
Osoby nowe w formacie tar zwykle utożsamiają go z plikiem .zip, ale archiwum tar w szczególności nie jest skompresowane. Format tar tworzy tylko kontener dla plików, ale pliki można skompresować z oddzielnymi narzędziami. Typowe kompresje plików .tar to Gzip, bzip2 i xz. Dlatego rzadko widzisz tylko plik .tar, a częściej napotykasz pliki .tar.gz lub .tgz.
Instalowanie tar
W Linuksie, BSD, Illumos, a nawet Mac OS, polecenie tar jest już zainstalowane.
W systemie Windows najłatwiejszy sposób obsługi plików .tar jest insta ll narzędzie LGPL open source 7-Zip. Jego nazwa sugeruje, że jest to narzędzie zip, ale działa również z archiwami tar, a nawet udostępnia polecenia dla interfejsu wiersza poleceń cmd.
Jeśli naprawdę chcesz mieć rzeczywiste narzędzie tar w systemie Windows, GNU tar jest można zainstalować przez WSL w systemie Windows 10 lub Cygwin.
Tworzenie archiwum tar
Archiwum tar jest często określane jako tarball, prawdopodobnie dlatego, że my, hakerzy, uwielbiamy skracać słowa do jak najmniejszej liczby sylab jak to możliwe, a „tarball” jest krótszy i łatwiejszy niż „archiwum tar”.
W graficznym interfejsie użytkownika tworzenie archiwum jest co najwyżej trzystopniowym procesem. Używam KDE, ale proces jest zasadniczo taki sam w Gnome lub XFCE:
- Utwórz katalog
- Umieść swoje pliki w katalogu
- Kliknij prawym przyciskiem myszy katalog i wybierz „Kompresuj”
compress.jpg
Tworzenie tarballa
W powłoce wygląda to tak samo proces.
Aby zebrać gr grupę plików w jednym archiwum, umieść pliki w katalogu, a następnie wywołaj tar, podając nazwę archiwum, które chcesz utworzyć i katalog, który chcesz zarchiwizować:
Narzędzie tar jest unikalne wśród poleceń, ponieważ nie wymaga myślników przed swoimi krótkimi opcjami, pozwalając zaawansowanym użytkownikom na skracanie złożonych poleceń, takich jak to:
Nie musisz umieszczać plików w katalogu przed ich zarchiwizowaniem, ale jest to uważane za kiepską etykietę, ponieważ nikt nie chce, aby 50 plików zostało rozproszonych na pulpicie podczas archiwizowania katalogu. Tego typu archiwa są czasami nazywane tarbombami, chociaż nie zawsze mają negatywne konotacje. Tarbomby są przydatne w przypadku poprawek i instalatorów oprogramowania; to tylko kwestia wiedzy, kiedy ich używać, a kiedy ich unikać.
Kompresja archiwów
Tworzenie archiwum tar nie powoduje kompresji plików, po prostu ułatwia ich poruszać się jak jeden obiekt typu blob. W celu kompresji można wywołać tar Gzip lub bzip:
$ tar --create --bzip2 --file foo.tar.bz2 myfiles
$ tar --create --gzip --file foo.tar.gz myfiles
Typowe rozszerzenia to tar.gz i .tgz dla tar.gzip plik oraz .tbz i .tar.bz2 dla bzipowanego pliku tar.
Wypakowywanie archiwów
Jeśli otrzymałeś archiwum od znajomego lub projektu oprogramowania, możesz rozpakować na pulpicie GUI lub w powłoce. W graficznym interfejsie użytkownika kliknij prawym przyciskiem myszy archiwum, które chcesz rozpakować, i wybierz opcję „Wypakuj”.
extract_0.jpg
Wyodrębnianie archiwum
Menedżer plików Dolphin oferuje funkcję automatycznego wykrywania, czy pliki wyodrębnione z archiwum znajdują się w katalogu, czy też należy dla nich utworzyć nowy katalog. Używam tej opcji, aby po wyodrębnieniu plików z tarbomb pozostały uporządkowane i zawarte.
W powłoce polecenie wypakowania archiwum jest dość intuicyjne:
Zaawansowani użytkownicy skracają to do:
Możesz nawet użyć narzędzia tar do rozpakowania plików .zip:
Zaawansowany tar
Narzędzia tar są bardzo solidne i elastyczne. Kiedy już zaznajomisz się z podstawami, warto poznać inne funkcje.
Dodaj plik lub katalog do istniejącego archiwum.
Jeśli masz już istniejące archiwum i chcesz jeśli dodasz do niego nowy plik, nie musisz archiwizować wszystkiego tylko po to, aby dodać nowy plik.
Większość komputerów z systemem Linux i BSD jest wyposażona w graficzne narzędzie do archiwizacji. Za jego pomocą można otworzyć archiwum tar jakby to był każdy inny katalog, zajrzyj do środka, wyodrębnij poszczególne pliki, dodaj do niego pliki, a nawet wyświetl podgląd plików tekstowych i obrazów, które zawiera.
ark.jpg
Narzędzie do archiwizacji Arki
W powłoce możesz dodać plik lub katalog do archiwum tar, o ile nie jest on skompresowany. Jeśli archiwum zostało skompresowane, musisz je zdekompresować, ale nie musisz go rozpakowywać.
Na przykład, jeśli archiwum zostało skompresowane za pomocą Gzip:
$ gunzip archive.tar.gz
$ ls
archive.tar
Teraz, gdy masz nieskompresowane archiwum tar, dodaj do niego plik i katalog:
$ tar --append --file archive.tar foo.txt
$ tar --append --file archive.tar bar/
Krótsza wersja:
$ tar rf archive.tar foo.txt
$ tar rf archive.tar bar/
Wyświetl listę plików w tarballu
Aby zobaczyć pliki w archiwum, skompresowane lub nieskompresowane, użyj – opcja listy:
$ tar --list --file archive.tar.gz
myfiles/
myfiles/one
myfiles/two
myfiles/three
bar/
bar/four
foo.txt
Zaawansowani użytkownicy skracają to do:
Wyodrębnij tylko jedną plik lub katalog
Czasami nie potrzebujesz wszystkich plików w archiwum, po prostu chcesz wyodrębnić jeden lub dwa. Po wyświetleniu zawartości archiwum tar, użyj zwykłego polecenia tar extract razem z ścieżka do pliku, który chcesz wyodrębnić:
$ tar xvf archive.tar.gz bar/four
bar/four
Wyodrębnianie wielu plików lub katalogów jest zasadniczo takie samo:
$ tar xvf archive.tar.gz myfiles/one bar/four
myfiles/one
bar/four
Możesz nawet użyć symboli wieloznacznych:
$ tar xvf archive.tar.gz --wildcards "*.txt"
foo.txt
Wypakuj paczkę do innego katalogu
Wcześniej wspomniałem, że niektóre paczki były paczkami, które pozostały pliki rozrzucone po całym komputerze. Jeśli wypiszesz archiwum tar i zobaczysz, że jego pliki nie są zawarte w katalogu, możesz utworzyć dla nich katalog docelowy:
$ tar --list --file archive.tar.gz
foo
bar
baz
$ mkdir newfiles
$ tar xvf archive.tar.gz -C newfiles
To umieszcza wszystkie pliki w archiwum starannie do katalogu „newfiles”.
Opcja katalogu docelowego jest użyteczna o wiele więcej niż tylko utrzymywanie porządku w rozpakowanych plikach, na przykład dystrybucja plików przeznaczonych do skopiowania do istniejąca struktura katalogów. Jeśli pracujesz nad witryną i chcesz wysłać administratorowi kilka nowych plików, możesz to zrobić na kilka różnych sposobów. Oczywistym sposobem jest wysłanie plików e-mailem do administratora witryny wraz z tekstem wyjaśniającym, gdzie każdy plik ma być umieszczone: „Załączony plik index.php trafia do /var/www/example.com/store, a plik vouchers.php do /var/www/example.com/deals …”
Bardziej wydajnym sposobem byłoby utworzenie archiwum tar:
Biorąc pod uwagę taką strukturę, administrator witryny mógłby rozpakować Twoje przychodzące archiwum bezpośrednio do katalogu głównego serwera. Narzędzie tar automatycznie wykrywa istnienie /var/www/example.com, a także podkatalogów, sklepów, ofert i obrazów, i dystrybuuje pliki do odpowiednich katalogów. Jest to masowe kopiowanie i wklejanie, wykonywane szybko i łatwo.
Tar z GNU i tar z BSD
Format tar jest tylko formatem i jest to format otwarty, więc można utworzyć za pomocą więcej niż jednego narzędzia.
Istnieją dwa popularne narzędzia tar: narzędzie GNU tar, instalowane domyślnie w systemach Linux oraz narzędzie tar BSD, instalowane domyślnie na BSD, Mac OS i niektóre systemy Linux. Do ogólnego użytku wystarczy smoła. Wszystkie przykłady w tym artykule działają tak samo na przykład na tarach GNU lub BSD. Jednak te dwa narzędzia mają drobne różnice, więc kiedy już przyzwyczaisz się do jednego, powinieneś wypróbować drugi.
Prawdopodobnie będziesz musiał zainstalować „inne” oprogramowanie tar (cokolwiek to może być Aby uniknąć pomyłek między narzędziami, GNU tar nosi często nazwę gtar, a tar dla BSD nazywa się bsdtar, przy czym polecenie tar jest dowiązaniem symbolicznym lub aliasem do tego, który został preinstalowany na twoim komputerze.