При пересоздании архива tar не реагирует на удалённые/созданные директории (при использовании опции -z)

На самом деле это единственный раздел про unix на этом форуме

Модератор: /dev/random

vkapas
Сообщения: 188
ОС: Ubuntu 14.04, 16.04

При пересоздании архива tar не реагирует на удалённые/созданные директории

Сообщение vkapas » 01.11.2015 03:22

Сегодня настраивал расписание архивации файлов с помощью tar и чуть не сошёл с ума.

Ситуация: есть директория, которую нужно заархивировать, допустим, /var/site/. Архивирую:

Код: Выделить всё

tar cfz site.tgz /var/site/

Всё ОК, архив создан, внутри всё в порядке.

А теперь самое интересное. Допустим, сразу после этого я создаю директорию /var/site/backup. Снова архивирую:

Код: Выделить всё

tar cfz site.tgz /var/site/

Всё ОК, архив создан. Внутри архива директории /var/site/backup нет.

Я пересоздаю архив/удаляю/создаю снова — новая директория внутри архива всё равно не появляется. Аналогично происходит, если директория существовала на момент первого создания архива, а затем была удалена, и архив сразу после этого был пересоздан — такая директория всё равно остаётся в архиве.

Происходит это только при использовании опции -z (т.е., tar cf site.tgz /var/site/ адекватно реагирует на удаление/создание директорий) которую, естественно, я не могу не использовать. Причём, если поменять название директории, где создаётся архив, или имя архива, всё работает нормально.


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

Собственно, теперь я уже понял, как обойти проблему, но может кто-то может объяснить: почему и, главное, зачем это происходит?
Не похоже на баг, слишком очевидно, и было бы давно исправлено. Короче, терзает любопытство.
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 15823
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: При пересоздании архива tar не реагирует на удалённые/созданные директории

Сообщение Bizdelnick » 01.11.2015 14:27

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

vkapas
Сообщения: 188
ОС: Ubuntu 14.04, 16.04

Re: При пересоздании архива tar не реагирует на удалённые/созданные директории

Сообщение vkapas » 01.11.2015 16:55

Спасибо за наводку в соседнем посте.

Оказалось, что проблема — в mc. Я по старой привычке смотрю содержимое архива через него, и он, действительно, каждый раз после пересоздания архива показывает не текущее его состояние, а что-то вроде (за)кэшированной версии.

Выяснил после того как проверил архив с помощью tar -tf — внутри архива оказалось именно то, что и должно было оказаться. (При том, что mc всё равно продолжает показывать предыдущую версию архива.)


Кстати, а это какая-то известная фишка/баг mc, или тоже воспроизводится только у меня? :-)
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 15823
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: При пересоздании архива tar не реагирует на удалённые/созданные директории

Сообщение Bizdelnick » 01.11.2015 17:33

Не знаю, я им уже лет пять как не пользуюсь.
Пишите правильно:
в консоли
вкупе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

vkapas
Сообщения: 188
ОС: Ubuntu 14.04, 16.04

Re: При пересоздании архива tar не реагирует на удалённые/созданные директории

Сообщение vkapas » 01.11.2015 17:40

Нашли замену или полностью отказались от файлового менеджера?
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 15823
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: При пересоздании архива tar не реагирует на удалённые/созданные директории

Сообщение Bizdelnick » 01.11.2015 17:48

Не то чтоб отказался, а перестал испытывать в нём потребность.
Пишите правильно:
в консоли
вкупе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

Аватара пользователя
yars
Сообщения: 1144
Статус: Slacker!
ОС: Slackware64-current

Re: При пересоздании архива tar не реагирует на удалённые/созданные директории

Сообщение yars » 01.11.2015 19:28

А чем пользуетесь вместо него?
Slackware64-current/Xfce 4.12/Acer TravelMate 5760
-------------
Registered Linux User #557010
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 15823
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: При пересоздании архива tar не реагирует на удалённые/созданные директории

Сообщение Bizdelnick » 01.11.2015 19:58

coreutils
Пишите правильно:
в консоли
вкупе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

Аватара пользователя
yars
Сообщения: 1144
Статус: Slacker!
ОС: Slackware64-current

Re: При пересоздании архива tar не реагирует на удалённые/созданные директории

Сообщение yars » 01.11.2015 22:00

А, ну это вы совсем Ъ-линуксоид :) Я, конечно, тоже могу и в эмуляторе терминала работать, но привычки ломать в лом.
Slackware64-current/Xfce 4.12/Acer TravelMate 5760
-------------
Registered Linux User #557010
Спасибо сказали: