22 FUSEによるファイルシステムへのアクセス #
FUSEは、file system in user spaceの頭字語です。これは、特権のないユーザとしてファイルシステムを設定およびマウントできることを意味します。通常、このタスクを行うためには、root
である必要があります。FUSE自体は、カーネルモジュールです。FUSEは、プラグインと組み合わせることで、ほとんどすべてのファイルシステムにアクセスするように拡張できます(リモートSSH接続、ISOイメージなど)。
22.1 FUSEの設定 #
FUSEを使用するには、まず、fuse
パッケージをインストールする必要があります。使用するファイルシステムによって、別々のパッケージとして使用できるプラグインを追加する必要があります。
通常は、FUSEを設定する必要はありません。ただし、すべてのマウントポイントを結合するディレクトリの作成をお勧めします。たとえば、ディレクトリ~/mounts
を作成し、そこに、各種のファイルシステムのサブディレクトリを挿入します。
22.2 NTFSパーティションのマウント #
NTFS(New Technology File System)は、Windowsのデフォルトのファイルシステムです。通常の状況では、特権のないユーザは外部のFUSEライブラリを使用してNTFSブロックデバイスをマウントできません。そのため、次に説明する方法でWindowsパーティションをマウントするには、ルート特権が必要です。
root
になって、パッケージntfs-3g
をインストールします。これはSUSE Linux Enterprise Workstation Extensionで提供されています。マウントポイントとして使用するディレクトリ(
~/mounts/windows
など)を作成します。必要なWindowsパーティションを見つけます。YaSTを使用し、パーティショナモジュールを起動して、Windowsに属するパーティションを確認します(ただし、何も変更しないでください)。代替として、
root
になって、/sbin/fdisk
-l
を実行することもできます。パーティションタイプHPFS/NTFS
のパーティションを捜します。読み書きモードでパーティションをマウントします。プレースホルダDEVICEを各Windowsパーティションで置き換えます。
tux >
ntfs-3g /dev/DEVICE MOUNT POINTWindowsパーティションを読み込み専用モードで使用するには、
-o ro
を追加します。tux >
ntfs-3g /dev/DEVICE MOUNT POINT -o roコマンド
ntfs-3g
は、現在のユーザ(UID)とグループ(GID)を使用して、所定のデバイスをマウントします。書き込みパーミッションを別のユーザに設定するには、コマンドid
USER
を使用して、UID値とGID値の出力を取得します。次のコードで設定してください。root #
id tux uid=1000(tux) gid=100(users) groups=100(users),16(dialout),33(video) ntfs-3g /dev/DEVICE MOUNT POINT -o uid=1000,gid=100その他のオプションについては、マニュアルページを参照してください。
リソースをアンマウントするには、fusermount -u
MOUNT POINTを実行します。
22.3 詳細情報 #
詳細については、https://github.com/libfuse/libfuseにあるFUSEのホームページを参照してください。