При добавлении обновленной версии файла в файл tar с помощью '-u' и просмотре файла tar с помощью '-t' я замечаю, что более новая версия добавляется в конец (файл tar также увеличивается в размере); оба отображаются с тем же именем и без какой-либо другой информации. Этот процесс можно повторить. После распаковки с помощью '-x' создается правильная, самая новая версия (я предполагаю, что tar на самом деле распаковывает все, но новые версии продолжают перезаписывать старые).
Поскольку старые версии, по-видимому, сохранены, возможно ли
(1) получить больше информации (например, дату создания или архивации) о версиях, сохраненных при использовании '-t',
(2) выборочно удалить определенные старые версии (--delete удаляет все) и
(3) распаковать конкретную старую версию, а не использовать только '-x', что даст самую новую версию (для чего, очевидно, сначала нужно понять (1))?
Я работаю под Ubuntu 12.04, на случай, если это зависит от дистрибутива/версии.
решение1
Да, это все возможно.
1) Используйте -v
переключатель, и он выведет список информации о файле.
tar tvf mytar afile
2) Используйте --occurrence=n
опцию.
tar f mytar --occurrence=2 --delete afile
3) Используйте опцию --occurrence=n.
tar xf mytar --occurrence=1 afile
См. документацию tar:http://www.gnu.org/software/tar/manual/tar.html