Seperti yang kita ketahui, "Semua yang ada di Linux" adalah file, dan lebih dari itu direktori hanyalah file yang berisi file lain.
Jadi, saya tidak tahu apakah ini "ide gila" mungkin, tetapi harus di suatu tempat sesuai dengan prinsip di atas.
Dengan kata sederhana, bagaimana saya bisa mengubah file kosong yang ada menjadi direktori. Apa itu mungkin?
Seperti beberapa badai otak saya pikir beberapa modifikasi dalam metadata file dan menjadikannya sebagai direktori metadata harus membuatnya !!
Setiap informasi dihargai.
UPDATE: Pasti saya tidak ingin menghapus file dan membuat dir sebagai gantinya! Saya hanya mencoba untuk mengetahui seberapa besar filosofi di atas berlaku jika Anda dapat bermain dengan beberapa file metadata.
Jawaban:
Mencapai konversi
Membuat sistem file uji
Untuk menjaga sistem file utama kami dari kemungkinan kerusakan setelah menjalankan percobaan ini, kami akan membuat sistem file kecil di dalam file normal untuk tujuan pengujian.
Buat file tanpa isi yang disebut
test
dengan ukuran 10 megabita:Buat sistem file Ext4 di dalam file, seolah-olah itu adalah partisi:
Membuat beberapa file dan direktori
Sekarang kita memiliki sistem file yang berfungsi penuh di dalam
test
file, jadi kita akan membuat beberapa file dan direktori di dalamnya.Pasang sistem file yang baru dibuat di dalam
/mnt
:Buat file dan direktori:
Periksa isi sistem file:
Outputnya harus seperti ini:
Lepaskan sistem file uji:
Bertukar file dan folder
Jalankan
debugfs
melawantest
file dengan izin tulis (-w
bendera):Konversikan
file
ke dalam folder:Saat
debugfs
diminta, ketik ini:Sebuah prompt akan muncul menanyakan mode; ketik ini:
Terus menekan returnuntuk membiarkan data yang tersisa apa adanya hingga prompt muncul lagi.
Konversi
folder
menjadi file:Saat
debugfs
diminta, ketik ini:Sebuah prompt akan muncul menanyakan mode; ketik ini:
Terus menekan returnuntuk membiarkan data yang tersisa apa adanya hingga prompt muncul lagi.
Untuk keluar dari
debugfs
prompt, cukup tekan qdan kemudianreturnMemeriksa keberhasilan operasi
Pasang kembali sistem file uji:
Periksa isi sistem file:
Sekarang, itu harus memperlihatkan file seolah-olah itu adalah direktori dan sebaliknya :
Script untuk menghitung mode inode
Lihat skrip di GitHub
Cacat
Bacaan lebih lanjut
https://ext4.wiki.kernel.org/index.php/Ext4_Disk_Layout#Inode_Table
Terima kasih kepada @tallus . Dia memberi saya petunjuk besar:
sumber
0100755
harus0100644
untuk tidak mengubah hak akses dari file sejak 755 akan memberikan eksekusi untuk dikonversi file ...