source: postlfs/filesystems/fuse3.xml@ 8b819c5

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 8b819c5 was 8b819c5, checked in by Pierre Labastie <pierre.labastie@…>, 18 months ago

Reference book's pytest instead of external

Note that for pycairo2, I am not sure pytest can be built for python2.

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