URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 95338
[ Назад ]

Исходное сообщение
"Изменить время модификации файла"

Отправлено mgdn , 09-Янв-14 20:37 
Создаю файл:
touch -t 201202020202.02 test.txt

Смотрим на него детальнее:
stat test.txt

  File: `test.txt'
  Size: 0               Blocks: 0          IO Block: 4096   пустой обычный файл
Device: 11h/17d Inode: 484040      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2012-02-02 02:02:02.000000000 +0400
Modify: 2012-02-02 02:02:02.000000000 +0400
Change: 2014-01-09 20:31:16.911885986 +0400

Как можно дату изменения привести к 2012-02-02 02:02:02 ???


Содержание

Сообщения в этом обсуждении
"Изменить время модификации файла"
Отправлено Andrey Mitrofanov , 09-Янв-14 20:50 
> Как можно дату изменения привести к 2012-02-02 02:02:02 ???

Легко.
http://unix.stackexchange.com/questions/36021/how-can-i-chan...
http://stackoverflow.com/questions/4537291/setting-creation-...

debugfs, патч ядра, свой FUSE-оверлей, LDPRELAOD а-ля fakeroot и ко, наконец.

и далее по google(set file ctime) со всеми остановками


"Изменить время модификации файла"
Отправлено John , 09-Янв-14 21:38 
>[оверквотинг удален]
>       IO Block: 4096  
> пустой обычный файл
> Device: 11h/17d Inode: 484040      Links: 1
> Access: (0644/-rw-r--r--)  Uid: (    0/    
> root)   Gid: (    0/  
>  root)
> Access: 2012-02-02 02:02:02.000000000 +0400
> Modify: 2012-02-02 02:02:02.000000000 +0400
> Change: 2014-01-09 20:31:16.911885986 +0400
> Как можно дату изменения привести к 2012-02-02 02:02:02 ???

stroke


"Изменить время модификации файла"
Отправлено mgdn , 10-Янв-14 01:07 
> stroke

Это что такое? )


"Изменить время модификации файла"
Отправлено John , 10-Янв-14 11:21 
>> stroke
> Это что такое? )

Погуглить stroke ctime никак?
http://stroke.sourceforge.net/


"Изменить время модификации файла"
Отправлено Andrey Mitrofanov , 10-Янв-14 14:12 
> Погуглить stroke ctime никак?
> stroke.sourceforge.net/

Меня вот мой гугль-фу подвёл, по просто stroke на вскидку не нашлось ничего подходящего.

Эге, метод им.павлина из #4 -- уже на сорсфорже. Во всей красе, со съезжающими часами.
====
Change time

It is to be noted that in order for this to work root privileges might be necessary as is case with most systems.

Despite the fact of trying to circumvent clock skews, they often do arise when a file's change time is modified due to the method used for altering them - they seem somewhat inavoidable.  


"Изменить время модификации файла"
Отправлено pavlinux , 10-Янв-14 15:57 
> Эге, метод им.павлина из #4 -- уже на сорсфорже. Во всей красе,
> со съезжающими часами.

Ну ты чо, это ж старый баян, в msdos ещё юзали,
там жопа была у фохпро, если ей попадались файлы из будущего.  


"Изменить время модификации файла"
Отправлено pavlinux , 10-Янв-14 01:23 
> Как можно дату изменения привести к 2012-02-02 02:02:02 ???

current=$(date);
date --set="2012-02-02 02:02:02"
touch test.txt;
date --set=$(current);

Гы :)


"Изменить время модификации файла"
Отправлено mgdn , 10-Янв-14 19:17 
Спасибо, всем!

Самый простой способ, как видно из комментариев, всё-таки двигать системное время с возвратом и синхронизацией.