Archiwum tar nie rozpakuje się - „Ścieżka zawiera„ .. ””


8

Nazwa pliku 2014-12-12 04-00-01.tar. Wykonałem polecenie:

tar xvf 2014-12-12\ 04-00-01.tar

Wynikiem jest wiele wierszy formularza:

x ../server/: Path contains '..'

A potem kilka postaci:

tar: copyfile unpack (../server/logs/.DS_Store) failed: No such file or directory

Wygląda na to, że nie byłem bardzo ostrożny, kiedy napisałem skrypt kopii zapasowej. Jak mogę rozpakować plik?

Odpowiedzi:


11

Będziesz chciał dodać flagę P(lub -P) do linii poleceń. Z strony podręcznika:

-P Zachowaj nazwy ścieżek. Domyślnie bezwzględne nazwy ścieżek (te, które zaczynają się od znaku /, usuwają wiodący ukośnik zarówno podczas tworzenia archiwów, jak i wypakowywania z nich. Tar również odmówi wyodrębnienia pozycji archiwów, których ścieżki zawierają ... lub których katalog docelowy zostałby zmieniony przez dowiązanie symboliczne Ta opcja eliminuje te zachowania.

Spróbować tar Pxvf 2014-12-12\ 04-00-01.tar. Pamiętaj, że potrzebujesz dostępu do zapisu do katalogu nadrzędnego katalogu roboczego, w którym wywołujesz polecenie.


To załatwiło sprawę!
Thom Smith,

0

Możesz spróbować:
mkdir ./dir
tar xvf 2014-12-12\ 04-00-01.tar -C --./dir


tar: could not chdir to '--./dir'
Thom Smith,

Dziwne. Spróbuj tar xvf 2014-12-12\ 04-00-01.tar -C --dirzamiast tego.
LDC3,

Co oznacza podwójny kreska?
Xen2050,

Jest w pliku man, myślę, że wskazuje, że następujące litery są częścią polecenia, ponieważ możesztar xv -C --dir -f --2014-12-12\ 04-00-01.tar
LDC3
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.