Odpowiedź tar jest jak najbardziej trafiona. No bo właśnie tar to klasyczny program w systemach Linux i generalnie Unixowych, który służy do archiwizacji, czyli łączenia wielu plików i katalogów w jeden plik archiwum, zwykle z rozszerzeniem .tar. Co ważne, samo tar nie kompresuje danych – on tylko je „spakowuje” w jedną całość, żeby łatwiej było je przenosić albo kopiować. Często spotyka się kombinacje, gdzie najpierw tworzysz archiwum tar, a potem je kompresujesz narzędziem takim jak gzip czy bzip2, stąd popularne rozszerzenia .tar.gz albo .tar.bz2. W praktyce, gdy masz do zarchiwizowania katalog z projektami albo chcesz zrobić backup konfiguracji, polecenie tar -cvf backup.tar /etc świetnie się sprawdzi. Warto pamiętać, że tar umożliwia archiwizację z zachowaniem struktury katalogów, uprawnień i symlinków – co przy migracji systemów czy backupach jest kluczowe. Moim zdaniem znajomość tar to absolutna podstawa pracy z Linuksem, bo praktycznie każdy administrator czy programista szybciej czy później z niego skorzysta. Nawet w środowiskach produkcyjnych spotkasz automatyczne skrypty wykorzystujące tar do backupów całych systemów. Przy okazji polecam zerknąć do man tar – tam jest naprawdę sporo opcji, które potrafią się przydać, na przykład do przyrostowych backupów.
Dużo osób utożsamia pojęcie archiwizacji z kompresją, co nie do końca jest poprawne. Programy takie jak compress, lzma czy gzip mają zupełnie inne podstawowe zastosowanie niż tar. Ściślej mówiąc, compress oraz gzip to narzędzia typowo kompresujące, których główna rola to zmniejszanie rozmiaru pojedynczych plików. Można ich oczywiście używać w połączeniu z archiwami, ale same z siebie nie potrafią spakować kilku plików do jednego archiwum – one po prostu tworzą skompresowaną wersję jednego pliku wejściowego. Lzma to też narzędzie kompresujące, korzystające z algorytmu Lempel-Ziv-Markow, które daje świetny stopień kompresji, ale znów – nie tworzy archiwów, tylko kompresuje je, już po utworzeniu archiwum na przykład przez tar. Typowym błędem jest traktowanie kompresji jako zamiennika archiwizacji; w praktyce te procesy się uzupełniają, a nie zastępują. W środowiskach linuksowych stworzenie archiwum z kilku plików/katalogów i jego kompresja to najczęściej dwa osobne kroki (np. tar + gzip). Z mojego doświadczenia mylenie tych pojęć prowadzi do problemów z odtwarzaniem danych, bo próbujesz rozpakować plik gzip, który wcale nie jest archiwum, a tylko pojedynczym skompresowanym plikiem. Zdecydowanie warto zapamiętać, że narzędziem służącym stricte do archiwizacji, czyli łączenia wielu plików i struktury katalogów w jeden plik, jest tar. Kompresja to osobna sprawa i osobne polecenia. Dobra praktyka to zawsze wiedzieć, czy potrzebujesz tylko mniejszego rozmiaru, czy też zarchiwizowania wielu plików – bo to wpływa na dobór narzędzi i późniejsze operacje na plikach.