Jump to contentJump to page navigation: previous page [access key p]/next page [access key n]
適用先 openSUSE Leap 15.6

8 FUSE を利用したファイルシステムへのアクセス Edit source

概要

FUSE とは File System in User Space の略で、特権を持たないユーザがファイルシステムを設定したり、マウントしたりすることのできる仕組みです。通常、ファイルシステムは root でなければ操作ができませんが、 FUSE ではそれができるようになっています。また、 FUSE それ自身はカーネルモジュールとして提供されているもので、 FUSE と対応するプラグインを組み合わせることで、 SSH での接続や ISO イメージなどが、ファイルシステムとして利用できるようになります。

8.1 FUSE の設定 Edit source

FUSE を始めるにあたっては、まず fuse パッケージをインストールしておく必要があります。このほか、使用するファイルシステムによっては、個別のパッケージとして提供されている追加のプラグインを必要とすることもあります。 詳しくは 8.5項 「利用可能な FUSE プラグイン」 をお読みください。

通常は FUSE 自身を設定する必要はありません。ただし、あらかじめマウントポイントを一括管理する目的から、専用のディレクトリを作っておくことをお勧めします。たとえば ~/mounts のようなディレクトリを作っておいて、その中に各々のサブディレクトリを作成して、そこにマウントするような形態がお勧めです。

8.2 NTFS パーティションのマウント Edit source

NTFS とは New Technology File System の略で、 Windows における既定のファイルシステムです。なお、 FUSE それ自身は特権が不要であるものの、Windows パーティション (つまりブロックデバイス) にアクセスするにあたっては特権が必要となるため、下記の手順でも root 権限が必要となります。

  1. root になってパッケージ ntfs-3g をインストールします。

  2. マウントポイントとして使用するディレクトリを作成します。たとえば ~/mounts/windows のディレクトリを作成します。

  3. マウントしたい Windows パーティションを見つけるため、 YaST を起動してパーティション設定モジュールを開始して、 Windows のパーティションを見つけます (ただし、何も変更する必要はありません) 。この方法以外にも、 root/sbin/fdisk -l を実行してもかまいません。いずれの場合も、パーティションの種類が HPFS/NTFS になっているものを選びます。

  4. パーティションを読み書き両方が可能なモードでマウントします。下記にある デバイス を、 Windows パーティションのデバイス名に置き換えて実行します:

    > ntfs-3g /dev/デバイス マウントポイント

    Windows パーティションを読み込み専用モードで使用するには、 -o ro オプションを追加します:

    > ntfs-3g /dev/デバイス マウントポイント -o ro

    ntfs-3g コマンドは、現在のユーザ (UID) とグループ (GID) で指定したデバイスにアクセスします。異なるユーザに対して書き込み許可を与えるには、 id ユーザ名 コマンドを実行して UID と GID を取得したあと、下記のようにして設定を行います:

    # id tux
    uid=1000(tux) gid=100(users) groups=100(users),16(dialout),33(video)
    ntfs-3g /dev/デバイス マウントポイント -o uid=1000,gid=100

    詳しいオプションについては、マニュアルページをお読みください。

マウントを解除するには、 fusermount -u マウントポイント のように実行します。

8.3 SSHFS を利用したリモートファイルシステムのマウント Edit source

SSH は Secure SHell の略で、 2 台のコンピュータの間の通信を暗号化してやりとりすることのできるネットワークプロトコルです。 FUSE を介して SSH 接続を確立するには、下記の手順で行います:

  1. sshfs パッケージをインストールします。

  2. マウントポイントとして使用するディレクトリを作成します。 たとえば~/mounts/ホスト名 のようなディレクトリがよいでしょう。ここで ホスト名 は実際のホスト名に置き換えて実行します。

  3. リモートのファイルシステムをマウントします:

    # sshfs ユーザ名@ホスト名 マウントポイント
  4. あとはリモートのコンピュータに対するパスワードを入力します。

マウントを解除するには、 fusermount -u マウントポイント のように実行します。

8.4 ISO ファイルシステムのマウント Edit source

ISO イメージの内容を読み出すには、 fuseiso パッケージを利用して、下記のように実行します:

  1. fuseiso パッケージをインストールします。

  2. マウントポイントとして使用するディレクトリを作成します。 たとえば~/mounts/iso のようなディレクトリがよいでしょう。

  3. ISO イメージをマウントします:

    # fuseiso ISO イメージのパス マウントポイント

ISO イメージは、そのファイルの仕様上読み込み専用であり、書き込むことはできません。マウントを解除するには、 fusermount -u マウントポイント のように実行します。

8.5 利用可能な FUSE プラグイン Edit source

FUSE には様々なプラグインが用意されています。下記の表では、よく使用される一般的なプラグインを示しています。

表 8.1: 利用可能な FUSE プラグイン

curlftpfs

FTP サーバのマウント

encfs

暗号化されたファイルシステムのマウント

fuseiso

ISO9660 ファイルシステムの CD-ROM イメージのマウント

fusepod

iPod のマウント

fusesmb

参照可能な Samba 共有や Windows 共有のマウント

gphotofs

gPhoto を介した対応デジタルカメラのマウント

ntfs-3g

NTFS ボリュームのマウント (読み書き両方に対応)

obexfs

Bluetooth デバイスのマウント

sshfs

SSH ファイル転送プロトコルをベースにしたファイルシステムクライアント

wdfs

WebDAV ファイルシステムのマウント

8.6 さらなる情報 Edit source

さらに詳しく知りたい場合は、 FUSE の Web ページ https://github.com/libfuse/libfuse をお読みください。

このページを印刷