Sistem file apa di Linux yang menyimpan waktu pembuatan?

32

Apakah ada sistem file (terkenal, dapat diandalkan) di Linux yang menyimpan waktu pembuatan file dan direktori dalam tabel i-node?

Jika ada, apakah waktu "yang diubah" diganti dengan waktu pembuatan i-simpul dalam panggilan stat?

franziskus
sumber
Ada yang tampaknya menjadi cara untuk mendapatkan waktu pembuatan file di Linux jika file pada sistem file ext4. Lihat: unix.stackexchange.com/a/131347/182996
kaartic

Jawaban:

16

Sistem file ext4 menyimpan waktu pembuatan. stat -c %W myfiledapat menunjukkannya kepada Anda.

Keith
sumber
6
Terima kasih. Dalam sistem saya stat -c %Wmengembalikan 0 (waktu pembuatan tidak diketahui), tetapi itu adalah pertanyaan lain ...
franziskus
1
Tetapi perhatikan bahwa karena cara file ditangani oleh banyak program, nilai waktu pembuatan mungkin tidak berguna .
mattdm
15
@Legate: jika editor teks berfungsi dengan menyalin file ke lokasi sementara, mengedit copy pekerjaan sementara, dan kemudian memindahkan salinan sementara dari aslinya pada save, kapan waktu pembuatan?
mattdm
1
Apakah ini perlu diaktifkan, entah bagaimana? Saya mencoba untuk mendapatkan crtime untuk file pada sistem file ext4 dan mendapat nol. Setelah sebelumnya membaca posting blog ini , saya juga mencoba menggunakan debugfsdan statyang mengungkapkan bahwa tidak ada crtime. Jadi saya ingin tahu apakah itu perlu diaktifkan? (FWIW saya menggunakan Arch Linux )
starfry
2
Tampaknya memang ada cara untuk mendapatkan waktu pembuatan file di Linux. Lihat: unix.stackexchange.com/a/131347/182996
kaartic
30

Beberapa sistem file menyimpan waktu pembuatan file, meskipun tidak ada nama standar untuk bidang ini:

  • ufs2 → st_birthtime
  • zfs → crtime
  • ext4 → crtime
  • btrfs → otime
  • jfs → di_otime
Jlliagre
sumber
5
Secara eksplisit, pada 2015-03, XFS tidak mendukung (lihat xfs_dbhalaman manual atau dalam Struktur Sistem File XFS
Franklin Piat
4

Sejauh yang saya tahu sistem file ext4, JFS dan BTRFS semua mendukung bidang tambahan dalam inode file untuk menyimpan waktu pembuatan, meskipun penamaan mungkin berbeda.

Sumber: LWN File Creation Times

Huygens
sumber
//, Apakah Anda dapat memverifikasi ini? AFAIK agak lemah, setidaknya untuk selera saya.
Nathan Basanese
5
@NathanBasanese AFAIK melaporkan ke JFS dan BTRFS. Untuk ext4, ya itu mendukungnya. Periksa debugfsstat perintah. Contoh: Anda perlu memasang perangkat tempat sistem file ext4 Anda dipasang (misalnya / dev / sda3) dan Anda perlu mendapatkan nomor inode file dalam sistem file tersebut (gunakan ls -i, katakanlah 42000 adalah nomornya), maka Anda cukup mengetik: debugfs -R 'stat <42000>' /dev/sda3. Jalankan ini sebagai root, atau dengan hak istimewa yang cukup. Cari crtimebidangnya, itu dia. Untuk JFS dan BTRFS, Anda perlu menemukan perintah debugfs yang setara ...
Huygens
//, NIIICE. Saya mencoba $ ls -i | grep dump.rdb 656376 dump.rdb dan $ sudo debugfs -R 'stat <656376>' / dev / sda2, tapi saya rasa saya belum memiliki ext4 di sana, belum. Jika saya mencobanya pada ext4, saya akan mengatakannya.
Nathan Basanese
@NathanBasanese Anda bisa lakukan df -Tuntuk mendapatkan tipe partisi atau cukup mengetik mount. Pastikan inode file milik partisi yang benar. Inode (sesuai sifatnya) khusus untuk partisi.
Huygens