GNU tar
Время создания:
Linux на самом деле не записывает время создания файла. У него есть метка времени ctime , которая иногда ошибочно принимается за время создания, но на самом деле это "время изменения inode": она записывает, когда в последний раз было изменение файла или его прав доступа, владельца и т.д. Т.е. он меняется чаще, чем mtime . ctime обрабатывается ядром и не может быть установлена пользователем на произвольные значения (хотя вы можете легко сбросить ее до текущего времени).
Время модификации:
mtime сохраняется в tar
Время доступа:
tar обычно изменяет время доступа даже к исходному файлу. Вы можете предотвратить это, используя флаг --atime-preserve . Вам также может потребоваться тег --preserve который сохраняет права доступа (а также порядок сортировки каталогов).
Я не знаю, можете ли вы сделать tar сохраненным в архивированных файлах, но вы всегда можете это исправить:
- распаковка
- Использование
touch -a -d TIME FILE для каждого файла (со временем в формате [[CC]YY]MMDDhhmm[.ss])
- Переназначение с
tar --atime-preserve
предупреждение: использование --atime-preserve настоящее время запоминает atime, чтобы сохранить его после прочтения. В большинстве систем это приведет к изменению времени ctime, которое иногда может мешать работе другого программного обеспечения (например, программного обеспечения безопасности).
Другое программное обеспечение
Вы можете взглянуть на rsync (см. Эту статью, например) или систему контроля версий (например, git).