Pregunta:
¿Cómo puedo cambiar la fecha de "cambio" de un archivo? Usar el touch
no funciona:
$ 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: -
Respuesta:
No puede cambiar el ctime 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:
- Establezca la hora del sistema en la ctime que desea imponer, luego toque el archivo y, a continuación, 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 manipule los bits en el disco (no lo haga mientras el sistema de archivos está montado).