Różne narzędzia tar działają pod tym względem inaczej, więc dobrze jest zachować ostrożność. W przypadku pliku tar, który nie został utworzony, zawsze wypisz spis treści przed wypakowaniem go.
Tar Solaris :
Nazwane pliki są wyodrębniane z pliku tar i zapisywane w katalogu określonym w pliku tar, w stosunku do bieżącego katalogu. Użyj względnych nazw ścieżek plików i katalogów do wyodrębnienia.
Bezwzględne nazwy ścieżek zawarte w archiwum tar są rozpakowywane przy użyciu bezwzględnych nazw ścieżek, to znaczy wiodący ukośnik do przodu (/) nie jest usuwany.
W przypadku pliku tar z pełnymi (bezwzględnymi) nazwami ścieżek, takimi jak:
/tmp/real-file
/etc/sneaky-file-here
... jeśli wyodrębnisz taki plik, skończysz na obu plikach.
GNU tar :
Domyślnie GNU tar usuwa wiodące /
dane wejściowe lub wyjściowe i narzeka na nazwy plików zawierające ..
komponent. Istnieje opcja, która wyłącza to zachowanie:
--absolute-names
-P
Nie usuwaj początkowych ukośników z nazw plików i zezwalaj na nazwy plików zawierające ..
składnik nazwy pliku.
... jeśli wyodrębnisz pełny plik tar za pomocą GNU tar bez użycia -P
opcji, powie ci:
tar: Usuwanie wiodących /
z nazw członków
i rozpakuje plik do podkatalogów bieżącego katalogu.
Tar AIX :
nic o tym nie mówi i zachowuje się jak tar Solaris - utworzy i wyodrębni pliki tar z pełnymi / bezwzględnymi nazwami ścieżek.
Tar HP-UX :
(mile widziane lepsze referencje online)
OSTRZEŻENIA
Nie ma możliwości przywrócenia bezwzględnej nazwy ścieżki do względnej pozycji.
Tar OpenBSD :
-P
Nie usuwaj wiodących ukośników ( /
) z nazw ścieżek. Domyślnie usuwane są początkowe ukośniki.
Istnieją -P
opcje zaimplementowane również tar
w macOS, FreeBSD i NetBSD, z tą samą semantyką, z dodatkiem, że tar
w FreeBSD i macOS „odmówi wyodrębnienia wpisów archiwalnych, których ścieżki zawierają ..
lub których katalog docelowy zostałby zmieniony przez dowiązanie symboliczne” bez -P
.
gwiazda schilytools :
-/
Nie usuwaj wiodących ukośników z nazw plików podczas rozpakowywania archiwum. Archiwa tar zawierające bezwzględne nazwy ścieżek są zwykle złym pomysłem. W przypadku innych implementacji tar prawdopodobnie nigdy nie zostaną one wyodrębnione bez blokowania istniejących plików. Z tego powodu gwiazdka domyślnie usuwa początkowe ukośniki z nazw plików w trybie wypakowywania.
-P
opcję, która wpływa na jego zachowanie w tym zakresie.