source: postlfs/filesystems/btrfs-progs.xml@ bf09c25

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 bf09c25 was bf09c25, checked in by Bruce Dubbs <bdubbs@…>, 18 months ago

Update to btrfs-progs-v6.0.1.

  • Property mode set to 100644
File size: 11.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 btrfs-progs-download-http "&kernel-dl;/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v&btrfs-progs-version;.tar.xz">
8 <!ENTITY btrfs-progs-download-ftp " ">
9 <!ENTITY btrfs-progs-md5sum "7ad375cc49428fcd86623ac335c4ac7f">
10 <!ENTITY btrfs-progs-size "2.2 MB">
11 <!ENTITY btrfs-progs-buildsize "52 MB (add 8.2 GB for tests)">
12 <!ENTITY btrfs-progs-time "0.2 SBU (add 5.0 SBU for tests, but will be longer on slow disks)">
13]>
14
15<sect1 id="btrfs-progs" xreflabel="btrfs-progs-&btrfs-progs-version;">
16 <?dbhtml filename="btrfs-progs.html"?>
17
18 <sect1info>
19 <date>$Date$</date>
20 </sect1info>
21
22 <title>btrfs-progs-&btrfs-progs-version;</title>
23
24 <indexterm zone="btrfs-progs">
25 <primary sortas="a-btrfs-progs">btrfs-progs</primary>
26 </indexterm>
27
28 <sect2 role="package">
29 <title>Introduction to btrfs-progs</title>
30
31 <para>
32 The <application>btrfs-progs</application> package contains
33 administration and debugging tools for the B-tree file system (btrfs).
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="&btrfs-progs-download-http;"/>
43 </para>
44 </listitem>
45 <listitem>
46 <para>
47 Download (FTP): <ulink url="&btrfs-progs-download-ftp;"/>
48 </para>
49 </listitem>
50 <listitem>
51 <para>
52 Download MD5 sum: &btrfs-progs-md5sum;
53 </para>
54 </listitem>
55 <listitem>
56 <para>
57 Download size: &btrfs-progs-size;
58 </para>
59 </listitem>
60 <listitem>
61 <para>
62 Estimated disk space required: &btrfs-progs-buildsize;
63 </para>
64 </listitem>
65 <listitem>
66 <para>
67 Estimated build time: &btrfs-progs-time;
68 </para>
69 </listitem>
70 </itemizedlist>
71<!--
72<bridgehead renderas="sect3">Additional Downloads</bridgehead>
73 <itemizedlist spacing="compact">
74 <listitem>
75 <para>
76 Required patch if building with linux kernel headers version
77 before 5.12:
78 <ulink url="&patch-root;/btrfs-progs-&btrfs-progs-version;-headers_fix-1.patch"/>
79 </para>
80 </listitem>
81 </itemizedlist>
82-->
83 <bridgehead renderas="sect3">Btrfs-progs Dependencies</bridgehead>
84
85 <bridgehead renderas="sect4">Required</bridgehead>
86 <para role="required">
87 <xref linkend="lzo"/>
88 </para>
89
90 <bridgehead renderas="sect4">Recommended</bridgehead>
91 <para role="recommended">
92 <xref linkend="asciidoc"/> (or <xref role="nodep" linkend="asciidoctor"/>)
93 and <xref linkend="xmlto"/> (both required to generate man pages)
94 </para>
95
96 <bridgehead renderas="sect4">Optional</bridgehead>
97 <para role="optional">
98 <xref linkend="lvm2"/> (<command>dmsetup</command> is used in tests),
99 <xref linkend="reiserfs"/> (for tests), and
100 <ulink url="https://www.sphinx-doc.org/">Sphinx</ulink> (required to build documentation),
101
102 </para>
103
104 <para condition="html" role="usernotes">User Notes:
105 <ulink url="&blfs-wiki;/btrfs-progs"/></para>
106
107 </sect2>
108
109 <sect2 role="kernel" id="btrfs-progs-kernel">
110 <title>Kernel Configuration</title>
111
112 <para>
113 Enable the following option in the kernel configuration
114 and recompile the kernel:
115 </para>
116
117<screen><literal>File systems ---&gt;
118 &lt;*/M&gt; Btrfs filesystem support [CONFIG_BTRFS_FS]</literal></screen>
119
120 <para>
121 In addition to the above and to the options required for
122 <xref linkend="lvm2"/> and <xref linkend="reiserfs"/>, the following
123 options must be enabled for running tests:
124 </para>
125
126<screen><literal>File systems ---&gt;
127 [*] Btrfs POSIX Access Control Lists [CONFIG_BTRFS_FS_POSIX_ACL]
128 [*] ReiserFS extended attributes [CONFIG_REISERFS_FS_XATTR]
129 [*] ReiserFS POSIX Access Control Lists [CONFIG_REISERFS_FS_POSIX_ACL]</literal></screen>
130
131 <indexterm zone="btrfs-progs btrfs-progs-kernel">
132 <primary sortas="d-btrfs-progs">BTRFS Programs</primary>
133 </indexterm>
134
135 </sect2>
136
137 <sect2 role="installation">
138 <title>Installation of btrfs-progs</title>
139<!--
140 <para>
141 If your system has linux kernel headers with version before 5.12, apply
142 the following patch:
143 </para>
144
145<screen><userinput>patch -Np1 -i ../btrfs-progs-&btrfs-progs-version;-headers_fix-1.patch</userinput></screen>
146-->
147 <para>
148 Install <application>btrfs-progs</application> by running the following
149 commands:
150 </para>
151
152<screen><userinput>./configure --prefix=/usr --disable-documentation &amp;&amp;
153make</userinput></screen>
154
155 <note>
156 <para>
157 Some tests require grep built with perl regular expressions. To
158 obtain this, rebuild grep with the LFS Chapter 8 instructions after
159 installing <xref linkend="pcre2"/>.
160 </para>
161 </note>
162<!-- Keeping this for now, but it seems that calling "make test" is
163 simpler and does the same thing -->
164 <para>
165 Before running tests, build a support program:
166 </para>
167
168<screen remap="test"><userinput>make fssum</userinput></screen>
169
170 <para>
171 To test the results, issue (as the <systemitem
172 class="username">root</systemitem> user):
173 </para>
174
175<screen role="root" remap="test"><userinput>pushd tests
176 ./fsck-tests.sh
177 ./mkfs-tests.sh
178 ./cli-tests.sh
179 ./convert-tests.sh
180 ./misc-tests.sh
181 ./fuzz-tests.sh
182popd</userinput></screen>
183<!--
184 <para>
185 The fuzz-tests are currently broken.
186 </para>
187-->
188<!-- Template for failed test removal:
189 <para>
190 To test the results, first disable one test that fails and prevents
191 the other ones to run:
192 </para>
193
194<screen remap="test"><userinput>mv tests/fsck-tests/012-leaf-corruption/test.sh{,.broken}</userinput></screen>
195Substitute your test failure with the one above.
196 <para>
197 To test the results, run (as the
198 <systemitem class="username">root</systemitem> user):
199 </para>
200
201<screen role="root" remap="test"><userinput>make -j1 -k test</userinput></screen>
202-->
203 <note>
204 <para>
205 If the above mentioned kernel options are not enabled, some tests
206 fail, and prevent all the remaining tests to run because the test
207 disk image is not cleanly unmounted.
208 </para>
209 </note>
210<!--
211 <para>
212 Two tests fail for unknown reasons in the
213 <command>test-libbtrfsutil</command> section. Tests take a very long
214 time, and it may be interesting to run only part of them. Running tests
215 only in one directory can be done with
216 <command>make TEST=&lt;DIR&gt; test</command>.
217 </para>
218-->
219 <para>
220 Install the package as the <systemitem
221 class="username">root</systemitem> user:
222 </para>
223
224<screen role="root"><userinput>make install</userinput></screen>
225
226 </sect2>
227
228 <sect2 role="commands">
229 <title>Command Explanations</title>
230
231 <para>
232 <option>--disable-documentation</option>: This option
233 is needed if the recommended dependencies are not installed.
234 </para>
235<!-- not anymore in the commands
236 <para>
237 <command>mv tests/{cli,convert,misc,fuzz}-tests/ ...</command>: Disables
238 tests that fail and prevent tests from completing.
239 </para>
240
241 <para>
242 <command>ln -s ... /usr/lib/libbtrfs.so</command>: Creates a
243 symbolic link in the directory where it is expected.
244 </para>
245
246 <para>
247 <command>rm /lib/libbtrfs.{a,so}</command>: Removes unneeded
248 library entries.
249 </para>
250-->
251 </sect2>
252
253 <sect2 role="content">
254 <title>Contents</title>
255
256 <segmentedlist>
257 <segtitle>Installed Programs</segtitle>
258 <segtitle>Installed Libraries</segtitle>
259 <segtitle>Installed Directories</segtitle>
260
261 <seglistitem>
262 <seg>
263 btrfs,
264 btrfs-convert,
265 btrfs-find-root,
266 btrfs-image,
267 btrfs-map-logical,
268 btrfs-select-super,
269 btrfsck (link to btrfs),
270 btrfstune,
271 fsck.btrfs, and
272 mkfs.btrfs
273 </seg>
274
275 <seg>
276 libbtrfs.so and
277 libbtrfsutil.so
278 </seg>
279
280 <seg>/usr/include/btrfs</seg>
281 </seglistitem>
282 </segmentedlist>
283
284 <variablelist>
285 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
286 <?dbfo list-presentation="list"?>
287 <?dbhtml list-presentation="table"?>
288
289 <varlistentry id="btrfs-prog">
290 <term><command>btrfs</command></term>
291 <listitem>
292 <para>
293 is the main interface into btrfs filesystem operations
294 </para>
295 <indexterm zone="btrfs-progs btrfs-prog">
296 <primary sortas="b-btrfs">btrfs</primary>
297 </indexterm>
298 </listitem>
299 </varlistentry>
300
301 <varlistentry id="btrfs-convert">
302 <term><command>btrfs-convert</command></term>
303 <listitem>
304 <para>
305 converts from an ext2/3/4 or reiserfs filesystem to btrfs
306 </para>
307 <indexterm zone="btrfs-progs btrfs-convert">
308 <primary sortas="b-btrfs-convert">btrfs-convert</primary>
309 </indexterm>
310 </listitem>
311 </varlistentry>
312
313 <varlistentry id="btrfs-find-root">
314 <term><command>btrfs-find-root</command></term>
315 <listitem>
316 <para>
317 is a filter to find btrfs root
318 </para>
319 <indexterm zone="btrfs-progs btrfs-find-root">
320 <primary sortas="b-btrfs-find-root">btrfs-find-root</primary>
321 </indexterm>
322 </listitem>
323 </varlistentry>
324
325 <varlistentry id="btrfs-map-logical">
326 <term><command>btrfs-map-logical</command></term>
327 <listitem>
328 <para>
329 maps btrfs logical extent to physical extent
330 </para>
331 <indexterm zone="btrfs-progs btrfs-map-logical">
332 <primary sortas="b-btrfs-map-logical">btrfs-map-logical</primary>
333 </indexterm>
334 </listitem>
335 </varlistentry>
336
337 <varlistentry id="btrfs-select-super">
338 <term><command>btrfs-select-super</command></term>
339 <listitem>
340 <para>
341 overwrites the primary superblock with a backup copy
342 </para>
343 <indexterm zone="btrfs-progs btrfs-select-super">
344 <primary sortas="b-btrfs-select-super">btrfs-select-super</primary>
345 </indexterm>
346 </listitem>
347 </varlistentry>
348
349 <varlistentry id="btrfstune">
350 <term><command>btrfstune</command></term>
351 <listitem>
352 <para>
353 tunes various filesystem parameters
354 </para>
355 <indexterm zone="btrfs-progs btrfstune">
356 <primary sortas="b-btrfstune">btrfstune</primary>
357 </indexterm>
358 </listitem>
359 </varlistentry>
360
361 <varlistentry id="fsck.btrfs">
362 <term><command>fsck.btrfs</command></term>
363 <listitem>
364 <para>
365 does nothing, but is present for consistency with fstab
366 </para>
367 <indexterm zone="btrfs-progs fsck.btrfs">
368 <primary sortas="b-fsck.btrfs">fsck.btrfs</primary>
369 </indexterm>
370 </listitem>
371 </varlistentry>
372
373 <varlistentry id="mkfs.btrfs">
374 <term><command>mkfs.btrfs</command></term>
375 <listitem>
376 <para>
377 creates a btrfs file system
378 </para>
379 <indexterm zone="btrfs-progs mkfs.btrfs">
380 <primary sortas="b-mkfs.btrfs">mkfs.btrfs</primary>
381 </indexterm>
382 </listitem>
383 </varlistentry>
384
385 </variablelist>
386
387 </sect2>
388
389</sect1>
Note: See TracBrowser for help on using the repository browser.