tar: почему создание нового каталога при инкрементном архивировании считается ошибкой?

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

Ответить
Аватара пользователя
жучара
Сообщения: 950
ОС: астралинукс

tar: почему создание нового каталога при инкрементном архивировании считается ошибкой?

Сообщение жучара »

Друзья! Ну создался каталог и создался, что тут ошибочного-то? Мы затем и архивируем инкрементно, чтобы увидеть разницу между тем, что было и тем, что стало и её сархивировать

Создадим папку foo и инкрементно архивируем её:

Shell

$ mkdir foo
$ tar --create --verbose --file=ar.tar --listed-incremental=sn.snar foo
tar: foo: Каталог новый
foo/
$
Ну вот, foo- новый каталог. И это именно ошибка (а ведь мы ещё и ничего не поменяли, это вообще нулевой уровень), посмотрите, перенаправим ошибки в отдельный файл err.txt и его выведем:

Shell

$ rm -rf sn.snar ar.tar
$ tar --create --verbose --file=ar.tar --listed-incremental=sn.snar foo 2>err.txt
foo/
$
$ cat err.txt
tar: foo: Каталог новый
$
Ну и на последующих уровнях архивирования создание нового каталога является ошибкой.
Это тем более странно что вот тут, например (официальное руководство tar):
https://www.gnu.org/software/tar/manual/html_node/Incremental-Dumps.html

Это никакая не ошибка, а обыкновенный вывод (но почему-то без опции --verbose):

Shell

$ tar --create \
--file=archive.2.tar \
--listed-incremental=/var/log/usr.snar \
/usr
tar: usr/local/db: Directory is new
usr/local/db/
usr/local/db/data
usr/local/db/index
Странно всё это. Спасибо, кто откликнется. Debian 11
Offtopic
В реальном проекте у меня при архивировании куча всяких ошибок и чтобы с ними разобраться, часть из них нужно отсеять, как неошибки. Начинаю с очевидного.
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20830
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: tar: почему создание нового каталога при инкрементном архивировании считается ошибкой?

Сообщение Bizdelnick »

Ничего не понял. Какой код завершения tar? Каталог заархивировался или нет?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 950
ОС: астралинукс

Re: tar: почему создание нового каталога при инкрементном архивировании считается ошибкой?

Сообщение жучара »

Bizdelnick писал:
07.12.2023 23:40
Ничего не понял. Какой код завершения tar? Каталог заархивировался или нет?
да это неважно. Вот как знал, что не нужно никаких приписок делать.
почему создание нового каталога при инкрементном архивировании считается ошибкой?
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20830
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: tar: почему создание нового каталога при инкрементном архивировании считается ошибкой?

Сообщение Bizdelnick »

жучара писал(а):
07.12.2023 23:52
это неважно
Это единственное, что важно. Если код завершения ненулевой — была ошибка, если нулевой — не было ошибки. Что там программа при этом пишет или не пишет в stderr — не имеет значения.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 950
ОС: астралинукс

Re: tar: почему создание нового каталога при инкрементном архивировании считается ошибкой?

Сообщение жучара »

Bizdelnick писал:
08.12.2023 00:14
жучара писал(а):
07.12.2023 23:52
это неважно
Это единственное, что важно. Если код завершения ненулевой — была ошибка, если нулевой — не было ошибки. Что там программа при этом пишет или не пишет в stderr — не имеет значения.
Странно всё это. Архвируется, код завершения ноль, а ошибки есть. Странно.
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20830
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: tar: почему создание нового каталога при инкрементном архивировании считается ошибкой?

Сообщение Bizdelnick »

жучара писал(а):
09.12.2023 11:55
Архвируется, код завершения ноль, а ошибки есть.
Ошибок нет. Есть информационный вывод в stderr. Туда пишется всё то, что нужно сказать пользователю, но чего не должно быть в stdout, потому что больше писать некуда. А в stdout tar может писать создаваемый архив (если указана опция -c, но не указана -f), список файлов архива (с опцией -t), список добавляемых в архив файлов (с опциями -c или -r в сочетании с -v). Подразумевается, что это всё может обрабатываться каким-то другим процессом, поэтому диагностическим сообщениям там не место, они могут всё сломать.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Ответить