- Timestamp:
- 11/23/2022 10:45:41 AM (23 months ago)
- Branches:
- multilib, xry111/multilib
- Children:
- 9237700
- Parents:
- 46405a5b (diff), 9a23a75 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - Location:
- chapter08
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
chapter08/acl.xml
r46405a5b rf0cbef54 25 25 26 26 <para>The Acl package contains utilities to administer Access Control Lists, 27 which are used to define morefine-grained discretionary access rights for27 which are used to define fine-grained discretionary access rights for 28 28 files and directories.</para> 29 29 … … 53 53 <screen><userinput remap="make">make</userinput></screen> 54 54 55 <para>The Acl tests need tobe run on a filesystem that supports access56 controls after <application>Coreutils</application> has been built with the57 Acl libraries. If desired, return to this package and run <command>make58 check</command> after <application>Coreutils</application> has been built59 later in this chapter.</para>55 <para>The Acl tests must be run on a filesystem that supports access 56 controls, but not until the <application>Coreutils</application> package has been built, 57 using the <application>Acl</application> libraries. If desired, return to this package 58 and run <command>make check</command> after the <application>Coreutils</application> 59 package has been built.</para> 60 60 61 61 <para>Install the package:</para> -
chapter08/attr.xml
r46405a5b rf0cbef54 24 24 <title/> 25 25 26 <para>The attr package contains utilities to administer the extended27 attributes o nfilesystem objects.</para>26 <para>The Attr package contains utilities to administer the extended 27 attributes of filesystem objects.</para> 28 28 29 29 <segmentedlist> … … 53 53 <screen><userinput remap="make">make</userinput></screen> 54 54 55 <para>The tests need tobe run on a filesystem that supports extended55 <para>The tests must be run on a filesystem that supports extended 56 56 attributes such as the ext2, ext3, or ext4 filesystems. 57 57 To test the results, issue:</para> -
chapter08/coreutils.xml
r46405a5b rf0cbef54 129 129 <screen><userinput remap="test">su tester -c "PATH=$PATH make RUN_EXPENSIVE_TESTS=yes check"</userinput></screen> 130 130 131 <!-- test-getlogin is now skipped 132 <para>The test-getlogin test is known to fail in the LFS chroot environment.</para> 133 --> 134 <!-- should be fixed at next release, coreutils-9.2 --> 135 <para>The sort-NaN-infloop test is known to fail with GCC-12.</para> 131 <!-- Sometimes skipped, but if not it may fail. 132 Please DO NOT remove or comment out this unless we can fully 133 understand it! --> 134 <para>The test-getlogin test may fail in the LFS chroot environment.</para> 136 135 137 136 <para>Remove the temporary group:</para> -
chapter08/gcc.xml
r46405a5b rf0cbef54 101 101 --with-system-zlib</userinput></screen> 102 102 103 <para> Note that for other programming languages there are some prerequisites that104 are not yet available. See the103 <para>GCC supports seven different computer languages, but the 104 prerequisites for most of them have not yet been installed. See the 105 105 <ulink url="&blfs-book;general/gcc.html">BLFS Book GCC page</ulink> 106 106 for instructions on how to build all of GCC's supported languages.</para> … … 112 112 <term><parameter>LD=ld</parameter></term> 113 113 <listitem> 114 <para>This parameter makes the configure script use the ld installed115 by the binutilsbuilt earlier in this chapter, rather than114 <para>This parameter makes the configure script use the ld program installed 115 by the Binutils package built earlier in this chapter, rather than 116 116 the cross-built version which would otherwise be used.</para> 117 117 </listitem> … … 122 122 <listitem> 123 123 <para>This switch tells GCC to link to the system installed copy of 124 the zlib library, rather than its own internal copy.</para>124 the Zlib library, rather than its own internal copy.</para> 125 125 </listitem> 126 126 </varlistentry> … … 130 130 <anchor id="pie-ssp-info" xreflabel="note on PIE and SSP"/> 131 131 <para> 132 PIE (position-independent executable ) is a technique to produce132 PIE (position-independent executables) are 133 133 binary programs that can be loaded anywhere in memory. Without PIE, 134 134 the security feature named ASLR (Address Space Layout Randomization) 135 can be applied for the shared libraries, but not the executable136 itself. Enabling PIE allows ASLR for the executables in addition to135 can be applied for the shared libraries, but not for the executables 136 themselves. Enabling PIE allows ASLR for the executables in addition to 137 137 the shared libraries, and mitigates some attacks based on fixed 138 138 addresses of sensitive code or data in the executables. … … 140 140 <para> 141 141 SSP (Stack Smashing Protection) is a technique to ensure 142 that the parameter stack is not corrupted. Stack corruption can 143 for example alter the return address of a subroutine,144 which would allowtransferring control to some dangerous code142 that the parameter stack is not corrupted. Stack corruption can, 143 for example, alter the return address of a subroutine, 144 thus transferring control to some dangerous code 145 145 (existing in the program or shared libraries, or injected by the 146 attacker somehow) instead of the original one.146 attacker somehow). 147 147 </para> 148 148 </note> … … 154 154 <important> 155 155 <para>In this section, the test suite for GCC is considered 156 important, but it takes a long time. First 157 encouraged to not skip it. The time to run the tests can be158 reduced significantly by adding -jx to the make command below159 where x is the number of cores on your system.</para>156 important, but it takes a long time. First-time builders are 157 encouraged to run the test suite. The time to run the tests can be 158 reduced significantly by adding -jx to the <command>make -k check</command> command below, 159 where x is the number of CPU cores on your system.</para> 160 160 </important> 161 161 … … 170 170 su tester -c "PATH=$PATH make -k check"</userinput></screen> 171 171 172 <para>To receivea summary of the test suite results, run:</para>172 <para>To extract a summary of the test suite results, run:</para> 173 173 174 174 <screen><userinput remap="test">../contrib/test_summary</userinput></screen> 175 175 176 <para> Foronly the summaries, pipe the output through176 <para>To filter out only the summaries, pipe the output through 177 177 <userinput>grep -A7 Summ</userinput>.</para> 178 178 … … 181 181 <ulink url="https://gcc.gnu.org/ml/gcc-testresults/"/>.</para> 182 182 183 <para> In gcc, eleven tests, in the i386 test suiteare known to FAIL.183 <para>Eleven tests in the i386 test suite for the gcc compiler are known to FAIL. 184 184 It's because the test files do not account for the 185 185 <parameter>--enable-default-pie</parameter> option.</para> 186 186 187 <para> In g++, four tests related to PR100400 are known tobe reported188 as both XPASS and FAIL . It's because the test file for this known issue187 <para>Four tests related to PR100400 may be reported 188 as both XPASS and FAIL when testing the g++ compiler; the test file 189 189 is not well written.</para> 190 190 … … 208 208 209 209 <para>The GCC build directory is owned by <systemitem class="username"> 210 tester</systemitem> now and the ownership of the installed header211 directory (and its content) will be incorrect. Change the ownership to210 tester</systemitem> now, and the ownership of the installed header 211 directory (and its content) is incorrect. Change the ownership to the 212 212 <systemitem class="username">root</systemitem> user and group:</para> 213 213 … … 246 246 <screen><computeroutput>[Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]</computeroutput></screen> 247 247 248 <para>Now make sure that we're set up to use the correct start files:</para>248 <para>Now make sure that we're set up to use the correct start files:</para> 249 249 250 250 <screen><userinput>grep -E -o '/usr/lib.*/S?crt[1in].*succeeded' dummy.log</userinput></screen> … … 295 295 SEARCH_DIR("/usr/lib");</computeroutput></screen> 296 296 297 <para arch="default">A 32-bit system may see a few differentdirectories. For example, here297 <para arch="default">A 32-bit system may use a few other directories. For example, here 298 298 is the output from an i686 machine:</para> 299 299 … … 329 329 steps to find out where the problem is and correct it. <!--The most likely 330 330 reason is that something went wrong with the specs file adjustment.--> Any 331 issues will need tobe resolved before continuing with the process.</para>331 issues should be resolved before continuing with the process.</para> 332 332 333 333 <para>Once everything is working correctly, clean up the test files:</para> … … 396 396 <listitem> 397 397 <para>The C preprocessor; it is used by the compiler to expand the 398 #include, #define, and similar statements in the source files</para>398 #include, #define, and similar directives in the source files</para> 399 399 <indexterm zone="ch-system-gcc cpp"> 400 400 <primary sortas="b-cpp">cpp</primary> … … 429 429 plugin to the command line. This program is only used 430 430 to add "link time optimization" and is not useful with the 431 default build options </para>431 default build options.</para> 432 432 <indexterm zone="ch-system-gcc gcc-ar"> 433 433 <primary sortas="b-gcc-ar">gc-ar</primary> … … 442 442 plugin to the command line. This program is only used 443 443 to add "link time optimization" and is not useful with the 444 default build options </para>444 default build options.</para> 445 445 <indexterm zone="ch-system-gcc gcc-nm"> 446 446 <primary sortas="b-gcc-nm">gc-nm</primary> … … 455 455 plugin to the command line. This program is only used 456 456 to add "link time optimization" and is not useful with the 457 default build options </para>457 default build options.</para> 458 458 <indexterm zone="ch-system-gcc gcc-ranlib"> 459 459 <primary sortas="b-gcc-ranlib">gc-ranlib</primary> … … 466 466 <listitem> 467 467 <para>A coverage testing tool; it is used to analyze programs to 468 determine where optimizations will have the most effect</para>468 determine where optimizations will have the greatest effect</para> 469 469 <indexterm zone="ch-system-gcc gcov"> 470 470 <primary sortas="b-gcov">gcov</primary> … … 547 547 <term><filename class="libraryfile">libgcov</filename></term> 548 548 <listitem> 549 <para>This library is linked in 549 <para>This library is linked into a program when GCC is instructed 550 550 to enable profiling</para> 551 551 <indexterm zone="ch-system-gcc libgcov"> … … 589 589 <term><filename class="libraryfile">liblto_plugin</filename></term> 590 590 <listitem> 591 <para>GCC's LTO plugin allows binutils to process object files591 <para>GCC's LTO plugin allows Binutils to process object files 592 592 produced by GCC with LTO enabled</para> 593 593 <indexterm zone="ch-system-gcc liblto_plugin"> … … 611 611 <listitem> 612 612 <para>Contains routines supporting GCC's stack-smashing protection 613 functionality. Normally it 's unused because glibc also provides614 those routines </para>613 functionality. Normally it is not used, because Glibc also provides 614 those routines.</para> 615 615 <indexterm zone="ch-system-gcc libssp"> 616 616 <primary sortas="c-libssp">libssp</primary> -
chapter08/libcap.xml
r46405a5b rf0cbef54 24 24 <title/> 25 25 26 <para>The Libcap package implements the user-space interface sto the POSIX27 1003.1e capabilities available in Linux kernels. These capabilities are a28 partition ing of the allpowerful root privilege into a set of distinct26 <para>The Libcap package implements the user-space interface to the POSIX 27 1003.1e capabilities available in Linux kernels. These capabilities 28 partition the all-powerful root privilege into a set of distinct 29 29 privileges.</para> 30 30 … … 167 167 <term><command>getpcaps</command></term> 168 168 <listitem> 169 <para>Displays the capabilities o nthe queried process(es)</para>169 <para>Displays the capabilities of the queried process(es)</para> 170 170 <indexterm zone="ch-system-libcap getpcaps"> 171 171 <primary sortas="b-getpcaps">getpcaps</primary> -
chapter08/mpfr.xml
r46405a5b rf0cbef54 59 59 </important> 60 60 61 <para>Test the results and ensure that all tests passed:</para>61 <para>Test the results and ensure that all 183 tests passed:</para> 62 62 63 63 <screen><userinput remap="test">make check</userinput></screen> -
chapter08/shadow.xml
r46405a5b rf0cbef54 67 67 for user mailboxes that Shadow uses by default to the <filename 68 68 class="directory">/var/mail</filename> location used currently. And, 69 get rid of<filename class="directory">/bin</filename> and70 <filename class="directory">/sbin</filename> from <envar>PATH</envar>,71 since they are simply symlinks to their counterpart in69 remove <filename class="directory">/bin</filename> and 70 <filename class="directory">/sbin</filename> from the <envar>PATH</envar>, 71 since they are simply symlinks to their counterparts in 72 72 <filename class="directory">/usr</filename>.</para> 73 73 74 74 <note> 75 <para>If <filename class="directory">/bin</filename> and/or76 <filename class="directory">/sbin</filename> are preferred to be77 left over in <envar>PATH</envar> for some reason, modify78 <envar>PATH</envar> in <filename>.bashrc</filename> after LFS is75 <para>If you wish to include <filename class="directory">/bin</filename> 76 and/or <filename class="directory">/sbin</filename> in the <envar>PATH</envar> 77 for some reason, modify the 78 <envar>PATH</envar> in <filename>.bashrc</filename> after LFS has been 79 79 built.</para> 80 80 </note> … … 86 86 87 87 <note> 88 <para>If you chose to build Shadow with Cracklib support, run the following:</para>88 <para>If you chose to build Shadow with Cracklib support, issue this command:</para> 89 89 90 90 <screen role="nodump"><userinput>sed -i 's:DICTPATH.*:DICTPATH\t/lib/cracklib/pw_dict:' etc/login.defs</userinput></screen> … … 109 109 110 110 <variablelist> 111 <title>The meaning of the configure option:</title>111 <title>The meaning of the new configuration options:</title> 112 112 113 113 <varlistentry> … … 115 115 <listitem> 116 116 <para>The file <filename>/usr/bin/passwd</filename> needs 117 to exist because its location is hardcoded in some programs, and 118 if it does not exist, the default location is not right.</para> 117 to exist because its location is hardcoded in some programs; 118 if it does not already exist, the installation script will 119 create it in the wrong place.</para> 119 120 </listitem> 120 121 </varlistentry> … … 122 123 <term><parameter>--with-group-name-max-length=32</parameter></term> 123 124 <listitem> 124 <para>The maximumuser name is 32 characters. Make the maximum125 group name the same.</para>125 <para>The longest permissible user name is 32 characters. Make the maximum 126 length of a group name the same.</para> 126 127 </listitem> 127 128 </varlistentry> … … 154 155 tasks. For a full explanation of what <emphasis>password shadowing</emphasis> 155 156 means, see the <filename>doc/HOWTO</filename> file within the unpacked 156 source tree. If usingShadow support, keep in mind that programs which need157 source tree. If you use Shadow support, keep in mind that programs which need 157 158 to verify passwords (display managers, FTP programs, pop3 daemons, etc.) 158 must be Shadow-compliant. That is, they need tobe able to work with159 must be Shadow-compliant. That is, they must be able to work with 159 160 shadowed passwords.</para> 160 161 … … 168 169 169 170 <para>Shadow's default configuration for the <command>useradd</command> 170 utility has a few caveats that needsome explanation. First, the default171 utility needs some explanation. First, the default 171 172 action for the <command>useradd</command> utility is to create the user and 172 a group ofthe same name as the user. By default the user ID (UID) and173 group ID (GID) numbers will begin with1000. This means if you don't pass174 parameters to <command>useradd</command>, each user will be a member of a173 a group with the same name as the user. By default the user ID (UID) and 174 group ID (GID) numbers will begin at 1000. This means if you don't pass 175 extra parameters to <command>useradd</command>, each user will be a member of a 175 176 unique group on the system. If this behavior is undesirable, you'll need 176 to pass one ofthe <parameter>-g</parameter> or <parameter>-N</parameter>177 parameter to <command>useradd</command> or tochange the setting of177 to pass either the <parameter>-g</parameter> or <parameter>-N</parameter> 178 parameter to <command>useradd</command>, or else change the setting of 178 179 <parameter>USERGROUPS_ENAB</parameter> in 179 180 <filename>/etc/login.defs</filename>. See <filename>useradd(8)</filename> … … 181 182 182 183 <para>Second, to change the default parameters, the file 183 <filename>/etc/default/useradd</filename> needs tobe created and tailored184 <filename>/etc/default/useradd</filename> must be created and tailored 184 185 to suit your particular needs. Create it with:</para> 185 186 … … 188 189 189 190 <variablelist> 190 <title><filename>/etc/default/useradd</filename> Parameter Explanations</title>191 <title><filename>/etc/default/useradd</filename> parameter explanations</title> 191 192 192 193 <varlistentry> … … 195 196 <para>This parameter sets the beginning of the group numbers used in 196 197 the <filename>/etc/group</filename> file. The particular value 999 197 comes from the <parameter>--gid</parameter> parameter above. You can198 m odify it to anything you desire.198 comes from the <parameter>--gid</parameter> parameter above. You 199 may set it to any desired value. 199 200 200 201 Note that <command>useradd</command> will never reuse a UID or GID. 201 202 If the number identified in this parameter is used, it will use the 202 203 next available number. Note also that if you don't have a group with 203 an ID equal to this number on your system the first time you use204 an ID equal to this number on your system, then the first time you use 204 205 <command>useradd</command> without the <parameter>-g</parameter> 205 parameter, you will get a message displayed on the terminal that206 says: <computeroutput>useradd:unknown GID 999</computeroutput>,207 although the account is correctly created. That is why we have206 parameter, an error message will be generated—<computeroutput>useradd: 207 unknown GID 999</computeroutput>, 208 even though the account has been created correctly. That is why we 208 209 created the group <systemitem class="groupname">users</systemitem> 209 210 with this group ID in <xref linkend='ch-tools-createfiles'/>.</para> … … 215 216 <listitem> 216 217 <para>This parameter causes <command>useradd</command> to create a 217 mailbox file for the newly createduser. <command>useradd</command>218 will makethe group ownership of this file to the218 mailbox file for each new user. <command>useradd</command> 219 will assign the group ownership of this file to the 219 220 <systemitem class="groupname">mail</systemitem> group with 0660 220 permissions. If you would prefer that these mailbox files are not 221 created by <command>useradd</command>, issue the following 222 command:</para> 221 permissions. If you would rather not create these files, 222 issue the following command:</para> 223 223 224 224 <screen><userinput>sed -i '/MAIL/s/yes/no/' /etc/default/useradd</userinput></screen> … … 231 231 232 232 <sect2 role="configuration"> 233 <title>Setting the root password</title>233 <title>Setting the Root Password</title> 234 234 235 235 <para>Choose a password for user <emphasis>root</emphasis> and set it … … 330 330 <listitem> 331 331 <para>Is used to examine the log of login failures, to set a maximum 332 number of failures before an account is blocked, orto reset the332 number of failures before an account is blocked, and to reset the 333 333 failure count</para> 334 334 <indexterm zone="ch-system-shadow faillog"> … … 510 510 <term><command>nologin</command></term> 511 511 <listitem> 512 <para>Displays a message that an account is not available; it is designed 513 to be used as the default shell for accounts that have been 514 disabled</para> 512 <para>Displays a message saying an account is not available; it is designed 513 to be used as the default shell for disabled accounts</para> 515 514 <indexterm zone="ch-system-shadow nologin"> 516 515 <primary sortas="b-nologin">nologin</primary> … … 598 597 <term><command>userdel</command></term> 599 598 <listitem> 600 <para>Deletes the givenuser account</para>599 <para>Deletes the specified user account</para> 601 600 <indexterm zone="ch-system-shadow userdel"> 602 601 <primary sortas="b-userdel">userdel</primary> … … 608 607 <term><command>usermod</command></term> 609 608 <listitem> 610 <para>Is used to modify the given user's login name, User611 Identification (UID), shell, initial group, home directory, etc.</para>609 <para>Is used to modify the given user's login name, user 610 identification (UID), shell, initial group, home directory, etc.</para> 612 611 <indexterm zone="ch-system-shadow usermod"> 613 612 <primary sortas="b-usermod">usermod</primary> … … 641 640 <term><filename class='libraryfile'>libsubid</filename></term> 642 641 <listitem> 643 <para>library for process subordinate id ranges for users</para>642 <para>library to handle subordinate id ranges for users and groups</para> 644 643 <indexterm zone="ch-system-shadow libsubid"> 645 644 <primary sortas="c-libsubid">libsubid</primary> -
chapter08/wheel.xml
r46405a5b rf0cbef54 41 41 <title>Installation of Wheel</title> 42 42 43 <para>Compile wheel with the following command:</para> 44 45 <screen><userinput remap="make">PYTHONPATH=src pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen> 46 43 47 <para>Install wheel with the following command:</para> 44 48 45 <screen><userinput remap="install">pip3 install --no-index $PWD</userinput></screen>49 <screen><userinput remap="install">pip3 install --no-index --find-links=dist wheel</userinput></screen> 46 50 47 51 <variablelist> 48 <title>The meaning of the pip3 options:</title> 52 <title>The meaning of the pip3 commands:</title> 53 54 <varlistentry> 55 <term><envar>PYTHONPATH=src</envar></term> 56 <listitem> 57 <para>Allow using this package (not installed yet) to build a 58 wheel archive for itself, to avoid a chicken-or-egg problem.</para> 59 </listitem> 60 </varlistentry> 61 62 <varlistentry> 63 <term><command>wheel</command></term> 64 <listitem> 65 <para>Build wheel archive for this package.</para> 66 </listitem> 67 </varlistentry> 68 69 <varlistentry> 70 <term><parameter>-w dist</parameter></term> 71 <listitem> 72 <para>Put the created wheels into the 73 <filename class='directory'>dist</filename> directory.</para> 74 </listitem> 75 </varlistentry> 49 76 50 77 <varlistentry> … … 56 83 57 84 <varlistentry> 58 <term><parameter>--no-index</parameter></term> 85 <term><parameter>--no-build-isolation</parameter>, 86 <parameter>--no-deps</parameter>, and 87 <parameter>--no-index</parameter></term> 59 88 <listitem> 60 89 <para>Prevent pip from fetching files from the online package 61 90 repository (PyPI). If packages are installed in the correct order, 62 then it won't need to fetch any files in the first place, but th is63 option addssome safety in case of user error.</para>91 then it won't need to fetch any files in the first place, but these 92 options add some safety in case of user error.</para> 64 93 </listitem> 65 94 </varlistentry> 66 95 67 96 <varlistentry> 68 <term><parameter> $PWD</parameter></term>97 <term><parameter>--find-links dist</parameter></term> 69 98 <listitem> 70 <para>Look for files to install in the current working directory.</para> 99 <para>Search wheel archives from the 100 <filename class='directory'>dist</filename> directory.</para> 71 101 </listitem> 72 102 </varlistentry> 73 74 103 </variablelist> 75 76 104 </sect2> 77 105 … … 87 115 <seg> 88 116 /usr/lib/python&python-minor;/site-packages/wheel and 89 /usr/lib/python&python-minor;/site-packages/wheel-&wheel-version; -py&python-minor;.egg-info117 /usr/lib/python&python-minor;/site-packages/wheel-&wheel-version;.dist-info 90 118 </seg> 91 119 </seglistitem>
Note:
See TracChangeset
for help on using the changeset viewer.