web-dev-qa-db-ja.com

サポートされているファイルシステムを一覧表示するにはどうすればよいですか?より正確には、NTFSなどのファイルシステムがサポートされているかどうかをどのように判断できますか?

GPartedと同じように、ユーザーが選択したファイルシステムにディスクをフォーマットできるようにする方法が必要です。 NTFS、EXT4、XFS、JFSを使用するデバイスがあるので、主にそれらに興味があります。

サポートされているもののリストが必要です。

GPartedは、利用可能なものの次のリストを提供します。

enter image description here

しかし、同様のリストを取得する方法を理解するのに苦労しています。

コマンド_cat /proc/filesystems_は、次の出力を提供します。

_nodev   sysfs
nodev   rootfs
nodev   ramfs
nodev   bdev
nodev   proc
nodev   cgroup
nodev   cpuset
nodev   tmpfs
nodev   devtmpfs
nodev   debugfs
nodev   securityfs
nodev   sockfs
nodev   pipefs
nodev   anon_inodefs
nodev   configfs
nodev   devpts
nodev   hugetlbfs
nodev   autofs
nodev   pstore
nodev   mqueue
nodev   selinuxfs
        xfs
nodev   rpc_pipefs
nodev   nfsd
nodev   binfmt_misc
        fuseblk
nodev   Fuse
nodev   fusectl
        btrfs
        jfs
        ext3
        ext2
        ext4
_

このリストでは、NTFSがサポートされていることはわかりません。別の名前でモジュールに含まれていますか?また、このコマンドは包括的なリストを提供しないことも読みました。

次に、次の出力を提供するコマンドls -l /lib/modules/$(uname -r)/kernel/fsを試しました。

_total 52
drwxr-xr-x. 2 root root    18 Mar  7  2017 9p
-rw-r--r--. 1 root root 21853 Mar  2  2017 binfmt_misc.ko
drwxr-xr-x. 2 root root    21 Mar  7  2017 btrfs
drwxr-xr-x. 2 root root    26 Mar  7  2017 cachefiles
drwxr-xr-x. 2 root root    20 Mar  7  2017 ceph
drwxr-xr-x. 2 root root    20 Mar  7  2017 cifs
drwxr-xr-x. 2 root root    22 Mar  7  2017 cramfs
drwxr-xr-x. 2 root root    19 Mar  7  2017 dlm
drwxr-xr-x. 2 root root    24 Mar  7  2017 ecryptfs
drwxr-xr-x. 2 root root    22 Mar  7  2017 exofs
drwxr-xr-x. 2 root root    20 Mar  7  2017 ext4
drwxr-xr-x. 2 root root    48 Mar  7  2017 fat
drwxr-xr-x. 2 root root    23 Mar  7  2017 fscache
drwxr-xr-x. 2 root root    34 Mar  7  2017 Fuse
drwxr-xr-x. 2 root root    20 Mar  7  2017 gfs2
drwxr-xr-x. 2 root root    21 Mar  7  2017 isofs
drwxr-xr-x. 2 root root    20 Mar  7  2017 jbd2
drwxr-xr-x. 2 root root    19 Mar  7  2017 jfs
drwxr-xr-x. 2 root root    21 Mar  7  2017 lockd
-rw-r--r--. 1 root root 19629 Mar  2  2017 mbcache.ko
drwxr-xr-x. 6 root root  4096 Mar  7  2017 nfs
drwxr-xr-x. 2 root root    38 Mar  7  2017 nfs_common
drwxr-xr-x. 2 root root    20 Mar  7  2017 nfsd
drwxr-xr-x. 2 root root  4096 Mar  7  2017 nls
drwxr-xr-x. 2 root root    23 Mar  7  2017 overlayfs
drwxr-xr-x. 2 root root    23 Mar  7  2017 pstore
drwxr-xr-x. 2 root root    24 Mar  7  2017 reiserfs
drwxr-xr-x. 2 root root    24 Mar  7  2017 squashfs
drwxr-xr-x. 2 root root    19 Mar  7  2017 udf
drwxr-xr-x. 2 root root    19 Mar  7  2017 xfs
_

繰り返しますが、これは、このシステムがNTFSをサポートしていることを私には明らかにしません。

私は現在CentOS(デフォルトではNTFSをサポートしていませんが、_ntfs-3g_とntfsprogsをインストールすることで追加されました)に取り組んでいますが、サポートされているファイルシステムのリストを作成するためのクロスプラットフォームソリューションが必要です。主にCentOS、Ubuntu、Raspbian向けです。

2
Blackwood

まず、GPartedが基盤となるシステムからファイルシステムのリストを取得するとは思いません。これは、一般的なファイルシステムのハードコードされたリストである可能性があります。

とはいえ、ntfsサポートを検出するには、最も簡単な方法であり、(おそらく!)クロスプラットフォームはmount.ntfsバイナリを探すことです。 RedHat(およびCentOS)のntfs-3gパッケージは、それを/ usr/sbinに配置します。

ただし、これはすべてのファイルシステムタイプで機能するわけではありません。たとえば、mount.ext4はありません。

/usr/sbin/mkfs.*を探すこともできます。これはおそらくより完全です(また、パーティションのフォーマットに使用するので、より興味深いものです)。

ただし、これらのファイルの場所はディストリビューションごとに異なる場合があります。一部のファイルは/ sbinに配置される場合があり、特にNTFSサポートがソースからコンパイルされている場合は、/ usr/local/sbinにある可能性もあります。対応する/ binディレクトリにある場合もあります。

0
Kevin Keane