Saya mencoba mendeteksi filesystem apa yang dapat didukung oleh kernel. Idealnya dalam daftar kecil nama mereka tetapi saya akan mengambil apa pun yang Anda punya.
Perhatikan bahwa saya tidak bermaksud filesystem saat ini digunakan , hanya yang kernel saat ini dapat, secara teoritis mendukung secara langsung (jelas, sekering dapat mendukung angka tak terbatas lebih banyak).
linux
filesystems
kernel
Oli
sumber
sumber
/boot/config-$(uname -r)
/proc/filesystems
tidak salah , hanya saja tidak lengkap ./lib/modules/$(uname -r)/kernel/fs
hanya akan membantu dengan filesystem yang telah diaktifkan sebagai modul, bukan yang dibangun ke dalam kernel. Selain itu nama modul mungkin tidak cocok dengan nama sistem file yang disediakannya, dan satu modul dapat menyediakan beberapa sistem file./proc/config.gz
sama sekali. 1) tidak dijamin ada, 2) Nama modul mungkin tidak cocok dengan nama sistem berkas yang disediakannya, dan satu modul dapat menyediakan banyak sistem berkas./proc/filesystems
mencantumkan semua tipe sistem file yang didukung oleh kernel yang berjalan, bersama dengan atribut sistem file,nodev
untuk menunjukkan bahwa sistem file ini tidak didukung oleh perangkat blok, misalnya.man 5 filesystems
memberikan beberapa informasi yang lebih mendalam.sumber
nodev
artinya dalam output saat Andacat /proc/filesystems
?cat /proc/filesystems
daftar sekelompok "nodev", sistem file yang jelas-jelas bertujuan khusus, plus ext2, ext3, ext4. Ketika saya melihat ke dalam/lib/modules/3.11.6-1-ARCH/kernel/fs
, saya melihat sejumlah orang lain, seperti "lemak", "btrfs", "reiserfs" yang juga merupakan sistem file pada disk biasa, tetapi tidak muncul dalam/proc/filesystem
daftar. Ada apa dengan itu?nodev
menunjukkan bahwa sistem file yang dimaksud bukan sistem file fisik yang memerlukan perangkat blok untuk hidup, melainkan sistem file virtual yang didukung oleh sesuatu selain perangkat blok./proc/filesystems
hanya menampilkan filesystem yang telah dimuat oleh kernel - sampai Anda memasukkan modul-modul tersebut ke dalam kernel (yang biasanya terjadi secara otomatis saat Anda membutuhkannya), kernel tidak dapat mendukung filesystem tersebut.Saya percaya ini akan memberi Anda apa yang Anda inginkan:
Penjelasan
Berdasarkan pemahaman terbaik saya:
cat /proc/filesystems | awk '{print $NF}' | sed '/^$/d'
memberi Anda semua sistem file yang secara asli didukung oleh kernel (seperti sysfs) bersama dengan yang memiliki modul kernel saat ini dimuatls -1 /lib/modules/$(uname -r)/kernel/fs
memberi Anda daftar modul sistem file yang tersedia untuk kernel Andasort -u
mengurutkan hasil gabungan dari dua perintah pertama dengan duplikat dihapus (hanya tampilkan hasil unik -u)Saya masih belajar linux, ini bekerja di Arch linux tetapi saya percaya untuk setidaknya ubuntu Anda mungkin perlu mengubah jalur
/lib/modules/$(uname -r)/kernel/fs
ke direktori berbeda yang sesuai untuk distribusi Anda.sumber