Bagaimana saya bisa mengubah tanggal 'perubahan' file?

23

Bagaimana saya bisa mengubah tanggal 'ubah'?

$ 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: -
Seseorang1234
sumber
3
Pengaturan sewenang ctime- wenang tidak mudah dilakukan. Pertanyaan terkait pada SO.
jw013

Jawaban:

23

Anda tidak dapat mengubah waktu dengan cara biasa. Ini adalah dengan desain: waktu selalu diperbarui ke saat ketika Anda mengubah salah satu metadata file, dan tidak ada cara untuk memaksakan waktu yang berbeda. Untuk mengubah waktu file, Anda perlu melakukan salah satu dari yang berikut:

  • Atur waktu sistem ke waktu yang ingin Anda tetapkan, kemudian sentuh file, lalu setel ulang waktu sistem.
  • Ubah kernel untuk menambahkan antarmuka untuk mengubah waktu.
  • Akses image disk secara langsung (mis. Dengan debugfs) dan memutar-mutar bit pada disk (jangan lakukan itu saat sistem file di-mount).
Gilles 'SANGAT berhenti menjadi jahat'
sumber
2
Pengaturan waktu sistem dan chmod bekerja untuk saya. Lihat skrip di sini: stackoverflow.com/questions/16126992/…
gaoithe
12

Anda memiliki jawaban pada pertanyaan SO terkait yang ditunjukkan oleh jw013, untuk extX, pada disk yang tidak terpasang :

# 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
sumber
4

Waktu file diperbarui ketika salah satu metadata diubah.

$ 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
sumber
tapi bagaimana memodifikasinya tanpa memperbaruinya
Someone1234