Comment puis-je changer la date de «changement» du fichier?

23

Comment puis-je changer la date de «changement»?

$ 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: -
Quelqu'un1234
la source
3
Définir arbitraire ctimen'est pas facile à faire. Question connexe sur SO.
jw013

Réponses:

23

Vous ne pouvez pas changer le ctime par des moyens ordinaires. C'est par conception: le ctime est toujours mis à jour vers le courant lorsque vous modifiez l'une des métadonnées du fichier, et il n'y a aucun moyen d'imposer un ctime différent. Pour modifier la durée d'un fichier, vous devez effectuer l'une des opérations suivantes:

  • Réglez l'heure système sur l'heure que vous souhaitez imposer, puis touchez le fichier, puis réinitialisez l'heure système.
  • Modifiez le noyau pour ajouter une interface pour changer le ctime.
  • Accédez directement à l'image du disque (par exemple avec debugfs) et déformez les bits sur le disque (ne le faites pas pendant que le système de fichiers est monté).
Gilles 'SO- arrête d'être méchant'
la source
2
Le réglage de l'heure système et de chmod a fonctionné pour moi. Voir le script ici: stackoverflow.com/questions/16126992/…
gaoithe
12

Vous avez la réponse à la question SO connexe pointée par jw013, pour extX, sur le disque non monté :

# 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
la source
4

Le ctime d'un fichier est mis à jour lorsque l'une des métadonnées est modifiée.

$ 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
la source
mais comment le modifier sans le mettre à jour
Someone1234