Fuse-3.16.2

Fuse の概要

FUSE (Filesystem in Userspace) は、ユーザー空間のプログラムへのインターフェースを Linux カーネル上の仮想ファイルシステムとしてエクスポートします。 また、一般ユーザーが独自のファイルシステムの生成やマウントを安全に行う方法も提供します。

[注記]

注記

LFS や依存パッケージが本ブックに示す最新安定バージョンでなかった場合には、BLFS 開発版においては、パッケージのビルドや処理実行が適切に行われないことがあります。

パッケージ情報

Fuse の依存パッケージ

任意

Doxygen-1.9.8 (to rebuild the API documentation), pytest-7.4.3 (required for tests), and looseversion (for tests)

カーネルの設定

カーネル設定における以下のオプションを有効にする必要があります。 必要に応じてカーネルを再コンパイルしてください。

File systems --->
  <*/M> FUSE (Filesystem in Userspace) support                         [FUSE_FS]

Character devices in userspace should be enabled too for running the tests:

File systems --->
  <*/M> FUSE (Filesystem in Userspace) support                         [FUSE_FS]
  <*/M>   Character device in Userspace support                           [CUSE]

Fuse のインストール

以下のコマンドを実行して Fuse をビルドします。

sed -i '/^udev/,$ s/^/#/' util/meson.build &&

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

本パッケージには API ドキュメントが含まれます。 もし Doxygen-1.9.8 がインストール済であって、ドキュメントを再生成したい場合は以下を実行します。

pushd .. &&
  doxygen doc/Doxyfile &&
popd

To test the results, issue the following commands (as the root user):

python3 -m venv --system-site-packages testenv &&
source testenv/bin/activate                    &&
pip3 install looseversion                      &&
python3 -m pytest                              &&
deactivate

The pytest-7.4.3 Python module is required for the tests. One test named test_cuse will fail if the CONFIG_CUSE configuration item was not enabled when the kernel was built. One test, test/util.py, will output a warning due to the usage of an unknown mark in pytest. One test named test_notify_inval_entry[True-expire_entries] may fail under certain circumstances.

root ユーザーになって以下を実行します。

ninja install                  &&
chmod u+s /usr/bin/fusermount3 &&

cd ..                          &&
cp -Rv doc/html -T /usr/share/doc/fuse-3.16.2 &&
install -v -m644   doc/{README.NFS,kernel.txt} \
                   /usr/share/doc/fuse-3.16.2

コマンド説明

sed ... util/meson.build: このコマンドは、必要のないブートスクリプトや udev ルールをインストールしないようにします。

--buildtype=release: 本パッケージの安定版リリース向けに適したビルドタイプを指定します。 デフォルトにしていると、最適化されていないバイナリを生成する場合があるためです。

fuse の設定

設定ファイル

マウントの方針に基づいた設定は、/etc/fuse.conf にて行うことができます。 このファイルを生成するために、root ユーザーになって以下を実行します。

cat > /etc/fuse.conf << "EOF"
# Set the maximum number of FUSE mounts allowed to non-root users.
# The default is 1000.
#
#mount_max = 1000

# Allow non-root users to specify the 'allow_other' or 'allow_root'
# mount options.
#
#user_allow_other
EOF

設定オプションのさらに詳しい説明は man ページを参照してください。

パッケージ構成

インストールプログラム: fusermount3, mount.fuse3
インストールライブラリ: libfuse3.so
インストールディレクトリ: /usr/include/fuse3, /usr/share/doc/fuse-3.16.2

概略説明

fusermount3

Fuse ファイルシステムをマウントまたはアンマウントする suid プログラムです。

mount.fuse3

Fuse ファイルシステムをマウントするための mount プログラムを呼び出すプログラムです。

libfuse3.so

FUSE API 関数を提供します。