Wie kann ich das Änderungsdatum der Datei ändern?

23

Wie kann ich das Änderungsdatum ändern?

$ touch -t 9901010000 test;stat test
  File: `test'
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: fe01h/65025d    Inode: 11279017    Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/    x)   Gid: ( 1000/    x)
Access: 1999-01-01 00:00:00.000000000 +0100
Modify: 1999-01-01 00:00:00.000000000 +0100
**Change: 2012-04-08 19:26:56.061614473 +0200**
 Birth: -
Jemand1234
quelle
3
Beliebiges Einstellen ctimeist nicht einfach. Verwandte Frage zu SO.
JW013

Antworten:

22

Sie können die Uhrzeit nicht mit normalen Mitteln ändern. Dies ist beabsichtigt: Die Uhrzeit wird immer auf den aktuellen Stand gebracht, wenn Sie eine der Metadaten der Datei ändern, und es gibt keine Möglichkeit, eine andere Uhrzeit festzulegen. Um die Uhrzeit einer Datei zu ändern, müssen Sie einen der folgenden Schritte ausführen:

  • Stellen Sie die Systemzeit auf die gewünschte Uhrzeit ein, berühren Sie die Datei und setzen Sie die Systemzeit zurück.
  • Ändern Sie den Kernel, um eine Schnittstelle zum Ändern der Uhrzeit hinzuzufügen.
  • Greifen Sie direkt auf das Image der Festplatte zu (z. B. mit debugfs) und drehen Sie die Bits auf der Festplatte (tun Sie dies nicht, während das Dateisystem gemountet ist).
Gilles 'SO - hör auf böse zu sein'
quelle
2
Das Einstellen von Systemzeit und chmod hat bei mir funktioniert. Siehe Skript hier: stackoverflow.com/questions/16126992/…
gaoithe
11

Sie haben die Antwort auf eine verwandte SO-Frage von jw013 für extX auf einer nicht gemounteten Festplatte :

# Update ctime
debugfs -w -R 'set_inode_field /tmp/foo ctime 201001010101' /dev/sda1

# Drop vm cache so ctime update is reflected
echo 2 > /proc/sys/vm/drop_caches
Coren
quelle
4

Die Uhrzeit einer Datei wird aktualisiert, wenn eine der Metadaten geändert wird.

$ ls -l x.py
-rw-rw-r--. 1 ignacio ignacio 485 Mar 26  2010 x.py
$ stat -c %z x.py
2010-03-26 11:57:56.237068175 -0400
$ chown ignacio x.py
$ stat -c %z x.py
2012-04-08 15:31:33.682383575 -0400
$ ls -l x.py
-rw-rw-r--. 1 ignacio ignacio 485 Mar 26  2010 x.py
Ignacio Vazquez-Abrams
quelle
aber wie ändern, ohne es zu aktualisieren
Someone1234