* Merge e2fsprogs fix from trunk to 6.1 branch
[linux_from_scratch.git] / BOOK / chapter06 / e2fsprogs.xml
blob091794edcffd72053f8068abaa250a141a1a4826
1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
3   <!ENTITY % general-entities SYSTEM "../general.ent">
4   %general-entities;
5 ]>
6 <sect1 id="ch-system-e2fsprogs" role="wrap">
7 <title>E2fsprogs-&e2fsprogs-version;</title>
8 <?dbhtml filename="e2fsprogs.html"?>
10 <indexterm zone="ch-system-e2fsprogs"><primary sortas="a-E2fsprogs">E2fsprogs</primary></indexterm>
12 <sect2 role="package"><title/>
13 <para>The E2fsprogs package contains the utilities for handling the 
14 <systemitem class="filesystem">ext2</systemitem> file system. It also supports
15 the <systemitem class="filesystem">ext3</systemitem> journaling file system.</para>
17 <segmentedlist>
18 <segtitle>&buildtime;</segtitle>
19 <segtitle>&diskspace;</segtitle>
20 <seglistitem><seg>0.6 SBU</seg><seg>4.9 MB</seg></seglistitem>
21 </segmentedlist>
23 <segmentedlist>
24 <segtitle>&dependencies;</segtitle>
25 <seglistitem><seg>Bash, Binutils, Coreutils,
26 Diffutils, Gawk, GCC, Gettext, Glibc, Grep, Make, Sed, and Texinfo</seg></seglistitem>
27 </segmentedlist>
28 </sect2>
30 <sect2 role="installation">
31 <title>Installation of E2fsprogs</title>
33 <para>Fix a compilation error in E2fsprogs' testsuite:</para>
35 <screen><userinput>sed -i -e 's/-DTEST/$(ALL_CFLAGS) &amp;/' lib/e2p/Makefile.in</userinput></screen>
37 <para>It is recommended that E2fsprogs be built in a subdirectory of the source tree:
38 </para>
40 <screen><userinput>mkdir build
41 cd build</userinput></screen>
43 <para>Prepare E2fsprogs for compilation:</para>
45 <screen><userinput>../configure --prefix=/usr --with-root-prefix="" \
46     --enable-elf-shlibs --disable-evms</userinput></screen>
48 <para>The meaning of the configure options:</para>
50 <variablelist>
51 <varlistentry>
52 <term><parameter>--with-root-prefix=""</parameter></term>
53 <listitem><para>Certain programs (such as the
54 <command>e2fsck</command> program) are considered essential programs.
55 When, for example, <filename class="directory">/usr</filename> is not
56 mounted, these essential programs need to be available. They belong in
57 directories like <filename class="directory">/lib</filename> and
58 <filename class="directory">/sbin</filename>. If this option is not
59 passed to E2fsprogs' configure, the programs are installed into the
60 <filename class="directory">/usr</filename> directory, which is not
61 where they should be.</para></listitem>
62 </varlistentry>
64 <varlistentry>
65 <term><parameter>--enable-elf-shlibs</parameter></term>
66 <listitem><para>This creates the shared libraries which some programs
67 in this package use.</para></listitem>
68 </varlistentry>
70 <varlistentry>
71 <term><parameter>--disable-evms</parameter></term>
72 <listitem><para>This disables the building of the Enterprise Volume
73 Management System (EVMS) plugin. This plugin is not up-to-date with
74 the latest EVMS internal interfaces and EVMS is not installed as part
75 of a base LFS system, so the plugin is not required. See the EVMS
76 website at <ulink url="http://evms.sourceforge.net/"/> for more
77 information regarding EVMS.</para></listitem>
78 </varlistentry>
79 </variablelist>
81 <para>Compile the package:</para>
83 <screen><userinput>make</userinput></screen>
85 <para>To test the results, issue:
86 <userinput>make check</userinput>.</para>
88 <para>Install most of the package:</para>
90 <screen><userinput>make install</userinput></screen>
92 <para>Install the shared libraries:</para>
94 <screen><userinput>make install-libs</userinput></screen>
96 </sect2>
100 <sect2 id="contents-e2fsprogs" role="content"><title>Contents of E2fsprogs</title>
102 <segmentedlist>
103 <segtitle>Installed programs</segtitle>
104 <segtitle>Installed libraries</segtitle>
105 <seglistitem><seg>badblocks, blkid, chattr,
106 compile_et, debugfs, dumpe2fs, e2fsck, e2image, e2label, findfs, fsck,
107 fsck.ext2, fsck.ext3, logsave, lsattr, mk_cmds, mke2fs, mkfs.ext2, mkfs.ext3,
108 mklost+found, resize2fs, tune2fs, and uuidgen.</seg>
109 <seg>libblkid.[a,so], libcom_err.[a,so], libe2p.[a,so],
110 libext2fs.[a,so], libss.[a,so], and libuuid.[a,so]</seg></seglistitem>
111 </segmentedlist>
113 <variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead>
114 <?dbfo list-presentation="list"?>
115 <?dbhtml list-presentation="table"?>
117 <varlistentry id="badblocks">
118 <term><command>badblocks</command></term>
119 <listitem>
120 <para>Searches a device (usually a disk partition) for bad blocks</para>
121 <indexterm zone="ch-system-e2fsprogs badblocks"><primary sortas="b-badblocks">badblocks</primary></indexterm>
122 </listitem>
123 </varlistentry>
125 <varlistentry id="blkid">
126 <term><command>blkid</command></term>
127 <listitem>
128 <para>A command line utility to locate and print block device attributes</para>
129 <indexterm zone="ch-system-e2fsprogs blkid"><primary sortas="b-blkid">blkid</primary></indexterm>
130 </listitem>
131 </varlistentry>
133 <varlistentry id="chattr">
134 <term><command>chattr</command></term>
135 <listitem>
136 <para>Changes the attributes of files on an <systemitem 
137 class="filesystem">ext2</systemitem> file system; it also changes <systemitem 
138 class="filesystem">ext3</systemitem> file systems, the journaling version of 
139 <systemitem class="filesystem">ext2</systemitem> file systems</para>
140 <indexterm zone="ch-system-e2fsprogs chattr"><primary sortas="b-chattr">chattr</primary></indexterm>
141 </listitem>
142 </varlistentry>
144 <varlistentry id="compile_et">
145 <term><command>compile_et</command></term>
146 <listitem>
147 <para>An error table compiler; it converts a table of error-code names and 
148 messages into a C source file suitable for use with the <filename 
149 class="libraryfile">com_err</filename> library</para>
150 <indexterm zone="ch-system-e2fsprogs compile_et"><primary sortas="b-compile_et">compile_et</primary></indexterm>
151 </listitem>
152 </varlistentry>
154 <varlistentry id="debugfs">
155 <term><command>debugfs</command></term>
156 <listitem>
157 <para>A file system debugger; it can be used to examine and change the
158 state of an <systemitem class="filesystem">ext2</systemitem> file system</para>
159 <indexterm zone="ch-system-e2fsprogs debugfs"><primary sortas="b-debugfs">debugfs</primary></indexterm>
160 </listitem>
161 </varlistentry>
163 <varlistentry id="dumpe2fs">
164 <term><command>dumpe2fs</command></term>
165 <listitem>
166 <para>Prints the super block and blocks group information for the file
167 system present on a given device</para>
168 <indexterm zone="ch-system-e2fsprogs dumpe2fs"><primary sortas="b-dumpe2fs">dumpe2fs</primary></indexterm>
169 </listitem>
170 </varlistentry>
172 <varlistentry id="e2fsck">
173 <term><command>e2fsck</command></term>
174 <listitem>
175 <para>Is used to check, and optionally repair <systemitem 
176 class="filesystem">ext2</systemitem> file systems and <systemitem 
177 class="filesystem">ext3</systemitem> file systems</para>
178 <indexterm zone="ch-system-e2fsprogs e2fsck"><primary sortas="b-e2fsck">e2fsck</primary></indexterm>
179 </listitem>
180 </varlistentry>
182 <varlistentry id="e2image">
183 <term><command>e2image</command></term>
184 <listitem>
185 <para>Is used to save critical <systemitem class="filesystem">ext2</systemitem>
186 file system data to a file</para>
187 <indexterm zone="ch-system-e2fsprogs e2image"><primary sortas="b-e2image">e2image</primary></indexterm>
188 </listitem>
189 </varlistentry>
191 <varlistentry id="e2label">
192 <term><command>e2label</command></term>
193 <listitem>
194 <para>Displays or changes the file system label on the <systemitem 
195 class="filesystem">ext2</systemitem> file system present on a given device</para>
196 <indexterm zone="ch-system-e2fsprogs e2label"><primary sortas="b-e2label">e2label</primary></indexterm>
197 </listitem>
198 </varlistentry>
200 <varlistentry id="findfs">
201 <term><command>findfs</command></term>
202 <listitem>
203 <para>Finds a file system by label or Universally Unique Identifier (UUID)</para>
204 <indexterm zone="ch-system-e2fsprogs findfs"><primary sortas="b-findfs">findfs</primary></indexterm>
205 </listitem>
206 </varlistentry>
208 <varlistentry id="fsck">
209 <term><command>fsck</command></term>
210 <listitem>
211 <para>Is used to check, and optionally repair, file systems</para>
212 <indexterm zone="ch-system-e2fsprogs fsck"><primary sortas="b-fsck">fsck</primary></indexterm>
213 </listitem>
214 </varlistentry>
216 <varlistentry id="fsck.ext2">
217 <term><command>fsck.ext2</command></term>
218 <listitem>
219 <para>By default checks <systemitem class="filesystem">ext2</systemitem>
220 file systems</para>
221 <indexterm zone="ch-system-e2fsprogs fsck.ext2"><primary
222 sortas="b-fsck.ext2">fsck.ext2</primary></indexterm>
223 </listitem>
224 </varlistentry>
226 <varlistentry id="fsck.ext3">
227 <term><command>fsck.ext3</command></term>
228 <listitem>
229 <para>By default checks <systemitem class="filesystem">ext3</systemitem>
230 file systems</para>
231 <indexterm zone="ch-system-e2fsprogs fsck.ext3"><primary
232 sortas="b-fsck.ext3">fsck.ext3</primary></indexterm>
233 </listitem>
234 </varlistentry>
236 <varlistentry id="logsave">
237 <term><command>logsave</command></term>
238 <listitem>
239 <para>Saves the output of a command in a log file</para>
240 <indexterm zone="ch-system-e2fsprogs logsave"><primary sortas="b-logsave">logsave</primary></indexterm>
241 </listitem>
242 </varlistentry>
244 <varlistentry id="lsattr">
245 <term><command>lsattr</command></term>
246 <listitem>
247 <para>Lists the attributes of files on a second extended file system</para>
248 <indexterm zone="ch-system-e2fsprogs lsattr"><primary sortas="b-lsattr">lsattr</primary></indexterm>
249 </listitem>
250 </varlistentry>
252 <varlistentry id="mk_cmds">
253 <term><command>mk_cmds</command></term>
254 <listitem>
255 <para>Converts a table of command names and helps messages into a C
256 source file suitable for use with the <filename
257 class="libraryfile">libss</filename> subsystem library</para>
258 <indexterm zone="ch-system-e2fsprogs mk_cmds"><primary sortas="b-mk_cmds">mk_cmds</primary></indexterm>
259 </listitem>
260 </varlistentry>
262 <varlistentry id="mke2fs">
263 <term><command>mke2fs</command></term>
264 <listitem>
265 <para>Is used to create a second extended file system on the given
266 device</para>
267 <indexterm zone="ch-system-e2fsprogs mke2fs"><primary sortas="b-mke2fs">mke2fs</primary></indexterm>
268 </listitem>
269 </varlistentry>
271 <varlistentry id="mkfs.ext2">
272 <term><command>mkfs.ext2</command></term>
273 <listitem>
274 <para>By default creates <systemitem class="filesystem">ext2</systemitem>
275 file systems</para>
276 <indexterm zone="ch-system-e2fsprogs mkfs.ext2"><primary
277 sortas="b-mkfs.ext2">mkfs.ext2</primary></indexterm>
278 </listitem>
279 </varlistentry>
281 <varlistentry id="mkfs.ext3">
282 <term><command>mkfs.ext3</command></term>
283 <listitem>
284 <para>By default creates <systemitem class="filesystem">ext3</systemitem>
285 file systems</para>
286 <indexterm zone="ch-system-e2fsprogs mkfs.ext3"><primary
287 sortas="b-mkfs.ext3">mkfs.ext3</primary></indexterm>
288 </listitem>
289 </varlistentry>
291 <varlistentry id="mklost-found">
292 <term><command>mklost+found</command></term>
293 <listitem>
294 <para>Used to create a <filename class="directory">lost+found</filename> 
295 directory on an <systemitem class="filesystem">ext2</systemitem> file system;
296 it pre-allocates disk blocks to this directory to lighten the task of 
297 <command>e2fsck</command></para>
298 <indexterm zone="ch-system-e2fsprogs mklost-found"><primary sortas="b-mklost+found">mklost+found</primary></indexterm>
299 </listitem>
300 </varlistentry>
302 <varlistentry id="resize2fs">
303 <term><command>resize2fs</command></term>
304 <listitem>
305 <para>Can be used to enlarge or shrink an <systemitem 
306 class="filesystem">ext2</systemitem> file system</para>
307 <indexterm zone="ch-system-e2fsprogs resize2fs"><primary sortas="b-resize2fs">resize2fs</primary></indexterm>
308 </listitem>
309 </varlistentry>
311 <varlistentry id="tune2fs">
312 <term><command>tune2fs</command></term>
313 <listitem>
314 <para>Adjusts tunable file system parameters on an <systemitem 
315 class="filesystem">ext2</systemitem> file system</para>
316 <indexterm zone="ch-system-e2fsprogs tune2fs"><primary sortas="b-tune2fs">tune2fs</primary></indexterm>
317 </listitem>
318 </varlistentry>
320 <varlistentry id="uuidgen">
321 <term><command>uuidgen</command></term>
322 <listitem>
323 <para>Creates new UUIDs. Each new UUID can reasonably be considered unique
324 among all UUIDs created, on the local system and on other systems, in the
325 past and in the future</para>
326 <indexterm zone="ch-system-e2fsprogs uuidgen"><primary sortas="b-uuidgen">uuidgen</primary></indexterm>
327 </listitem>
328 </varlistentry>
330 <varlistentry id="libblkid">
331 <term><filename class="libraryfile">libblkid</filename></term>
332 <listitem>
333 <para>Contains routines for device identification and token extraction</para>
334 <indexterm zone="ch-system-e2fsprogs libblkid"><primary sortas="c-libblkid">libblkid</primary></indexterm>
335 </listitem>
336 </varlistentry>
338 <varlistentry id="libcom_err">
339 <term><filename class="libraryfile">libcom_err</filename></term>
340 <listitem>
341 <para>The common error display routine</para>
342 <indexterm zone="ch-system-e2fsprogs libcom_err"><primary sortas="c-libcom_err">libcom_err</primary></indexterm>
343 </listitem>
344 </varlistentry>
346 <varlistentry id="libe2p">
347 <term><filename class="libraryfile">libe2p</filename></term>
348 <listitem>
349 <para>Used by <command>dumpe2fs</command>, <command>chattr</command>,
350 and <command>lsattr</command></para>
351 <indexterm zone="ch-system-e2fsprogs libe2p"><primary sortas="c-libe2p">libe2p</primary></indexterm>
352 </listitem>
353 </varlistentry>
355 <varlistentry id="libext2fs">
356 <term><filename class="libraryfile">libext2fs</filename></term>
357 <listitem>
358 <para>Contains routines to enable user-level programs to manipulate an
359 <systemitem class="filesystem">ext2</systemitem> file system</para>
360 <indexterm zone="ch-system-e2fsprogs libext2fs"><primary sortas="c-libext2fs">libext2fs</primary></indexterm>
361 </listitem>
362 </varlistentry>
364 <varlistentry id="libss">
365 <term><filename class="libraryfile">libss</filename></term>
366 <listitem>
367 <para>Used by <command>debugfs</command></para>
368 <indexterm zone="ch-system-e2fsprogs libss"><primary sortas="c-libss">libss</primary></indexterm>
369 </listitem>
370 </varlistentry>
372 <varlistentry id="libuuid">
373 <term><filename class="libraryfile">libuuid</filename></term>
374 <listitem>
375 <para>Contains routines for generating unique identifiers for objects
376 that may be accessible beyond the local system</para>
377 <indexterm zone="ch-system-e2fsprogs libuuid"><primary sortas="c-libuuid">libuuid</primary></indexterm>
378 </listitem>
379 </varlistentry>
380 </variablelist>
382 </sect2>
384 </sect1>