source: postlfs/filesystems/fuse3.xml@ 9219099f

11.0 11.1 11.2 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 upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 9219099f was 9219099f, checked in by Douglas R. Reno <renodr@…>, 3 years ago

fuse: Fix a build error with GCC-11.1 and stop moving libraries and
programs to /lib and /bin.

  • 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 "75546f9070323b8ce69c2ed8ffff20c4">
10 <!ENTITY fuse3-size "2.4 MB">
11 <!ENTITY fuse3-buildsize "156 MB">
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 &lfs101_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 <ulink url="https://pypi.org/project/pytest/">pytest</ulink> (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 First, fix a build issue caused by GCC-11.1:
117 </para>
118
119<screen><userinput remap="pre">sed -i '/iostream/a #include &lt;limits&gt;' example/cxxopts.hpp</userinput></screen>
120
121 <para>
122 Install <application>Fuse</application> by running the following
123 commands:
124 </para>
125
126<screen><userinput>sed -i '/^udev/,$ s/^/#/' util/meson.build &amp;&amp;
127
128mkdir build &amp;&amp;
129cd build &amp;&amp;
130
131meson --prefix=/usr .. &amp;&amp;
132ninja</userinput></screen>
133
134 <para>
135 The API documentation is included in the package, but
136 if you have <xref linkend="doxygen"/> installed and wish to rebuild
137 it, issue:
138 </para>
139
140<screen remap="doc"><userinput>doxygen doc/Doxyfile</userinput></screen>
141
142<!--
143 <para>
144 This package does not come with a test suite.
145 </para>
146-->
147
148 <para>
149 To test the results, run (as the <systemitem
150 role="username">root</systemitem> user):
151 </para>
152
153<screen role="root"
154 remap="test"><userinput>python3 -m pytest test/</userinput></screen>
155
156 <para>
157 The <ulink url="https://pypi.org/project/pytest/">pytest</ulink>
158 Python module is needed for the tests.
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;
166
167chmod u+s /usr/bin/fusermount3 &amp;&amp;
168
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<!-- FIXME: Removed with merged-/usr changes
185 <para>
186 <command>mv ... libfuse3.so.3*; ln ... libfuse3.so</command>:
187 These commands install the libraries in the /lib directory.
188 </para>
189-->
190
191<!--
192 <para>
193 <command>unzip ...</command>: This uncompresses the installed man pages
194 to be consistent with the rest of the man pages.
195 </para>
196-->
197 </sect2>
198
199 <sect2 role="configuration" id="fuse-configuration">
200 <title>Configuring fuse</title>
201
202 <sect3 id="fuse-config">
203 <title>Config Files</title>
204
205 <para>
206 Some options regarding mount policy can be set in the file
207 <filename>/etc/fuse.conf</filename>. To install the file run the
208 following command as the <systemitem class="username">root</systemitem>
209 user:
210 </para>
211
212<screen role="root"><userinput>cat &gt; /etc/fuse.conf &lt;&lt; "EOF"
213<literal># Set the maximum number of FUSE mounts allowed to non-root users.
214# The default is 1000.
215#
216#mount_max = 1000
217
218# Allow non-root users to specify the 'allow_other' or 'allow_root'
219# mount options.
220#
221#user_allow_other</literal>
222EOF</userinput></screen>
223
224 <para>
225 Additional information about the meaning of the configuration
226 options are found in the man page.
227 </para>
228
229 </sect3>
230
231 </sect2>
232
233 <sect2 role="content">
234 <title>Contents</title>
235
236 <segmentedlist>
237 <segtitle>Installed Programs</segtitle>
238 <segtitle>Installed Libraries</segtitle>
239 <segtitle>Installed Directory</segtitle>
240
241 <seglistitem>
242 <seg>
243 fusermount3 and mount.fuse3
244 </seg>
245 <seg>
246 libfuse3.so
247 </seg>
248 <seg>
249 /usr/include/fuse3 and /usr/share/doc/fuse-&fuse3-version;
250 </seg>
251 </seglistitem>
252 </segmentedlist>
253
254 <variablelist>
255 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
256 <?dbfo list-presentation="list"?>
257 <?dbhtml list-presentation="table"?>
258
259 <varlistentry id="fusermount3">
260 <term><command>fusermount3</command></term>
261 <listitem>
262 <para>
263 is a suid root program to mount and unmount Fuse filesystems
264 </para>
265 <indexterm zone="fuse3 fusermount3">
266 <primary sortas="b-fusermount3">fusermount3</primary>
267 </indexterm>
268 </listitem>
269 </varlistentry>
270
271 <varlistentry id="mount.fuse3">
272 <term><command>mount.fuse3</command></term>
273 <listitem>
274 <para>
275 is the command <command>mount</command> calls to mount a Fuse
276 filesystem
277 </para>
278 <indexterm zone="fuse3 mount.fuse3">
279 <primary sortas="b-mount.fuse3">mount.fuse3</primary>
280 </indexterm>
281 </listitem>
282 </varlistentry>
283
284 <varlistentry id="libfuse3">
285 <term><filename class="libraryfile">libfuse3.so</filename></term>
286 <listitem>
287 <para>
288 contains the <application>FUSE</application> API functions
289 </para>
290 <indexterm zone="fuse3 libfuse3">
291 <primary sortas="c-libfuse3">libfuse3.so</primary>
292 </indexterm>
293 </listitem>
294 </varlistentry>
295
296 </variablelist>
297
298 </sect2>
299
300</sect1>
Note: See TracBrowser for help on using the repository browser.