source: postlfs/filesystems/btrfs-progs.xml

trunk
Last change on this file was 90696a3b, checked in by Thomas Trepl <thomas@…>, 4 days ago

Upgrade btrfs-progs-6.8.1

  • Property mode set to 100644
File size: 12.5 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
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 "e22810ab7d616b5628b7912923ff127b">
10 <!ENTITY btrfs-progs-size "2.5 MB">
11 <!ENTITY btrfs-progs-buildsize "62 MB (transient files created during tests need up to 10 GB)">
12 <!ENTITY btrfs-progs-time "0.3 SBU (with parallelism=4; add 2.5 SBU for tests, up to 14 SBU on slow disks)">
13]>
14
15<sect1 id="btrfs-progs" xreflabel="btrfs-progs-&btrfs-progs-version;">
16 <?dbhtml filename="btrfs-progs.html"?>
17
18
19 <title>btrfs-progs-&btrfs-progs-version;</title>
20
21 <indexterm zone="btrfs-progs">
22 <primary sortas="a-btrfs-progs">btrfs-progs</primary>
23 </indexterm>
24
25 <sect2 role="package">
26 <title>Introduction to btrfs-progs</title>
27
28 <para>
29 The <application>btrfs-progs</application> package contains
30 administration and debugging tools for the B-tree file system (btrfs).
31 </para>
32
33 &lfs121_checked;
34
35 <bridgehead renderas="sect3">Package Information</bridgehead>
36 <itemizedlist spacing="compact">
37 <listitem>
38 <para>
39 Download (HTTP): <ulink url="&btrfs-progs-download-http;"/>
40 </para>
41 </listitem>
42 <listitem>
43 <para>
44 Download (FTP): <ulink url="&btrfs-progs-download-ftp;"/>
45 </para>
46 </listitem>
47 <listitem>
48 <para>
49 Download MD5 sum: &btrfs-progs-md5sum;
50 </para>
51 </listitem>
52 <listitem>
53 <para>
54 Download size: &btrfs-progs-size;
55 </para>
56 </listitem>
57 <listitem>
58 <para>
59 Estimated disk space required: &btrfs-progs-buildsize;
60 </para>
61 </listitem>
62 <listitem>
63 <para>
64 Estimated build time: &btrfs-progs-time;
65 </para>
66 </listitem>
67 </itemizedlist>
68<!--
69<bridgehead renderas="sect3">Additional Downloads</bridgehead>
70 <itemizedlist spacing="compact">
71 <listitem>
72 <para>
73 Required patch if building with linux kernel headers version
74 before 5.12:
75 <ulink url="&patch-root;/btrfs-progs-&btrfs-progs-version;-headers_fix-1.patch"/>
76 </para>
77 </listitem>
78 </itemizedlist>
79-->
80 <bridgehead renderas="sect3">Btrfs-progs Dependencies</bridgehead>
81
82 <bridgehead renderas="sect4">Required</bridgehead>
83 <para role="required">
84 <xref linkend="lzo"/>
85 </para>
86 <!-- In v6.2.1 (and maybe previous), sphinx is required for the doc
87 <bridgehead renderas="sect4">Recommended</bridgehead>
88 <para role="recommended">
89 <xref linkend="asciidoc"/> (or <xref role="nodep" linkend="asciidoctor"/>)
90 and <xref linkend="xmlto"/> (both required to generate man pages)
91 </para>
92 -->
93 <bridgehead renderas="sect4">Optional</bridgehead>
94 <para role="optional">
95 <xref linkend="lvm2"/> (<command>dmsetup</command> is used in tests),
96 <xref linkend="sphinx"/> and <xref linkend="sphinx_rtd_theme"/>
97 (required to build documentation), and
98 <ulink
99 url='https://mirrors.edge.kernel.org/pub/linux/kernel/people/jeffm/reiserfsprogs/'>
100 reiserfsprogs</ulink> (for tests).
101
102 </para>
103
104
105 </sect2>
106
107 <sect2 role="kernel" id="btrfs-progs-kernel">
108 <title>Kernel Configuration</title>
109
110 <para>
111 Enable the following option in the kernel configuration
112 and recompile the kernel:
113 </para>
114
115 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
116 href="btrfs-progs-kernel.xml"/>
117
118 <para>
119 In addition to the above and to the options required for
120 <xref linkend="lvm2"/>, the following
121 options must be enabled for running tests:
122 </para>
123
124 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
125 href="btrfs-progs-test-kernel.xml"/>
126
127 <indexterm zone="btrfs-progs btrfs-progs-kernel">
128 <primary sortas="d-btrfs-progs">BTRFS Programs</primary>
129 </indexterm>
130
131 </sect2>
132
133 <sect2 role="installation">
134 <title>Installation of btrfs-progs</title>
135
136 <para>
137 Install <application>btrfs-progs</application> by running the following
138 commands:
139 </para>
140
141<screen><userinput>./configure --prefix=/usr \
142 --disable-static \
143 --disable-documentation &amp;&amp;
144make</userinput></screen>
145
146 <note>
147 <para>
148 Some tests require grep built with perl regular expressions. To
149 obtain this, rebuild grep with the LFS Chapter 8 instructions after
150 installing <xref linkend="pcre2"/>.
151 </para>
152 </note>
153<!-- Keeping this for now, but it seems that calling "make test" is
154 simpler and does the same thing -->
155 <para>
156 Before running tests, build a support program:
157 </para>
158
159<screen remap="test"><userinput>make fssum</userinput></screen>
160
161 <para>
162 To test the results, issue (as the &root; user):
163 </para>
164
165<screen role="root" remap="test"><userinput>pushd tests
166 ./fsck-tests.sh
167 ./mkfs-tests.sh
168 ./cli-tests.sh
169 ./convert-tests.sh
170 ./misc-tests.sh
171 ./fuzz-tests.sh
172popd</userinput></screen>
173
174<!-- Template for failed test removal:
175 the other ones to run:
176 </para>
177
178<screen remap="test"><userinput>mv tests/fsck-tests/012-leaf-corruption/test.sh{,.broken}</userinput></screen>
179Substitute your test failure with the one above.
180 <para>
181 To test the results, run (as the
182 <systemitem class="username">root</systemitem> user):
183 </para>
184
185<screen role="root" remap="test"><userinput>make -j1 -k test</userinput></screen>
186-->
187 <note>
188 <para>
189 If the above mentioned kernel options are not enabled, some tests
190 fail, and prevent all the remaining tests from running because the test
191 disk image is not cleanly unmounted. Also make sure that the btrfs
192 kernel module is loaded.
193 </para>
194 </note>
195
196<!-- 6.8.1 - all tests went pretty fine, including the previously commented
197 convert-tests and the other two mentioned tests.
198 <para>
199 The convert-tests scripts are known to fail.
200 Tests 004-shrink-fs and 062-fi-show-raw-dm-all-devices in the misc-tests
201 are known to fail.
202 </para>
203-->
204 <para>
205 Install the package as the &root; user:
206 </para>
207
208<screen role="root"><userinput>make install</userinput></screen>
209
210 <para>
211 If you have passed <parameter>--disable-documentation</parameter> to
212 <command>configure</command> and you need the manual pages, install them
213 by running, as the &root; user:
214 </para>
215
216<screen role="root"><userinput>for i in 5 8; do
217 install Documentation/*.$i /usr/share/man/man$i
218done</userinput></screen>
219
220 </sect2>
221
222 <sect2 role="commands">
223 <title>Command Explanations</title>
224
225 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
226 href="../../xincludes/static-libraries.xml"/>
227
228 <para>
229 <parameter>--disable-documentation</parameter>: This switch
230 disables rebuilding the manual pages, because it requires
231 <xref linkend="sphinx"/>.
232 </para>
233<!--
234 <para>
235 <command>sed 's/,orphan_file//" ...</command>: In this version of
236 <application>btrfs-progs</application>, the
237 <command>btrfs-convert</command> program produces a btrfs filesystem
238 containing errors if converting from an ext4 filesystem created
239 with the <quote>orphan_file</quote> feature. This command creates
240 a custom configuration file that prevents creating a filesystem
241 with this feature.
242 </para>
243-->
244 <!--
245 <para>
246 <command>ln -s ... /usr/lib/libbtrfs.so</command>: Creates a
247 symbolic link in the directory where it is expected.
248 </para>
249
250 <para>
251 <command>rm /lib/libbtrfs.{a,so}</command>: Removes unneeded
252 library entries.
253 </para>
254-->
255 </sect2>
256<!--
257 <sect2 role="using" id="using-btrfs-convert">
258 <title>Using the btrfs-convert Program</title>
259
260 <para>
261 This version of <application>btrfs-progs</application> does not convert
262 correctly ext4 filesystems to btrfs if the ext4
263 <option>orphan_file</option> feature is turned on. If you happen to
264 convert such a filesystem, you need to first run:
265 </para>
266
267<screen role="nodump"><userinput>tune2fs -O ^orphan_file <replaceable>/dev/sdxx</replaceable></userinput></screen>
268
269 <para>
270 where <filename>/dev/sdxx</filename> is the partition of the filesystem
271 you want to convert.
272 </para>
273 </sect2>
274-->
275
276 <sect2 role="content">
277 <title>Contents</title>
278
279 <segmentedlist>
280 <segtitle>Installed Programs</segtitle>
281 <segtitle>Installed Libraries</segtitle>
282 <segtitle>Installed Directories</segtitle>
283
284 <seglistitem>
285 <seg>
286 btrfs,
287 btrfs-convert,
288 btrfs-find-root,
289 btrfs-image,
290 btrfs-map-logical,
291 btrfs-select-super,
292 btrfsck (link to btrfs),
293 btrfstune,
294 fsck.btrfs, and
295 mkfs.btrfs
296 </seg>
297
298 <seg>
299 libbtrfs.so and
300 libbtrfsutil.so
301 </seg>
302
303 <seg>/usr/include/btrfs</seg>
304 </seglistitem>
305 </segmentedlist>
306
307 <variablelist>
308 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
309 <?dbfo list-presentation="list"?>
310 <?dbhtml list-presentation="table"?>
311
312 <varlistentry id="btrfs-prog">
313 <term><command>btrfs</command></term>
314 <listitem>
315 <para>
316 is the main interface into btrfs filesystem operations
317 </para>
318 <indexterm zone="btrfs-progs btrfs-prog">
319 <primary sortas="b-btrfs">btrfs</primary>
320 </indexterm>
321 </listitem>
322 </varlistentry>
323
324 <varlistentry id="btrfs-convert">
325 <term><command>btrfs-convert</command></term>
326 <listitem>
327 <para>
328 converts from an ext2/3/4 or reiserfs filesystem to btrfs <!--(see
329 <xref linkend="using-btrfs-convert"/> above)-->
330 </para>
331 <indexterm zone="btrfs-progs btrfs-convert">
332 <primary sortas="b-btrfs-convert">btrfs-convert</primary>
333 </indexterm>
334 </listitem>
335 </varlistentry>
336
337 <varlistentry id="btrfs-find-root">
338 <term><command>btrfs-find-root</command></term>
339 <listitem>
340 <para>
341 is a filter to find btrfs root
342 </para>
343 <indexterm zone="btrfs-progs btrfs-find-root">
344 <primary sortas="b-btrfs-find-root">btrfs-find-root</primary>
345 </indexterm>
346 </listitem>
347 </varlistentry>
348
349 <varlistentry id="btrfs-map-logical">
350 <term><command>btrfs-map-logical</command></term>
351 <listitem>
352 <para>
353 maps btrfs logical extent to physical extent
354 </para>
355 <indexterm zone="btrfs-progs btrfs-map-logical">
356 <primary sortas="b-btrfs-map-logical">btrfs-map-logical</primary>
357 </indexterm>
358 </listitem>
359 </varlistentry>
360
361 <varlistentry id="btrfs-select-super">
362 <term><command>btrfs-select-super</command></term>
363 <listitem>
364 <para>
365 overwrites the primary superblock with a backup copy
366 </para>
367 <indexterm zone="btrfs-progs btrfs-select-super">
368 <primary sortas="b-btrfs-select-super">btrfs-select-super</primary>
369 </indexterm>
370 </listitem>
371 </varlistentry>
372
373 <varlistentry id="btrfstune">
374 <term><command>btrfstune</command></term>
375 <listitem>
376 <para>
377 tunes various filesystem parameters
378 </para>
379 <indexterm zone="btrfs-progs btrfstune">
380 <primary sortas="b-btrfstune">btrfstune</primary>
381 </indexterm>
382 </listitem>
383 </varlistentry>
384
385 <varlistentry id="fsck.btrfs">
386 <term><command>fsck.btrfs</command></term>
387 <listitem>
388 <para>
389 does nothing, but is present for consistency with fstab
390 </para>
391 <indexterm zone="btrfs-progs fsck.btrfs">
392 <primary sortas="b-fsck.btrfs">fsck.btrfs</primary>
393 </indexterm>
394 </listitem>
395 </varlistentry>
396
397 <varlistentry id="mkfs.btrfs">
398 <term><command>mkfs.btrfs</command></term>
399 <listitem>
400 <para>
401 creates a btrfs file system
402 </para>
403 <indexterm zone="btrfs-progs mkfs.btrfs">
404 <primary sortas="b-mkfs.btrfs">mkfs.btrfs</primary>
405 </indexterm>
406 </listitem>
407 </varlistentry>
408
409 </variablelist>
410
411 </sect2>
412
413</sect1>
Note: See TracBrowser for help on using the repository browser.