получил ошибку «tar :/path/to/my/dir :Not found in archive» при проверке созданного архива

это может быть не тот ответ, который вы ищете. Да, на ваш первый вопрос он остается, но не думайте, что это будет дорого, скажем, (слишком много переменных ). По второму вопросу не знаю. Вы можете попробовать "протестировать" добавление команд для очистки памяти к вашей процедуре, которую вы выполняете, когда вы контролируете нагрузку на систему.

синхронизация; эхо 1 > /proc/sys/vm/drop _кеши
синхронизировать; echo 2 > /proc/sys/vm/drop _кеши
синхронизировать; echo 3 > /proc/sys/vm/drop _кеши

2
11.12.2020, 20:39
2 ответа

Если вам действительно нужно использовать абсолютные пути, вам следует использовать -Pдля обеих команд --createи --compare.

    -P, --absolute-names
        Don't strip leading slashes from file names when creating archives.

Пример:

$ tar -cvPf a.tar /home/user/test_file
/home/user/test_file
$ tar -dvPf a.tar /home/user/test_file
/home/user/test_file

Или вы можете использовать -C, чтобы изменить каталог перед сравнением.

    -C, --directory=DIR
        Change to DIR before performing any operations. This option is
        order-sensitive, i.e. it affects all options that follow.

Пример:

tar -cvf a.tar /home/user/test_file
tar: Removing leading `/' from member names
/home/user/test_file
tar -dvf a.tar -C/ home/user/test_file
home/user/test_file
1
28.04.2021, 23:02

Начальный /мог быть удален, поэтому путь не может быть найден в архиве.

При использовании стандартного GNU tarи добавлении файлов /absolute/path/file.extначальный /удаляется, и файл внутри архива будет называться absolute/path/file.ext.

Обычно это записывается в stderr при архивировании файлов, пожалуйста, проверьте этот вывод, он может выглядеть как в этом примере:

# tar -cvf test.tar /etc/passwd
tar: Removing leading `/' from member names
/etc/passwd
# tar -tf test.tar
etc/passwd

Поэтому попробуйте запустить

tar --compare --file myArchive.tar.xz path/to/my/dir

пропустить первый символ пути, если это /.

1
28.04.2021, 23:02

Теги

Похожие вопросы