- Timestamp:
- 02/03/2006 06:23:22 PM (19 years ago)
- Children:
- fa994c9
- Parents:
- b4cd3c5
- Location:
- chapter06
- Files:
-
- 1 added
- 22 edited
Legend:
- Unmodified
- Added
- Removed
-
chapter06/aboutdebug.xml
rb4cd3c5 re6ab4b5 1 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" [ 2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" 3 "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ 3 4 <!ENTITY % general-entities SYSTEM "../general.ent"> 4 5 %general-entities; 5 6 ]> 7 6 8 <sect1 id="ch-system-aboutdebug"> 7 <title>About Debugging Symbols</title> 8 <?dbhtml filename="aboutdebug.html"?> 9 <?dbhtml filename="aboutdebug.html"?> 9 10 10 <para>Most programs and libraries are, by default, compiled with 11 debugging symbols included (with <command>gcc</command>'s 12 <parameter>-g</parameter> option). This means that when debugging a 13 program or library that was compiled with debugging information 14 included, the debugger can provide not only memory addresses, but also 15 the names of the routines and variables.</para> 11 <title>About Debugging Symbols</title> 16 12 17 <para>However, the inclusion of these debugging symbols enlarges a 18 program or library significantly. The following is an example of the 19 amount of space these symbols occupy:</para> 20 21 <itemizedlist> 13 <para>Most programs and libraries are, by default, compiled with 14 debugging symbols included (with <command>gcc</command>'s 15 <parameter>-g</parameter> option). This means that when debugging a 16 program or library that was compiled with debugging information 17 included, the debugger can provide not only memory addresses, but also 18 the names of the routines and variables.</para> 22 19 23 <listitem><para>a bash binary 24 with debugging symbols: 1200 KB</para></listitem> 20 <para>However, the inclusion of these debugging symbols enlarges a 21 program or library significantly. The following is an example of the 22 amount of space these symbols occupy:</para> 25 23 26 <listitem><para>a bash binary 27 without debugging symbols: 480 KB</para></listitem> 24 <itemizedlist> 25 <listitem> 26 <para>A <command>bash</command> binary with debugging symbols: 27 1200 KB</para> 28 </listitem> 29 <listitem> 30 <para>A <command>bash</command> binary without debugging symbols: 31 480 KB</para> 32 </listitem> 33 <listitem> 34 <para>Glibc and GCC files (<filename class="directory">/lib</filename> 35 and <filename class="directory">/usr/lib</filename>) with debugging 36 symbols: 87 MB</para> 37 </listitem> 38 <listitem> 39 <para>Glibc and GCC files without debugging symbols: 16 MB</para> 40 </listitem> 41 </itemizedlist> 28 42 29 <listitem><para>Glibc and GCC files (<filename class="directory">/lib</filename> 30 and <filename class="directory">/usr/lib</filename>) 31 with debugging symbols: 87 MB</para></listitem>43 <para>Sizes may vary depending on which compiler and C library were used, 44 but when comparing programs with and without debugging symbols, the 45 difference will usually be a factor between two and five.</para> 32 46 33 <listitem><para>Glibc and GCC files 34 without debugging symbols: 16 MB</para></listitem> 35 36 </itemizedlist> 37 38 <para>Sizes may vary depending on which compiler and C 39 library were used, but when comparing programs with and without debugging 40 symbols, the difference will usually be a factor between two and 41 five.</para> 42 43 <para>Because most users will never use a debugger on their system 44 software, a lot of disk space can be regained by removing these 45 symbols. The next section shows how to strip all debugging symbols 46 from the programs and libraries. Additional information on system 47 optimization can be found at <ulink url="&hints-root;optimization.txt"/>.</para> 47 <para>Because most users will never use a debugger on their system software, 48 a lot of disk space can be regained by removing these symbols. The next 49 section shows how to strip all debugging symbols from the programs and 50 libraries. Additional information on system optimization can be found at 51 <ulink url="&hints-root;optimization.txt"/>.</para> 48 52 49 53 </sect1> 50 -
chapter06/autoconf.xml
rb4cd3c5 re6ab4b5 1 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" [ 2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" 3 "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ 3 4 <!ENTITY % general-entities SYSTEM "../general.ent"> 4 5 %general-entities; 5 6 ]> 7 6 8 <sect1 id="ch-system-autoconf" role="wrap"> 7 <title>Autoconf-&autoconf-version;</title> 8 <?dbhtml filename="autoconf.html"?> 9 <?dbhtml filename="autoconf.html"?> 9 10 10 <indexterm zone="ch-system-autoconf"><primary sortas="a-Autoconf">Autoconf</primary></indexterm>11 <title>Autoconf-&autoconf-version;</title> 11 12 12 <sect2 role="package"><title/>13 <para>The Autoconf package contains programs for producing shell scripts that 14 can automatically configure source code.</para>13 <indexterm zone="ch-system-autoconf"> 14 <primary sortas="a-Autoconf">Autoconf</primary> 15 </indexterm> 15 16 16 <segmentedlist> 17 <segtitle>&buildtime;</segtitle> 18 <segtitle>&diskspace;</segtitle> 19 <seglistitem><seg>0.5 SBU</seg><seg>8.5 MB</seg></seglistitem> 20 </segmentedlist> 17 <sect2 role="package"> 18 <title/> 21 19 22 <segmentedlist> 23 <segtitle>&dependencies;</segtitle> 24 <seglistitem><seg>Bash, Coreutils, Diffutils, Grep, 25 M4, Make, Perl, and Sed</seg></seglistitem> 26 </segmentedlist> 27 </sect2> 20 <para>The Autoconf package contains programs for producing shell scripts that 21 can automatically configure source code.</para> 28 22 29 <sect2 role="installation"> 30 <title>Installation of Autoconf</title> 23 <segmentedlist> 24 <segtitle>&buildtime;</segtitle> 25 <segtitle>&diskspace;</segtitle> 31 26 32 <para>Prepare Autoconf for compilation:</para> 27 <seglistitem> 28 <seg>0.5 SBU</seg> 29 <seg>8.5 MB</seg> 30 </seglistitem> 31 </segmentedlist> 32 33 <segmentedlist> 34 <segtitle>&dependencies;</segtitle> 35 36 <seglistitem> 37 <seg>Bash, Coreutils, Diffutils, Grep, M4, Make, Perl, and Sed</seg> 38 </seglistitem> 39 </segmentedlist> 40 41 </sect2> 42 43 <sect2 role="installation"> 44 <title>Installation of Autoconf</title> 45 46 <para>Prepare Autoconf for compilation:</para> 33 47 34 48 <screen><userinput>./configure --prefix=/usr</userinput></screen> 35 49 36 <para>Compile the package:</para>50 <para>Compile the package:</para> 37 51 38 52 <screen><userinput>make</userinput></screen> 39 53 40 <para>To test the results, issue: 41 <userinput>make check</userinput>. This takes a long time, about 2 SBUs.</para> 54 <para>To test the results, issue: 55 <userinput>make check</userinput>. 56 This takes a long time, about 2 SBUs.</para> 42 57 43 <para>Install the package:</para>58 <para>Install the package:</para> 44 59 45 60 <screen><userinput>make install</userinput></screen> 46 61 47 </sect2>62 </sect2> 48 63 49 <sect2 id="contents-autoconf" role="content"><title>Contents of Autoconf</title> 64 <sect2 id="contents-autoconf" role="content"> 65 <title>Contents of Autoconf</title> 50 66 51 <segmentedlist> 52 <segtitle>Installed programs</segtitle> 53 <seglistitem><seg>autoconf, autoheader, autom4te, 54 autoreconf, autoscan, autoupdate, and ifnames</seg></seglistitem> 55 </segmentedlist> 67 <segmentedlist> 68 <segtitle>Installed programs</segtitle> 56 69 57 <variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead> 58 <?dbfo list-presentation="list"?> 59 <?dbhtml list-presentation="table"?> 70 <seglistitem> 71 <seg>autoconf, autoheader, autom4te, autoreconf, autoscan, autoupdate, 72 and ifnames</seg> 73 </seglistitem> 74 </segmentedlist> 60 75 61 <varlistentry id="autoconf"> 62 <term><command>autoconf</command></term> 63 <listitem> 64 <para>Produces shell scripts that automatically 65 configure software source code packages to adapt to many kinds of 66 Unix-like systems. The configuration scripts it produces are 67 independent—running them does not require the <command>autoconf</command> program.</para> 68 <indexterm zone="ch-system-autoconf autoconf"><primary sortas="b-autoconf">autoconf</primary></indexterm> 69 </listitem> 70 </varlistentry> 76 <variablelist> 77 <bridgehead renderas="sect3">Short Descriptions</bridgehead> 78 <?dbfo list-presentation="list"?> 79 <?dbhtml list-presentation="table"?> 71 80 72 <varlistentry id="autoheader"> 73 <term><command>autoheader</command> </term> 74 <listitem> 75 <para>A tool for creating template files of C 76 <emphasis>#define</emphasis> statements for configure to use</para> 77 <indexterm zone="ch-system-autoconf autoheader"><primary sortas="b-autoheader">autoheader</primary></indexterm> 78 </listitem> 79 </varlistentry> 81 <varlistentry id="autoconf"> 82 <term><command>autoconf</command></term> 83 <listitem> 84 <para>Produces shell scripts that automatically configure software 85 source code packages to adapt to many kinds of Unix-like systems. 86 The configuration scripts it produces are independent—running 87 them does not require the <command>autoconf</command> program.</para> 88 <indexterm zone="ch-system-autoconf autoconf"> 89 <primary sortas="b-autoconf">autoconf</primary> 90 </indexterm> 91 </listitem> 92 </varlistentry> 80 93 81 <varlistentry id="autom4te"> 82 <term><command>autom4te</command></term> 83 <listitem> 84 <para>A wrapper for the M4 macro processor</para> 85 <indexterm zone="ch-system-autoconf autom4te"><primary sortas="b-autom4te">autom4te</primary></indexterm> 86 </listitem> 87 </varlistentry> 94 <varlistentry id="autoheader"> 95 <term><command>autoheader</command> </term> 96 <listitem> 97 <para>A tool for creating template files of C 98 <emphasis>#define</emphasis> statements for configure to use</para> 99 <indexterm zone="ch-system-autoconf autoheader"> 100 <primary sortas="b-autoheader">autoheader</primary> 101 </indexterm> 102 </listitem> 103 </varlistentry> 88 104 89 <varlistentry id="autoreconf"> 90 <term><command>autoreconf</command></term> 91 <listitem> 92 <para>Automatically runs <command>autoconf</command>, 93 <command>autoheader</command>, <command>aclocal</command>, 94 <command>automake</command>, <command>gettextize</command>, and 95 <command>libtoolize</command> in the correct order to save time 96 when changes are made to <command>autoconf</command> and 97 <command>automake</command> template files</para> 98 <indexterm zone="ch-system-autoconf autoreconf"><primary sortas="b-autoreconf">autoreconf</primary></indexterm> 99 </listitem> 100 </varlistentry> 105 <varlistentry id="autom4te"> 106 <term><command>autom4te</command></term> 107 <listitem> 108 <para>A wrapper for the M4 macro processor</para> 109 <indexterm zone="ch-system-autoconf autom4te"> 110 <primary sortas="b-autom4te">autom4te</primary> 111 </indexterm> 112 </listitem> 113 </varlistentry> 101 114 102 <varlistentry id="autoscan"> 103 <term><command>autoscan</command> </term> 104 <listitem> 105 <para>Helps to create a <filename>configure.in</filename> file for a 106 software package; it examines the source files in a directory tree, 107 searching them for common portability issues, and creates a 108 <filename>configure.scan</filename> file that serves as as a 109 preliminary <filename>configure.in</filename> file for the 110 package</para> 111 <indexterm zone="ch-system-autoconf autoscan"><primary sortas="b-autoscan">autoscan</primary></indexterm> 112 </listitem> 113 </varlistentry> 115 <varlistentry id="autoreconf"> 116 <term><command>autoreconf</command></term> 117 <listitem> 118 <para>Automatically runs <command>autoconf</command>, 119 <command>autoheader</command>, <command>aclocal</command>, 120 <command>automake</command>, <command>gettextize</command>, and 121 <command>libtoolize</command> in the correct order to save time 122 when changes are made to <command>autoconf</command> and 123 <command>automake</command> template files</para> 124 <indexterm zone="ch-system-autoconf autoreconf"> 125 <primary sortas="b-autoreconf">autoreconf</primary> 126 </indexterm> 127 </listitem> 128 </varlistentry> 114 129 115 <varlistentry id="autoupdate"> 116 <term><command>autoupdate</command></term> 117 <listitem> 118 <para>Modifies a <filename>configure.in</filename> file that still 119 calls <command>autoconf</command> macros by their old names to use the 120 current macro names</para> 121 <indexterm zone="ch-system-autoconf autoupdate"><primary sortas="b-autoupdate">autoupdate</primary></indexterm> 122 </listitem> 123 </varlistentry> 130 <varlistentry id="autoscan"> 131 <term><command>autoscan</command> </term> 132 <listitem> 133 <para>Helps to create a <filename>configure.in</filename> file for a 134 software package; it examines the source files in a directory tree, 135 searching them for common portability issues, and creates a 136 <filename>configure.scan</filename> file that serves as as a 137 preliminary <filename>configure.in</filename> file for the 138 package</para> 139 <indexterm zone="ch-system-autoconf autoscan"> 140 <primary sortas="b-autoscan">autoscan</primary> 141 </indexterm> 142 </listitem> 143 </varlistentry> 124 144 125 <varlistentry id="ifnames"> 126 <term><command>ifnames</command> </term> 127 <listitem> 128 <para>Helps when writing <filename>configure.in</filename> files 129 for a software package; it prints the identifiers that the package 130 uses in C preprocessor conditionals. If a package has already been set 131 up to have some portability, this program can help determine what 132 <command>configure</command> needs to check for. It can also fill in 133 gaps in a <filename>configure.in</filename> file generated by 134 <command>autoscan</command></para> 135 <indexterm zone="ch-system-autoconf ifnames"><primary sortas="b-ifnames">ifnames</primary></indexterm> 136 </listitem> 137 </varlistentry> 138 </variablelist> 145 <varlistentry id="autoupdate"> 146 <term><command>autoupdate</command></term> 147 <listitem> 148 <para>Modifies a <filename>configure.in</filename> file that still 149 calls <command>autoconf</command> macros by their old names to use the 150 current macro names</para> 151 <indexterm zone="ch-system-autoconf autoupdate"> 152 <primary sortas="b-autoupdate">autoupdate</primary> 153 </indexterm> 154 </listitem> 155 </varlistentry> 139 156 140 </sect2> 157 <varlistentry id="ifnames"> 158 <term><command>ifnames</command> </term> 159 <listitem> 160 <para>Helps when writing <filename>configure.in</filename> files 161 for a software package; it prints the identifiers that the package 162 uses in C preprocessor conditionals. If a package has already been set 163 up to have some portability, this program can help determine what 164 <command>configure</command> needs to check for. It can also fill in 165 gaps in a <filename>configure.in</filename> file generated by 166 <command>autoscan</command></para> 167 <indexterm zone="ch-system-autoconf ifnames"> 168 <primary sortas="b-ifnames">ifnames</primary> 169 </indexterm> 170 </listitem> 171 </varlistentry> 172 173 </variablelist> 174 175 </sect2> 141 176 142 177 </sect1> 143 -
chapter06/automake.xml
rb4cd3c5 re6ab4b5 1 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" [ 2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" 3 "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ 3 4 <!ENTITY % general-entities SYSTEM "../general.ent"> 4 5 %general-entities; 5 6 ]> 7 6 8 <sect1 id="ch-system-automake" role="wrap"> 7 <title>Automake-&automake-version;</title> 8 <?dbhtml filename="automake.html"?> 9 10 <indexterm zone="ch-system-automake"><primary sortas="a-Automake">Automake</primary></indexterm> 11 12 <sect2 role="package"><title/> 13 <para>The Automake package contains programs for generating Makefiles for use 14 with Autoconf.</para> 15 16 <segmentedlist> 17 <segtitle>&buildtime;</segtitle> 18 <segtitle>&diskspace;</segtitle> 19 <seglistitem><seg>0.2 SBU</seg><seg>8.8 MB</seg></seglistitem> 20 </segmentedlist> 21 22 <segmentedlist> 23 <segtitle>&dependencies;</segtitle> 24 <seglistitem><seg>Autoconf, Bash, Coreutils, 25 Diffutils, Grep, M4, Make, Perl, and Sed</seg></seglistitem> 26 </segmentedlist> 27 </sect2> 28 29 <sect2 role="installation"> 30 <title>Installation of Automake</title> 31 32 <para>Prepare Automake for compilation:</para> 9 <?dbhtml filename="automake.html"?> 10 11 <title>Automake-&automake-version;</title> 12 13 <indexterm zone="ch-system-automake"> 14 <primary sortas="a-Automake">Automake</primary> 15 </indexterm> 16 17 <sect2 role="package"> 18 <title/> 19 20 <para>The Automake package contains programs for generating Makefiles for use 21 with Autoconf.</para> 22 23 <segmentedlist> 24 <segtitle>&buildtime;</segtitle> 25 <segtitle>&diskspace;</segtitle> 26 27 <seglistitem> 28 <seg>0.2 SBU</seg> 29 <seg>8.8 MB</seg> 30 </seglistitem> 31 </segmentedlist> 32 33 <segmentedlist> 34 <segtitle>&dependencies;</segtitle> 35 36 <seglistitem> 37 <seg>Autoconf, Bash, Coreutils, Diffutils, Grep, M4, Make, Perl, 38 and Sed</seg> 39 </seglistitem> 40 </segmentedlist> 41 42 </sect2> 43 44 <sect2 role="installation"> 45 <title>Installation of Automake</title> 46 47 <para>Prepare Automake for compilation:</para> 33 48 34 49 <screen><userinput>./configure --prefix=/usr</userinput></screen> 35 50 36 <para>Compile the package:</para>51 <para>Compile the package:</para> 37 52 38 53 <screen><userinput>make</userinput></screen> 39 54 40 <para>To test the results, issue: 41 <userinput>make check</userinput>. This takes a long time, about 5 SBUs.</para> 42 43 <para>Install the package:</para> 55 <para>To test the results, issue: 56 <userinput>make check</userinput>. 57 This takes a long time, about 5 SBUs.</para> 58 59 <para>Install the package:</para> 44 60 45 61 <screen><userinput>make install</userinput></screen> 46 62 47 </sect2> 48 49 50 <sect2 id="contents-automake" role="content"><title>Contents of Automake</title> 51 52 <segmentedlist> 53 <segtitle>Installed programs</segtitle> 54 <seglistitem><seg>acinstall, aclocal, aclocal-&automake-version;, 55 automake, automake-&automake-version;, 56 compile, config.guess, config.sub, depcomp, elisp-comp, install-sh, mdate-sh, 57 missing, mkinstalldirs, py-compile, symlink-tree, and ylwrap</seg></seglistitem> 58 </segmentedlist> 59 60 <variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead> 61 <?dbfo list-presentation="list"?> 62 <?dbhtml list-presentation="table"?> 63 64 <varlistentry id="acinstall"> 65 <term><command>acinstall</command></term> 66 <listitem> 67 <para>A script that installs aclocal-style M4 files</para> 68 <indexterm zone="ch-system-automake acinstall"><primary sortas="b-acinstall">acinstall</primary></indexterm> 69 </listitem> 70 </varlistentry> 71 72 <varlistentry id="aclocal"> 73 <term><command>aclocal</command></term> 74 <listitem> 75 <para>Generates <filename>aclocal.m4</filename> 76 files based on the contents of <filename>configure.in</filename> files</para> 77 <indexterm zone="ch-system-automake aclocal"><primary sortas="b-aclocal">aclocal</primary></indexterm> 78 </listitem> 79 </varlistentry> 80 81 <varlistentry id="aclocal-version"> 82 <term><command>aclocal-&automake-version;</command></term> 83 <listitem> 84 <para>A hard link to <command>aclocal</command></para> 85 <indexterm zone="ch-system-automake aclocal-version"><primary 86 sortas="b-aclocal-&automake-version;">aclocal-&automake-version;</primary></indexterm> 87 </listitem> 88 </varlistentry> 89 90 <varlistentry id="automake"> 91 <term><command>automake</command></term> 92 <listitem> 93 <para>A tool for automatically generating 94 <filename>Makefile.in</filename> files from 95 <filename>Makefile.am</filename> files. To create all the 96 <filename>Makefile.in</filename> files for a package, run this program 97 in the top-level directory. By scanning the 98 <filename>configure.in</filename> file, it automatically finds each 99 appropriate <filename>Makefile.am</filename> file and generates the 100 corresponding <filename>Makefile.in</filename> file</para> 101 <indexterm zone="ch-system-automake automake"><primary sortas="b-automake">automake</primary></indexterm> 102 </listitem> 103 </varlistentry> 104 105 <varlistentry id="automake-version"> 106 <term><command>automake-&automake-version;</command></term> 107 <listitem> 108 <para>A hard link to <command>automake</command></para> 109 <indexterm zone="ch-system-automake automake-version"><primary 110 sortas="b-automake-&automake-version;">automake-&automake-version;</primary></indexterm> 111 </listitem> 112 </varlistentry> 113 114 <varlistentry id="compile"> 115 <term><command>compile</command></term> 116 <listitem> 117 <para>A wrapper for compilers</para> 118 <indexterm zone="ch-system-automake compile"><primary sortas="b-compile">compile</primary></indexterm> 119 </listitem> 120 </varlistentry> 121 122 <varlistentry id="config.guess"> 123 <term><command>config.guess</command></term> 124 <listitem> 125 <para>A script that attempts to guess 126 the canonical triplet for the given build, host, or target architecture</para> 127 <indexterm zone="ch-system-automake config.guess"><primary sortas="b-config.guess">config.guess</primary></indexterm> 128 </listitem> 129 </varlistentry> 130 131 <varlistentry id="config.sub"> 132 <term><command>config.sub</command></term> 133 <listitem> 134 <para>A configuration validation subroutine script</para> 135 <indexterm zone="ch-system-automake config.sub"><primary sortas="b-config.sub">config.sub</primary></indexterm> 136 </listitem> 137 </varlistentry> 138 139 <varlistentry id="depcomp"> 140 <term><command>depcomp</command></term> 141 <listitem> 142 <para>A script for compiling a program so that dependency information 143 is generated in addition to the desired output</para> 144 <indexterm zone="ch-system-automake depcomp"><primary sortas="b-depcomp">depcomp</primary></indexterm> 145 </listitem> 146 </varlistentry> 147 148 <varlistentry id="elisp-comp"> 149 <term><command>elisp-comp</command></term> 150 <listitem> 151 <para>Byte-compiles Emacs Lisp code</para> 152 <indexterm zone="ch-system-automake elisp-comp"><primary sortas="b-elisp-comp">elisp-comp</primary></indexterm> 153 </listitem> 154 </varlistentry> 155 156 <varlistentry id="install-sh"> 157 <term><command>install-sh</command></term> 158 <listitem> 159 <para>A script that installs a program, script, or data file</para> 160 <indexterm zone="ch-system-automake install-sh"><primary sortas="b-install-sh">install-sh</primary></indexterm> 161 </listitem> 162 </varlistentry> 163 164 <varlistentry id="mdate-sh"> 165 <term><command>mdate-sh</command></term> 166 <listitem> 167 <para>A script that prints the modification time of a file or directory</para> 168 <indexterm zone="ch-system-automake mdate-sh"><primary sortas="b-mdate-sh">mdate-sh</primary></indexterm> 169 </listitem> 170 </varlistentry> 171 172 <varlistentry id="missing"> 173 <term><command>missing</command></term> 174 <listitem> 175 <para>A script acting as a common stub for missing GNU programs during 176 an installation</para> 177 <indexterm zone="ch-system-automake missing"><primary sortas="b-missing">missing</primary></indexterm> 178 </listitem> 179 </varlistentry> 180 181 <varlistentry id="mkinstalldirs"> 182 <term><command>mkinstalldirs</command></term> 183 <listitem> 184 <para>A script that creates a directory tree</para> 185 <indexterm zone="ch-system-automake mkinstalldirs"><primary sortas="b-mkinstalldirs">mkinstalldirs</primary></indexterm> 186 </listitem> 187 </varlistentry> 188 189 <varlistentry id="py-compile"> 190 <term><command>py-compile</command></term> 191 <listitem> 192 <para>Compiles a Python program</para> 193 <indexterm zone="ch-system-automake py-compile"><primary sortas="b-py-compile">py-compile</primary></indexterm> 194 </listitem> 195 </varlistentry> 196 197 <varlistentry id="symlink-tree"> 198 <term><command>symlink-tree</command></term> 199 <listitem> 200 <para>A script to create a symlink tree of a directory tree</para> 201 <indexterm zone="ch-system-automake symlink-tree"><primary sortas="b-symlink-tree">symlink-tree</primary></indexterm> 202 </listitem> 203 </varlistentry> 204 205 <varlistentry id="ylwrap"> 206 <term><command>ylwrap</command></term> 207 <listitem> 208 <para>A wrapper for <command>lex</command> and <command>yacc</command></para> 209 <indexterm zone="ch-system-automake ylwrap"><primary sortas="b-ylwrap">ylwrap</primary></indexterm> 210 </listitem> 211 </varlistentry> 212 </variablelist> 213 214 </sect2> 63 </sect2> 64 65 66 <sect2 id="contents-automake" role="content"> 67 <title>Contents of Automake</title> 68 69 <segmentedlist> 70 <segtitle>Installed programs</segtitle> 71 72 <seglistitem> 73 <seg>acinstall, aclocal, aclocal-&automake-version;, automake, 74 automake-&automake-version;, compile, config.guess, config.sub, 75 depcomp, elisp-comp, install-sh, mdate-sh, missing, mkinstalldirs, 76 py-compile, symlink-tree, and ylwrap</seg> 77 </seglistitem> 78 </segmentedlist> 79 80 <variablelist> 81 <bridgehead renderas="sect3">Short Descriptions</bridgehead> 82 <?dbfo list-presentation="list"?> 83 <?dbhtml list-presentation="table"?> 84 85 <varlistentry id="acinstall"> 86 <term><command>acinstall</command></term> 87 <listitem> 88 <para>A script that installs aclocal-style M4 files</para> 89 <indexterm zone="ch-system-automake acinstall"> 90 <primary sortas="b-acinstall">acinstall</primary> 91 </indexterm> 92 </listitem> 93 </varlistentry> 94 95 <varlistentry id="aclocal"> 96 <term><command>aclocal</command></term> 97 <listitem> 98 <para>Generates <filename>aclocal.m4</filename> files based on the 99 contents of <filename>configure.in</filename> files</para> 100 <indexterm zone="ch-system-automake aclocal"> 101 <primary sortas="b-aclocal">aclocal</primary> 102 </indexterm> 103 </listitem> 104 </varlistentry> 105 106 <varlistentry id="aclocal-version"> 107 <term><command>aclocal-&automake-version;</command></term> 108 <listitem> 109 <para>A hard link to <command>aclocal</command></para> 110 <indexterm zone="ch-system-automake aclocal-version"> 111 <primary sortas="b-aclocal-&automake-version;">aclocal-&automake-version;</primary> 112 </indexterm> 113 </listitem> 114 </varlistentry> 115 116 <varlistentry id="automake"> 117 <term><command>automake</command></term> 118 <listitem> 119 <para>A tool for automatically generating 120 <filename>Makefile.in</filename> files from 121 <filename>Makefile.am</filename> files. To create all the 122 <filename>Makefile.in</filename> files for a package, run this program 123 in the top-level directory. By scanning the 124 <filename>configure.in</filename> file, it automatically finds each 125 appropriate <filename>Makefile.am</filename> file and generates the 126 corresponding <filename>Makefile.in</filename> file</para> 127 <indexterm zone="ch-system-automake automake"> 128 <primary sortas="b-automake">automake</primary> 129 </indexterm> 130 </listitem> 131 </varlistentry> 132 133 <varlistentry id="automake-version"> 134 <term><command>automake-&automake-version;</command></term> 135 <listitem> 136 <para>A hard link to <command>automake</command></para> 137 <indexterm zone="ch-system-automake automake-version"> 138 <primary sortas="b-automake-&automake-version;">automake-&automake-version;</primary> 139 </indexterm> 140 </listitem> 141 </varlistentry> 142 143 <varlistentry id="compile"> 144 <term><command>compile</command></term> 145 <listitem> 146 <para>A wrapper for compilers</para> 147 <indexterm zone="ch-system-automake compile"> 148 <primary sortas="b-compile">compile</primary> 149 </indexterm> 150 </listitem> 151 </varlistentry> 152 153 <varlistentry id="config.guess"> 154 <term><command>config.guess</command></term> 155 <listitem> 156 <para>A script that attempts to guess the canonical triplet for 157 the given build, host, or target architecture</para> 158 <indexterm zone="ch-system-automake config.guess"> 159 <primary sortas="b-config.guess">config.guess</primary> 160 </indexterm> 161 </listitem> 162 </varlistentry> 163 164 <varlistentry id="config.sub"> 165 <term><command>config.sub</command></term> 166 <listitem> 167 <para>A configuration validation subroutine script</para> 168 <indexterm zone="ch-system-automake config.sub"> 169 <primary sortas="b-config.sub">config.sub</primary> 170 </indexterm> 171 </listitem> 172 </varlistentry> 173 174 <varlistentry id="depcomp"> 175 <term><command>depcomp</command></term> 176 <listitem> 177 <para>A script for compiling a program so that dependency information 178 is generated in addition to the desired output</para> 179 <indexterm zone="ch-system-automake depcomp"> 180 <primary sortas="b-depcomp">depcomp</primary> 181 </indexterm> 182 </listitem> 183 </varlistentry> 184 185 <varlistentry id="elisp-comp"> 186 <term><command>elisp-comp</command></term> 187 <listitem> 188 <para>Byte-compiles Emacs Lisp code</para> 189 <indexterm zone="ch-system-automake elisp-comp"> 190 <primary sortas="b-elisp-comp">elisp-comp</primary> 191 </indexterm> 192 </listitem> 193 </varlistentry> 194 195 <varlistentry id="install-sh"> 196 <term><command>install-sh</command></term> 197 <listitem> 198 <para>A script that installs a program, script, or data file</para> 199 <indexterm zone="ch-system-automake install-sh"> 200 <primary sortas="b-install-sh">install-sh</primary> 201 </indexterm> 202 </listitem> 203 </varlistentry> 204 205 <varlistentry id="mdate-sh"> 206 <term><command>mdate-sh</command></term> 207 <listitem> 208 <para>A script that prints the modification time of a file or 209 directory</para> 210 <indexterm zone="ch-system-automake mdate-sh"> 211 <primary sortas="b-mdate-sh">mdate-sh</primary> 212 </indexterm> 213 </listitem> 214 </varlistentry> 215 216 <varlistentry id="missing"> 217 <term><command>missing</command></term> 218 <listitem> 219 <para>A script acting as a common stub for missing GNU programs during 220 an installation</para> 221 <indexterm zone="ch-system-automake missing"> 222 <primary sortas="b-missing">missing</primary> 223 </indexterm> 224 </listitem> 225 </varlistentry> 226 227 <varlistentry id="mkinstalldirs"> 228 <term><command>mkinstalldirs</command></term> 229 <listitem> 230 <para>A script that creates a directory tree</para> 231 <indexterm zone="ch-system-automake mkinstalldirs"> 232 <primary sortas="b-mkinstalldirs">mkinstalldirs</primary> 233 </indexterm> 234 </listitem> 235 </varlistentry> 236 237 <varlistentry id="py-compile"> 238 <term><command>py-compile</command></term> 239 <listitem> 240 <para>Compiles a Python program</para> 241 <indexterm zone="ch-system-automake py-compile"> 242 <primary sortas="b-py-compile">py-compile</primary> 243 </indexterm> 244 </listitem> 245 </varlistentry> 246 247 <varlistentry id="symlink-tree"> 248 <term><command>symlink-tree</command></term> 249 <listitem> 250 <para>A script to create a symlink tree of a directory tree</para> 251 <indexterm zone="ch-system-automake symlink-tree"> 252 <primary sortas="b-symlink-tree">symlink-tree</primary> 253 </indexterm> 254 </listitem> 255 </varlistentry> 256 257 <varlistentry id="ylwrap"> 258 <term><command>ylwrap</command></term> 259 <listitem> 260 <para>A wrapper for <command>lex</command> and 261 <command>yacc</command></para> 262 <indexterm zone="ch-system-automake ylwrap"> 263 <primary sortas="b-ylwrap">ylwrap</primary> 264 </indexterm> 265 </listitem> 266 </varlistentry> 267 268 </variablelist> 269 270 </sect2> 215 271 216 272 </sect1> 217 -
chapter06/bash.xml
rb4cd3c5 re6ab4b5 1 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" [ 2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" 3 "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ 3 4 <!ENTITY % general-entities SYSTEM "../general.ent"> 4 5 %general-entities; 5 6 ]> 7 6 8 <sect1 id="ch-system-bash" role="wrap"> 7 <title>Bash-&bash-version;</title> 8 <?dbhtml filename="bash.html"?> 9 <?dbhtml filename="bash.html"?> 9 10 10 <indexterm zone="ch-system-bash"><primary sortas="a-Bash">Bash</primary></indexterm>11 <title>Bash-&bash-version;</title> 11 12 12 <sect2 role="package"><title/> 13 <para>The Bash package contains the Bourne-Again SHell.</para> 13 <indexterm zone="ch-system-bash"> 14 <primary sortas="a-Bash">Bash</primary> 15 </indexterm> 14 16 15 <segmentedlist> 16 <segtitle>&buildtime;</segtitle> 17 <segtitle>&diskspace;</segtitle> 18 <seglistitem><seg>1.2 SBU</seg><seg>24.6 MB</seg></seglistitem> 19 </segmentedlist> 17 <sect2 role="package"> 18 <title/> 20 19 21 <segmentedlist> 22 <segtitle>&dependencies;</segtitle> 23 <seglistitem><seg>Binutils, Coreutils, Diffutils, Gawk, 24 GCC, Glibc, Grep, Make, Ncurses, Readline, and Sed.</seg></seglistitem> 25 </segmentedlist> 26 </sect2> 20 <para>The Bash package contains the Bourne-Again SHell.</para> 27 21 28 <sect2 role="installation"> 29 <title>Installation of Bash</title> 22 <segmentedlist> 23 <segtitle>&buildtime;</segtitle> 24 <segtitle>&diskspace;</segtitle> 30 25 31 <para>If you downloaded the Bash documentation tarball and wish to install HTML 32 documentation, issue the following commands:</para> 26 <seglistitem> 27 <seg>1.2 SBU</seg> 28 <seg>24.6 MB</seg> 29 </seglistitem> 30 </segmentedlist> 31 32 <segmentedlist> 33 <segtitle>&dependencies;</segtitle> 34 35 <seglistitem> 36 <seg>Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, Make, 37 Ncurses, Readline, and Sed</seg> 38 </seglistitem> 39 </segmentedlist> 40 41 </sect2> 42 43 <sect2 role="installation"> 44 <title>Installation of Bash</title> 45 46 <para>If you downloaded the Bash documentation tarball and wish to install 47 HTML documentation, issue the following commands:</para> 33 48 34 49 <screen><userinput>tar -xvf ../bash-doc-&bash-doc-version;.tar.gz && … … 36 51 Makefile.in</userinput></screen> 37 52 38 <para>Prepare Bash for compilation:</para>53 <para>Prepare Bash for compilation:</para> 39 54 40 55 <screen><userinput>./configure --prefix=/usr --bindir=/bin \ 41 56 --without-bash-malloc --with-installed-readline</userinput></screen> 42 57 43 <para>The meaning of the configure options:</para> 58 <variablelist> 59 <title>The meaning of the configure options:</title> 44 60 45 <variablelist> 46 <varlistentry> 47 <term><parameter>--with-installed-readline</parameter></term> 48 <listitem><para>This option tells Bash to use the 49 <filename class="libraryfile">readline</filename> library that is already installed 50 on the system rather than using its own readline version.</para></listitem> 51 </varlistentry> 52 </variablelist> 61 <varlistentry> 62 <term><parameter>--with-installed-readline</parameter></term> 63 <listitem> 64 <para>This option tells Bash to use the <filename 65 class="libraryfile">readline</filename> library that is already 66 installed on the system rather than using its own readline 67 version.</para> 68 </listitem> 69 </varlistentry> 53 70 54 <para>Compile the package:</para> 71 </variablelist> 72 73 <para>Compile the package:</para> 55 74 56 75 <screen><userinput>make</userinput></screen> 57 76 58 <para>To test the results, issue:59 <userinput>make tests</userinput>.</para>77 <para>To test the results, issue: 78 <userinput>make tests</userinput>.</para> 60 79 61 <para>Install the package:</para>80 <para>Install the package:</para> 62 81 63 82 <screen><userinput>make install</userinput></screen> 64 83 65 <para>Run the newly compiled <command>bash</command> program (replacing the one that is66 currently being executed):</para>84 <para>Run the newly compiled <command>bash</command> program (replacing the one that is 85 currently being executed):</para> 67 86 68 87 <screen role="nodump"><userinput>exec /bin/bash --login +h</userinput></screen> 69 88 70 <note><para>The parameters used make the <command>bash</command> 71 process an interactive login shell and continue to disable hashing so 72 that new programs are found as they become available.</para></note> 89 <note> 90 <para>The parameters used make the <command>bash</command> 91 process an interactive login shell and continue to disable hashing so 92 that new programs are found as they become available.</para> 93 </note> 73 94 74 </sect2>95 </sect2> 75 96 97 <sect2 id="contents-bash" role="content"> 98 <title>Contents of Bash</title> 76 99 77 <sect2 id="contents-bash" role="content"><title>Contents of Bash</title> 100 <segmentedlist> 101 <segtitle>Installed programs</segtitle> 78 102 79 <segmentedlist>80 <segtitle>Installed programs</segtitle>81 <seglistitem><seg>bash, bashbug, and sh (link to bash)</seg></seglistitem>82 </segmentedlist>103 <seglistitem> 104 <seg>bash, bashbug, and sh (link to bash)</seg> 105 </seglistitem> 106 </segmentedlist> 83 107 84 <variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead> 85 <?dbfo list-presentation="list"?> 86 <?dbhtml list-presentation="table"?> 108 <variablelist> 109 <bridgehead renderas="sect3">Short Descriptions</bridgehead> 110 <?dbfo list-presentation="list"?> 111 <?dbhtml list-presentation="table"?> 87 112 88 <varlistentry id="bash"> 89 <term><command>bash</command></term> 90 <listitem> 91 <para>A widely-used command interpreter; it performs many types of 92 expansions and substitutions on a given command line before executing 93 it, thus making this interpreter a powerful tool</para> 94 <indexterm zone="ch-system-bash bash"><primary sortas="b-bash">bash</primary></indexterm> 95 </listitem> 96 </varlistentry> 113 <varlistentry id="bash"> 114 <term><command>bash</command></term> 115 <listitem> 116 <para>A widely-used command interpreter; it performs many types of 117 expansions and substitutions on a given command line before executing 118 it, thus making this interpreter a powerful tool</para> 119 <indexterm zone="ch-system-bash bash"> 120 <primary sortas="b-bash">bash</primary> 121 </indexterm> 122 </listitem> 123 </varlistentry> 97 124 98 <varlistentry id="bashbug"> 99 <term><command>bashbug</command></term> 100 <listitem> 101 <para>A shell script to help the user compose and mail standard formatted bug 102 reports concerning <command>bash</command></para> 103 <indexterm zone="ch-system-bash bashbug"><primary sortas="b-bashbug">bashbug</primary></indexterm> 104 </listitem> 105 </varlistentry> 125 <varlistentry id="bashbug"> 126 <term><command>bashbug</command></term> 127 <listitem> 128 <para>A shell script to help the user compose and mail standard 129 formatted bug reports concerning <command>bash</command></para> 130 <indexterm zone="ch-system-bash bashbug"> 131 <primary sortas="b-bashbug">bashbug</primary> 132 </indexterm> 133 </listitem> 134 </varlistentry> 106 135 107 <varlistentry id="sh"> 108 <term><command>sh</command></term> 109 <listitem> 110 <para>A symlink to the <command>bash</command> program; when invoked 111 as <command>sh</command>, <command>bash</command> tries to mimic the 112 startup behavior of historical versions of <command>sh</command> as 113 closely as possible, while conforming to the POSIX standard as well</para> 114 <indexterm zone="ch-system-bash sh"><primary sortas="b-sh">sh</primary></indexterm> 115 </listitem> 116 </varlistentry> 117 </variablelist> 136 <varlistentry id="sh"> 137 <term><command>sh</command></term> 138 <listitem> 139 <para>A symlink to the <command>bash</command> program; when invoked 140 as <command>sh</command>, <command>bash</command> tries to mimic the 141 startup behavior of historical versions of <command>sh</command> as 142 closely as possible, while conforming to the POSIX standard as 143 well</para> 144 <indexterm zone="ch-system-bash sh"> 145 <primary sortas="b-sh">sh</primary> 146 </indexterm> 147 </listitem> 148 </varlistentry> 118 149 119 </sect2> 150 </variablelist> 151 152 </sect2> 120 153 121 154 </sect1> 122 -
chapter06/binutils.xml
rb4cd3c5 re6ab4b5 1 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" [ 2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" 3 "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ 3 4 <!ENTITY % general-entities SYSTEM "../general.ent"> 4 5 %general-entities; 5 6 ]> 7 6 8 <sect1 id="ch-system-binutils" role="wrap"> 7 <title>Binutils-&binutils-version;</title> 8 <?dbhtml filename="binutils.html"?> 9 10 <indexterm zone="ch-system-binutils"><primary sortas="a-Binutils">Binutils</primary></indexterm> 11 12 <sect2 role="package"><title/> 13 <para>The Binutils package contains a linker, an assembler, and other tools for 14 handling object files.</para> 15 16 <segmentedlist> 17 <segtitle>&buildtime;</segtitle> 18 <segtitle>&diskspace;</segtitle> 19 <seglistitem><seg>1.3 SBU</seg><seg>158 MB</seg></seglistitem> 20 </segmentedlist> 21 22 <segmentedlist> 23 <segtitle>&dependencies;</segtitle> 24 <seglistitem><seg>Bash, Coreutils, Diffutils, Expect, GCC, Gettext, 25 Glibc, Grep, Make, Perl, Sed, Tcl, and Texinfo</seg></seglistitem> 26 </segmentedlist> 27 </sect2> 28 29 <sect2 role="installation"> 30 <title>Installation of Binutils</title> 31 32 <para>Verify that the PTYs are working properly inside the chroot 33 environment. Check that everything is set up correctly by performing a 34 simple test:</para> 9 <?dbhtml filename="binutils.html"?> 10 11 <title>Binutils-&binutils-version;</title> 12 13 <indexterm zone="ch-system-binutils"> 14 <primary sortas="a-Binutils">Binutils</primary> 15 </indexterm> 16 17 <sect2 role="package"> 18 <title/> 19 20 <para>The Binutils package contains a linker, an assembler, and other 21 tools for handling object files.</para> 22 23 <segmentedlist> 24 <segtitle>&buildtime;</segtitle> 25 <segtitle>&diskspace;</segtitle> 26 27 <seglistitem> 28 <seg>1.3 SBU</seg> 29 <seg>158 MB</seg> 30 </seglistitem> 31 </segmentedlist> 32 33 <segmentedlist> 34 <segtitle>&dependencies;</segtitle> 35 36 <seglistitem> 37 <seg>Bash, Coreutils, Diffutils, Expect, GCC, Gettext, Glibc, Grep, 38 Make, Perl, Sed, Tcl, and Texinfo</seg> 39 </seglistitem> 40 </segmentedlist> 41 42 </sect2> 43 44 <sect2 role="installation"> 45 <title>Installation of Binutils</title> 46 47 <para>Verify that the PTYs are working properly inside the chroot 48 environment. Check that everything is set up correctly by performing a 49 simple test:</para> 35 50 36 51 <screen><userinput>expect -c "spawn ls"</userinput></screen> 37 52 38 <para>If the following message shows up, the chroot environment is not39 set up for proper PTY operation:</para>40 41 <screen><computeroutput>The system has no more ptys. 53 <para>If the following message shows up, the chroot environment is not 54 set up for proper PTY operation:</para> 55 56 <screen><computeroutput>The system has no more ptys. 42 57 Ask your system administrator to create more.</computeroutput></screen> 43 58 44 <para>This issue needs to be resolved before running the test suites45 for Binutils and GCC.</para>46 47 <para>The Binutils documentation recommends building Binutils outside of the48 source directory in a dedicated build directory:</para>59 <para>This issue needs to be resolved before running the test suites 60 for Binutils and GCC.</para> 61 62 <para>The Binutils documentation recommends building Binutils outside of the 63 source directory in a dedicated build directory:</para> 49 64 50 65 <screen><userinput>mkdir -v ../binutils-build 51 66 cd ../binutils-build</userinput></screen> 52 67 53 <para>Prepare Binutils for compilation:</para>68 <para>Prepare Binutils for compilation:</para> 54 69 55 70 <screen><userinput>../binutils-&binutils-version;/configure --prefix=/usr \ 56 71 --enable-shared</userinput></screen> 57 72 58 <para>Compile the package:</para>73 <para>Compile the package:</para> 59 74 60 75 <screen><userinput>make tooldir=/usr</userinput></screen> 61 76 62 <para>Normally, the tooldir (the directory where the executables will ultimately 63 be located) is set to <filename 64 class="directory">$(exec_prefix)/$(target_alias)</filename>. For example, i686 65 machines would expand that to <filename 66 class="directory">/usr/i686-pc-linux-gnu</filename>. Because this is a custom 67 system, this target-specific directory in <filename 68 class="directory">/usr</filename> is not required. <filename 69 class="directory">$(exec_prefix)/$(target_alias)</filename> would be used if the 70 system was used to cross-compile (for example, compiling a package on an Intel 71 machine that generates code that can be executed on PowerPC machines).</para> 72 73 <important><para>The test suite for Binutils in this section is 74 considered critical. Do not skip it under any 75 circumstances.</para></important> 76 77 <para>Test the results:</para> 77 <variablelist> 78 <title>The meaning of the make parameter:</title> 79 80 <varlistentry> 81 <term><parameter>tooldir=/usr</parameter></term> 82 <listitem> 83 <para>Normally, the tooldir (the directory where the executables will 84 ultimately be located) is set to <filename 85 class="directory">$(exec_prefix)/$(target_alias)</filename>. For 86 example, i686 machines would expand that to <filename 87 class="directory">/usr/i686-pc-linux-gnu</filename>. Because this is 88 a custom system, this target-specific directory in <filename 89 class="directory">/usr</filename> is not required. <filename 90 class="directory">$(exec_prefix)/$(target_alias)</filename> would be 91 used if the system was used to cross-compile (for example, compiling a 92 package on an Intel machine that generates code that can be executed 93 on PowerPC machines).</para> 94 </listitem> 95 </varlistentry> 96 97 </variablelist> 98 99 <important> 100 <para>The test suite for Binutils in this section is considered critical. 101 Do not skip it under any circumstances.</para> 102 </important> 103 104 <para>Test the results:</para> 78 105 79 106 <screen><userinput>make check</userinput></screen> 80 107 81 <para>Install the package:</para>108 <para>Install the package:</para> 82 109 83 110 <screen><userinput>make tooldir=/usr install</userinput></screen> 84 111 85 <para>Install the <filename class="headerfile">libiberty</filename> header file that is needed by 86 some packages:</para>112 <para>Install the <filename class="headerfile">libiberty</filename> header 113 file that is needed by some packages:</para> 87 114 88 115 <screen><userinput>cp -v ../binutils-&binutils-version;/include/libiberty.h /usr/include</userinput></screen> 89 116 90 </sect2> 91 92 93 <sect2 id="contents-binutils" role="content"><title>Contents of Binutils</title> 94 95 <segmentedlist> 96 <segtitle>Installed programs</segtitle> 97 <segtitle>Installed libraries</segtitle> 98 <seglistitem><seg>addr2line, ar, as, c++filt, gprof, ld, nm, objcopy, objdump, 99 ranlib, readelf, size, strings, and strip</seg> 100 <seg>libiberty.a, libbfd.[a,so], and libopcodes.[a,so]</seg></seglistitem> 101 </segmentedlist> 102 103 <variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead> 104 <?dbfo list-presentation="list"?> 105 <?dbhtml list-presentation="table"?> 106 107 <varlistentry id="addr2line"> 108 <term><command>addr2line</command></term> 109 <listitem> 110 <para>Translates program addresses to file names and line numbers; 111 given an address and the name of an executable, it uses the debugging 112 information in the executable to determine which source file and line 113 number are associated with the address</para> 114 <indexterm zone="ch-system-binutils addr2line"><primary sortas="b-addr2line">addr2line</primary></indexterm> 115 </listitem> 116 </varlistentry> 117 118 <varlistentry id="ar"> 119 <term><command>ar</command></term> 120 <listitem> 121 <para>Creates, modifies, and extracts from archives</para> 122 <indexterm zone="ch-system-binutils ar"><primary sortas="b-ar">ar</primary></indexterm> 123 </listitem> 124 </varlistentry> 125 126 <varlistentry id="as"> 127 <term><command>as</command></term> 128 <listitem> 129 <para>An assembler that assembles the output of <command>gcc</command> 130 into object files</para> 131 <indexterm zone="ch-system-binutils as"><primary sortas="b-as">as</primary></indexterm> 132 </listitem> 133 </varlistentry> 134 135 <varlistentry id="c-filt"> 136 <term><command>c++filt</command></term> 137 <listitem> 138 <para>Used by the linker to de-mangle C++ and Java symbols and to keep 139 overloaded functions from clashing</para> 140 <indexterm zone="ch-system-binutils c-filt"><primary sortas="b-c++filt">c++filt</primary></indexterm> 141 </listitem> 142 </varlistentry> 143 144 <varlistentry id="gprof"> 145 <term><command>gprof</command></term> 146 <listitem> 147 <para>Displays call graph profile data</para> 148 <indexterm zone="ch-system-binutils gprof"><primary sortas="b-gprof">gprof</primary></indexterm> 149 </listitem> 150 </varlistentry> 151 152 <varlistentry id="ld"> 153 <term><command>ld</command></term> 154 <listitem> 155 <para>A linker that combines a number of object and archive files into a single file, 156 relocating their data and tying up symbol references</para> 157 <indexterm zone="ch-system-binutils ld"><primary sortas="b-ld">ld</primary></indexterm> 158 </listitem> 159 </varlistentry> 160 161 <varlistentry id="nm"> 162 <term><command>nm</command></term> 163 <listitem> 164 <para>Lists the symbols occurring in a given object file</para> 165 <indexterm zone="ch-system-binutils nm"><primary sortas="b-nm">nm</primary></indexterm> 166 </listitem> 167 </varlistentry> 168 169 <varlistentry id="objcopy"> 170 <term><command>objcopy</command></term> 171 <listitem> 172 <para>Translates one type of object file into another</para> 173 <indexterm zone="ch-system-binutils objcopy"><primary sortas="b-objcopy">objcopy</primary></indexterm> 174 </listitem> 175 </varlistentry> 176 177 <varlistentry id="objdump"> 178 <term><command>objdump</command></term> 179 <listitem> 180 <para>Displays information about the given object file, with options 181 controlling the particular information to display; the information 182 shown is useful to programmers who are working on the compilation 183 tools</para> 184 <indexterm zone="ch-system-binutils objdump"><primary sortas="b-objdump">objdump</primary></indexterm> 185 </listitem> 186 </varlistentry> 187 188 <varlistentry id="ranlib"> 189 <term><command>ranlib</command></term> 190 <listitem> 191 <para>Generates an index of the contents of an archive and stores it 192 in the archive; the index lists all of the symbols defined by archive 193 members that are relocatable object files</para> 194 <indexterm zone="ch-system-binutils ranlib"><primary sortas="b-ranlib">ranlib</primary></indexterm> 195 </listitem> 196 </varlistentry> 197 198 <varlistentry id="readelf"> 199 <term><command>readelf</command></term> 200 <listitem> 201 <para>Displays information about ELF type binaries</para> 202 <indexterm zone="ch-system-binutils readelf"><primary sortas="b-readelf">readelf</primary></indexterm> 203 </listitem> 204 </varlistentry> 205 206 <varlistentry id="size"> 207 <term><command>size</command></term> 208 <listitem> 209 <para>Lists the section sizes and the total size for the given object files</para> 210 <indexterm zone="ch-system-binutils size"><primary sortas="b-size">size</primary></indexterm> 211 </listitem> 212 </varlistentry> 213 214 <varlistentry id="strings"> 215 <term><command>strings</command></term> 216 <listitem> 217 <para>Outputs, for each given file, the sequences of printable 218 characters that are of at least the specified length (defaulting to 219 four); for object files, it prints, by default, only the strings from 220 the initializing and loading sections while for other types of files, it 221 scans the entire file</para> 222 <indexterm zone="ch-system-binutils strings"><primary sortas="b-strings">strings</primary></indexterm> 223 </listitem> 224 </varlistentry> 225 226 <varlistentry id="strip"> 227 <term><command>strip</command></term> 228 <listitem> 229 <para>Discards symbols from object files</para> 230 <indexterm zone="ch-system-binutils strip"><primary sortas="b-strip">strip</primary></indexterm> 231 </listitem> 232 </varlistentry> 233 234 <varlistentry id="libiberty"> 235 <term><filename class="libraryfile">libiberty</filename></term> 236 <listitem> 237 <para>Contains routines used by various GNU programs, including 238 <command>getopt</command>, <command>obstack</command>, 239 <command>strerror</command>, <command>strtol</command>, and 240 <command>strtoul</command></para> 241 <indexterm zone="ch-system-binutils libiberty"><primary sortas="c-libiberty">libiberty</primary></indexterm> 242 </listitem> 243 </varlistentry> 244 245 <varlistentry id="libbfd"> 246 <term><filename class="libraryfile">libbfd</filename></term> 247 <listitem> 248 <para>The Binary File Descriptor library</para> 249 <indexterm zone="ch-system-binutils libbfd"><primary sortas="c-libbfd">libbfd</primary></indexterm> 250 </listitem> 251 </varlistentry> 252 253 <varlistentry id="libopcodes"> 254 <term><filename class="libraryfile">libopcodes</filename></term> 255 <listitem> 256 <para>A library for dealing with opcodes—the <quote>readable 257 text</quote> versions of instructions for the processor; 258 it is used for building utilities like 259 <command>objdump</command>.</para> 260 <indexterm zone="ch-system-binutils libopcodes"><primary sortas="c-libopcodes">libopcodes</primary></indexterm> 261 </listitem> 262 </varlistentry> 263 </variablelist> 264 265 </sect2> 117 </sect2> 118 119 120 <sect2 id="contents-binutils" role="content"> 121 <title>Contents of Binutils</title> 122 123 <segmentedlist> 124 <segtitle>Installed programs</segtitle> 125 <segtitle>Installed libraries</segtitle> 126 127 <seglistitem> 128 <seg>addr2line, ar, as, c++filt, gprof, ld, nm, objcopy, objdump, 129 ranlib, readelf, size, strings, and strip</seg> 130 <seg>libiberty.a, libbfd.[a,so], and libopcodes.[a,so]</seg> 131 </seglistitem> 132 </segmentedlist> 133 134 <variablelist> 135 <bridgehead renderas="sect3">Short Descriptions</bridgehead> 136 <?dbfo list-presentation="list"?> 137 <?dbhtml list-presentation="table"?> 138 139 <varlistentry id="addr2line"> 140 <term><command>addr2line</command></term> 141 <listitem> 142 <para>Translates program addresses to file names and line numbers; 143 given an address and the name of an executable, it uses the debugging 144 information in the executable to determine which source file and line 145 number are associated with the address</para> 146 <indexterm zone="ch-system-binutils addr2line"> 147 <primary sortas="b-addr2line">addr2line</primary> 148 </indexterm> 149 </listitem> 150 </varlistentry> 151 152 <varlistentry id="ar"> 153 <term><command>ar</command></term> 154 <listitem> 155 <para>Creates, modifies, and extracts from archives</para> 156 <indexterm zone="ch-system-binutils ar"> 157 <primary sortas="b-ar">ar</primary> 158 </indexterm> 159 </listitem> 160 </varlistentry> 161 162 <varlistentry id="as"> 163 <term><command>as</command></term> 164 <listitem> 165 <para>An assembler that assembles the output of <command>gcc</command> 166 into object files</para> 167 <indexterm zone="ch-system-binutils as"> 168 <primary sortas="b-as">as</primary> 169 </indexterm> 170 </listitem> 171 </varlistentry> 172 173 <varlistentry id="c-filt"> 174 <term><command>c++filt</command></term> 175 <listitem> 176 <para>Used by the linker to de-mangle C++ and Java symbols and to keep 177 overloaded functions from clashing</para> 178 <indexterm zone="ch-system-binutils c-filt"> 179 <primary sortas="b-c++filt">c++filt</primary> 180 </indexterm> 181 </listitem> 182 </varlistentry> 183 184 <varlistentry id="gprof"> 185 <term><command>gprof</command></term> 186 <listitem> 187 <para>Displays call graph profile data</para> 188 <indexterm zone="ch-system-binutils gprof"> 189 <primary sortas="b-gprof">gprof</primary> 190 </indexterm> 191 </listitem> 192 </varlistentry> 193 194 <varlistentry id="ld"> 195 <term><command>ld</command></term> 196 <listitem> 197 <para>A linker that combines a number of object and archive files 198 into a single file, relocating their data and tying up symbol 199 references</para> 200 <indexterm zone="ch-system-binutils ld"> 201 <primary sortas="b-ld">ld</primary> 202 </indexterm> 203 </listitem> 204 </varlistentry> 205 206 <varlistentry id="nm"> 207 <term><command>nm</command></term> 208 <listitem> 209 <para>Lists the symbols occurring in a given object file</para> 210 <indexterm zone="ch-system-binutils nm"> 211 <primary sortas="b-nm">nm</primary> 212 </indexterm> 213 </listitem> 214 </varlistentry> 215 216 <varlistentry id="objcopy"> 217 <term><command>objcopy</command></term> 218 <listitem> 219 <para>Translates one type of object file into another</para> 220 <indexterm zone="ch-system-binutils objcopy"> 221 <primary sortas="b-objcopy">objcopy</primary> 222 </indexterm> 223 </listitem> 224 </varlistentry> 225 226 <varlistentry id="objdump"> 227 <term><command>objdump</command></term> 228 <listitem> 229 <para>Displays information about the given object file, with options 230 controlling the particular information to display; the information 231 shown is useful to programmers who are working on the compilation 232 tools</para> 233 <indexterm zone="ch-system-binutils objdump"> 234 <primary sortas="b-objdump">objdump</primary> 235 </indexterm> 236 </listitem> 237 </varlistentry> 238 239 <varlistentry id="ranlib"> 240 <term><command>ranlib</command></term> 241 <listitem> 242 <para>Generates an index of the contents of an archive and stores it 243 in the archive; the index lists all of the symbols defined by archive 244 members that are relocatable object files</para> 245 <indexterm zone="ch-system-binutils ranlib"> 246 <primary sortas="b-ranlib">ranlib</primary> 247 </indexterm> 248 </listitem> 249 </varlistentry> 250 251 <varlistentry id="readelf"> 252 <term><command>readelf</command></term> 253 <listitem> 254 <para>Displays information about ELF type binaries</para> 255 <indexterm zone="ch-system-binutils readelf"> 256 <primary sortas="b-readelf">readelf</primary> 257 </indexterm> 258 </listitem> 259 </varlistentry> 260 261 <varlistentry id="size"> 262 <term><command>size</command></term> 263 <listitem> 264 <para>Lists the section sizes and the total size for the given 265 object files</para> 266 <indexterm zone="ch-system-binutils size"> 267 <primary sortas="b-size">size</primary> 268 </indexterm> 269 </listitem> 270 </varlistentry> 271 272 <varlistentry id="strings"> 273 <term><command>strings</command></term> 274 <listitem> 275 <para>Outputs, for each given file, the sequences of printable 276 characters that are of at least the specified length (defaulting to 277 four); for object files, it prints, by default, only the strings from 278 the initializing and loading sections while for other types of files, it 279 scans the entire file</para> 280 <indexterm zone="ch-system-binutils strings"> 281 <primary sortas="b-strings">strings</primary> 282 </indexterm> 283 </listitem> 284 </varlistentry> 285 286 <varlistentry id="strip"> 287 <term><command>strip</command></term> 288 <listitem> 289 <para>Discards symbols from object files</para> 290 <indexterm zone="ch-system-binutils strip"> 291 <primary sortas="b-strip">strip</primary> 292 </indexterm> 293 </listitem> 294 </varlistentry> 295 296 <varlistentry id="libiberty"> 297 <term><filename class="libraryfile">libiberty</filename></term> 298 <listitem> 299 <para>Contains routines used by various GNU programs, including 300 <command>getopt</command>, <command>obstack</command>, 301 <command>strerror</command>, <command>strtol</command>, and 302 <command>strtoul</command></para> 303 <indexterm zone="ch-system-binutils libiberty"> 304 <primary sortas="c-libiberty">libiberty</primary> 305 </indexterm> 306 </listitem> 307 </varlistentry> 308 309 <varlistentry id="libbfd"> 310 <term><filename class="libraryfile">libbfd</filename></term> 311 <listitem> 312 <para>The Binary File Descriptor library</para> 313 <indexterm zone="ch-system-binutils libbfd"> 314 <primary sortas="c-libbfd">libbfd</primary> 315 </indexterm> 316 </listitem> 317 </varlistentry> 318 319 <varlistentry id="libopcodes"> 320 <term><filename class="libraryfile">libopcodes</filename></term> 321 <listitem> 322 <para>A library for dealing with opcodes—the <quote>readable 323 text</quote> versions of instructions for the processor; 324 it is used for building utilities like 325 <command>objdump</command>.</para> 326 <indexterm zone="ch-system-binutils libopcodes"> 327 <primary sortas="c-libopcodes">libopcodes</primary> 328 </indexterm> 329 </listitem> 330 </varlistentry> 331 332 </variablelist> 333 334 </sect2> 266 335 267 336 </sect1> 268 -
chapter06/bison.xml
rb4cd3c5 re6ab4b5 1 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" [ 2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" 3 "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ 3 4 <!ENTITY % general-entities SYSTEM "../general.ent"> 4 5 %general-entities; 5 6 ]> 7 6 8 <sect1 id="ch-system-bison" role="wrap"> 7 <title>Bison-&bison-version;</title> 8 <?dbhtml filename="bison.html"?> 9 <?dbhtml filename="bison.html"?> 9 10 10 <indexterm zone="ch-system-bison"><primary sortas="a-Bison">Bison</primary></indexterm>11 <title>Bison-&bison-version;</title> 11 12 12 <sect2 role="package"><title/> 13 <para>The Bison package contains a parser generator.</para> 13 <indexterm zone="ch-system-bison"> 14 <primary sortas="a-Bison">Bison</primary> 15 </indexterm> 14 16 15 <segmentedlist> 16 <segtitle>&buildtime;</segtitle> 17 <segtitle>&diskspace;</segtitle> 18 <seglistitem><seg>0.6 SBU</seg><seg>9.9 MB</seg></seglistitem> 19 </segmentedlist> 17 <sect2 role="package"> 18 <title/> 20 19 21 <segmentedlist> 22 <segtitle>&dependencies;</segtitle> 23 <seglistitem><seg>Bash, Binutils, Coreutils, Diffutils, 24 GCC, Gettext, Glibc, Grep, M4, Make, and Sed</seg></seglistitem> 25 </segmentedlist> 26 </sect2> 20 <para>The Bison package contains a parser generator.</para> 27 21 28 <sect2 role="installation"> 29 <title>Installation of Bison</title> 22 <segmentedlist> 23 <segtitle>&buildtime;</segtitle> 24 <segtitle>&diskspace;</segtitle> 30 25 31 <para>Prepare Bison for compilation:</para> 26 <seglistitem> 27 <seg>0.6 SBU</seg> 28 <seg>9.9 MB</seg> 29 </seglistitem> 30 </segmentedlist> 31 32 <segmentedlist> 33 <segtitle>&dependencies;</segtitle> 34 35 <seglistitem> 36 <seg>Bash, Binutils, Coreutils, Diffutils, GCC, Gettext, Glibc, 37 Grep, M4, Make, and Sed</seg> 38 </seglistitem> 39 </segmentedlist> 40 41 </sect2> 42 43 <sect2 role="installation"> 44 <title>Installation of Bison</title> 45 46 <para>Prepare Bison for compilation:</para> 32 47 33 48 <screen><userinput>./configure --prefix=/usr</userinput></screen> 34 49 35 <para>Compile the package:</para>50 <para>Compile the package:</para> 36 51 37 52 <screen><userinput>make</userinput></screen> 38 53 39 <para>To test the results, issue:40 <userinput>make check</userinput>.</para>54 <para>To test the results, issue: 55 <userinput>make check</userinput>.</para> 41 56 42 <para>Install the package:</para>57 <para>Install the package:</para> 43 58 44 59 <screen><userinput>make install</userinput></screen> 45 60 46 </sect2>61 </sect2> 47 62 48 <sect2 id="contents-bison" role="content"><title>Contents of Bison</title> 63 <sect2 id="contents-bison" role="content"> 64 <title>Contents of Bison</title> 49 65 50 <segmentedlist> 51 <segtitle>Installed programs</segtitle> 52 <segtitle>Installed library</segtitle> 53 <seglistitem><seg>bison and yacc</seg><seg>liby.a</seg></seglistitem> 54 </segmentedlist> 66 <segmentedlist> 67 <segtitle>Installed programs</segtitle> 68 <segtitle>Installed library</segtitle> 55 69 56 <variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead> 57 <?dbfo list-presentation="list"?> 58 <?dbhtml list-presentation="table"?> 70 <seglistitem> 71 <seg>bison and yacc</seg> 72 <seg>liby.a</seg> 73 </seglistitem> 74 </segmentedlist> 59 75 60 <varlistentry id="bison"> 61 <term><command>bison</command></term> 62 <listitem> 63 <para>Generates, from a series of rules, a program for analyzing the structure 64 of text files; Bison is a replacement for Yacc (Yet Another Compiler 65 Compiler)</para> 66 <indexterm zone="ch-system-bison bison"><primary sortas="b-bison">bison</primary></indexterm> 67 </listitem> 68 </varlistentry> 76 <variablelist> 77 <bridgehead renderas="sect3">Short Descriptions</bridgehead> 78 <?dbfo list-presentation="list"?> 79 <?dbhtml list-presentation="table"?> 69 80 70 <varlistentry id="yacc"> 71 <term><command>yacc</command></term> 72 <listitem> 73 <para>A wrapper for <command>bison</command>, meant for programs 74 that still call <command>yacc</command> instead of <command>bison</command>; 75 it calls <command>bison</command> with the <parameter>-y</parameter> option</para> 76 <indexterm zone="ch-system-bison yacc"><primary sortas="b-yacc">yacc</primary></indexterm> 77 </listitem> 78 </varlistentry> 81 <varlistentry id="bison"> 82 <term><command>bison</command></term> 83 <listitem> 84 <para>Generates, from a series of rules, a program for analyzing the 85 structure of text files; Bison is a replacement for Yacc (Yet Another 86 Compiler Compiler)</para> 87 <indexterm zone="ch-system-bison bison"> 88 <primary sortas="b-bison">bison</primary> 89 </indexterm> 90 </listitem> 91 </varlistentry> 79 92 80 <varlistentry id="liby.a"> 81 <term><filename class="libraryfile">liby.a</filename></term> 82 <listitem> 83 <para>The Yacc library containing implementations of Yacc-compatible 84 <emphasis>yyerror</emphasis> and <emphasis>main</emphasis> functions; 85 this library is normally not very useful, but POSIX requires 86 it</para> 87 <indexterm zone="ch-system-bison liby.a"><primary sortas="c-liby.a">liby.a</primary></indexterm> 88 </listitem> 89 </varlistentry> 90 </variablelist> 93 <varlistentry id="yacc"> 94 <term><command>yacc</command></term> 95 <listitem> 96 <para>A wrapper for <command>bison</command>, meant for programs that 97 still call <command>yacc</command> instead of <command>bison</command>; 98 it calls <command>bison</command> with the <parameter>-y</parameter> 99 option</para> 100 <indexterm zone="ch-system-bison yacc"> 101 <primary sortas="b-yacc">yacc</primary> 102 </indexterm> 103 </listitem> 104 </varlistentry> 91 105 92 </sect2> 106 <varlistentry id="liby.a"> 107 <term><filename class="libraryfile">liby.a</filename></term> 108 <listitem> 109 <para>The Yacc library containing implementations of Yacc-compatible 110 <function>yyerror</function> and <function>main</function> functions; 111 this library is normally not very useful, but POSIX requires it</para> 112 <indexterm zone="ch-system-bison liby.a"> 113 <primary sortas="c-liby.a">liby.a</primary> 114 </indexterm> 115 </listitem> 116 </varlistentry> 117 118 </variablelist> 119 120 </sect2> 93 121 94 122 </sect1> 95 -
chapter06/bzip2.xml
rb4cd3c5 re6ab4b5 1 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" [ 2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" 3 "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ 3 4 <!ENTITY % general-entities SYSTEM "../general.ent"> 4 5 %general-entities; 5 6 ]> 7 6 8 <sect1 id="ch-system-bzip2" role="wrap"> 7 <title>Bzip2-&bzip2-version;</title> 8 <?dbhtml filename="bzip2.html"?> 9 10 <indexterm zone="ch-system-bzip2"><primary sortas="a-Bzip2">Bzip2</primary></indexterm> 11 12 <sect2 role="package"><title/> 13 <para>The Bzip2 package contains programs for compressing and decompressing 14 files. Compressing text files with <command>bzip2</command> yields a much better 15 compression percentage than with the traditional <command>gzip</command>.</para> 16 17 <segmentedlist> 18 <segtitle>&buildtime;</segtitle> 19 <segtitle>&diskspace;</segtitle> 20 <seglistitem><seg>0.1 SBU</seg><seg>3.9 MB</seg></seglistitem> 21 </segmentedlist> 22 23 <segmentedlist> 24 <segtitle>&dependencies;</segtitle> 25 <seglistitem><seg>Bash, Binutils, Coreutils, Diffutils, 26 GCC, Glibc, Patch, and Make</seg></seglistitem> 27 </segmentedlist> 28 </sect2> 29 30 <sect2 role="installation"> 31 <title>Installation of Bzip2</title> 32 33 <para>Apply a patch to install the documentation for this package:</para> 9 <?dbhtml filename="bzip2.html"?> 10 11 <title>Bzip2-&bzip2-version;</title> 12 13 <indexterm zone="ch-system-bzip2"> 14 <primary sortas="a-Bzip2">Bzip2</primary> 15 </indexterm> 16 17 <sect2 role="package"> 18 <title/> 19 20 <para>The Bzip2 package contains programs for compressing and decompressing 21 files. Compressing text files with <command>bzip2</command> yields a much 22 better compression percentage than with the traditional 23 <command>gzip</command>.</para> 24 25 <segmentedlist> 26 <segtitle>&buildtime;</segtitle> 27 <segtitle>&diskspace;</segtitle> 28 29 <seglistitem> 30 <seg>0.1 SBU</seg> 31 <seg>3.9 MB</seg> 32 </seglistitem> 33 </segmentedlist> 34 35 <segmentedlist> 36 <segtitle>&dependencies;</segtitle> 37 38 <seglistitem> 39 <seg>Bash, Binutils, Coreutils, Diffutils, GCC, Glibc, Patch, 40 and Make</seg> 41 </seglistitem> 42 </segmentedlist> 43 44 </sect2> 45 46 <sect2 role="installation"> 47 <title>Installation of Bzip2</title> 48 49 <para>Apply a patch to install the documentation for this package:</para> 34 50 35 51 <screen><userinput>patch -Np1 -i ../&bzip2-docs-patch;</userinput></screen> 36 52 37 <para>The <command>bzgrep</command> command does not escape '|' and '&' in 38 filenames passed to it. This allows arbitrary commands to be executed with the 39 privileges of the user running <command>bzgrep</command>. Apply the following to 40 address this:</para>53 <para>The <command>bzgrep</command> command does not escape '|' and '&' 54 in filenames passed to it. This allows arbitrary commands to be executed 55 with the privileges of the user running <command>bzgrep</command>. Apply 56 the following to address this:</para> 41 57 42 58 <screen><userinput>patch -Np1 -i ../&bzip2-bzgrep-patch;</userinput></screen> 43 59 44 <para>Prepare Bzip2 for compilation with:</para>60 <para>Prepare Bzip2 for compilation with:</para> 45 61 46 62 <screen><userinput>make -f Makefile-libbz2_so 47 63 make clean</userinput></screen> 48 64 49 <para>The <parameter>-f</parameter> flag will cause Bzip2 to be built 50 using a different <filename>Makefile</filename> file, in this case the 51 <filename>Makefile-libbz2_so</filename> file, which creates a dynamic 52 <filename class="libraryfile">libbz2.so</filename> library and links the Bzip2 53 utilities against it.</para> 54 55 <para>Compile and test the package:</para> 65 <variablelist> 66 <title>The meaning of the make parameter:</title> 67 68 <varlistentry> 69 <term><parameter>-f Makefile-libbz2_so</parameter></term> 70 <listitem> 71 <para>This will cause Bzip2 to be built using a different 72 <filename>Makefile</filename> file, in this case the 73 <filename>Makefile-libbz2_so</filename> file, which creates a dynamic 74 <filename class="libraryfile">libbz2.so</filename> library and links 75 the Bzip2 utilities against it.</para> 76 </listitem> 77 </varlistentry> 78 79 </variablelist> 80 81 <para>Compile and test the package:</para> 56 82 57 83 <screen><userinput>make</userinput></screen> 58 84 59 <para>If reinstalling Bzip2, perform60 <userinput>rm -vf /usr/bin/bz*</userinput> first, otherwise the following61 <command>make install</command> will fail.</para>62 63 <para>Install the programs:</para>85 <para>If reinstalling Bzip2, perform 86 <userinput>rm -vf /usr/bin/bz*</userinput> first, otherwise the following 87 <command>make install</command> will fail.</para> 88 89 <para>Install the programs:</para> 64 90 65 91 <screen><userinput>make install</userinput></screen> 66 92 67 <para>Install the shared <command>bzip2</command> binary into the68 <filename class="directory">/bin</filename> directory, make69 some necessary symbolic links, and clean up:</para>93 <para>Install the shared <command>bzip2</command> binary into the 94 <filename class="directory">/bin</filename> directory, make 95 some necessary symbolic links, and clean up:</para> 70 96 71 97 <screen><userinput>cp -v bzip2-shared /bin/bzip2 … … 76 102 ln -sv bzip2 /bin/bzcat</userinput></screen> 77 103 78 </sect2> 79 80 81 <sect2 id="contents-bzip2" role="content"><title>Contents of Bzip2</title> 82 83 <segmentedlist> 84 <segtitle>Installed programs</segtitle> 85 <segtitle>Installed libraries</segtitle> 86 <seglistitem><seg>bunzip2 (link to bzip2), bzcat (link to bzip2), bzcmp, bzdiff, 87 bzegrep, bzfgrep, bzgrep, bzip2, bzip2recover, bzless, and bzmore</seg> 88 <seg>libbz2.[a,so]</seg></seglistitem> 89 </segmentedlist> 90 91 <variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead> 92 <?dbfo list-presentation="list"?> 93 <?dbhtml list-presentation="table"?> 94 95 <varlistentry id="bunzip2"> 96 <term><command>bunzip2</command></term> 97 <listitem> 98 <para>Decompresses bzipped files</para> 99 <indexterm zone="ch-system-bzip2 bunzip2"><primary sortas="b-bunzip2">bunzip2</primary></indexterm> 100 </listitem> 101 </varlistentry> 102 103 <varlistentry id="bzcat"> 104 <term><command>bzcat</command></term> 105 <listitem> 106 <para>Decompresses to standard output</para> 107 <indexterm zone="ch-system-bzip2 bzcat"><primary sortas="b-bzcat">bzcat</primary></indexterm> 108 </listitem> 109 </varlistentry> 110 111 <varlistentry id="bzcmp"> 112 <term><command>bzcmp</command></term> 113 <listitem> 114 <para>Runs <command>cmp</command> on bzipped files</para> 115 <indexterm zone="ch-system-bzip2 bzcmp"><primary sortas="b-bzcmp">bzcmp</primary></indexterm> 116 </listitem> 117 </varlistentry> 118 119 <varlistentry id="bzdiff"> 120 <term><command>bzdiff</command></term> 121 <listitem> 122 <para>Runs <command>diff</command> on bzipped files</para> 123 <indexterm zone="ch-system-bzip2 bzdiff"><primary sortas="b-bzdiff">bzdiff</primary></indexterm> 124 </listitem> 125 </varlistentry> 126 127 <varlistentry id="bzgrep"> 128 <term><command>bzgrep</command></term> 129 <listitem> 130 <para>Runs <command>grep</command> on bzipped files</para> 131 <indexterm zone="ch-system-bzip2 bzgrep"><primary sortas="b-bzgrep">bzgrep</primary></indexterm> 132 </listitem> 133 </varlistentry> 134 135 <varlistentry id="bzegrep"> 136 <term><command>bzegrep</command></term> 137 <listitem> 138 <para>Runs <command>egrep</command> on bzipped files</para> 139 <indexterm zone="ch-system-bzip2 bzegrep"><primary sortas="b-bzegrep">bzegrep</primary></indexterm> 140 </listitem> 141 </varlistentry> 142 143 <varlistentry id="bzfgrep"> 144 <term><command>bzfgrep</command></term> 145 <listitem> 146 <para>Runs <command>fgrep</command> on bzipped files</para> 147 <indexterm zone="ch-system-bzip2 bzfgrep"><primary sortas="b-bzfgrep">bzfgrep</primary></indexterm> 148 </listitem> 149 </varlistentry> 150 151 <varlistentry id="bzip2"> 152 <term><command>bzip2</command></term> 153 <listitem> 154 <para>Compresses files using the Burrows-Wheeler block sorting text 155 compression algorithm with Huffman coding; the compression rate is 156 better than that achieved by more conventional compressors using 157 <quote>Lempel-Ziv</quote> algorithms, like <command>gzip</command></para> 158 <indexterm zone="ch-system-bzip2 bzip2"><primary sortas="b-bzip2">bzip2</primary></indexterm> 159 </listitem> 160 </varlistentry> 161 162 <varlistentry id="bzip2recover"> 163 <term><command>bzip2recover</command></term> 164 <listitem> 165 <para>Tries to recover data from damaged bzipped files</para> 166 <indexterm zone="ch-system-bzip2 bzip2recover"><primary sortas="b-bzip2recover">bzip2recover</primary></indexterm> 167 </listitem> 168 </varlistentry> 169 170 <varlistentry id="bzless"> 171 <term><command>bzless</command></term> 172 <listitem> 173 <para>Runs <command>less</command> on bzipped files</para> 174 <indexterm zone="ch-system-bzip2 bzless"><primary sortas="b-bzless">bzless</primary></indexterm> 175 </listitem> 176 </varlistentry> 177 178 <varlistentry id="bzmore"> 179 <term><command>bzmore</command></term> 180 <listitem> 181 <para>Runs <command>more</command> on bzipped files</para> 182 <indexterm zone="ch-system-bzip2 bzmore"><primary sortas="b-bzmore">bzmore</primary></indexterm> 183 </listitem> 184 </varlistentry> 185 186 <varlistentry id="libbz2"> 187 <term><filename class="libraryfile">libbz2*</filename></term> 188 <listitem> 189 <para>The library implementing lossless, block-sorting data 190 compression, using the Burrows-Wheeler algorithm</para> 191 <indexterm zone="ch-system-bzip2 libbz2"><primary sortas="c-libbz2*">libbz2*</primary></indexterm> 192 </listitem> 193 </varlistentry> 194 </variablelist> 195 196 </sect2> 104 </sect2> 105 106 <sect2 id="contents-bzip2" role="content"> 107 <title>Contents of Bzip2</title> 108 109 <segmentedlist> 110 <segtitle>Installed programs</segtitle> 111 <segtitle>Installed libraries</segtitle> 112 113 <seglistitem> 114 <seg>bunzip2 (link to bzip2), bzcat (link to bzip2), bzcmp, bzdiff, 115 bzegrep, bzfgrep, bzgrep, bzip2, bzip2recover, bzless, and bzmore</seg> 116 <seg>libbz2.[a,so]</seg> 117 </seglistitem> 118 </segmentedlist> 119 120 <variablelist> 121 <bridgehead renderas="sect3">Short Descriptions</bridgehead> 122 <?dbfo list-presentation="list"?> 123 <?dbhtml list-presentation="table"?> 124 125 <varlistentry id="bunzip2"> 126 <term><command>bunzip2</command></term> 127 <listitem> 128 <para>Decompresses bzipped files</para> 129 <indexterm zone="ch-system-bzip2 bunzip2"> 130 <primary sortas="b-bunzip2">bunzip2</primary> 131 </indexterm> 132 </listitem> 133 </varlistentry> 134 135 <varlistentry id="bzcat"> 136 <term><command>bzcat</command></term> 137 <listitem> 138 <para>Decompresses to standard output</para> 139 <indexterm zone="ch-system-bzip2 bzcat"> 140 <primary sortas="b-bzcat">bzcat</primary> 141 </indexterm> 142 </listitem> 143 </varlistentry> 144 145 <varlistentry id="bzcmp"> 146 <term><command>bzcmp</command></term> 147 <listitem> 148 <para>Runs <command>cmp</command> on bzipped files</para> 149 <indexterm zone="ch-system-bzip2 bzcmp"> 150 <primary sortas="b-bzcmp">bzcmp</primary> 151 </indexterm> 152 </listitem> 153 </varlistentry> 154 155 <varlistentry id="bzdiff"> 156 <term><command>bzdiff</command></term> 157 <listitem> 158 <para>Runs <command>diff</command> on bzipped files</para> 159 <indexterm zone="ch-system-bzip2 bzdiff"> 160 <primary sortas="b-bzdiff">bzdiff</primary> 161 </indexterm> 162 </listitem> 163 </varlistentry> 164 165 <varlistentry id="bzgrep"> 166 <term><command>bzgrep</command></term> 167 <listitem> 168 <para>Runs <command>grep</command> on bzipped files</para> 169 <indexterm zone="ch-system-bzip2 bzgrep"> 170 <primary sortas="b-bzgrep">bzgrep</primary> 171 </indexterm> 172 </listitem> 173 </varlistentry> 174 175 <varlistentry id="bzegrep"> 176 <term><command>bzegrep</command></term> 177 <listitem> 178 <para>Runs <command>egrep</command> on bzipped files</para> 179 <indexterm zone="ch-system-bzip2 bzegrep"> 180 <primary sortas="b-bzegrep">bzegrep</primary> 181 </indexterm> 182 </listitem> 183 </varlistentry> 184 185 <varlistentry id="bzfgrep"> 186 <term><command>bzfgrep</command></term> 187 <listitem> 188 <para>Runs <command>fgrep</command> on bzipped files</para> 189 <indexterm zone="ch-system-bzip2 bzfgrep"> 190 <primary sortas="b-bzfgrep">bzfgrep</primary> 191 </indexterm> 192 </listitem> 193 </varlistentry> 194 195 <varlistentry id="bzip2"> 196 <term><command>bzip2</command></term> 197 <listitem> 198 <para>Compresses files using the Burrows-Wheeler block sorting text 199 compression algorithm with Huffman coding; the compression rate is 200 better than that achieved by more conventional compressors using 201 <quote>Lempel-Ziv</quote> algorithms, like <command>gzip</command></para> 202 <indexterm zone="ch-system-bzip2 bzip2"> 203 <primary sortas="b-bzip2">bzip2</primary> 204 </indexterm> 205 </listitem> 206 </varlistentry> 207 208 <varlistentry id="bzip2recover"> 209 <term><command>bzip2recover</command></term> 210 <listitem> 211 <para>Tries to recover data from damaged bzipped files</para> 212 <indexterm zone="ch-system-bzip2 bzip2recover"> 213 <primary sortas="b-bzip2recover">bzip2recover</primary> 214 </indexterm> 215 </listitem> 216 </varlistentry> 217 218 <varlistentry id="bzless"> 219 <term><command>bzless</command></term> 220 <listitem> 221 <para>Runs <command>less</command> on bzipped files</para> 222 <indexterm zone="ch-system-bzip2 bzless"> 223 <primary sortas="b-bzless">bzless</primary> 224 </indexterm> 225 </listitem> 226 </varlistentry> 227 228 <varlistentry id="bzmore"> 229 <term><command>bzmore</command></term> 230 <listitem> 231 <para>Runs <command>more</command> on bzipped files</para> 232 <indexterm zone="ch-system-bzip2 bzmore"> 233 <primary sortas="b-bzmore">bzmore</primary> 234 </indexterm> 235 </listitem> 236 </varlistentry> 237 238 <varlistentry id="libbz2"> 239 <term><filename class="libraryfile">libbz2*</filename></term> 240 <listitem> 241 <para>The library implementing lossless, block-sorting data 242 compression, using the Burrows-Wheeler algorithm</para> 243 <indexterm zone="ch-system-bzip2 libbz2"> 244 <primary sortas="c-libbz2*">libbz2*</primary> 245 </indexterm> 246 </listitem> 247 </varlistentry> 248 249 </variablelist> 250 251 </sect2> 197 252 198 253 </sect1> 199 -
chapter06/changingowner.xml
rb4cd3c5 re6ab4b5 1 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" [ 2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" 3 "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ 3 4 <!ENTITY % general-entities SYSTEM "../general.ent"> 4 5 %general-entities; 5 6 ]> 7 6 8 <sect1 id="ch-system-changingowner"> 7 <title>Changing Ownership</title> 8 <?dbhtml filename="changingowner.html"?> 9 <?dbhtml filename="changingowner.html"?> 9 10 10 <para>Currently, the <filename class="directory">/tools</filename> 11 directory is owned by the user <emphasis>lfs</emphasis>, a user that 12 exists only on the host system. Although the <filename 13 class="directory">/tools</filename> directory can be deleted once the 14 LFS system has been finished, it can be retained to build additional 15 LFS systems. If the <filename class="directory">/tools</filename> 16 directory is kept as is, the files are owned by a user ID without a 17 corresponding account. This is dangerous because a user account 18 created later could get this same user ID and would own the <filename 19 class="directory">/tools</filename> directory and all the files 20 therein, thus exposing these files to possible malicious 21 manipulation.</para> 11 <title>Changing Ownership</title> 22 12 23 <para>To avoid this issue, add the <emphasis>lfs</emphasis> user to 24 the new LFS system later when creating the 25 <filename>/etc/passwd</filename> file, taking care to assign it the 26 same user and group IDs as on the host system. Alternatively, assign 27 the contents of the <filename class="directory">/tools</filename> 28 directory to user <emphasis>root</emphasis> by running the following 29 command:</para> 13 <para>Currently, the <filename class="directory">/tools</filename> directory 14 is owned by the user <systemitem class="username">lfs</systemitem>, a user 15 that exists only on the host system. Although the <filename 16 class="directory">/tools</filename> directory can be deleted once the LFS 17 system has been finished, it can be retained to build additional LFS systems. 18 If the <filename class="directory">/tools</filename> directory is kept as is, 19 the files are owned by a user ID without a corresponding account. This is 20 dangerous because a user account created later could get this same user ID 21 and would own the <filename class="directory">/tools</filename> directory 22 and all the files therein, thus exposing these files to possible malicious 23 manipulation.</para> 24 25 <para>To avoid this issue, add the <systemitem class="username">lfs</systemitem> 26 user to the new LFS system later when creating the 27 <filename>/etc/passwd</filename> file, taking care to assign it the same user 28 and group IDs as on the host system. Alternatively, assign the contents of 29 the <filename class="directory">/tools</filename> directory to user 30 <systemitem class="username">root</systemitem> by running the following 31 command:</para> 30 32 31 33 <screen><userinput>chown -R 0:0 /tools</userinput></screen> 32 34 33 <para>The command uses <parameter>0:0</parameter> instead of 34 <parameter>root:root</parameter>, because <command>chown</command> 35 is unable to resolve the name <quote>root</quote> until the password 36 file has been created. This book assumes you ran this 37 <command>chown</command> command.</para> 35 <para>The command uses <parameter>0:0</parameter> instead of 36 <parameter>root:root</parameter>, because <command>chown</command> 37 is unable to resolve the name <quote>root</quote> until the 38 <filename>passwd</filename> file has been created.</para> 38 39 39 40 </sect1> 40 -
chapter06/chapter06.xml
rb4cd3c5 re6ab4b5 1 1 <?xml version="1.0" encoding="ISO-8859-1"?> 2 <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ 2 <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" 3 "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ 3 4 <!ENTITY % general-entities SYSTEM "../general.ent"> 4 5 %general-entities; 5 6 ]> 7 6 8 <chapter id="chapter-building-system" xreflabel="Chapter 6"> 7 <?dbhtml dir="chapter06"?> 8 <title>Installing Basic System Software</title> 9 <?dbhtml filename="chapter06.html"?> 9 <?dbhtml dir="chapter06"?> 10 <?dbhtml filename="chapter06.html"?> 10 11 11 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="introduction.xml"/> 12 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="kernfs.xml"/> 13 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="chroot.xml"/> 14 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="changingowner.xml"/> 15 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="creatingdirs.xml"/> 16 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="createfiles.xml"/> 17 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="pwdgroup.xml"/> 18 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="devices.xml"/> 19 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="linux-libc-headers.xml"/> 20 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="man-pages.xml"/> 21 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="glibc.xml"/> 22 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="readjusting.xml"/> 23 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="binutils.xml"/> 24 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gcc.xml"/> 25 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="coreutils.xml"/> 26 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="flex.xml"/> 27 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gettext.xml"/> 28 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="groff.xml"/> 29 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="iana-etc.xml"/> 30 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="m4.xml"/> 31 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="ncurses.xml"/> 32 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="procps.xml"/> 33 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="sed.xml"/> 34 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="perl.xml"/> 35 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="readline.xml"/> 36 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="zlib.xml"/> 37 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="autoconf.xml"/> 38 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="automake.xml"/> 39 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="bash.xml"/> 40 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="bison.xml"/> 41 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="bzip2.xml"/> 42 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="diffutils.xml"/> 43 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="db.xml"/> 44 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="e2fsprogs.xml"/> 45 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="file.xml"/> 46 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="findutils.xml"/> 47 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="grub.xml"/> 48 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gawk.xml"/> 49 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="grep.xml"/> 50 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gzip.xml"/> 51 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="hotplug.xml"/> 52 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="inetutils.xml"/> 53 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="iproute2.xml"/> 54 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="kbd.xml"/> 55 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="less.xml"/> 56 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="libtool.xml"/> 57 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="make.xml"/> 58 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="man-db.xml"/> 59 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="mktemp.xml"/> 60 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="module-init-tools.xml"/> 61 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="patch.xml"/> 62 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="psmisc.xml"/> 63 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="shadow.xml"/> 64 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="sysklogd.xml"/> 65 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="sysvinit.xml"/> 66 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="tar.xml"/> 67 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="texinfo.xml"/> 68 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="udev.xml"/> 69 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="util-linux.xml"/> 70 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="vim.xml"/> 71 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="aboutdebug.xml"/> 72 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="strippingagain.xml"/> 73 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="revisedchroot.xml"/> 12 <title>Installing Basic System Software</title> 13 14 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="introduction.xml"/> 15 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="pkgmgt.xml"/> 16 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="kernfs.xml"/> 17 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="chroot.xml"/> 18 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="changingowner.xml"/> 19 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="creatingdirs.xml"/> 20 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="createfiles.xml"/> 21 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="pwdgroup.xml"/> 22 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="devices.xml"/> 23 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="linux-libc-headers.xml"/> 24 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="man-pages.xml"/> 25 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="glibc.xml"/> 26 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="readjusting.xml"/> 27 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="binutils.xml"/> 28 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gcc.xml"/> 29 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="coreutils.xml"/> 30 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="flex.xml"/> 31 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gettext.xml"/> 32 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="groff.xml"/> 33 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="iana-etc.xml"/> 34 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="m4.xml"/> 35 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="ncurses.xml"/> 36 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="procps.xml"/> 37 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="sed.xml"/> 38 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="perl.xml"/> 39 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="readline.xml"/> 40 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="zlib.xml"/> 41 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="autoconf.xml"/> 42 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="automake.xml"/> 43 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="bash.xml"/> 44 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="bison.xml"/> 45 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="bzip2.xml"/> 46 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="diffutils.xml"/> 47 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="db.xml"/> 48 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="e2fsprogs.xml"/> 49 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="file.xml"/> 50 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="findutils.xml"/> 51 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="grub.xml"/> 52 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gawk.xml"/> 53 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="grep.xml"/> 54 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gzip.xml"/> 55 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="hotplug.xml"/> 56 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="inetutils.xml"/> 57 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="iproute2.xml"/> 58 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="kbd.xml"/> 59 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="less.xml"/> 60 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="libtool.xml"/> 61 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="make.xml"/> 62 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="man-db.xml"/> 63 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="mktemp.xml"/> 64 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="module-init-tools.xml"/> 65 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="patch.xml"/> 66 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="psmisc.xml"/> 67 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="shadow.xml"/> 68 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="sysklogd.xml"/> 69 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="sysvinit.xml"/> 70 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="tar.xml"/> 71 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="texinfo.xml"/> 72 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="udev.xml"/> 73 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="util-linux.xml"/> 74 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="vim.xml"/> 75 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="aboutdebug.xml"/> 76 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="strippingagain.xml"/> 77 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="revisedchroot.xml"/> 74 78 75 79 </chapter> -
chapter06/chroot.xml
rb4cd3c5 re6ab4b5 1 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" [ 2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" 3 "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ 3 4 <!ENTITY % general-entities SYSTEM "../general.ent"> 4 5 %general-entities; 5 6 ]> 7 6 8 <sect1 id="ch-system-chroot"> 7 <title>Entering the Chroot Environment</title> 8 <?dbhtml filename="chroot.html"?> 9 <?dbhtml filename="chroot.html"?> 9 10 10 <para>It is time to enter the chroot environment to begin 11 building and installing the final LFS system. As user 12 <emphasis>root</emphasis>, run the following command to enter the 13 realm that is, at the moment, populated with only the temporary 14 tools:</para> 11 <title>Entering the Chroot Environment</title> 12 13 <para>It is time to enter the chroot environment to begin building and 14 installing the final LFS system. As user <systemitem 15 class="username">root</systemitem>, run the following command to enter the 16 realm that is, at the moment, populated with only the temporary tools:</para> 15 17 16 18 <screen><userinput>chroot "$LFS" /tools/bin/env -i \ … … 19 21 /tools/bin/bash --login +h</userinput></screen> 20 22 21 <para>The <parameter>-i</parameter> option given to the 22 <command>env</command> command will clear all variables of the chroot 23 environment. After that, only the <envar>HOME</envar>, 24 <envar>TERM</envar>, <envar>PS1</envar>, and 25 <envar>PATH</envar> variables are set again. The 26 <parameter>TERM=$TERM</parameter> construct will set the 27 <envar>TERM</envar> variable inside chroot to the same value as 28 outside chroot. This variable is needed for programs like 29 <command>vim</command> and <command>less</command> to operate 30 properly. If other variables are needed, such as 31 <envar>CFLAGS</envar> or <envar>CXXFLAGS</envar>, this is 32 a good place to set them again.</para> 23 <para>The <parameter>-i</parameter> option given to the <command>env</command> 24 command will clear all variables of the chroot environment. After that, only 25 the <envar>HOME</envar>, <envar>TERM</envar>, <envar>PS1</envar>, and 26 <envar>PATH</envar> variables are set again. The 27 <parameter>TERM=$TERM</parameter> construct will set the <envar>TERM</envar> 28 variable inside chroot to the same value as outside chroot. This variable is 29 needed for programs like <command>vim</command> and <command>less</command> 30 to operate properly. If other variables are needed, such as 31 <envar>CFLAGS</envar> or <envar>CXXFLAGS</envar>, this is a good place to set 32 them again.</para> 33 33 34 <para>From this point on, there is no need to use the35 <envar>LFS</envar> variable anymore, because all work will be 36 restricted to the LFS file system. This is because the Bash shell is 37 told that<filename class="directory">$LFS</filename> is now the root38 (<filename class="directory">/</filename>) directory.</para>34 <para>From this point on, there is no need to use the 35 <envar>LFS</envar> variable anymore, because all work will be restricted 36 to the LFS file system. This is because the Bash shell is told that 37 <filename class="directory">$LFS</filename> is now the root 38 (<filename class="directory">/</filename>) directory.</para> 39 39 40 <para>Notice that <filename class="directory">/tools/bin</filename> comes last41 in the <envar>PATH</envar>. This means that a temporary tool will no longer be42 used once its final version is installed. This occurs when the shell does not43 <quote>remember</quote> the locations of executed binaries—for this44 reason, hashing is switched off by passing the <parameter>+h</parameter> option45 to <command>bash</command>.</para>40 <para>Notice that <filename class="directory">/tools/bin</filename> comes last 41 in the <envar>PATH</envar>. This means that a temporary tool will no longer be 42 used once its final version is installed. This occurs when the shell does not 43 <quote>remember</quote> the locations of executed binaries—for this 44 reason, hashing is switched off by passing the <parameter>+h</parameter> option 45 to <command>bash</command>.</para> 46 46 47 <para>It is important that all the commands throughout the remainder 48 of this chapter and the following chapters are run from within the 49 chroot environment. If you leave this environment for any reason 50 (rebooting for example), remember to first mount the <systemitem 51 class="filesystem">proc</systemitem> and <systemitem 52 class="filesystem">devpts</systemitem> file systems (discussed in the 53 previous section) and enter chroot again before continuing with the 54 installations.</para> 47 <para>It is important that all the commands throughout the remainder of this 48 chapter and the following chapters are run from within the chroot environment. 49 If you leave this environment for any reason (rebooting for example), remember 50 to first mount the <systemitem class="filesystem">proc</systemitem> and 51 <systemitem class="filesystem">devpts</systemitem> file systems (discussed 52 in the previous section) and enter chroot again before continuing with the 53 installations.</para> 55 54 56 <para>Note that the <command>bash</command> prompt will say57 <computeroutput>I have no name!</computeroutput> This is normal because the58 <filename>/etc/passwd</filename> file has not been created yet.</para>55 <para>Note that the <command>bash</command> prompt will say 56 <computeroutput>I have no name!</computeroutput> This is normal because the 57 <filename>/etc/passwd</filename> file has not been created yet.</para> 59 58 60 59 </sect1> 61 -
chapter06/coreutils.xml
rb4cd3c5 re6ab4b5 1 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" [ 2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" 3 "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ 3 4 <!ENTITY % general-entities SYSTEM "../general.ent"> 4 5 %general-entities; 5 6 ]> 7 6 8 <sect1 id="ch-system-coreutils" role="wrap"> 7 <title>Coreutils-&coreutils-version;</title> 8 <?dbhtml filename="coreutils.html"?> 9 10 <indexterm zone="ch-system-coreutils"><primary sortas="a-Coreutils">Coreutils</primary></indexterm> 11 12 <sect2 role="package"><title/> 13 <para>The Coreutils package contains utilities for showing and setting the 14 basic system characteristics.</para> 15 16 <segmentedlist> 17 <segtitle>&buildtime;</segtitle> 18 <segtitle>&diskspace;</segtitle> 19 <seglistitem><seg>0.9 SBU</seg><seg>52.8 MB</seg></seglistitem> 20 </segmentedlist> 21 22 <segmentedlist> 23 <segtitle>&dependencies;</segtitle> 24 <seglistitem><seg>Bash, Binutils, Coreutils, Diffutils, GCC, 25 Gettext, Glibc, Grep, Make, Patch, Perl, and Sed</seg></seglistitem> 26 </segmentedlist> 27 </sect2> 28 29 <sect2 role="installation"> 30 <title>Installation of Coreutils</title> 31 32 <para>A known issue with the <command>uname</command> program from 33 this package is that the <parameter>-p</parameter> switch always 34 returns <computeroutput>unknown</computeroutput>. The following patch 35 fixes this behavior for Intel architectures:</para> 9 <?dbhtml filename="coreutils.html"?> 10 11 <title>Coreutils-&coreutils-version;</title> 12 13 <indexterm zone="ch-system-coreutils"> 14 <primary sortas="a-Coreutils">Coreutils</primary> 15 </indexterm> 16 17 <sect2 role="package"> 18 <title/> 19 20 <para>The Coreutils package contains utilities for showing and setting the 21 basic system characteristics.</para> 22 23 <segmentedlist> 24 <segtitle>&buildtime;</segtitle> 25 <segtitle>&diskspace;</segtitle> 26 27 <seglistitem> 28 <seg>0.9 SBU</seg> 29 <seg>52.8 MB</seg> 30 </seglistitem> 31 </segmentedlist> 32 33 <segmentedlist> 34 <segtitle>&dependencies;</segtitle> 35 36 <seglistitem> 37 <seg>Bash, Binutils, Coreutils, Diffutils, GCC, Gettext, Glibc, Grep, 38 Make, Patch, Perl, and Sed</seg> 39 </seglistitem> 40 </segmentedlist> 41 42 </sect2> 43 44 <sect2 role="installation"> 45 <title>Installation of Coreutils</title> 46 47 <para>A known issue with the <command>uname</command> program from 48 this package is that the <parameter>-p</parameter> switch always 49 returns <computeroutput>unknown</computeroutput>. The following patch 50 fixes this behavior for Intel architectures:</para> 36 51 37 52 <screen><userinput>patch -Np1 -i ../&coreutils-uname-patch;</userinput></screen> 38 53 39 <para>Prevent Coreutils from installing binaries that will be installed by40 other packages later:</para>54 <para>Prevent Coreutils from installing binaries that will be installed by 55 other packages later:</para> 41 56 42 57 <screen><userinput>patch -Np1 -i ../&coreutils-suppress-patch;</userinput></screen> 43 58 44 <para>POSIX requires that programs from Coreutils recognize character45 boundaries correctly even in multibyte locales. The following patch46 fixes this non-compliance and other internationalization-related bugs:</para>59 <para>POSIX requires that programs from Coreutils recognize character 60 boundaries correctly even in multibyte locales. The following patch 61 fixes this non-compliance and other internationalization-related bugs:</para> 47 62 48 63 <screen><userinput>patch -Np1 -i ../&coreutils-i18n-patch;</userinput></screen> 49 64 50 <para>In order for the tests added by this patch to pass, the permissions for51 the test file have to be changed:</para>65 <para>In order for the tests added by this patch to pass, the permissions for 66 the test file have to be changed:</para> 52 67 53 68 <screen><userinput>chmod +x tests/sort/sort-mb-tests</userinput></screen> 54 69 55 <note><para>In the past, many bugs were found in this patch. When reporting 56 new bugs to Coreutils maintainers, please check first if they are reproducible 57 without this patch.</para></note> 58 59 <para>It has been found that translated messages sometimes overflow a buffer 60 in the <command>who -Hu</command> command. Increase the buffer size:</para> 70 <note> 71 <para>In the past, many bugs were found in this patch. When reporting new 72 bugs to Coreutils maintainers, please check first if they are reproducible 73 without this patch.</para> 74 </note> 75 76 <para>It has been found that translated messages sometimes overflow a buffer 77 in the <command>who -Hu</command> command. Increase the buffer size:</para> 61 78 62 79 <screen><userinput>sed -i 's/_LEN 6/_LEN 20/' src/who.c</userinput></screen> 63 80 64 <para>Now prepare Coreutils for compilation:</para>81 <para>Now prepare Coreutils for compilation:</para> 65 82 66 83 <screen><userinput>./configure --prefix=/usr</userinput></screen> 67 84 68 <para>Compile the package:</para>85 <para>Compile the package:</para> 69 86 70 87 <screen><userinput>make</userinput></screen> 71 88 72 <para>The test suite of Coreutils makes several assumptions about the presence73 of system users and groups that are not valid within the minimal environment 74 that exists at the moment. Therefore, additional items need to be set up before 75 running the tests. Skip down to <quote>Install the package</quote> if not 76 running the test suite.</para>77 78 <para>Create two dummy groups and a dummy user:</para>89 <para>The test suite of Coreutils makes several assumptions about the 90 presence of system users and groups that are not valid within the minimal 91 environment that exists at the moment. Therefore, additional items need 92 to be set up before running the tests. Skip down to <quote>Install the 93 package</quote> if not running the test suite.</para> 94 95 <para>Create two dummy groups and a dummy user:</para> 79 96 80 97 <screen><userinput>echo "dummy1:x:1000:" >> /etc/group … … 82 99 echo "dummy:x:1000:1000::/root:/bin/bash" >> /etc/passwd</userinput></screen> 83 100 84 <para>Now the test suite is ready to be run. First, run the tests that 85 are meant to be run as user <emphasis>root</emphasis>:</para>101 <para>Now the test suite is ready to be run. First, run the tests that are 102 meant to be run as user <systemitem class="username">root</systemitem>:</para> 86 103 87 104 <screen><userinput>make NON_ROOT_USERNAME=dummy check-root</userinput></screen> 88 105 89 <para>Then run the remainder of the tests as the90 <emphasis>dummy</emphasis> user:</para>106 <para>Then run the remainder of the tests as the 107 <systemitem class="username">dummy</systemitem> user:</para> 91 108 92 109 <screen><userinput>src/su dummy -c "make RUN_EXPENSIVE_TESTS=yes check"</userinput></screen> 93 110 94 <para>When testing is complete, remove the dummy user and 95 groups:</para> 111 <para>When testing is complete, remove the dummy user and groups:</para> 96 112 97 113 <screen><userinput>sed -i '/dummy/d' /etc/passwd /etc/group</userinput></screen> 98 114 99 <para>Install the package:</para>115 <para>Install the package:</para> 100 116 101 117 <screen><userinput>make install</userinput></screen> 102 118 103 <para>Move programs to the locations specified by the FHS:</para>119 <para>Move programs to the locations specified by the FHS:</para> 104 120 105 121 <screen><userinput>mv -v /usr/bin/{cat,chgrp,chmod,chown,cp,date,dd,df,echo} /bin … … 108 124 mv -v /usr/bin/chroot /usr/sbin</userinput></screen> 109 125 110 <para>Some of the scripts in the LFS-Bootscripts package depend on 111 <command>head</command> and <command>sleep</command>. As 112 <filename class="directory">/usr</filename> may not be available during the 113 early stages of booting, those binaries need to be on the root partition:</para> 126 <para>Some of the scripts in the LFS-Bootscripts package depend on 127 <command>head</command> and <command>sleep</command>. As 128 <filename class="directory">/usr</filename> may not be available during the 129 early stages of booting, those binaries need to be on the root 130 partition:</para> 114 131 115 132 <screen><userinput>mv -v /usr/bin/{head,sleep} /bin</userinput></screen> 116 133 117 </sect2> 118 119 120 <sect2 id="contents-coreutils" role="content"><title>Contents of Coreutils</title> 121 122 <segmentedlist> 123 <segtitle>Installed programs</segtitle> 124 <seglistitem><seg>basename, cat, chgrp, chmod, chown, chroot, cksum, 125 comm, cp, csplit, cut, date, dd, df, dir, dircolors, dirname, du, 126 echo, env, expand, expr, factor, false, fmt, fold, groups, head, 127 hostid, hostname, id, install, join, link, ln, logname, ls, md5sum, 128 mkdir, mkfifo, mknod, mv, nice, nl, nohup, od, paste, pathchk, pinky, 129 pr, printenv, printf, ptx, pwd, readlink, rm, rmdir, seq, sha1sum, 130 shred, sleep, sort, split, stat, stty, sum, sync, tac, tail, tee, 131 test, touch, tr, true, tsort, tty, uname, unexpand, uniq, unlink, 132 users, vdir, wc, who, whoami, and yes</seg></seglistitem> 133 </segmentedlist> 134 135 <variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead> 136 <?dbfo list-presentation="list"?> 137 <?dbhtml list-presentation="table"?> 138 139 <varlistentry id="basename"> 140 <term><command>basename</command></term> 141 <listitem> 142 <para>Strips any path and a given suffix from a file name</para> 143 <indexterm zone="ch-system-coreutils basename"><primary sortas="b-basename">basename</primary></indexterm> 144 </listitem> 145 </varlistentry> 146 147 <varlistentry id="cat"> 148 <term><command>cat</command></term> 149 <listitem> 150 <para>Concatenates files to standard output</para> 151 <indexterm zone="ch-system-coreutils cat"><primary sortas="b-cat">cat</primary></indexterm> 152 </listitem> 153 </varlistentry> 154 155 <varlistentry id="chgrp"> 156 <term><command>chgrp</command></term> 157 <listitem> 158 <para>Changes the group ownership of files and directories</para> 159 <indexterm zone="ch-system-coreutils chgrp"><primary sortas="b-chgrp">chgrp</primary></indexterm> 160 </listitem> 161 </varlistentry> 162 163 <varlistentry id="chmod"> 164 <term><command>chmod</command></term> 165 <listitem> 166 <para>Changes the permissions of each file to the given mode; the mode 167 can be either a symbolic representation of the changes to make or an 168 octal number representing the new permissions</para> 169 <indexterm zone="ch-system-coreutils chmod"><primary sortas="b-chmod">chmod</primary></indexterm> 170 </listitem> 171 </varlistentry> 172 173 <varlistentry id="chown"> 174 <term><command>chown</command></term> 175 <listitem> 176 <para>Changes the user and/or group ownership of files and directories</para> 177 <indexterm zone="ch-system-coreutils chown"><primary sortas="b-chown">chown</primary></indexterm> 178 </listitem> 179 </varlistentry> 180 181 <varlistentry id="chroot"> 182 <term><command>chroot</command></term> 183 <listitem> 184 <para>Runs a command with the specified directory as the 185 <filename class="directory">/</filename> directory</para> 186 <indexterm zone="ch-system-coreutils chroot"><primary sortas="b-chroot">chroot</primary></indexterm> 187 </listitem> 188 </varlistentry> 189 190 <varlistentry id="cksum"> 191 <term><command>cksum</command></term> 192 <listitem> 193 <para>Prints the Cyclic Redundancy Check (CRC) checksum and the byte 194 counts of each specified file</para> 195 <indexterm zone="ch-system-coreutils cksum"><primary sortas="b-cksum">cksum</primary></indexterm> 196 </listitem> 197 </varlistentry> 198 199 <varlistentry id="comm"> 200 <term><command>comm</command></term> 201 <listitem> 202 <para>Compares two sorted files, outputting in three columns the lines 203 that are unique and the lines that are common</para> 204 <indexterm zone="ch-system-coreutils comm"><primary sortas="b-comm">comm</primary></indexterm> 205 </listitem> 206 </varlistentry> 207 208 <varlistentry id="cp"> 209 <term><command>cp</command></term> 210 <listitem> 211 <para>Copies files</para> 212 <indexterm zone="ch-system-coreutils cp"><primary sortas="b-cp">cp</primary></indexterm> 213 </listitem> 214 </varlistentry> 215 216 <varlistentry id="csplit"> 217 <term><command>csplit</command></term> 218 <listitem> 219 <para>Splits a given file into several new files, separating them 220 according to given patterns or line numbers and outputting the byte 221 count of each new file</para> 222 <indexterm zone="ch-system-coreutils csplit"><primary sortas="b-csplit">csplit</primary></indexterm> 223 </listitem> 224 </varlistentry> 225 226 <varlistentry id="cut"> 227 <term><command>cut</command></term> 228 <listitem> 229 <para>Prints sections of lines, selecting the parts according to given 230 fields or positions</para> 231 <indexterm zone="ch-system-coreutils cut"><primary sortas="b-cut">cut</primary></indexterm> 232 </listitem> 233 </varlistentry> 234 235 <varlistentry id="date"> 236 <term><command>date</command></term> 237 <listitem> 238 <para>Displays the current time in the given format, or sets the 239 system date</para> 240 <indexterm zone="ch-system-coreutils date"><primary sortas="b-date">date</primary></indexterm> 241 </listitem> 242 </varlistentry> 243 244 <varlistentry id="dd"> 245 <term><command>dd</command> </term> 246 <listitem> 247 <para>Copies a file using the given block size and count, while 248 optionally performing conversions on it</para> 249 <indexterm zone="ch-system-coreutils dd"><primary sortas="b-dd">dd</primary></indexterm> 250 </listitem> 251 </varlistentry> 252 253 <varlistentry id="df"> 254 <term><command>df</command></term> 255 <listitem> 256 <para>Reports the amount of disk space available (and used) on all 257 mounted file systems, or only on the file systems holding the selected 258 files</para> 259 <indexterm zone="ch-system-coreutils df"><primary sortas="b-df">df</primary></indexterm> 260 </listitem> 261 </varlistentry> 262 263 <varlistentry id="dir"> 264 <term><command>dir</command></term> 265 <listitem> 266 <para>Lists the contents of each given directory (the same as 267 the <command>ls</command> command)</para> 268 <indexterm zone="ch-system-coreutils dir"><primary sortas="b-dir">dir</primary></indexterm> 269 </listitem> 270 </varlistentry> 271 272 <varlistentry id="dircolors"> 273 <term><command>dircolors</command></term> 274 <listitem> 275 <para>Outputs commands to set the <envar>LS_COLOR</envar> 276 environment variable to change the color scheme used by 277 <command>ls</command></para> 278 <indexterm zone="ch-system-coreutils dircolors"><primary sortas="b-dircolors">dircolors</primary></indexterm> 279 </listitem> 280 </varlistentry> 281 282 <varlistentry id="dirname"> 283 <term><command>dirname</command></term> 284 <listitem> 285 <para>Strips the non-directory suffix from a file name</para> 286 <indexterm zone="ch-system-coreutils dirname"><primary sortas="b-dirname">dirname</primary></indexterm> 287 </listitem> 288 </varlistentry> 289 290 <varlistentry id="du"> 291 <term><command>du</command></term> 292 <listitem> 293 <para>Reports the amount of disk space used by the current directory, 294 by each of the given directories (including all subdirectories) or by 295 each of the given files</para> 296 <indexterm zone="ch-system-coreutils du"><primary sortas="b-du">du</primary></indexterm> 297 </listitem> 298 </varlistentry> 299 300 <varlistentry id="echo"> 301 <term><command>echo</command></term> 302 <listitem> 303 <para>Displays the given strings</para> 304 <indexterm zone="ch-system-coreutils echo"><primary sortas="b-echo">echo</primary></indexterm> 305 </listitem> 306 </varlistentry> 307 308 <varlistentry id="env"> 309 <term><command>env</command></term> 310 <listitem> 311 <para>Runs a command in a modified environment</para> 312 <indexterm zone="ch-system-coreutils env"><primary sortas="b-env">env</primary></indexterm> 313 </listitem> 314 </varlistentry> 315 316 <varlistentry id="expand"> 317 <term><command>expand</command></term> 318 <listitem> 319 <para>Converts tabs to spaces</para> 320 <indexterm zone="ch-system-coreutils expand"><primary sortas="b-expand">expand</primary></indexterm> 321 </listitem> 322 </varlistentry> 323 324 <varlistentry id="expr"> 325 <term><command>expr</command></term> 326 <listitem> 327 <para>Evaluates expressions</para> 328 <indexterm zone="ch-system-coreutils expr"><primary sortas="b-expr">expr</primary></indexterm> 329 </listitem> 330 </varlistentry> 331 332 <varlistentry id="factor"> 333 <term><command>factor</command></term> 334 <listitem> 335 <para>Prints the prime factors of all specified integer numbers</para> 336 <indexterm zone="ch-system-coreutils factor"><primary sortas="b-factor">factor</primary></indexterm> 337 </listitem> 338 </varlistentry> 339 340 <varlistentry id="false"> 341 <term><command>false</command></term> 342 <listitem> 343 <para>Does nothing, unsuccessfully; it always exits with a status code 344 indicating failure</para> 345 <indexterm zone="ch-system-coreutils false"><primary sortas="b-false">false</primary></indexterm> 346 </listitem> 347 </varlistentry> 348 349 <varlistentry id="fmt"> 350 <term><command>fmt</command></term> 351 <listitem> 352 <para>Reformats the paragraphs in the given files</para> 353 <indexterm zone="ch-system-coreutils fmt"><primary sortas="b-fmt">fmt</primary></indexterm> 354 </listitem> 355 </varlistentry> 356 357 <varlistentry id="fold"> 358 <term><command>fold</command></term> 359 <listitem> 360 <para>Wraps the lines in the given files</para> 361 <indexterm zone="ch-system-coreutils fold"><primary sortas="b-fold">fold</primary></indexterm> 362 </listitem> 363 </varlistentry> 364 365 <varlistentry id="groups"> 366 <term><command>groups</command></term> 367 <listitem> 368 <para>Reports a user's group memberships</para> 369 <indexterm zone="ch-system-coreutils groups"><primary sortas="b-groups">groups</primary></indexterm> 370 </listitem> 371 </varlistentry> 372 373 <varlistentry id="head"> 374 <term><command>head</command></term> 375 <listitem> 376 <para>Prints the first ten lines (or the given number of lines) of each given file</para> 377 <indexterm zone="ch-system-coreutils head"><primary sortas="b-head">head</primary></indexterm> 378 </listitem> 379 </varlistentry> 380 381 <varlistentry id="hostid"> 382 <term><command>hostid</command></term> 383 <listitem> 384 <para>Reports the numeric identifier (in hexadecimal) of the host</para> 385 <indexterm zone="ch-system-coreutils hostid"><primary sortas="b-hostid">hostid</primary></indexterm> 386 </listitem> 387 </varlistentry> 388 389 <varlistentry id="hostname"> 390 <term><command>hostname</command></term> 391 <listitem> 392 <para>Reports or sets the name of the host</para> 393 <indexterm zone="ch-system-coreutils hostname"><primary sortas="b-hostname">hostname</primary></indexterm> 394 </listitem> 395 </varlistentry> 396 397 <varlistentry id="id"> 398 <term><command>id</command></term> 399 <listitem> 400 <para>Reports the effective user ID, group ID, and 401 group memberships of the current user or specified user</para> 402 <indexterm zone="ch-system-coreutils id"><primary sortas="b-id">id</primary></indexterm> 403 </listitem> 404 </varlistentry> 405 406 <varlistentry id="install"> 407 <term><command>install</command> </term> 408 <listitem> 409 <para>Copies files while setting their 410 permission modes and, if possible, their owner and group</para> 411 <indexterm zone="ch-system-coreutils install"><primary sortas="b-install">install</primary></indexterm> 412 </listitem> 413 </varlistentry> 414 415 <varlistentry id="join"> 416 <term><command>join</command></term> 417 <listitem> 418 <para>Joins the lines that have identical join fields from two 419 separate files</para> 420 <indexterm zone="ch-system-coreutils join"><primary sortas="b-join">join</primary></indexterm> 421 </listitem> 422 </varlistentry> 423 424 <varlistentry id="link"> 425 <term><command>link</command></term> 426 <listitem> 427 <para>Creates a hard link with the given name to a file</para> 428 <indexterm zone="ch-system-coreutils link"><primary sortas="b-link">link</primary></indexterm> 429 </listitem> 430 </varlistentry> 431 432 <varlistentry id="ln"> 433 <term><command>ln</command></term> 434 <listitem> 435 <para>Makes hard links or soft (symbolic) links between files</para> 436 <indexterm zone="ch-system-coreutils ln"><primary sortas="b-ln">ln</primary></indexterm> 437 </listitem> 438 </varlistentry> 439 440 <varlistentry id="logname"> 441 <term><command>logname</command></term> 442 <listitem> 443 <para>Reports the current user's login name</para> 444 <indexterm zone="ch-system-coreutils logname"><primary sortas="b-logname">logname</primary></indexterm> 445 </listitem> 446 </varlistentry> 447 448 <varlistentry id="ls"> 449 <term><command>ls</command></term> 450 <listitem> 451 <para>Lists the contents of each given directory</para> 452 <indexterm zone="ch-system-coreutils ls"><primary sortas="b-ls">ls</primary></indexterm> 453 </listitem> 454 </varlistentry> 455 456 <varlistentry id="md5sum"> 457 <term><command>md5sum</command></term> 458 <listitem> 459 <para>Reports or checks Message Digest 5 (MD5) checksums</para> 460 <indexterm zone="ch-system-coreutils md5sum"><primary sortas="b-md5sum">md5sum</primary></indexterm> 461 </listitem> 462 </varlistentry> 463 464 <varlistentry id="mkdir"> 465 <term><command>mkdir</command></term> 466 <listitem> 467 <para>Creates directories with the given names</para> 468 <indexterm zone="ch-system-coreutils mkdir"><primary sortas="b-mkdir">mkdir</primary></indexterm> 469 </listitem> 470 </varlistentry> 471 472 <varlistentry id="mkfifo"> 473 <term><command>mkfifo</command></term> 474 <listitem> 475 <para>Creates First-In, First-Outs (FIFOs), a <quote>named 476 pipe</quote> in UNIX parlance, with the given names</para> 477 <indexterm zone="ch-system-coreutils mkfifo"><primary sortas="b-mkfifo">mkfifo</primary></indexterm> 478 </listitem> 479 </varlistentry> 480 481 <varlistentry id="mknod"> 482 <term><command>mknod</command></term> 483 <listitem> 484 <para>Creates device nodes with the given names; a device node is a 485 character special file, a block special file, or a FIFO</para> 486 <indexterm zone="ch-system-coreutils mknod"><primary sortas="b-mknod">mknod</primary></indexterm> 487 </listitem> 488 </varlistentry> 489 490 <varlistentry id="mv"> 491 <term><command>mv</command></term> 492 <listitem> 493 <para>Moves or renames files or directories</para> 494 <indexterm zone="ch-system-coreutils mv"><primary sortas="b-mv">mv</primary></indexterm> 495 </listitem> 496 </varlistentry> 497 498 <varlistentry id="nice"> 499 <term><command>nice</command></term> 500 <listitem> 501 <para>Runs a program with modified scheduling priority</para> 502 <indexterm zone="ch-system-coreutils nice"><primary sortas="b-nice">nice</primary></indexterm> 503 </listitem> 504 </varlistentry> 505 506 <varlistentry id="nl"> 507 <term><command>nl</command></term> 508 <listitem> 509 <para>Numbers the lines from the given files</para> 510 <indexterm zone="ch-system-coreutils nl"><primary sortas="b-nl">nl</primary></indexterm> 511 </listitem> 512 </varlistentry> 513 514 <varlistentry id="nohup"> 515 <term><command>nohup</command></term> 516 <listitem> 517 <para>Runs a command immune to hangups, with its output redirected to 518 a log file</para> 519 <indexterm zone="ch-system-coreutils nohup"><primary sortas="b-nohup">nohup</primary></indexterm> 520 </listitem> 521 </varlistentry> 522 523 <varlistentry id="od"> 524 <term><command>od</command></term> 525 <listitem> 526 <para>Dumps files in octal and other formats</para> 527 <indexterm zone="ch-system-coreutils od"><primary sortas="b-od">od</primary></indexterm> 528 </listitem> 529 </varlistentry> 530 531 <varlistentry id="paste"> 532 <term><command>paste</command></term> 533 <listitem> 534 <para>Merges the given files, joining sequentially corresponding lines 535 side by side, separated by tab characters</para> 536 <indexterm zone="ch-system-coreutils paste"><primary sortas="b-paste">paste</primary></indexterm> 537 </listitem> 538 </varlistentry> 539 540 <varlistentry id="pathchk"> 541 <term><command>pathchk</command></term> 542 <listitem> 543 <para>Checks if file names are valid or portable</para> 544 <indexterm zone="ch-system-coreutils pathchk"><primary sortas="b-pathchk">pathchk</primary></indexterm> 545 </listitem> 546 </varlistentry> 547 548 <varlistentry id="pinky"> 549 <term><command>pinky</command></term> 550 <listitem> 551 <para>Is a lightweight finger client; it reports some information about the given users</para> 552 <indexterm zone="ch-system-coreutils pinky"><primary sortas="b-pinky">pinky</primary></indexterm> 553 </listitem> 554 </varlistentry> 555 556 <varlistentry id="pr"> 557 <term><command>pr</command></term> 558 <listitem> 559 <para>Paginates and columnates files for printing</para> 560 <indexterm zone="ch-system-coreutils pr"><primary sortas="b-pr">pr</primary></indexterm> 561 </listitem> 562 </varlistentry> 563 564 <varlistentry id="printenv"> 565 <term><command>printenv</command></term> 566 <listitem> 567 <para>Prints the environment</para> 568 <indexterm zone="ch-system-coreutils printenv"><primary sortas="b-printenv">printenv</primary></indexterm> 569 </listitem> 570 </varlistentry> 571 572 <varlistentry id="printf"> 573 <term><command>printf</command></term> 574 <listitem> 575 <para>Prints the given arguments according to the given format, much 576 like the C printf function</para> 577 <indexterm zone="ch-system-coreutils printf"><primary sortas="b-printf">printf</primary></indexterm> 578 </listitem> 579 </varlistentry> 580 581 <varlistentry id="ptx"> 582 <term><command>ptx</command></term> 583 <listitem> 584 <para>Produces a permuted index from the contents of the given files, 585 with each keyword in its context</para> 586 <indexterm zone="ch-system-coreutils ptx"><primary sortas="b-ptx">ptx</primary></indexterm> 587 </listitem> 588 </varlistentry> 589 590 <varlistentry id="pwd"> 591 <term><command>pwd</command></term> 592 <listitem> 593 <para>Reports the name of the current working directory</para> 594 <indexterm zone="ch-system-coreutils pwd"><primary sortas="b-pwd">pwd</primary></indexterm> 595 </listitem> 596 </varlistentry> 597 598 <varlistentry id="readlink"> 599 <term><command>readlink</command></term> 600 <listitem> 601 <para>Reports the value of the given symbolic link</para> 602 <indexterm zone="ch-system-coreutils readlink"><primary sortas="b-readlink">readlink</primary></indexterm> 603 </listitem> 604 </varlistentry> 605 606 <varlistentry id="rm"> 607 <term><command>rm</command></term> 608 <listitem> 609 <para>Removes files or directories</para> 610 <indexterm zone="ch-system-coreutils rm"><primary sortas="b-rm">rm</primary></indexterm> 611 </listitem> 612 </varlistentry> 613 614 <varlistentry id="rmdir"> 615 <term><command>rmdir</command></term> 616 <listitem> 617 <para>Removes directories if they are empty</para> 618 <indexterm zone="ch-system-coreutils rmdir"><primary sortas="b-rmdir">rmdir</primary></indexterm> 619 </listitem> 620 </varlistentry> 621 622 <varlistentry id="seq"> 623 <term><command>seq</command></term> 624 <listitem> 625 <para>Prints a sequence of numbers within a given range and with a 626 given increment</para> 627 <indexterm zone="ch-system-coreutils seq"><primary sortas="b-seq">seq</primary></indexterm> 628 </listitem> 629 </varlistentry> 630 631 <varlistentry id="sha1sum"> 632 <term><command>sha1sum</command></term> 633 <listitem> 634 <para>Prints or checks 160-bit Secure Hash Algorithm 1 (SHA1) checksums</para> 635 <indexterm zone="ch-system-coreutils sha1sum"><primary sortas="b-sha1sum">sha1sum</primary></indexterm> 636 </listitem> 637 </varlistentry> 638 639 <varlistentry id="shred"> 640 <term><command>shred</command></term> 641 <listitem> 642 <para>Overwrites the given files repeatedly with complex patterns, 643 making it difficult to recover the data</para> 644 <indexterm zone="ch-system-coreutils shred"><primary sortas="b-shred">shred</primary></indexterm> 645 </listitem> 646 </varlistentry> 647 648 <varlistentry id="sleep"> 649 <term><command>sleep</command></term> 650 <listitem> 651 <para>Pauses for the given amount of time</para> 652 <indexterm zone="ch-system-coreutils sleep"><primary sortas="b-sleep">sleep</primary></indexterm> 653 </listitem> 654 </varlistentry> 655 656 <varlistentry id="sort"> 657 <term><command>sort</command></term> 658 <listitem> 659 <para>Sorts the lines from the given files</para> 660 <indexterm zone="ch-system-coreutils sort"><primary sortas="b-sort">sort</primary></indexterm> 661 </listitem> 662 </varlistentry> 663 664 <varlistentry id="split"> 665 <term><command>split</command></term> 666 <listitem> 667 <para>Splits the given file into pieces, by size or by number of lines</para> 668 <indexterm zone="ch-system-coreutils split"><primary sortas="b-split">split</primary></indexterm> 669 </listitem> 670 </varlistentry> 671 672 <varlistentry id="stat"> 673 <term><command>stat</command></term> 674 <listitem> 675 <para>Displays file or filesystem status</para> 676 <indexterm zone="ch-system-coreutils stat"><primary sortas="b-stat">stat</primary></indexterm> 677 </listitem> 678 </varlistentry> 679 680 <varlistentry id="stty"> 681 <term><command>stty</command></term> 682 <listitem> 683 <para>Sets or reports terminal line settings</para> 684 <indexterm zone="ch-system-coreutils stty"><primary sortas="b-stty">stty</primary></indexterm> 685 </listitem> 686 </varlistentry> 687 688 <varlistentry id="sum"> 689 <term><command>sum</command></term> 690 <listitem> 691 <para>Prints checksum and block counts for each given file</para> 692 <indexterm zone="ch-system-coreutils sum"><primary sortas="b-sum">sum</primary></indexterm> 693 </listitem> 694 </varlistentry> 695 696 <varlistentry id="sync"> 697 <term><command>sync</command></term> 698 <listitem> 699 <para>Flushes file system buffers; it forces changed blocks to disk 700 and updates the super block</para> 701 <indexterm zone="ch-system-coreutils sync"><primary sortas="b-sync">sync</primary></indexterm> 702 </listitem> 703 </varlistentry> 704 705 <varlistentry id="tac"> 706 <term><command>tac</command></term> 707 <listitem> 708 <para>Concatenates the given files in reverse</para> 709 <indexterm zone="ch-system-coreutils tac"><primary sortas="b-tac">tac</primary></indexterm> 710 </listitem> 711 </varlistentry> 712 713 <varlistentry id="tail"> 714 <term><command>tail</command></term> 715 <listitem> 716 <para>Prints the last ten lines (or the given number of lines) of each 717 given file</para> 718 <indexterm zone="ch-system-coreutils tail"><primary sortas="b-tail">tail</primary></indexterm> 719 </listitem> 720 </varlistentry> 721 722 <varlistentry id="tee"> 723 <term><command>tee</command></term> 724 <listitem> 725 <para>Reads from standard input while writing both to standard output 726 and to the given files</para> 727 <indexterm zone="ch-system-coreutils tee"><primary sortas="b-tee">tee</primary></indexterm> 728 </listitem> 729 </varlistentry> 730 731 <varlistentry id="test"> 732 <term><command>test</command></term> 733 <listitem> 734 <para>Compares values and checks file types</para> 735 <indexterm zone="ch-system-coreutils test"><primary sortas="b-test">test</primary></indexterm> 736 </listitem> 737 </varlistentry> 738 739 <varlistentry id="touch"> 740 <term><command>touch</command></term> 741 <listitem> 742 <para>Changes file timestamps, setting the access and modification 743 times of the given files to the current time; files that do not exist 744 are created with zero length</para> 745 <indexterm zone="ch-system-coreutils touch"><primary sortas="b-touch">touch</primary></indexterm> 746 </listitem> 747 </varlistentry> 748 749 <varlistentry id="tr"> 750 <term><command>tr</command></term> 751 <listitem> 752 <para>Translates, squeezes, and deletes the given characters from 753 standard input</para> 754 <indexterm zone="ch-system-coreutils tr"><primary sortas="b-tr">tr</primary></indexterm> 755 </listitem> 756 </varlistentry> 757 758 <varlistentry id="true"> 759 <term><command>true</command></term> 760 <listitem> 761 <para>Does nothing, successfully; it always exits with a status code 762 indicating success</para> 763 <indexterm zone="ch-system-coreutils true"><primary sortas="b-true">true</primary></indexterm> 764 </listitem> 765 </varlistentry> 766 767 <varlistentry id="tsort"> 768 <term><command>tsort</command></term> 769 <listitem> 770 <para>Performs a topological sort; it writes a completely ordered list 771 according to the partial ordering in a given file</para> 772 <indexterm zone="ch-system-coreutils tsort"><primary sortas="b-tsort">tsort</primary></indexterm> 773 </listitem> 774 </varlistentry> 775 776 <varlistentry id="tty"> 777 <term><command>tty</command></term> 778 <listitem> 779 <para>Reports the file name of the terminal connected to standard 780 input</para> 781 <indexterm zone="ch-system-coreutils tty"><primary sortas="b-tty">tty</primary></indexterm> 782 </listitem> 783 </varlistentry> 784 785 <varlistentry id="uname"> 786 <term><command>uname</command></term> 787 <listitem> 788 <para>Reports system information</para> 789 <indexterm zone="ch-system-coreutils uname"><primary sortas="b-uname">uname</primary></indexterm> 790 </listitem> 791 </varlistentry> 792 793 <varlistentry id="unexpand"> 794 <term><command>unexpand</command></term> 795 <listitem> 796 <para>Converts spaces to tabs</para> 797 <indexterm zone="ch-system-coreutils unexpand"><primary sortas="b-unexpand">unexpand</primary></indexterm> 798 </listitem> 799 </varlistentry> 800 801 <varlistentry id="uniq"> 802 <term><command>uniq</command></term> 803 <listitem> 804 <para>Discards all but one of successive identical lines</para> 805 <indexterm zone="ch-system-coreutils uniq"><primary sortas="b-uniq">uniq</primary></indexterm> 806 </listitem> 807 </varlistentry> 808 809 <varlistentry id="unlink"> 810 <term><command>unlink</command></term> 811 <listitem> 812 <para>Removes the given file</para> 813 <indexterm zone="ch-system-coreutils unlink"><primary sortas="b-unlink">unlink</primary></indexterm> 814 </listitem> 815 </varlistentry> 816 817 <varlistentry id="users"> 818 <term><command>users</command></term> 819 <listitem> 820 <para>Reports the names of the users currently logged on</para> 821 <indexterm zone="ch-system-coreutils users"><primary sortas="b-users">users</primary></indexterm> 822 </listitem> 823 </varlistentry> 824 825 <varlistentry id="vdir"> 826 <term><command>vdir</command></term> 827 <listitem> 828 <para>Is the same as <command>ls -l</command></para> 829 <indexterm zone="ch-system-coreutils vdir"><primary sortas="b-vdir">vdir</primary></indexterm> 830 </listitem> 831 </varlistentry> 832 833 <varlistentry id="wc"> 834 <term><command>wc</command></term> 835 <listitem> 836 <para>Reports the number of lines, words, and bytes for each given 837 file, as well as a total line when more than one file is given</para> 838 <indexterm zone="ch-system-coreutils wc"><primary sortas="b-wc">wc</primary></indexterm> 839 </listitem> 840 </varlistentry> 841 842 <varlistentry id="who"> 843 <term><command>who</command></term> 844 <listitem> 845 <para>Reports who is logged on</para> 846 <indexterm zone="ch-system-coreutils who"><primary sortas="b-who">who</primary></indexterm> 847 </listitem> 848 </varlistentry> 849 850 <varlistentry id="whoami"> 851 <term><command>whoami</command></term> 852 <listitem> 853 <para>Reports the user name associated with the current effective user ID</para> 854 <indexterm zone="ch-system-coreutils whoami"><primary sortas="b-whoami">whoami</primary></indexterm> 855 </listitem> 856 </varlistentry> 857 858 <varlistentry id="yes"> 859 <term><command>yes</command></term> 860 <listitem> 861 <para>Repeatedly outputs <quote>y</quote> or a given string until 862 killed</para> 863 <indexterm zone="ch-system-coreutils yes"><primary sortas="b-yes">yes</primary></indexterm> 864 </listitem> 865 </varlistentry> 866 </variablelist> 867 868 </sect2> 134 </sect2> 135 136 137 <sect2 id="contents-coreutils" role="content"> 138 <title>Contents of Coreutils</title> 139 140 <segmentedlist> 141 <segtitle>Installed programs</segtitle> 142 143 <seglistitem> 144 <seg>basename, cat, chgrp, chmod, chown, chroot, cksum, comm, cp, 145 csplit, cut, date, dd, df, dir, dircolors, dirname, du, echo, env, 146 expand, expr, factor, false, fmt, fold, groups, head, hostid, 147 hostname, id, install, join, link, ln, logname, ls, md5sum, mkdir, 148 mkfifo, mknod, mv, nice, nl, nohup, od, paste, pathchk, pinky, pr, 149 printenv, printf, ptx, pwd, readlink, rm, rmdir, seq, sha1sum, shred, 150 sleep, sort, split, stat, stty, sum, sync, tac, tail, tee, test, 151 touch, tr, true, tsort, tty, uname, unexpand, uniq, unlink, users, 152 vdir, wc, who, whoami, and yes</seg> 153 </seglistitem> 154 </segmentedlist> 155 156 <variablelist> 157 <bridgehead renderas="sect3">Short Descriptions</bridgehead> 158 <?dbfo list-presentation="list"?> 159 <?dbhtml list-presentation="table"?> 160 161 <varlistentry id="basename"> 162 <term><command>basename</command></term> 163 <listitem> 164 <para>Strips any path and a given suffix from a file name</para> 165 <indexterm zone="ch-system-coreutils basename"> 166 <primary sortas="b-basename">basename</primary> 167 </indexterm> 168 </listitem> 169 </varlistentry> 170 171 <varlistentry id="cat"> 172 <term><command>cat</command></term> 173 <listitem> 174 <para>Concatenates files to standard output</para> 175 <indexterm zone="ch-system-coreutils cat"> 176 <primary sortas="b-cat">cat</primary> 177 </indexterm> 178 </listitem> 179 </varlistentry> 180 181 <varlistentry id="chgrp"> 182 <term><command>chgrp</command></term> 183 <listitem> 184 <para>Changes the group ownership of files and directories</para> 185 <indexterm zone="ch-system-coreutils chgrp"> 186 <primary sortas="b-chgrp">chgrp</primary> 187 </indexterm> 188 </listitem> 189 </varlistentry> 190 191 <varlistentry id="chmod"> 192 <term><command>chmod</command></term> 193 <listitem> 194 <para>Changes the permissions of each file to the given mode; the mode 195 can be either a symbolic representation of the changes to make or an 196 octal number representing the new permissions</para> 197 <indexterm zone="ch-system-coreutils chmod"> 198 <primary sortas="b-chmod">chmod</primary> 199 </indexterm> 200 </listitem> 201 </varlistentry> 202 203 <varlistentry id="chown"> 204 <term><command>chown</command></term> 205 <listitem> 206 <para>Changes the user and/or group ownership of files and 207 directories</para> 208 <indexterm zone="ch-system-coreutils chown"> 209 <primary sortas="b-chown">chown</primary> 210 </indexterm> 211 </listitem> 212 </varlistentry> 213 214 <varlistentry id="chroot"> 215 <term><command>chroot</command></term> 216 <listitem> 217 <para>Runs a command with the specified directory as the 218 <filename class="directory">/</filename> directory</para> 219 <indexterm zone="ch-system-coreutils chroot"> 220 <primary sortas="b-chroot">chroot</primary> 221 </indexterm> 222 </listitem> 223 </varlistentry> 224 225 <varlistentry id="cksum"> 226 <term><command>cksum</command></term> 227 <listitem> 228 <para>Prints the Cyclic Redundancy Check (CRC) checksum and the byte 229 counts of each specified file</para> 230 <indexterm zone="ch-system-coreutils cksum"> 231 <primary sortas="b-cksum">cksum</primary> 232 </indexterm> 233 </listitem> 234 </varlistentry> 235 236 <varlistentry id="comm"> 237 <term><command>comm</command></term> 238 <listitem> 239 <para>Compares two sorted files, outputting in three columns the lines 240 that are unique and the lines that are common</para> 241 <indexterm zone="ch-system-coreutils comm"> 242 <primary sortas="b-comm">comm</primary> 243 </indexterm> 244 </listitem> 245 </varlistentry> 246 247 <varlistentry id="cp"> 248 <term><command>cp</command></term> 249 <listitem> 250 <para>Copies files</para> 251 <indexterm zone="ch-system-coreutils cp"> 252 <primary sortas="b-cp">cp</primary> 253 </indexterm> 254 </listitem> 255 </varlistentry> 256 257 <varlistentry id="csplit"> 258 <term><command>csplit</command></term> 259 <listitem> 260 <para>Splits a given file into several new files, separating them 261 according to given patterns or line numbers and outputting the byte 262 count of each new file</para> 263 <indexterm zone="ch-system-coreutils csplit"> 264 <primary sortas="b-csplit">csplit</primary> 265 </indexterm> 266 </listitem> 267 </varlistentry> 268 269 <varlistentry id="cut"> 270 <term><command>cut</command></term> 271 <listitem> 272 <para>Prints sections of lines, selecting the parts according to given 273 fields or positions</para> 274 <indexterm zone="ch-system-coreutils cut"> 275 <primary sortas="b-cut">cut</primary> 276 </indexterm> 277 </listitem> 278 </varlistentry> 279 280 <varlistentry id="date"> 281 <term><command>date</command></term> 282 <listitem> 283 <para>Displays the current time in the given format, or sets the 284 system date</para> 285 <indexterm zone="ch-system-coreutils date"> 286 <primary sortas="b-date">date</primary> 287 </indexterm> 288 </listitem> 289 </varlistentry> 290 291 <varlistentry id="dd"> 292 <term><command>dd</command> </term> 293 <listitem> 294 <para>Copies a file using the given block size and count, while 295 optionally performing conversions on it</para> 296 <indexterm zone="ch-system-coreutils dd"> 297 <primary sortas="b-dd">dd</primary> 298 </indexterm> 299 </listitem> 300 </varlistentry> 301 302 <varlistentry id="df"> 303 <term><command>df</command></term> 304 <listitem> 305 <para>Reports the amount of disk space available (and used) on all 306 mounted file systems, or only on the file systems holding the selected 307 files</para> 308 <indexterm zone="ch-system-coreutils df"> 309 <primary sortas="b-df">df</primary> 310 </indexterm> 311 </listitem> 312 </varlistentry> 313 314 <varlistentry id="dir"> 315 <term><command>dir</command></term> 316 <listitem> 317 <para>Lists the contents of each given directory (the same as 318 the <command>ls</command> command)</para> 319 <indexterm zone="ch-system-coreutils dir"> 320 <primary sortas="b-dir">dir</primary> 321 </indexterm> 322 </listitem> 323 </varlistentry> 324 325 <varlistentry id="dircolors"> 326 <term><command>dircolors</command></term> 327 <listitem> 328 <para>Outputs commands to set the <envar>LS_COLOR</envar> 329 environment variable to change the color scheme used by 330 <command>ls</command></para> 331 <indexterm zone="ch-system-coreutils dircolors"> 332 <primary sortas="b-dircolors">dircolors</primary> 333 </indexterm> 334 </listitem> 335 </varlistentry> 336 337 <varlistentry id="dirname"> 338 <term><command>dirname</command></term> 339 <listitem> 340 <para>Strips the non-directory suffix from a file name</para> 341 <indexterm zone="ch-system-coreutils dirname"> 342 <primary sortas="b-dirname">dirname</primary> 343 </indexterm> 344 </listitem> 345 </varlistentry> 346 347 <varlistentry id="du"> 348 <term><command>du</command></term> 349 <listitem> 350 <para>Reports the amount of disk space used by the current directory, 351 by each of the given directories (including all subdirectories) or by 352 each of the given files</para> 353 <indexterm zone="ch-system-coreutils du"> 354 <primary sortas="b-du">du</primary> 355 </indexterm> 356 </listitem> 357 </varlistentry> 358 359 <varlistentry id="echo"> 360 <term><command>echo</command></term> 361 <listitem> 362 <para>Displays the given strings</para> 363 <indexterm zone="ch-system-coreutils echo"> 364 <primary sortas="b-echo">echo</primary> 365 </indexterm> 366 </listitem> 367 </varlistentry> 368 369 <varlistentry id="env"> 370 <term><command>env</command></term> 371 <listitem> 372 <para>Runs a command in a modified environment</para> 373 <indexterm zone="ch-system-coreutils env"> 374 <primary sortas="b-env">env</primary> 375 </indexterm> 376 </listitem> 377 </varlistentry> 378 379 <varlistentry id="expand"> 380 <term><command>expand</command></term> 381 <listitem> 382 <para>Converts tabs to spaces</para> 383 <indexterm zone="ch-system-coreutils expand"> 384 <primary sortas="b-expand">expand</primary> 385 </indexterm> 386 </listitem> 387 </varlistentry> 388 389 <varlistentry id="expr"> 390 <term><command>expr</command></term> 391 <listitem> 392 <para>Evaluates expressions</para> 393 <indexterm zone="ch-system-coreutils expr"> 394 <primary sortas="b-expr">expr</primary> 395 </indexterm> 396 </listitem> 397 </varlistentry> 398 399 <varlistentry id="factor"> 400 <term><command>factor</command></term> 401 <listitem> 402 <para>Prints the prime factors of all specified integer numbers</para> 403 <indexterm zone="ch-system-coreutils factor"> 404 <primary sortas="b-factor">factor</primary> 405 </indexterm> 406 </listitem> 407 </varlistentry> 408 409 <varlistentry id="false"> 410 <term><command>false</command></term> 411 <listitem> 412 <para>Does nothing, unsuccessfully; it always exits with a status code 413 indicating failure</para> 414 <indexterm zone="ch-system-coreutils false"> 415 <primary sortas="b-false">false</primary> 416 </indexterm> 417 </listitem> 418 </varlistentry> 419 420 <varlistentry id="fmt"> 421 <term><command>fmt</command></term> 422 <listitem> 423 <para>Reformats the paragraphs in the given files</para> 424 <indexterm zone="ch-system-coreutils fmt"> 425 <primary sortas="b-fmt">fmt</primary> 426 </indexterm> 427 </listitem> 428 </varlistentry> 429 430 <varlistentry id="fold"> 431 <term><command>fold</command></term> 432 <listitem> 433 <para>Wraps the lines in the given files</para> 434 <indexterm zone="ch-system-coreutils fold"> 435 <primary sortas="b-fold">fold</primary> 436 </indexterm> 437 </listitem> 438 </varlistentry> 439 440 <varlistentry id="groups"> 441 <term><command>groups</command></term> 442 <listitem> 443 <para>Reports a user's group memberships</para> 444 <indexterm zone="ch-system-coreutils groups"> 445 <primary sortas="b-groups">groups</primary> 446 </indexterm> 447 </listitem> 448 </varlistentry> 449 450 <varlistentry id="head"> 451 <term><command>head</command></term> 452 <listitem> 453 <para>Prints the first ten lines (or the given number of lines) 454 of each given file</para> 455 <indexterm zone="ch-system-coreutils head"> 456 <primary sortas="b-head">head</primary> 457 </indexterm> 458 </listitem> 459 </varlistentry> 460 461 <varlistentry id="hostid"> 462 <term><command>hostid</command></term> 463 <listitem> 464 <para>Reports the numeric identifier (in hexadecimal) of the host</para> 465 <indexterm zone="ch-system-coreutils hostid"> 466 <primary sortas="b-hostid">hostid</primary> 467 </indexterm> 468 </listitem> 469 </varlistentry> 470 471 <varlistentry id="hostname"> 472 <term><command>hostname</command></term> 473 <listitem> 474 <para>Reports or sets the name of the host</para> 475 <indexterm zone="ch-system-coreutils hostname"> 476 <primary sortas="b-hostname">hostname</primary> 477 </indexterm> 478 </listitem> 479 </varlistentry> 480 481 <varlistentry id="id"> 482 <term><command>id</command></term> 483 <listitem> 484 <para>Reports the effective user ID, group ID, and group memberships 485 of the current user or specified user</para> 486 <indexterm zone="ch-system-coreutils id"> 487 <primary sortas="b-id">id</primary> 488 </indexterm> 489 </listitem> 490 </varlistentry> 491 492 <varlistentry id="install"> 493 <term><command>install</command> </term> 494 <listitem> 495 <para>Copies files while setting their permission modes and, if 496 possible, their owner and group</para> 497 <indexterm zone="ch-system-coreutils install"> 498 <primary sortas="b-install">install</primary> 499 </indexterm> 500 </listitem> 501 </varlistentry> 502 503 <varlistentry id="join"> 504 <term><command>join</command></term> 505 <listitem> 506 <para>Joins the lines that have identical join fields from two 507 separate files</para> 508 <indexterm zone="ch-system-coreutils join"> 509 <primary sortas="b-join">join</primary> 510 </indexterm> 511 </listitem> 512 </varlistentry> 513 514 <varlistentry id="link"> 515 <term><command>link</command></term> 516 <listitem> 517 <para>Creates a hard link with the given name to a file</para> 518 <indexterm zone="ch-system-coreutils link"> 519 <primary sortas="b-link">link</primary> 520 </indexterm> 521 </listitem> 522 </varlistentry> 523 524 <varlistentry id="ln"> 525 <term><command>ln</command></term> 526 <listitem> 527 <para>Makes hard links or soft (symbolic) links between files</para> 528 <indexterm zone="ch-system-coreutils ln"> 529 <primary sortas="b-ln">ln</primary> 530 </indexterm> 531 </listitem> 532 </varlistentry> 533 534 <varlistentry id="logname"> 535 <term><command>logname</command></term> 536 <listitem> 537 <para>Reports the current user's login name</para> 538 <indexterm zone="ch-system-coreutils logname"> 539 <primary sortas="b-logname">logname</primary> 540 </indexterm> 541 </listitem> 542 </varlistentry> 543 544 <varlistentry id="ls"> 545 <term><command>ls</command></term> 546 <listitem> 547 <para>Lists the contents of each given directory</para> 548 <indexterm zone="ch-system-coreutils ls"> 549 <primary sortas="b-ls">ls</primary> 550 </indexterm> 551 </listitem> 552 </varlistentry> 553 554 <varlistentry id="md5sum"> 555 <term><command>md5sum</command></term> 556 <listitem> 557 <para>Reports or checks Message Digest 5 (MD5) checksums</para> 558 <indexterm zone="ch-system-coreutils md5sum"> 559 <primary sortas="b-md5sum">md5sum</primary> 560 </indexterm> 561 </listitem> 562 </varlistentry> 563 564 <varlistentry id="mkdir"> 565 <term><command>mkdir</command></term> 566 <listitem> 567 <para>Creates directories with the given names</para> 568 <indexterm zone="ch-system-coreutils mkdir"> 569 <primary sortas="b-mkdir">mkdir</primary> 570 </indexterm> 571 </listitem> 572 </varlistentry> 573 574 <varlistentry id="mkfifo"> 575 <term><command>mkfifo</command></term> 576 <listitem> 577 <para>Creates First-In, First-Outs (FIFOs), a <quote>named 578 pipe</quote> in UNIX parlance, with the given names</para> 579 <indexterm zone="ch-system-coreutils mkfifo"> 580 <primary sortas="b-mkfifo">mkfifo</primary> 581 </indexterm> 582 </listitem> 583 </varlistentry> 584 585 <varlistentry id="mknod"> 586 <term><command>mknod</command></term> 587 <listitem> 588 <para>Creates device nodes with the given names; a device node is a 589 character special file, a block special file, or a FIFO</para> 590 <indexterm zone="ch-system-coreutils mknod"> 591 <primary sortas="b-mknod">mknod</primary> 592 </indexterm> 593 </listitem> 594 </varlistentry> 595 596 <varlistentry id="mv"> 597 <term><command>mv</command></term> 598 <listitem> 599 <para>Moves or renames files or directories</para> 600 <indexterm zone="ch-system-coreutils mv"> 601 <primary sortas="b-mv">mv</primary> 602 </indexterm> 603 </listitem> 604 </varlistentry> 605 606 <varlistentry id="nice"> 607 <term><command>nice</command></term> 608 <listitem> 609 <para>Runs a program with modified scheduling priority</para> 610 <indexterm zone="ch-system-coreutils nice"> 611 <primary sortas="b-nice">nice</primary> 612 </indexterm> 613 </listitem> 614 </varlistentry> 615 616 <varlistentry id="nl"> 617 <term><command>nl</command></term> 618 <listitem> 619 <para>Numbers the lines from the given files</para> 620 <indexterm zone="ch-system-coreutils nl"> 621 <primary sortas="b-nl">nl</primary> 622 </indexterm> 623 </listitem> 624 </varlistentry> 625 626 <varlistentry id="nohup"> 627 <term><command>nohup</command></term> 628 <listitem> 629 <para>Runs a command immune to hangups, with its output redirected to 630 a log file</para> 631 <indexterm zone="ch-system-coreutils nohup"> 632 <primary sortas="b-nohup">nohup</primary> 633 </indexterm> 634 </listitem> 635 </varlistentry> 636 637 <varlistentry id="od"> 638 <term><command>od</command></term> 639 <listitem> 640 <para>Dumps files in octal and other formats</para> 641 <indexterm zone="ch-system-coreutils od"> 642 <primary sortas="b-od">od</primary> 643 </indexterm> 644 </listitem> 645 </varlistentry> 646 647 <varlistentry id="paste"> 648 <term><command>paste</command></term> 649 <listitem> 650 <para>Merges the given files, joining sequentially corresponding lines 651 side by side, separated by tab characters</para> 652 <indexterm zone="ch-system-coreutils paste"> 653 <primary sortas="b-paste">paste</primary> 654 </indexterm> 655 </listitem> 656 </varlistentry> 657 658 <varlistentry id="pathchk"> 659 <term><command>pathchk</command></term> 660 <listitem> 661 <para>Checks if file names are valid or portable</para> 662 <indexterm zone="ch-system-coreutils pathchk"> 663 <primary sortas="b-pathchk">pathchk</primary> 664 </indexterm> 665 </listitem> 666 </varlistentry> 667 668 <varlistentry id="pinky"> 669 <term><command>pinky</command></term> 670 <listitem> 671 <para>Is a lightweight finger client; it reports some information 672 about the given users</para> 673 <indexterm zone="ch-system-coreutils pinky"> 674 <primary sortas="b-pinky">pinky</primary> 675 </indexterm> 676 </listitem> 677 </varlistentry> 678 679 <varlistentry id="pr"> 680 <term><command>pr</command></term> 681 <listitem> 682 <para>Paginates and columnates files for printing</para> 683 <indexterm zone="ch-system-coreutils pr"> 684 <primary sortas="b-pr">pr</primary> 685 </indexterm> 686 </listitem> 687 </varlistentry> 688 689 <varlistentry id="printenv"> 690 <term><command>printenv</command></term> 691 <listitem> 692 <para>Prints the environment</para> 693 <indexterm zone="ch-system-coreutils printenv"> 694 <primary sortas="b-printenv">printenv</primary> 695 </indexterm> 696 </listitem> 697 </varlistentry> 698 699 <varlistentry id="printf"> 700 <term><command>printf</command></term> 701 <listitem> 702 <para>Prints the given arguments according to the given format, much 703 like the C printf function</para> 704 <indexterm zone="ch-system-coreutils printf"> 705 <primary sortas="b-printf">printf</primary> 706 </indexterm> 707 </listitem> 708 </varlistentry> 709 710 <varlistentry id="ptx"> 711 <term><command>ptx</command></term> 712 <listitem> 713 <para>Produces a permuted index from the contents of the given files, 714 with each keyword in its context</para> 715 <indexterm zone="ch-system-coreutils ptx"> 716 <primary sortas="b-ptx">ptx</primary> 717 </indexterm> 718 </listitem> 719 </varlistentry> 720 721 <varlistentry id="pwd"> 722 <term><command>pwd</command></term> 723 <listitem> 724 <para>Reports the name of the current working directory</para> 725 <indexterm zone="ch-system-coreutils pwd"> 726 <primary sortas="b-pwd">pwd</primary> 727 </indexterm> 728 </listitem> 729 </varlistentry> 730 731 <varlistentry id="readlink"> 732 <term><command>readlink</command></term> 733 <listitem> 734 <para>Reports the value of the given symbolic link</para> 735 <indexterm zone="ch-system-coreutils readlink"> 736 <primary sortas="b-readlink">readlink</primary> 737 </indexterm> 738 </listitem> 739 </varlistentry> 740 741 <varlistentry id="rm"> 742 <term><command>rm</command></term> 743 <listitem> 744 <para>Removes files or directories</para> 745 <indexterm zone="ch-system-coreutils rm"> 746 <primary sortas="b-rm">rm</primary> 747 </indexterm> 748 </listitem> 749 </varlistentry> 750 751 <varlistentry id="rmdir"> 752 <term><command>rmdir</command></term> 753 <listitem> 754 <para>Removes directories if they are empty</para> 755 <indexterm zone="ch-system-coreutils rmdir"> 756 <primary sortas="b-rmdir">rmdir</primary> 757 </indexterm> 758 </listitem> 759 </varlistentry> 760 761 <varlistentry id="seq"> 762 <term><command>seq</command></term> 763 <listitem> 764 <para>Prints a sequence of numbers within a given range and with a 765 given increment</para> 766 <indexterm zone="ch-system-coreutils seq"> 767 <primary sortas="b-seq">seq</primary> 768 </indexterm> 769 </listitem> 770 </varlistentry> 771 772 <varlistentry id="sha1sum"> 773 <term><command>sha1sum</command></term> 774 <listitem> 775 <para>Prints or checks 160-bit Secure Hash Algorithm 1 (SHA1) 776 checksums</para> 777 <indexterm zone="ch-system-coreutils sha1sum"> 778 <primary sortas="b-sha1sum">sha1sum</primary> 779 </indexterm> 780 </listitem> 781 </varlistentry> 782 783 <varlistentry id="shred"> 784 <term><command>shred</command></term> 785 <listitem> 786 <para>Overwrites the given files repeatedly with complex patterns, 787 making it difficult to recover the data</para> 788 <indexterm zone="ch-system-coreutils shred"> 789 <primary sortas="b-shred">shred</primary> 790 </indexterm> 791 </listitem> 792 </varlistentry> 793 794 <varlistentry id="sleep"> 795 <term><command>sleep</command></term> 796 <listitem> 797 <para>Pauses for the given amount of time</para> 798 <indexterm zone="ch-system-coreutils sleep"> 799 <primary sortas="b-sleep">sleep</primary> 800 </indexterm> 801 </listitem> 802 </varlistentry> 803 804 <varlistentry id="sort"> 805 <term><command>sort</command></term> 806 <listitem> 807 <para>Sorts the lines from the given files</para> 808 <indexterm zone="ch-system-coreutils sort"> 809 <primary sortas="b-sort">sort</primary> 810 </indexterm> 811 </listitem> 812 </varlistentry> 813 814 <varlistentry id="split"> 815 <term><command>split</command></term> 816 <listitem> 817 <para>Splits the given file into pieces, by size or by number of 818 lines</para> 819 <indexterm zone="ch-system-coreutils split"> 820 <primary sortas="b-split">split</primary> 821 </indexterm> 822 </listitem> 823 </varlistentry> 824 825 <varlistentry id="stat"> 826 <term><command>stat</command></term> 827 <listitem> 828 <para>Displays file or filesystem status</para> 829 <indexterm zone="ch-system-coreutils stat"> 830 <primary sortas="b-stat">stat</primary> 831 </indexterm> 832 </listitem> 833 </varlistentry> 834 835 <varlistentry id="stty"> 836 <term><command>stty</command></term> 837 <listitem> 838 <para>Sets or reports terminal line settings</para> 839 <indexterm zone="ch-system-coreutils stty"> 840 <primary sortas="b-stty">stty</primary> 841 </indexterm> 842 </listitem> 843 </varlistentry> 844 845 <varlistentry id="sum"> 846 <term><command>sum</command></term> 847 <listitem> 848 <para>Prints checksum and block counts for each given file</para> 849 <indexterm zone="ch-system-coreutils sum"> 850 <primary sortas="b-sum">sum</primary> 851 </indexterm> 852 </listitem> 853 </varlistentry> 854 855 <varlistentry id="sync"> 856 <term><command>sync</command></term> 857 <listitem> 858 <para>Flushes file system buffers; it forces changed blocks to disk 859 and updates the super block</para> 860 <indexterm zone="ch-system-coreutils sync"> 861 <primary sortas="b-sync">sync</primary> 862 </indexterm> 863 </listitem> 864 </varlistentry> 865 866 <varlistentry id="tac"> 867 <term><command>tac</command></term> 868 <listitem> 869 <para>Concatenates the given files in reverse</para> 870 <indexterm zone="ch-system-coreutils tac"> 871 <primary sortas="b-tac">tac</primary> 872 </indexterm> 873 </listitem> 874 </varlistentry> 875 876 <varlistentry id="tail"> 877 <term><command>tail</command></term> 878 <listitem> 879 <para>Prints the last ten lines (or the given number of lines) of each 880 given file</para> 881 <indexterm zone="ch-system-coreutils tail"> 882 <primary sortas="b-tail">tail</primary> 883 </indexterm> 884 </listitem> 885 </varlistentry> 886 887 <varlistentry id="tee"> 888 <term><command>tee</command></term> 889 <listitem> 890 <para>Reads from standard input while writing both to standard output 891 and to the given files</para> 892 <indexterm zone="ch-system-coreutils tee"> 893 <primary sortas="b-tee">tee</primary> 894 </indexterm> 895 </listitem> 896 </varlistentry> 897 898 <varlistentry id="test"> 899 <term><command>test</command></term> 900 <listitem> 901 <para>Compares values and checks file types</para> 902 <indexterm zone="ch-system-coreutils test"> 903 <primary sortas="b-test">test</primary> 904 </indexterm> 905 </listitem> 906 </varlistentry> 907 908 <varlistentry id="touch"> 909 <term><command>touch</command></term> 910 <listitem> 911 <para>Changes file timestamps, setting the access and modification 912 times of the given files to the current time; files that do not exist 913 are created with zero length</para> 914 <indexterm zone="ch-system-coreutils touch"> 915 <primary sortas="b-touch">touch</primary> 916 </indexterm> 917 </listitem> 918 </varlistentry> 919 920 <varlistentry id="tr"> 921 <term><command>tr</command></term> 922 <listitem> 923 <para>Translates, squeezes, and deletes the given characters from 924 standard input</para> 925 <indexterm zone="ch-system-coreutils tr"> 926 <primary sortas="b-tr">tr</primary> 927 </indexterm> 928 </listitem> 929 </varlistentry> 930 931 <varlistentry id="true"> 932 <term><command>true</command></term> 933 <listitem> 934 <para>Does nothing, successfully; it always exits with a status code 935 indicating success</para> 936 <indexterm zone="ch-system-coreutils true"> 937 <primary sortas="b-true">true</primary> 938 </indexterm> 939 </listitem> 940 </varlistentry> 941 942 <varlistentry id="tsort"> 943 <term><command>tsort</command></term> 944 <listitem> 945 <para>Performs a topological sort; it writes a completely ordered list 946 according to the partial ordering in a given file</para> 947 <indexterm zone="ch-system-coreutils tsort"> 948 <primary sortas="b-tsort">tsort</primary> 949 </indexterm> 950 </listitem> 951 </varlistentry> 952 953 <varlistentry id="tty"> 954 <term><command>tty</command></term> 955 <listitem> 956 <para>Reports the file name of the terminal connected to standard 957 input</para> 958 <indexterm zone="ch-system-coreutils tty"> 959 <primary sortas="b-tty">tty</primary> 960 </indexterm> 961 </listitem> 962 </varlistentry> 963 964 <varlistentry id="uname"> 965 <term><command>uname</command></term> 966 <listitem> 967 <para>Reports system information</para> 968 <indexterm zone="ch-system-coreutils uname"> 969 <primary sortas="b-uname">uname</primary> 970 </indexterm> 971 </listitem> 972 </varlistentry> 973 974 <varlistentry id="unexpand"> 975 <term><command>unexpand</command></term> 976 <listitem> 977 <para>Converts spaces to tabs</para> 978 <indexterm zone="ch-system-coreutils unexpand"> 979 <primary sortas="b-unexpand">unexpand</primary> 980 </indexterm> 981 </listitem> 982 </varlistentry> 983 984 <varlistentry id="uniq"> 985 <term><command>uniq</command></term> 986 <listitem> 987 <para>Discards all but one of successive identical lines</para> 988 <indexterm zone="ch-system-coreutils uniq"> 989 <primary sortas="b-uniq">uniq</primary> 990 </indexterm> 991 </listitem> 992 </varlistentry> 993 994 <varlistentry id="unlink"> 995 <term><command>unlink</command></term> 996 <listitem> 997 <para>Removes the given file</para> 998 <indexterm zone="ch-system-coreutils unlink"> 999 <primary sortas="b-unlink">unlink</primary> 1000 </indexterm> 1001 </listitem> 1002 </varlistentry> 1003 1004 <varlistentry id="users"> 1005 <term><command>users</command></term> 1006 <listitem> 1007 <para>Reports the names of the users currently logged on</para> 1008 <indexterm zone="ch-system-coreutils users"> 1009 <primary sortas="b-users">users</primary> 1010 </indexterm> 1011 </listitem> 1012 </varlistentry> 1013 1014 <varlistentry id="vdir"> 1015 <term><command>vdir</command></term> 1016 <listitem> 1017 <para>Is the same as <command>ls -l</command></para> 1018 <indexterm zone="ch-system-coreutils vdir"> 1019 <primary sortas="b-vdir">vdir</primary> 1020 </indexterm> 1021 </listitem> 1022 </varlistentry> 1023 1024 <varlistentry id="wc"> 1025 <term><command>wc</command></term> 1026 <listitem> 1027 <para>Reports the number of lines, words, and bytes for each given 1028 file, as well as a total line when more than one file is given</para> 1029 <indexterm zone="ch-system-coreutils wc"> 1030 <primary sortas="b-wc">wc</primary> 1031 </indexterm> 1032 </listitem> 1033 </varlistentry> 1034 1035 <varlistentry id="who"> 1036 <term><command>who</command></term> 1037 <listitem> 1038 <para>Reports who is logged on</para> 1039 <indexterm zone="ch-system-coreutils who"> 1040 <primary sortas="b-who">who</primary> 1041 </indexterm> 1042 </listitem> 1043 </varlistentry> 1044 1045 <varlistentry id="whoami"> 1046 <term><command>whoami</command></term> 1047 <listitem> 1048 <para>Reports the user name associated with the current effective 1049 user ID</para> 1050 <indexterm zone="ch-system-coreutils whoami"> 1051 <primary sortas="b-whoami">whoami</primary> 1052 </indexterm> 1053 </listitem> 1054 </varlistentry> 1055 1056 <varlistentry id="yes"> 1057 <term><command>yes</command></term> 1058 <listitem> 1059 <para>Repeatedly outputs <quote>y</quote> or a given string until 1060 killed</para> 1061 <indexterm zone="ch-system-coreutils yes"> 1062 <primary sortas="b-yes">yes</primary> 1063 </indexterm> 1064 </listitem> 1065 </varlistentry> 1066 1067 </variablelist> 1068 1069 </sect2> 869 1070 870 1071 </sect1> 871 -
chapter06/createfiles.xml
rb4cd3c5 re6ab4b5 1 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" [ 2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" 3 "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ 3 4 <!ENTITY % general-entities SYSTEM "../general.ent"> 4 5 %general-entities; 5 6 ]> 7 6 8 <sect1 id="ch-system-createfiles"> 7 <title>Creating Essential Symlinks</title> 8 <?dbhtml filename="createfiles.html"?> 9 <?dbhtml filename="createfiles.html"?> 9 10 10 <para>Some programs use hard-wired paths to programs which do not exist yet. In 11 order to satisfy these programs, create a number of symbolic links which will be 12 replaced by real files throughout the course of this chapter after the software 13 has been installed.</para> 11 <title>Creating Essential Symlinks</title> 12 13 <para>Some programs use hard-wired paths to programs which do not exist yet. In 14 order to satisfy these programs, create a number of symbolic links which will be 15 replaced by real files throughout the course of this chapter after the software 16 has been installed.</para> 14 17 15 18 <screen><userinput>ln -sv /tools/bin/{bash,cat,pwd,stty} /bin … … 19 22 20 23 </sect1> 21 -
chapter06/creatingdirs.xml
rb4cd3c5 re6ab4b5 1 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" [ 2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" 3 "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ 3 4 <!ENTITY % general-entities SYSTEM "../general.ent"> 4 5 %general-entities; 5 6 ]> 7 6 8 <sect1 id="ch-system-creatingdirs"> 7 <title>Creating Directories</title> 8 <?dbhtml filename="creatingdirs.html"?> 9 <?dbhtml filename="creatingdirs.html"?> 9 10 10 <para>It is time to create some structure in the LFS file system. Create a 11 standard directory tree by issuing the following commands:</para> 12 11 <title>Creating Directories</title> 12 13 <para>It is time to create some structure in the LFS file system. Create a 14 standard directory tree by issuing the following commands:</para> 15 13 16 <screen><userinput>install -dv /{bin,boot,dev,etc/opt,home,lib,mnt} 14 17 install -dv /{sbin,srv,usr/local,var,opt} … … 31 34 install -dv /opt/{lib,man/man{1,2,3,4,5,6,7,8}}</userinput></screen> 32 35 33 <para>Directories are, by default, created with permission mode 755, 34 but this is not desirable for all directories. In the commands above, 35 two changes are made—one to the home directory of user 36 <emphasis>root</emphasis>, and another to the directories for37 temporary files.</para>36 <para>Directories are, by default, created with permission mode 755, but 37 this is not desirable for all directories. In the commands above, two 38 changes are made—one to the home directory of user <systemitem 39 class="username">root</systemitem>, and another to the directories for 40 temporary files.</para> 38 41 39 <para>The first mode change ensures that not just anybody can enter 40 the <filename class="directory">/root</filename> directory—the same 41 as a normal user would do with his or her home directory. The second 42 mode change makes sure that any user can write to the <filename 43 class="directory">/tmp</filename> and <filename 44 class="directory">/var/tmp</filename> directories, but cannot remove 45 another user's files from them. The latter is prohibited by the 46 so-called <quote>sticky bit,</quote> the highest bit (1) in the 1777 47 bit mask.</para> 42 <para>The first mode change ensures that not just anybody can enter 43 the <filename class="directory">/root</filename> directory—the 44 same as a normal user would do with his or her home directory. The 45 second mode change makes sure that any user can write to the 46 <filename class="directory">/tmp</filename> and <filename 47 class="directory">/var/tmp</filename> directories, but cannot remove 48 another user's files from them. The latter is prohibited by the so-called 49 <quote>sticky bit,</quote> the highest bit (1) in the 1777 bit mask.</para> 48 50 49 <note><para>Notice the two different constructions above for creating multiple 50 man directories: <command>install -d /usr/share/man/man{1..8}</command> and 51 <command>install -d /usr/local/share/man/man{1,2,3,4,5,6,7,8}</command>. The 52 first one is new since Bash 3.0. This new feature will help make repetitive 53 commands easier to type.</para></note> 51 <note> 52 <para>Notice the two different constructions above for creating multiple 53 man directories: <command>install -d /usr/share/man/man{1..8}</command> and 54 <command>install -d /usr/local/share/man/man{1,2,3,4,5,6,7,8}</command>. The 55 first one is new since Bash 3.0. This new feature will help make repetitive 56 commands easier to type.</para> 57 </note> 54 58 55 <sect2>56 <title>FHS Compliance Note</title>59 <sect2> 60 <title>FHS Compliance Note</title> 57 61 58 <para>The directory tree is based on the Filesystem Hierarchy Standard (FHS) 59 (available at <ulink url="http://www.pathname.com/fhs/"/>). In addition60 to the tree created above, this standard stipulates the existence of <filename61 class="directory">/usr/local/games</filename> and <filename62 class="directory">/usr/share/games</filename>. The FHS is not precise as to the 63 structure of the <filename class="directory">/usr/local/share</filename>64 subdirectory, so we create only the directories that are needed. However, feel 65 free to create these directories if you prefer to conform more strictly to the 66 FHS.</para>62 <para>The directory tree is based on the Filesystem Hierarchy Standard 63 (FHS) (available at <ulink url="http://www.pathname.com/fhs/"/>). In 64 addition to the tree created above, this standard stipulates the existence 65 of <filename class="directory">/usr/local/games</filename> and <filename 66 class="directory">/usr/share/games</filename>. The FHS is not precise as to 67 the structure of the <filename class="directory">/usr/local/share</filename> 68 subdirectory, so we create only the directories that are needed. However, 69 feel free to create these directories if you prefer to conform more strictly 70 to the FHS.</para> 67 71 68 </sect2>72 </sect2> 69 73 70 74 </sect1> 71 -
chapter06/glibc.xml
rb4cd3c5 re6ab4b5 56 56 directory:</para> 57 57 58 <screen><userinput>tar jxf ../glibc-libidn-&glibc-version;.tar.bz2</userinput></screen>58 <screen><userinput>tar -xf ../glibc-libidn-&glibc-version;.tar.bz2</userinput></screen> 59 59 60 60 <para>In the vi_VN.TCVN locale, <command>bash</command> enters an infinite loop … … 64 64 65 65 <screen><userinput>sed -i '/vi_VN.TCVN/d' localedata/SUPPORTED</userinput></screen> 66 67 <para>When running <command>make install</command>, a script called 68 <filename>test-installation.pl</filename> performs a small sanity test 69 on our newly installed Glibc. However, because our toolchain still points to the 70 <filename class="directory">/tools</filename> directory, the sanity test would 71 be carried out against the wrong Glibc. We can force the script to check the 72 Glibc we have just installed with the following:</para> 73 74 <screen><userinput>sed -i \ 75 's|libs -o|libs -L/usr/lib -Wl,-dynamic-linker=/lib/ld-linux.so.2 -o|' \ 76 scripts/test-installation.pl</userinput></screen> 66 77 67 78 <para>The Glibc documentation recommends building Glibc outside of the source … … 139 150 <para>Install the package:</para> 140 151 141 <screen><userinput>make install_root=/ install</userinput></screen> 142 143 <para>The meaning of the make option:</para> 144 145 <variablelist> 146 <varlistentry> 147 <term><parameter>install_root=/</parameter></term> 148 <listitem><para>This causes the Glibc Makefile not to run the 149 <filename>scripts/test-installation.pl</filename> script at the end 150 of Glibc installation. Since the toolchain has not been adjusted yet for 151 the new Glibc, this script would test Glibc installed in 152 <filename class="directory">/tools</filename> and fail because the 153 libidn add-on has not been installed there.</para></listitem> 154 </varlistentry> 155 </variablelist> 152 <screen><userinput>make install</userinput></screen> 156 153 157 154 <para>The locales that can make the system respond in a different … … 176 173 localedef -i en_PH -f ISO-8859-1 en_PH 177 174 localedef -i en_US -f ISO-8859-1 en_US 175 localedef -i en_US -f UTF-8 en_US.UTF-8 178 176 localedef -i es_MX -f ISO-8859-1 es_MX 179 177 localedef -i fa_IR -f UTF-8 fa_IR … … 267 265 268 266 <sect2 id="conf-ld" role="configuration"> 269 <title>Configuring Dynamic Loader</title>267 <title>Configuring the Dynamic Loader</title> 270 268 <indexterm zone="conf-ld"><primary sortas="e-/etc/ld.so.conf">/etc/ld.so.conf</primary></indexterm> 271 269 -
chapter06/introduction.xml
rb4cd3c5 re6ab4b5 59 59 the package installs.</para> 60 60 61 <para>To keep track of which package installs particular files, a package 62 manager can be used. For a general overview of different styles of package 63 managers, please refer to <ulink 64 url="&blfs-root;view/svn/introduction/important.html"/>. 65 For a package management method specifically geared towards LFS, we recommend <ulink 66 url="&hints-root;more_control_and_pkg_man.txt"/>.</para> 67 68 <note><para>The remainder of this book is to be performed while logged in as 69 user <emphasis>root</emphasis> and no longer as user <emphasis>lfs</emphasis>. 70 Also, double check that <envar>$LFS</envar> is set.</para></note> 61 <note><para>At this point, you may wish to keep your finished temporary 62 tools for use in future LFS builds by creating a tarball of the 63 <filename class="directory">/tools</filename> directory and 64 storing it in a safe location.</para></note> 71 65 72 66 </sect1> -
chapter06/patch.xml
rb4cd3c5 re6ab4b5 31 31 <title>Installation of Patch</title> 32 32 33 <para>Prepare Patch for compilation. The preprocessor flag 34 <parameter>-D_GNU_SOURCE</parameter> is only needed on the PowerPC 35 platform. It can be left it out on other architectures:</para> 33 <para>Prepare Patch for compilation.</para> 36 34 37 <screen><userinput> CPPFLAGS=-D_GNU_SOURCE./configure --prefix=/usr</userinput></screen>35 <screen><userinput>./configure --prefix=/usr</userinput></screen> 38 36 39 37 <para>Compile the package:</para> -
chapter06/perl.xml
rb4cd3c5 re6ab4b5 33 33 34 34 <screen><userinput>patch -Np1 -i ../&perl-sprintf-patch;</userinput></screen> 35 36 <para>The DB_File module that comes with Perl-&perl-version; is incompatible 37 with Berkeley DB-&db-version; (the testsuite fails if this module gets built). 38 Apply the following patch in order to update the DB_File module:</para> 39 40 <screen><userinput>patch -Np1 -i ../&perl-db_file-patch;</userinput></screen> 35 41 36 42 <para>First create a basic <filename>/etc/hosts</filename> file which will be -
chapter06/readjusting.xml
rb4cd3c5 re6ab4b5 10 10 <para>Now that the final C libraries have been installed, it is time to adjust 11 11 the toolchain again. The toolchain will be adjusted so that it will link any 12 newly compiled program against these new libraries. This is the sameprocess12 newly compiled program against these new libraries. This is a similar process 13 13 used in the <quote>Adjusting</quote> phase in the beginning of <xref 14 14 linkend="chapter-temporary-tools"/>, but with the adjustments reversed. In <xref … … 20 20 directories.</para> 21 21 22 <para>Start by adjusting the linker. The source and build directories from the 23 second pass of Binutils were retained for this purpose. Install the adjusted 24 linker by running the following command from within the <filename 25 class="directory">binutils-build</filename> directory:</para> 22 <para>First, backup the <filename class="directory">/tools</filename> linker, and 23 replace it with the adjusted linker we made in chapter 5. We'll also create a 24 link to its counterpart in <filename class="directory">/tools/$(gcc -dumpmachine)/bin</filename>.</para> 26 25 27 <screen><userinput>make -C ld INSTALL=/tools/bin/install install</userinput></screen> 28 29 <note><para>If the earlier warning to retain the Binutils source and 30 build directories from the second pass in <xref 31 linkend="chapter-temporary-tools"/> was missed, or if they were 32 accidentally deleted or are inaccessible, ignore the above command. 33 The result will be that the next package, Binutils, will link against 34 the C libraries in <filename class="directory">/tools</filename> 35 rather than in <filename class="directory">/{,usr/}lib</filename>. 36 This is not ideal, however, testing has shown that the resulting 37 Binutils program binaries should be identical.</para></note> 38 39 <para>From now on, every compiled program will link only against the 40 libraries in <filename class="directory">/usr/lib</filename> and 41 <filename class="directory">/lib</filename>. The extra 42 <parameter>INSTALL=/tools/bin/install</parameter> option is needed 43 because the <filename>Makefile</filename> file created during the 44 second pass still contains the reference to 45 <command>/usr/bin/install</command>, which has not been installed yet. 46 Some host distributions contain a <filename 47 class="symlink">ginstall</filename> symbolic link which takes 48 precedence in the <filename>Makefile</filename> file and can cause a 49 problem. The above command takes care of this issue.</para> 50 51 <para>Remove the Binutils source and build directories now.</para> 26 <screen><userinput>mv -v /tools/bin/{ld,ld-old} 27 mv -v /tools/$(gcc -dumpmachine)/bin/{ld,ld-old} 28 mv -v /tools/bin/{ld-new,ld} 29 ln -sv /tools/bin/ld /tools/$(gcc -dumpmachine)/bin/ld</userinput></screen> 52 30 53 31 <para>Next, amend the GCC specs file so that it points to the new 54 dynamic linker. A <command>sed</command> command accomplishes this:</para> 32 dynamic linker, and so that GCC knows where to find its start files. 33 A <command>perl</command> command accomplishes this:</para> 55 34 56 <screen><userinput>SPECFILE=`dirname $(gcc -print-libgcc-file-name)`/specs && 57 gcc -dumpspecs > $SPECFILE && 58 sed -i 's@^/tools/lib/ld-linux.so.2@/lib/ld-linux.so.2@g' $SPECFILE && 59 unset SPECFILE</userinput></screen> 35 <screen><userinput>gcc -dumpspecs | \ 36 perl -p -e 's@/tools/lib/ld-linux.so.2@/lib/ld-linux.so.2@g;' \ 37 -e 's@\*startfile_prefix_spec:\n@$_/usr/lib/ @g;' > \ 38 `dirname $(gcc --print-libgcc-file-name)`/specs 39 </userinput></screen> 60 40 61 41 <para>It is a good idea to visually inspect the specs file to verify the intended … … 76 56 77 57 <screen><userinput>echo 'main(){}' > dummy.c 78 cc dummy.c 58 cc dummy.c -Wl,--verbose &> dummy.log 79 59 readelf -l a.out | grep ': /lib'</userinput></screen> 80 60 … … 88 68 the prefix of our dynamic linker.</para> 89 69 70 <para>Now make sure that we're setup to use the correct start files:</para> 71 72 <screen><userinput>grep "/usr/lib/crt.* " dummy.log</userinput></screen> 73 74 <para>If everything is working correctly, there should be no errors, 75 and the output of the last command will be:</para> 76 77 <screen><computeroutput>attempt to open /usr/lib/crt1.o succeeded 78 attempt to open /usr/lib/crti.o succeeded 79 attempt to open /usr/lib/crtn.o succeeded</computeroutput></screen> 80 81 <para>Next make sure that we're using the correct libc:</para> 82 83 <screen><userinput>grep "/lib/libc.so.6 " dummy.log</userinput></screen> 84 85 <para>If everything is working correctly, there should be no errors, 86 and the output of the last command will be:</para> 87 88 <screen><computeroutput>attempt to open /lib/libc.so.6 succeeded</computeroutput></screen> 89 90 <para>Lastly, make sure GCC is using the correct dynamic linker:</para> 91 92 <screen><userinput>grep found dummy.log</userinput></screen> 93 94 <para>If everything is working correctly, there should be no errors, 95 and the output of the last command will be (allowing for 96 platform-specific differences in dynamic linker name):</para> 97 98 <screen><computeroutput>found ld-linux.so.2 at /lib/ld-linux.so.2</computeroutput></screen> 99 90 100 <para>If the output does not appear as shown above or is not received 91 101 at all, then something is seriously wrong. Investigate and retrace the … … 98 108 files:</para> 99 109 100 <screen><userinput>rm -v dummy.c a.out </userinput></screen></caution>110 <screen><userinput>rm -v dummy.c a.out dummy.log</userinput></screen></caution> 101 111 102 112 </sect1> -
chapter06/revisedchroot.xml
rb4cd3c5 re6ab4b5 19 19 class="directory">/tools</filename> are no longer needed. Since they are no 20 20 longer needed you can delete the <filename class="directory">/tools</filename> 21 directory if so desired or tar it up and keep it to build another final 22 system.</para> 21 directory if so desired.</para> 23 22 24 23 <note><para>Removing <filename class="directory">/tools</filename> will also -
chapter06/shadow.xml
rb4cd3c5 re6ab4b5 17 17 <segtitle>&buildtime;</segtitle> 18 18 <segtitle>&diskspace;</segtitle> 19 <seglistitem><seg>0. 3 SBU</seg><seg>15.9MB</seg></seglistitem>19 <seglistitem><seg>0.4 SBU</seg><seg>14.7 MB</seg></seglistitem> 20 20 </segmentedlist> 21 21 … … 35 35 <command>configure</command> command below.</para></note> 36 36 37 <para>Apply a patch to fix a number of incorrect assumptions in Shadow's38 <command>configure</command> script:</para>39 40 <screen><userinput>patch -Np1 -i ../&shadow-configure-patch;</userinput></screen>41 42 37 <para>Prepare Shadow for compilation:</para> 43 38 44 <screen><userinput>./configure --libdir=/lib --enable-shared</userinput></screen> 39 <screen><userinput>./configure --libdir=/lib --enable-shared --without-selinux</userinput></screen> 40 41 <para>The meaning of the configure options:</para> 42 43 <variablelist> 44 <varlistentry> 45 <term><parameter>--without-selinux</parameter></term> 46 <listitem><para>Support for selinux is enabled by default, but selinux is not 47 built in a base LFS system. The <command>configure</command> script will fail 48 if this option is not used.</para></listitem> 49 </varlistentry> 50 </variablelist> 45 51 46 52 <para>Disable the installation of the <command>groups</command> program and its man page, as Coreutils provides a better version:</para> -
chapter06/strippingagain.xml
rb4cd3c5 re6ab4b5 18 18 render the new system unusable, so before running the 19 19 <command>strip</command> command, it is a good idea to make a 20 backup of the current situation.</para>20 backup of the LFS system in its current state.</para> 21 21 22 22 <para>Before performing the stripping, take special care to ensure that -
chapter06/vim.xml
rb4cd3c5 re6ab4b5 114 114 115 115 <sect2 id="conf-vim" role="configuration"><title>Configuring Vim</title> 116 <indexterm zone="conf-vim"><primary sortas="e-/etc/vim ">/etc/vim</primary></indexterm>116 <indexterm zone="conf-vim"><primary sortas="e-/etc/vimrc">/etc/vimrc</primary></indexterm> 117 117 118 118 <para>By default, <command>vim</command> runs in vi-incompatible mode. This may
Note:
See TracChangeset
for help on using the changeset viewer.