source: postlfs/filesystems/fuse3.xml@ 0f9a1f08

11.3 12.0 12.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18 xry111/xf86-video-removal
Last change on this file since 0f9a1f08 was 0f9a1f08, checked in by Pierre Labastie <pierre.labastie@…>, 16 months ago

Merge branch 'trunk' into plabs/python-mods

  • Property mode set to 100644
File size: 8.5 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY fuse3-download-http "https://github.com/libfuse/libfuse/releases/download/fuse-&fuse3-version;/fuse-&fuse3-version;.tar.xz">
8 <!ENTITY fuse3-download-ftp " ">
9 <!ENTITY fuse3-md5sum "abb22345822168b16d455a6fcd990d4b">
10 <!ENTITY fuse3-size "3.7 MB">
11 <!ENTITY fuse3-buildsize "96 MB (with tests and documentation)">
12 <!ENTITY fuse3-time "0.1 SBU (add 0.4 SBU for tests)">
13]>
14
15<sect1 id="fuse3" xreflabel="Fuse-&fuse3-version;">
16 <?dbhtml filename="fuse.html"?>
17
18
19 <title>Fuse-&fuse3-version;</title>
20
21 <indexterm zone="fuse3">
22 <primary sortas="a-fuse-3">Fuse 3</primary>
23 </indexterm>
24
25 <sect2 role="package">
26 <title>Introduction to Fuse</title>
27
28 <para>
29 <application>FUSE</application> (Filesystem in Userspace) is a simple
30 interface for userspace programs to export a virtual filesystem to the
31 Linux kernel. <application>Fuse</application> also aims to provide a
32 secure method for non privileged users to create and mount their own
33 filesystem implementations.
34 </para>
35
36 &lfs112_checked;
37
38 <bridgehead renderas="sect3">Package Information</bridgehead>
39 <itemizedlist spacing="compact">
40 <listitem>
41 <para>
42 Download (HTTP): <ulink url="&fuse3-download-http;"/>
43 </para>
44 </listitem>
45 <listitem>
46 <para>
47 Download (FTP): <ulink url="&fuse3-download-ftp;"/>
48 </para>
49 </listitem>
50 <listitem>
51 <para>
52 Download MD5 sum: &fuse3-md5sum;
53 </para>
54 </listitem>
55 <listitem>
56 <para>
57 Download size: &fuse3-size;
58 </para>
59 </listitem>
60 <listitem>
61 <para>
62 Estimated disk space required: &fuse3-buildsize;
63 </para>
64 </listitem>
65 <listitem>
66 <para>
67 Estimated build time: &fuse3-time;
68 </para>
69 </listitem>
70 </itemizedlist>
71
72 <bridgehead renderas="sect3">Fuse Dependencies</bridgehead>
73 <bridgehead renderas="sect4">Optional</bridgehead>
74 <para role="optional">
75 <xref linkend="doxygen"/> (to rebuild the API documentation) and
76 <xref linkend="pytest"/> (required for tests)
77 </para>
78
79 <para condition="html" role="usernotes">
80 User Notes: <ulink url="&blfs-wiki;/fuse"/>
81 </para>
82 </sect2>
83
84 <sect2 role="kernel" id="fuse-kernel">
85 <title>Kernel Configuration</title>
86
87 <para>
88 Enable the following options in the kernel configuration and recompile the
89 kernel if necessary:
90 </para>
91
92<screen><literal>File systems ---&gt;
93 &lt;*/M&gt; FUSE (Filesystem in Userspace) support [CONFIG_FUSE_FS]</literal></screen>
94
95 <para>
96 Character devices in userspace should be enabled too for running the
97 tests:
98 </para>
99
100<screen><literal>File systems ---&gt;
101 &lt;*/M&gt; FUSE (Filesystem in Userspace) support [CONFIG_FUSE_FS]
102 &lt;*/M&gt; Character device in Userspace support [CONFIG_CUSE]</literal></screen>
103
104 <indexterm zone="fuse3 fuse-kernel">
105 <primary sortas="d-fuse3">Fuse 3</primary>
106 </indexterm>
107 </sect2>
108
109 <sect2 role="installation">
110 <title>Installation of Fuse</title>
111
112 <para>
113 Install <application>Fuse</application> by running the following
114 commands:
115 </para>
116
117<screen><userinput>sed -i '/^udev/,$ s/^/#/' util/meson.build &amp;&amp;
118
119mkdir build &amp;&amp;
120cd build &amp;&amp;
121
122meson --prefix=/usr --buildtype=release .. &amp;&amp;
123ninja</userinput></screen>
124
125 <para>
126 The API documentation is included in the package, but
127 if you have <xref linkend="doxygen"/> installed and wish to rebuild
128 it, issue:
129 </para>
130
131<screen remap="doc"><userinput>pushd .. &amp;&amp;
132 doxygen doc/Doxyfile &amp;&amp;
133popd</userinput></screen>
134
135 <para>
136 To test the results, run (as the <systemitem
137 role="username">root</systemitem> user):
138 </para>
139
140 <!-- EDITORS NOTE: To view the results of the tests, look for
141 "short test summary info" at the end of your log. Below skipped tests,
142 you will see "X passed, X skipped, X failed (if any) in X seconds" -->
143
144<screen role="root"
145 remap="test"><userinput>python3 -m pytest test/</userinput></screen>
146
147 <para>
148 The <xref linkend="pytest"/> Python
149 module is required for the tests. One test named
150 <filename>test_cuse</filename> will fail if the
151 <parameter>CONFIG_CUSE</parameter> configuration item was not enabled
152 when the kernel was built. Two tests,
153 <filename>test_ctests.py</filename> and
154 <filename>test_examples.py</filename> will produce a warning because a
155 deprecated Python module is used.
156 </para>
157
158 <para>
159 Now, as the <systemitem class="username">root</systemitem> user:
160 </para>
161
162<screen role="root"><userinput>ninja install &amp;&amp;
163chmod u+s /usr/bin/fusermount3 &amp;&amp;
164
165cd .. &amp;&amp;
166install -v -m755 -d /usr/share/doc/fuse-&fuse3-version; &amp;&amp;
167install -v -m644 doc/{README.NFS,kernel.txt} \
168 /usr/share/doc/fuse-&fuse3-version; &amp;&amp;
169cp -Rv doc/html /usr/share/doc/fuse-&fuse3-version;</userinput></screen>
170
171 </sect2>
172
173 <sect2 role="commands">
174 <title>Command Explanations</title>
175
176 <para>
177 <command>sed ... util/meson.build</command>: This command disables the
178 installation of a boot script and udev rule that are not needed.
179 </para>
180
181 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
182 href="../../xincludes/meson-buildtype-release.xml"/>
183
184 </sect2>
185
186 <sect2 role="configuration" id="fuse-configuration">
187 <title>Configuring fuse</title>
188
189 <sect3 id="fuse-config">
190 <title>Config Files</title>
191
192 <para>
193 Some options regarding mount policy can be set in the file
194 <filename>/etc/fuse.conf</filename>. To install the file run the
195 following command as the <systemitem class="username">root</systemitem>
196 user:
197 </para>
198
199<screen role="root"><userinput>cat &gt; /etc/fuse.conf &lt;&lt; "EOF"
200<literal># Set the maximum number of FUSE mounts allowed to non-root users.
201# The default is 1000.
202#
203#mount_max = 1000
204
205# Allow non-root users to specify the 'allow_other' or 'allow_root'
206# mount options.
207#
208#user_allow_other</literal>
209EOF</userinput></screen>
210
211 <para>
212 Additional information about the meaning of the configuration
213 options are found in the man page.
214 </para>
215
216 </sect3>
217
218 </sect2>
219
220 <sect2 role="content">
221 <title>Contents</title>
222
223 <segmentedlist>
224 <segtitle>Installed Programs</segtitle>
225 <segtitle>Installed Libraries</segtitle>
226 <segtitle>Installed Directory</segtitle>
227
228 <seglistitem>
229 <seg>
230 fusermount3 and mount.fuse3
231 </seg>
232 <seg>
233 libfuse3.so
234 </seg>
235 <seg>
236 /usr/include/fuse3 and /usr/share/doc/fuse-&fuse3-version;
237 </seg>
238 </seglistitem>
239 </segmentedlist>
240
241 <variablelist>
242 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
243 <?dbfo list-presentation="list"?>
244 <?dbhtml list-presentation="table"?>
245
246 <varlistentry id="fusermount3">
247 <term><command>fusermount3</command></term>
248 <listitem>
249 <para>
250 is a suid root program to mount and unmount Fuse filesystems
251 </para>
252 <indexterm zone="fuse3 fusermount3">
253 <primary sortas="b-fusermount3">fusermount3</primary>
254 </indexterm>
255 </listitem>
256 </varlistentry>
257
258 <varlistentry id="mount.fuse3">
259 <term><command>mount.fuse3</command></term>
260 <listitem>
261 <para>
262 is the command <command>mount</command> calls to mount a Fuse
263 filesystem
264 </para>
265 <indexterm zone="fuse3 mount.fuse3">
266 <primary sortas="b-mount.fuse3">mount.fuse3</primary>
267 </indexterm>
268 </listitem>
269 </varlistentry>
270
271 <varlistentry id="libfuse3">
272 <term><filename class="libraryfile">libfuse3.so</filename></term>
273 <listitem>
274 <para>
275 contains the <application>FUSE</application> API functions
276 </para>
277 <indexterm zone="fuse3 libfuse3">
278 <primary sortas="c-libfuse3">libfuse3.so</primary>
279 </indexterm>
280 </listitem>
281 </varlistentry>
282
283 </variablelist>
284
285 </sect2>
286
287</sect1>
Note: See TracBrowser for help on using the repository browser.