когда я хочу создать 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