Dosyanın 'değişiklik' tarihini nasıl değiştirebilirim?


23

'Değişiklik' tarihini nasıl değiştirebilirim?

$ 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: -

3
Keyfi ayarlamak ctimekolay değildir. SO ile ilgili soru .
jw013

Yanıtlar:


22

Ctime'ı sıradan yöntemlerle değiştiremezsiniz. Bu, tasarım gereğidir: Dosyanın herhangi bir meta verisini değiştirdiğinizde ctime her zaman güncel olarak güncellenir ve farklı bir ctime yüklemenin yolu yoktur. Bir dosyanın zamanını değiştirmek için aşağıdakilerden birini yapmanız gerekir:

  • Sistem saatini empoze etmek istediğiniz zamana ayarlayın, sonra dosyaya dokunun, ardından sistem saatini sıfırlayın.
  • Ctime'ı değiştirmek üzere bir arayüz eklemek için çekirdeği değiştirin.
  • Doğrudan disk görüntüsüne erişin (örneğin ile debugfs) ve diskteki bitleri gizleyin (dosya sistemi takılıyken yapmayın).

2
Sistem zamanını ayarlamak ve chmod benim için çalıştı. Buradaki
betiğe

11

JW013 ile gösterilen, ilgili SO sorusunun cevabını, extX için, çıkartılmamış diskte bulabilirsiniz :

# 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

4

Meta verilerin herhangi biri değiştirildiğinde bir dosyanın ctime'ı güncellenir.

$ 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

ama güncelleme yapmadan nasıl değiştirebilirim
Someone1234
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.