Обработка ошибок с tar и keep-old-files опцией

NLS позволяет нормализацию наборов символов, используемых для имен файлов по целой системе, таким образом, можно было использовать другой набор символов в двух различных системах и все еще иметь корректные отображения.

Таким образом да, это необходимо, специально для CIFS, какой afaik использует Unicode по умолчанию на более новых серверах, но Ваша локальная система могла бы иметь различные настройки (обычно UTF-8 в эти дни, к счастью).

К сожалению, приложения не обрабатывают это (и почему должен они?).

2
18.09.2013, 03:34
1 ответ

Это, по-видимому, дизайном - из документации:

Чтобы быть еще более осторожными и препятствовать тому, чтобы существующие файлы были заменены, используйте --keep-old-files (-k) опция. Это заставляет tar отказываться заменять или обновлять файл, который уже существует, т.е. файл с тем же именем, как член архива предотвращает извлечение того члена архива. Вместо этого это сообщает об ошибке.

Репозиторий мерзавца действительно содержит патч, который представляет a --skip-old-files параметр, таким образом, это могло быть решено в будущем GNU tar версия:

+A new option --skip-old-files is introduced, which acts exactly as
+--keep-old-files, except that it does not treat existing files as
+errors.  Instead it just silently skips them.  An additional level of
+verbosity can be obtained by using the option --warning=existing-file
+together with this option.

Патч еще не превратил его в официальный выпуск, все же.

5
27.01.2020, 21:57

Теги

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