FUSE (Filesystem in Userspace) は、ユーザー空間のプログラムへのインターフェースを Linux カーネル上の仮想ファイルシステムとしてエクスポートします。 また、一般ユーザーが独自のファイルシステムの生成やマウントを安全に行う方法も提供します。
LFS や依存パッケージが本ブックに示す最新安定バージョンでなかった場合には、BLFS 開発版においては、パッケージのビルドや処理実行が適切に行われないことがあります。
ダウンロード (HTTP): https://github.com/libfuse/libfuse/releases/download/fuse-3.16.2/fuse-3.16.2.tar.gz
ダウンロード MD5 sum: b00bf08b27ead4a9411578777e94a1cc
ダウンロードサイズ: 14 MB
必要ディスク容量: 222 MB (with tests and documentation)
概算ビルド時間: 0.2 SBU (add 0.3 SBU for tests)
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 をビルドします。
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
:
本パッケージの安定版リリース向けに適したビルドタイプを指定します。
デフォルトにしていると、最適化されていないバイナリを生成する場合があるためです。
マウントの方針に基づいた設定は、/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 ページを参照してください。