GPartedと同じように、ユーザーが選択したファイルシステムにディスクをフォーマットできるようにする方法が必要です。 NTFS、EXT4、XFS、JFSを使用するデバイスがあるので、主にそれらに興味があります。
サポートされているもののリストが必要です。
GPartedは、利用可能なものの次のリストを提供します。
しかし、同様のリストを取得する方法を理解するのに苦労しています。
コマンド_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向けです。
まず、GPartedが基盤となるシステムからファイルシステムのリストを取得するとは思いません。これは、一般的なファイルシステムのハードコードされたリストである可能性があります。
とはいえ、ntfsサポートを検出するには、最も簡単な方法であり、(おそらく!)クロスプラットフォームはmount.ntfsバイナリを探すことです。 RedHat(およびCentOS)のntfs-3gパッケージは、それを/ usr/sbinに配置します。
ただし、これはすべてのファイルシステムタイプで機能するわけではありません。たとえば、mount.ext4はありません。
/usr/sbin/mkfs.*を探すこともできます。これはおそらくより完全です(また、パーティションのフォーマットに使用するので、より興味深いものです)。
ただし、これらのファイルの場所はディストリビューションごとに異なる場合があります。一部のファイルは/ sbinに配置される場合があり、特にNTFSサポートがソースからコンパイルされている場合は、/ usr/local/sbinにある可能性もあります。対応する/ binディレクトリにある場合もあります。