Назад | Перейти на главную страницу

обновить tar-архив в относительном каталоге

когда я хочу создать tar-архив по относительному пути, я могу сделать это:

tar cf archiveName.tar -C relative/path  someDirectory

но когда я хочу обновить архив, это

tar uf archiveName.tar -C relative/path someDirectory 

дает мне следующие ошибки:

tar: someDirectory/someFile: Cannot stat: No such file or directory
... (same error for all files and dirs in someDirectory)
tar: Exiting with faliure...

Я что-то упускаю?

Хотя на странице руководства GNU tar не упоминается, мне интересно, что -C опция работает только с c (create) или r (replace) операции.

На странице руководства Unix написано:

-C файл каталога
Выполняет операцию chdir (см. Cd (1)) над каталогом и выполняет операцию c (создание) или r (замена) над файлом. Используйте короткие относительные пути к файлу. Если файл - `. ', Заархивируйте все файлы в каталоге. Эта опция позволяет архивировать файлы из нескольких каталогов, не связанных близким общим родителем.

Итак, вы можете использовать r (replace) вариант вместо:

tar rf archiveName.tar -C relative/path someDirectory