Архів смоли не розпакується - "Шлях містить" .. ""


8

Назва файлу 2014-12-12 04-00-01.tar. Я виконав команду:

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

Вихід складається з багатьох рядків форми:

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

А потім кілька форм:

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

Здається, я не був дуже обережним, коли писав резервний сценарій. Як можна розпакувати файл?

Відповіді:


11

Ви хочете додати прапор P(або -P) до вашого командного рядка. На сторінці сторінки:

-P Зберегти імена шляхів. За замовчуванням абсолютні імена шляхів (ті, що починаються з / символу, видаляють провідну косу рису як при створенні архівів, так і витягуванні з них. Також tar відмовиться витягувати записи архівів, імена яких містять .. або цільовий каталог буде змінено на Цей варіант пригнічує цю поведінку.

Спробуйте tar Pxvf 2014-12-12\ 04-00-01.tar. Зауважте, що вам буде потрібно доступ для запису до батьківського каталогу робочого каталогу, де ви викликаєте команду.


Це зробив трюк!
Том Сміт

0

Ви можете спробувати:
mkdir ./dir
tar xvf 2014-12-12\ 04-00-01.tar -C --./dir


tar: could not chdir to '--./dir'
Том Сміт

Дивно. Спробуйте tar xvf 2014-12-12\ 04-00-01.tar -C --dirзамість цього.
LDC3

Що означає подвійний тире?
Xen2050

Це у файлі man, я думаю, це вказує на те, що наступні літери є частиною команди, оскільки ви можете матиtar xv -C --dir -f --2014-12-12\ 04-00-01.tar
LDC3
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.