LINUX.ORG.RU

crtime - камень преткновения ИЛИ будет ли Linux в XXI веке уметь (нормально) работать с временем создания файла

 


0

3

Файловая система ext4 была выпущена 2008 года. Она кроме (стандартных) mtime, ctime и atime aka facepalm, сохраняет crtime и dtime. Чтобы прочитать crtime (время создания файла) нужны debugfs и, соответственно, root права, что, мягко говоря, неудобно.

Ещё в далёком 2006 некий Theodore Tso писал:

Shoehorning an extra creation time field into the inode is relatively easy, but it's also necessary to have system calls to get and set the creation time. The stat structure doesn't have room for the creation time, so that means a new version of the stat structure exported the kernel, and a new version of the stat structure exported by glibc.

So there are VFS and glibc changes necessary to make this be useful. But that doesn't prevent us from reserving space in the inode and starting to fill it in with the creation time, although it may be quite a while before it will be easily available to user programs like Samba.

«it may be quite a while» — в годах это сколько? :)

Есть какие-то продвижения в этом направлении? Существует ли дистрибутив который более-менее умеет работать с временем создания файла?

Что конкретно хочу (это касается не только ФС ext4 но и NTFS и FAT):

  • Чтобы можно было посмотреть время создания файла (crtime) стандартными способами (через проводник, без root прав).
  • Чтобы можно было переместить файлы / папки с сохранением crtime (допиленный cp ? или, по крайней мере, допиленный touch).

Недавно запилили для этого сисвызов statx().

anonymous
()

Алсо всегда можно было самому писать в расширеные атрибуты файла, туда хром например пишет урл откуда скачано, недавно обнаружил.

anonymous
()

На такую фигню байты тратят, были же пару байт свободных на расширение имени, нет будем дальше с «File name too long» сидеть.

anonymous
()

crtime - это чисто внутренние метаданные самой fs. Непонятно нахер тебе туда вообще лезть.

Существует ли дистрибутив который более-менее умеет работать с временем создания файла?

Дурак штоле? ctime это что по твоему?

anonymous
()

А что, fat тоже crtime хранит?

greenman ★★★★★
()
Ответ на: комментарий от greenman

44

Спасибо за наглядное, оформленное цифрой, подтверждение, что это никому не нужно.

redgremlin ★★★★★
()

Что такое время создания файла?

Для пользователей и администраторов время создания файла не должно меняться при копировании, переименовании, изменении и операции «сохранить как».

Таким образом мы имеем файл petrovu.docx, созданный в 1998 году (под именем ivanovu.doc), что выглядит странно.

anonymous
()
Ответ на: комментарий от greenman

Поддерживаю.

Обычно, при «Сохранить как» мы получаем новый файл, который должен получить новое время создания.

А вот старый(исходный) остаться без изменений - это да.

PunkoIvan ★★★★
()

Впервые слышу, что оно кому-то нужно(?). Не помешало бы, но в реальном мире кроме mtime не используется ничего. Когда нужны crtime и atime, на самом деле нужен аудит.

anonymous
()

ext4 — говно же. Зачем оно тебе? Почему не xfs, или хотя бы reiserfs (третий, кошерный)?

mount
...
/dev/sda2 on / type reiserfs (rw,relatime)
...
и все хорошо.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.