2016-11-22 27 views
0

古いctimeを持つファイルを別のファイルシステムに作成する方法を探しています。 Linux EXTで が、これはFreeBSDのUFS上の任意の等価はありFreeBSDのファイルのctimeを変更するUFS/MacOS X HFS

touch /path/to/file debugfs -w -R 'set_inode_field /path/to/file ctime 201001010101' /dev/sdX echo 3 > /proc/sys/vm/drop_caches

を使用することによって達成されますか? そしておそらくMacOSX HFS +でも? FreeBSDで

答えて

1

-fオプションを使用してtouchコマンドは、例えば、このために働く可能性があります

touch -t 0510242022.13 file 

はフォーマットは20時22分13秒

で2005年11月24日に日付を設定します[[CC]YY]MMDDhhmm[.SS]man touchから:

-t  Change the access and modification times to the specified time 
      instead of the current time of day. The argument is of the form 
      ``[[CC]YY]MMDDhhmm[.SS]'' where each pair of letters represents 
      the following: 

        CC  The first two digits of the year (the century). 
        YY  The second two digits of the year. If ``YY'' is 
          specified, but ``CC'' is not, a value for ``YY'' 
          between 69 and 99 results in a ``CC'' value of 19. 
          Otherwise, a ``CC'' value of 20 is used. 
        MM  The month of the year, from 01 to 12. 
        DD  the day of the month, from 01 to 31. 
        hh  The hour of the day, from 00 to 23. 
        mm  The minute of the hour, from 00 to 59. 
        SS  The second of the minute, from 00 to 61. 

のctimeを変更するには、あなたはおそらく、fsdb使用することができますあなたは、たとえば、読み取り専用モードでディスクを持っているシングルモードでブートする必要があります。

> fsdb /dev/vtbd0p2 
** /dev/vtbd0p2 (NO WRITE) 
Editing file system `/dev/vtbd0p2' 
Last Mounted on/
current inode: directory 
I=2 MODE=40755 SIZE=1024 
     BTIME=Sep 29 01:45:50 2016 [0 nsec] 
     MTIME=Nov 26 09:47:37 2016 [339135000 nsec] 
     CTIME=Nov 26 09:47:37 2016 [339135000 nsec] 
     ATIME=Nov 26 09:28:38 2016 [679268000 nsec] 
OWNER=root GRP=wheel LINKCNT=20 FLAGS=0 BLKCNT=8 GEN=37b9b524 
fsdb (inum: 2)> 

そこから私は次のディレクトリにcdして、それを選択することができます。

fsdb (inum: 2)> cd /usr/home/nbari 

そして

fsdb (inum: 642101)> active 
current inode: regular file 
I=642101 MODE=100644 SIZE=29 
     BTIME=Oct 24 20:22:13 2005 [0 nsec] 
     MTIME=Jan 1 12:12:12 2012 [0 nsec] 
     CTIME=Jan 1 12:12:12 2012 [0 nsec] 
     ATIME=Jan 1 12:12:12 2012 [0 nsec] 
OWNER=nbari GRP=nbari LINKCNT=1 FLAGS=0 BLKCNT=8 GEN=384445f7 
fsdb (inum: 644816)> lookup file 

あなたがダブルチェックにactiveを入力することができますが、ファイル、例です

以降だけで、あなた希望日までのctimeを変更します。

> stat -x test_file 
    File: "test_file" 
    Size: 29   FileType: Regular File 
    Mode: (0644/-rw-r--r--)   Uid: (1002/ nbari) Gid: (1002/ nbari) 
Device: 0,68 Inode: 642101 Links: 1 
Access: Sun Jan 1 12:12:12 2012 
Modify: Sun Jan 1 12:12:12 2012 
Change: Sun Jan 1 12:12:12 2012 

fsdb (inum: 642101)> ctime 20121212010101 

形式は、それからちょうどダブルチェックの実行statに、qまたはexitを入力して終了し、例YYYYMMDDHHMMSS[.nsec]

です

+0

申し訳ありませんが、あなたの答えは、ctimeではなくatimeまたはmtimeを変更する場合にのみ有効です。 – deajan

関連する問題