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

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

Archive reiserfsprogs.

  • Property mode set to 100644
File size: 12.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 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 "1b5705b3e9503f09a9598dad1e7bfbc8">
10 <!ENTITY btrfs-progs-size "3.0 MB">
11 <!ENTITY btrfs-progs-buildsize "62 MB (transient files created during tests need up to 10 GB)">
12 <!ENTITY btrfs-progs-time "0.2 SBU (add 3.8 SBU for tests, up to 80 SBU on slow disks if reiserfsprogs is installed)">
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 &lfs120_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"/> (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).
100
101 </para>
102
103
104 </sect2>
105
106 <sect2 role="kernel" id="btrfs-progs-kernel">
107 <title>Kernel Configuration</title>
108
109 <para>
110 Enable the following option in the kernel configuration
111 and recompile the kernel:
112 </para>
113
114 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
115 href="btrfs-progs-kernel.xml"/>
116
117 <para>
118 In addition to the above and to the options required for
119 <xref linkend="lvm2"/>, the following
120 options must be enabled for running tests:
121 </para>
122
123 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
124 href="btrfs-progs-test-kernel.xml"/>
125
126 <indexterm zone="btrfs-progs btrfs-progs-kernel">
127 <primary sortas="d-btrfs-progs">BTRFS Programs</primary>
128 </indexterm>
129
130 </sect2>
131
132 <sect2 role="installation">
133 <title>Installation of btrfs-progs</title>
134
135 <para>
136 Install <application>btrfs-progs</application> by running the following
137 commands:
138 </para>
139
140<screen><userinput>./configure --prefix=/usr \
141 --disable-static \
142 --disable-documentation &amp;&amp;
143make</userinput></screen>
144
145 <note>
146 <para>
147 Some tests require grep built with perl regular expressions. To
148 obtain this, rebuild grep with the LFS Chapter 8 instructions after
149 installing <xref linkend="pcre2"/>.
150 </para>
151 </note>
152<!-- Keeping this for now, but it seems that calling "make test" is
153 simpler and does the same thing -->
154 <para>
155 Before running tests, build a support program:
156 </para>
157
158<screen remap="test"><userinput>make fssum</userinput></screen>
159
160 <para>
161 To test the results, issue (as the &root; user):
162 </para>
163
164<screen role="root" remap="test"><userinput>pushd tests
165 ./fsck-tests.sh
166 ./mkfs-tests.sh
167 ./cli-tests.sh
168 sed 's/,orphan_file//' /etc/mke2fs.conf >./custom_mke2fs.conf &amp;&amp;
169 export MKE2FS_CONFIG=$PWD/custom_mke2fs.conf &amp;&amp;
170 ./convert-tests.sh
171 unset MKE2FS_CONFIG &amp;&amp; rm custom_mke2fs.conf
172 ./misc-tests.sh
173 ./fuzz-tests.sh
174popd</userinput></screen>
175
176<!-- Template for failed test removal:
177 <para>
178 To test the results, first disable one test that fails and prevents
179 the other ones to run:
180 </para>
181
182<screen remap="test"><userinput>mv tests/fsck-tests/012-leaf-corruption/test.sh{,.broken}</userinput></screen>
183Substitute your test failure with the one above.
184 <para>
185 To test the results, run (as the
186 <systemitem class="username">root</systemitem> user):
187 </para>
188
189<screen role="root" remap="test"><userinput>make -j1 -k test</userinput></screen>
190-->
191 <note>
192 <para>
193 If the above mentioned kernel options are not enabled, some tests
194 fail, and prevent all the remaining tests from running because the test
195 disk image is not cleanly unmounted.
196 </para>
197 </note>
198<!-- Now passes in version 6.3.1.
199 <para>
200 The mkfs test 025-zoned-parallel is known to fail.
201 </para>
202-->
203 <para>
204 Install the package as the &root; user:
205 </para>
206
207<screen role="root"><userinput>make install</userinput></screen>
208
209 <para>
210 If you have passed <parameter>--disable-documentation</parameter> to
211 <command>configure</command> and you need the manual pages, install them
212 by running, as the &root; user:
213 </para>
214
215<screen role="root"><userinput>for i in 5 8; do
216 install Documentation/*.$i /usr/share/man/man$i
217done</userinput></screen>
218
219 </sect2>
220
221 <sect2 role="commands">
222 <title>Command Explanations</title>
223
224 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
225 href="../../xincludes/static-libraries.xml"/>
226
227 <para>
228 <parameter>--disable-documentation</parameter>: This switch
229 disables rebuilding the manual pages, because it requires
230 <xref linkend="sphinx"/>.
231 </para>
232 <para>
233 <command>sed 's/,orphan_file//" ...</command>: In this version of
234 <application>btrfs-progs</application>, the
235 <command>btrfs-convert</command> program produces a btrfs filesystem
236 containing errors if converting from an ext4 filesystem created
237 with the <quote>orphan_file</quote> feature. This command creates
238 a custom configuration file that prevents creating a filesystem
239 with this feature.
240 </para>
241 <!--
242 <para>
243 <command>ln -s ... /usr/lib/libbtrfs.so</command>: Creates a
244 symbolic link in the directory where it is expected.
245 </para>
246
247 <para>
248 <command>rm /lib/libbtrfs.{a,so}</command>: Removes unneeded
249 library entries.
250 </para>
251-->
252 </sect2>
253
254 <sect2 role="using" id="using-btrfs-convert">
255 <title>Using the btrfs-convert Program</title>
256
257 <para>
258 This version of <application>btrfs-progs</application> does not convert
259 correctly ext4 filesystems to btrfs if the ext4
260 <option>orphan_file</option> feature is turned on. If you happen to
261 convert such a filesystem, you need to first run:
262 </para>
263
264<screen role="nodump"><userinput>tune2fs -O ^orphan_file <replaceable>/dev/sdxx</replaceable></userinput></screen>
265
266 <para>
267 where <filename>/dev/sdxx</filename> is the partition of the filesystem
268 you want to convert.
269 </para>
270 </sect2>
271
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
294 <seg>
295 libbtrfs.so and
296 libbtrfsutil.so
297 </seg>
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>
312 is the main interface into btrfs filesystem operations
313 </para>
314 <indexterm zone="btrfs-progs btrfs-prog">
315 <primary sortas="b-btrfs">btrfs</primary>
316 </indexterm>
317 </listitem>
318 </varlistentry>
319
320 <varlistentry id="btrfs-convert">
321 <term><command>btrfs-convert</command></term>
322 <listitem>
323 <para>
324 converts from an ext2/3/4 or reiserfs filesystem to btrfs (see
325 <xref linkend="using-btrfs-convert"/> above)
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>
337 is a filter to find btrfs root
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>
349 maps btrfs logical extent to physical extent
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>
361 overwrites the primary superblock with a backup copy
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>
373 tunes various filesystem parameters
374 </para>
375 <indexterm zone="btrfs-progs btrfstune">
376 <primary sortas="b-btrfstune">btrfstune</primary>
377 </indexterm>
378 </listitem>
379 </varlistentry>
380
381 <varlistentry id="fsck.btrfs">
382 <term><command>fsck.btrfs</command></term>
383 <listitem>
384 <para>
385 does nothing, but is present for consistency with fstab
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>
396 <para>
397 creates a btrfs file system
398 </para>
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.