Ich versuche herauszufinden, welche Dateisysteme ein Kernel unterstützen kann. Idealerweise in einer kleinen Liste ihrer Namen, aber ich nehme alles, was Sie haben.
Beachten Sie, dass ich nicht die aktuell verwendeten Dateisysteme meine, sondern nur diejenigen, die der aktuelle Kernel theoretisch direkt unterstützen könnte (offensichtlich könnte Fuse unendlich viele mehr unterstützen).
quelle
/boot/config-$(uname -r)
/proc/filesystems
ist nicht falsch , es ist nur unvollständig ./lib/modules/$(uname -r)/kernel/fs
hilft nur bei Dateisystemen, die als Module aktiviert wurden, nicht bei solchen, die in den Kernel integriert sind. Außerdem stimmt ein Modulname möglicherweise nicht mit dem angegebenen Dateisystemnamen überein, und ein einzelnes Modul kann mehrere Dateisysteme bereitstellen./proc/config.gz
. 1) Es kann nicht garantiert werden, dass das Modul existiert. 2) Ein Modulname stimmt möglicherweise nicht mit dem angegebenen Dateisystemnamen überein, und ein einzelnes Modul kann mehrere Dateisysteme bereitstellen./proc/filesystems
listet alle vom laufenden Kernel unterstützten Dateisystemtypen zusammen mit den Dateisystemattributen auf,nodev
um anzuzeigen, dass dieses Dateisystem beispielsweise nicht von einem Blockgerät gesichert wird.man 5 filesystems
gibt etwas ausführlichere Informationen.quelle
nodev
in der Ausgabe bei dircat /proc/filesystems
?cat /proc/filesystems
Listet auf meinem Arch-Linux-Laptop eine Reihe von "nodev" -Dateisystemen auf, offensichtlich für spezielle Zwecke, sowie ext2, ext3, ext4. Wenn ich/lib/modules/3.11.6-1-ARCH/kernel/fs
reinschaue, sehe ich eine Reihe anderer, wie "fats", "btrfs", "reiserfs", die ebenfalls reguläre Dateisysteme auf der Festplatte sind, aber nicht in der/proc/filesystem
Liste aufgeführt werden. Was ist damit?nodev
Gibt an, dass es sich bei dem betreffenden Dateisystem nicht um ein physisches Dateisystem handelt, auf dem ein Blockgerät ausgeführt werden muss, sondern um ein virtuelles Dateisystem, das von etwas anderem als einem Blockgerät unterstützt wird./proc/filesystems
nur die Dateisysteme an, die der Kernel geladen hat - bis Sie diese Module in den Kernel einfügen (was normalerweise automatisch geschieht, wenn Sie sie benötigen), kann der Kernel diese Dateisysteme nicht unterstützen.Ich glaube, das wird dir geben, was du willst:
Erläuterung
Nach meinem besten Verständnis:
cat /proc/filesystems | awk '{print $NF}' | sed '/^$/d'
gibt Ihnen alle Dateisysteme, die vom Kernel nativ unterstützt werden (wie sysfs), sowie diejenigen, deren Kernelmodule derzeit geladen sindls -1 /lib/modules/$(uname -r)/kernel/fs
Zeigt eine Liste der verfügbaren Dateisystemmodule für Ihren Kernel ansort -u
sortiert die kombinierten Ergebnisse der ersten beiden Befehle mit entfernten Duplikaten (nur eindeutige Ergebnisse anzeigen -u)Ich lerne immer noch Linux, dies funktioniert unter Arch Linux, aber ich glaube, zumindest für Ubuntu müssen Sie möglicherweise den Pfad
/lib/modules/$(uname -r)/kernel/fs
in ein anderes Verzeichnis ändern, das für Ihre Distribution geeignet ist.quelle