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

12.1 ken/TL2024 ken/tuningfonts lazarus plabs/newcss python3.11 rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18
Last change on this file since bef4385 was bef4385, checked in by Bruce Dubbs <bdubbs@…>, 9 months ago

Clean up xml for btrfs

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