source: postlfs/filesystems/fuse3.xml@ adf17153

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 adf17153 was adf17153, checked in by Xi Ruoyao <xry111@…>, 3 years ago

more --buildtype=release addition

  • Property mode set to 100644
File size: 8.6 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 --buildtype=release .. &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 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
185 href="../../xincludes/meson-buildtype-release.xml"/>
186
187<!-- FIXME: Removed with merged-/usr changes
188 <para>
189 <command>mv ... libfuse3.so.3*; ln ... libfuse3.so</command>:
190 These commands install the libraries in the /lib directory.
191 </para>
192-->
193
194<!--
195 <para>
196 <command>unzip ...</command>: This uncompresses the installed man pages
197 to be consistent with the rest of the man pages.
198 </para>
199-->
200 </sect2>
201
202 <sect2 role="configuration" id="fuse-configuration">
203 <title>Configuring fuse</title>
204
205 <sect3 id="fuse-config">
206 <title>Config Files</title>
207
208 <para>
209 Some options regarding mount policy can be set in the file
210 <filename>/etc/fuse.conf</filename>. To install the file run the
211 following command as the <systemitem class="username">root</systemitem>
212 user:
213 </para>
214
215<screen role="root"><userinput>cat &gt; /etc/fuse.conf &lt;&lt; "EOF"
216<literal># Set the maximum number of FUSE mounts allowed to non-root users.
217# The default is 1000.
218#
219#mount_max = 1000
220
221# Allow non-root users to specify the 'allow_other' or 'allow_root'
222# mount options.
223#
224#user_allow_other</literal>
225EOF</userinput></screen>
226
227 <para>
228 Additional information about the meaning of the configuration
229 options are found in the man page.
230 </para>
231
232 </sect3>
233
234 </sect2>
235
236 <sect2 role="content">
237 <title>Contents</title>
238
239 <segmentedlist>
240 <segtitle>Installed Programs</segtitle>
241 <segtitle>Installed Libraries</segtitle>
242 <segtitle>Installed Directory</segtitle>
243
244 <seglistitem>
245 <seg>
246 fusermount3 and mount.fuse3
247 </seg>
248 <seg>
249 libfuse3.so
250 </seg>
251 <seg>
252 /usr/include/fuse3 and /usr/share/doc/fuse-&fuse3-version;
253 </seg>
254 </seglistitem>
255 </segmentedlist>
256
257 <variablelist>
258 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
259 <?dbfo list-presentation="list"?>
260 <?dbhtml list-presentation="table"?>
261
262 <varlistentry id="fusermount3">
263 <term><command>fusermount3</command></term>
264 <listitem>
265 <para>
266 is a suid root program to mount and unmount Fuse filesystems
267 </para>
268 <indexterm zone="fuse3 fusermount3">
269 <primary sortas="b-fusermount3">fusermount3</primary>
270 </indexterm>
271 </listitem>
272 </varlistentry>
273
274 <varlistentry id="mount.fuse3">
275 <term><command>mount.fuse3</command></term>
276 <listitem>
277 <para>
278 is the command <command>mount</command> calls to mount a Fuse
279 filesystem
280 </para>
281 <indexterm zone="fuse3 mount.fuse3">
282 <primary sortas="b-mount.fuse3">mount.fuse3</primary>
283 </indexterm>
284 </listitem>
285 </varlistentry>
286
287 <varlistentry id="libfuse3">
288 <term><filename class="libraryfile">libfuse3.so</filename></term>
289 <listitem>
290 <para>
291 contains the <application>FUSE</application> API functions
292 </para>
293 <indexterm zone="fuse3 libfuse3">
294 <primary sortas="c-libfuse3">libfuse3.so</primary>
295 </indexterm>
296 </listitem>
297 </varlistentry>
298
299 </variablelist>
300
301 </sect2>
302
303</sect1>
Note: See TracBrowser for help on using the repository browser.