¿Cómo puedo cambiar la fecha de 'cambio' del archivo?

¿Cómo puedo cambiar la fecha de 'cambio' del archivo?

¿Cómo puedo cambiar la fecha de "cambio" de un archivo? Usar touchno funciona:

$ touch -t 9901010000 prueba;prueba estadística
  Archivo: `prueba'
  Tamaño: 0 Bloques: 0 Bloque IO: 4096 archivo vacío normal
Dispositivo: fe01h/65025d Inodo: 11279017 Enlaces: 1
Acceso: (0644/-rw-r--r--) Uid: ( 1000/ x) Gid: ( 1000/ x)
Acceso: 1999-01-01 00:00:00.000000000 +0100
Modificar: 1999-01-01 00:00:00.000000000 +0100
Cambio: 2012-04-08 19:26:56.061614473 +0200
 Nacimiento: -

Respuesta1

No se puede cambiar la hora por medios ordinarios. Esto es por diseño: el ctime siempre se actualiza al actual cuando cambia cualquiera de los metadatos del archivo, y no hay forma de imponer un ctime diferente. Para cambiar el ctime de un archivo, debe realizar una de las siguientes acciones:

  • Configure la hora del sistema en la hora que desea imponer, luego toque el archivo y luego restablezca la hora del sistema.
  • Modifique el kernel para agregar una interfaz para cambiar el ctime.
  • Acceda a la imagen del disco directamente (por ejemplo, con debugfs) y cambie los bits del disco (no lo haga mientras el sistema de archivos esté montado).

Respuesta2

Tiene la respuesta a la pregunta SO relacionada señalada por jw013, para extX, endisco desmontado:

# 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

Respuesta3

$NOW=$(date) && date -s "2030-08-15 21:30:11" && touch file.txt && date -s "$NOW"

https://www.shellhacks.com/fake-file-access-modify-change-timestamps-linux

Respuesta4

El ctime de un archivo se actualiza cuando se cambia cualquiera de los metadatos.

$ 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

información relacionada