Извлечь предыдущую версию файла, который хранится в архиве tar

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

вот как создать тестовый tar-файл:

создать тестовый каталог

tal@backup:~/tmp$ mkdir test

создать тестовый файл

tal@backup:~/tmp$ echo line 1 > test/test.txt

создайте файл tar, который содержит тестовый файл

tal@backup:~/tmp$ tar -cvf test.tar test/*

возвращается

test/test.txt

проверить изменения

tal@backup:~/tmp$ tar -dvf test.tar test/*

возвращает (пока ничего)

test/test.txt

изменить тестовый файл

tal@backup:~/tmp$ echo line 2 >> test/test.txt

проверить изменения

tal@backup:~/tmp$ tar -dvf test.tar test/*

возвращает (магия: файл изменился)

test/test.txt
test/test.txt: Mod time differs
test/test.txt: Size differs

обновить файл tar

tal@backup:~/tmp$ tar -uvf test.tar test/*

возвращается

test/test.txt

проверить изменения

tal@backup:~/tmp$ tar -dvf test.tar test/*

возвращает (обе версии существуют)

test/test.txt
test/test.txt: Mod time differs
test/test.txt: Size differs
test/test.txt

Спасибо тал

1 ответ

Решено:

--occurrence = п

n - [0 .. количество версий]

  • 0 - последний (по умолчанию)
  • 1.. номер версии - это фактический номер версии
  • ошибка возникает, если n больше, чем количество версий

пример

tar -xvf test.tar --occurrence=1 test/test.txt

Спасибо тал

Другие вопросы по тегам