[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: tar -uvf дописывает в архив еще один экземеляр копий файлов, что делать?



Sergey Korobitsin wrote:
> Sat, Oct 03, 2009 at 19:05 +0400 James Brown воздействовал на энтропию:
>   
>> sms wrote:
>>     
>>> On Sat, 03 Oct 2009 18:33:28 +0400
>>> James Brown <jbrownfirst@gmail.com> wrote:
>>>       
>>>> Пытаюсь обновить tar-архив, tar -uvf дописывает в архив еще один
>>>> экземеляр копий файлов, что делать?
>>>> Вроде бы согласно ману:
>>>>      -u, --update
>>>>               only append files that are newer than copy in archive
>>>> И нужно ли применять аргумент -A ?
>>>>     
>>>>         
>>> аргумент -A применять не нужно. Он нужен для воссоединения нескольких
>>> tar архивов в одно целое. Опция -u добавляет новые файлы в архив, если 
>>> файлы более новые. Все правильно срабатывает команда. Файлы НЕ
>>> заменяются, а добавляются. Следовательно необходимо удалить более
>>> старую версию файлов из архива если это необходимо. Предчувствую что
>>> удаляются они опцией --delete (а может и другой опцией)
>>>       
>> В мане опция   --delete толком не описана,  там только:
>>
>> delete from the archive (not for use on mag tapes!)
>>
>> А что удаляет, не понятно. Похоже, что либо конкретные файлы, которые
>> надо указывать в аргументах, либо указывыать регулярное выражение.
>> А как правильно поступить в данном случае?
>>     
>
> По tar лучше читать info. В мане про это написано, кстати.
>
>   
Извиняюсь, да, но это не та функция, это удаление из архива, не
используется на магнитных лентах.
Но мне надо не удаление, а апдейт существующего архива.
По-видимому, можно использовать ключи:
-N, --after-date DATE, --newer DATE
              only store files newer than DATE

       --newer-mtime DATE
              only store files whose contents have changed after DATE

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

Но я все равно не могу понять, и из info тоже, почему в формате tar -uvf
не  апдейтит архив, а дописывает  в конец архива то же самое, только новое.
-v и -f  я так понимаю не имеют значения (так как первое - это verbouse,
просто чтобы можно было видеть, что он делает в текущий момент, а также
предполагать как быстро закончит), -f  это писать в файл архива (а не на
магнитную ленту например), но -u вроде бы должно быть достаточно :
 -u, --update
              only append files that are newer than copy in archive

Или это связано с тем, что если вносились изменения (т.е. создавался
новый текстовой файл или файл Office), то значит менялся файл d
(директория), а следовательно надо записывать весь путь от корневой
директории?!! Как тогда избежать такого ужоса?


Reply to: