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
).