- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
BOOK/final-system/common/coreutils.xml
rf6575bd r686839b 35 35 <para os="c">Now prepare Coreutils for compilation:</para> 36 36 37 <screen os="d"><userinput>./configure --prefix=/usr \ 37 <screen os="d"><userinput>FORCE_UNSAFE_CONFIGURE=1 \ 38 ./configure --prefix=/usr \ 38 39 --enable-no-install-program=kill,uptime \ 39 40 --enable-install-program=hostname</userinput></screen> 41 42 <variablelist os="d1"> 43 <title>The meaning of the configure options:</title> 44 45 <varlistentry os="d2"> 46 <term><parameter>FORCE_UNSAFE_CONFIGURE=1</parameter></term> 47 <listitem> 48 <para>Forces Coreutils to compile when using the root user.</para> 49 </listitem> 50 </varlistentry> 51 52 </variablelist> 40 53 41 54 <para os="e">Compile the package:</para> … … 45 58 <para os="g">The test suite of Coreutils makes several assumptions about the 46 59 presence of system users and groups that are not valid within the minimal 47 environment that exists at the moment. Therefore, additional items need 48 to be set up before running the tests. Skip down to <quote>Install the 49 package</quote> if not running the test suite.</para> 50 51 <para os="h">Create two <systemitem class="groupname">dummy</systemitem> groups 52 and a <systemitem class="username">dummy</systemitem> user:</para> 53 54 <screen os="i"><userinput>echo "dummy1:x:1000:" >> /etc/group 55 echo "dummy2:x:1001:dummy" >> /etc/group 56 echo "dummy:x:1000:1000::/root:/bin/bash" >> /etc/passwd</userinput></screen> 57 58 <para os="j">Now the test suite is ready to be run. First, run 60 environment that exists at the moment. Therefore, we will reuse the dummy 61 groups and user created during Util-linux. Skip down to <quote>Install the 62 package</quote> if not running the test suite and you did not create the 63 dummy groups and users during Util-linux.</para> 64 65 <para os="h">Now the test suite is ready to be run. First, run 59 66 the tests that are meant to be run as user 60 67 <systemitem class="username">root</systemitem>:</para> 61 68 62 <screen os=" k"><userinput>make NON_ROOT_USERNAME=dummy check-root</userinput></screen>63 64 <para os=" l">The testsuite will now be run as the69 <screen os="i"><userinput remap="test">make NON_ROOT_USERNAME=dummy</userinput></screen> 70 71 <para os="j">The testsuite will now be run as the 65 72 <systemitem class="username">dummy</systemitem> user. Fix the permissions 66 73 for a few files to allow this:</para> 67 74 68 <screen os=" m"><userinput>chown -Rv dummy config.log {gnulib-tests,lib,src}/.deps</userinput></screen>69 70 <para os=" n">Then run the remainder of the tests as the75 <screen os="k"><userinput remap="test">chown -Rv dummy .</userinput></screen> 76 77 <para os="l">Then run the remainder of the tests as the 71 78 <systemitem class="username">dummy</systemitem> user:</para> 72 79 73 <screen os="o"><userinput>src/su dummy -c "make RUN_EXPENSIVE_TESTS=yes check"</userinput></screen> 74 75 <para os="p">When testing is complete, remove the 80 <screen os="m"><userinput remap="test">su dummy -s /bin/bash \ 81 -c "PATH=$PATH make RUN_EXPENSIVE_TESTS=yes -k check || true"</userinput></screen> 82 83 <para os="n">When testing is complete, remove the 76 84 <systemitem class="username">dummy</systemitem> user and groups:</para> 77 85 78 <screen os=" q"><userinput>sed -i '/dummy/d' /etc/passwd /etc/group</userinput></screen>79 80 <para os=" r">Install the package:</para>81 82 <screen os=" s"><userinput>make install</userinput></screen>83 84 <para os=" t">Move programs to the locations specified by the FHS:</para>85 86 <screen os=" u"><userinput>mv -v /usr/bin/{cat,chgrp,chmod,chown,cp,date} /bin86 <screen os="o"><userinput remap="test">sed -i '/dummy/d' /etc/passwd /etc/group</userinput></screen> 87 88 <para os="p">Install the package:</para> 89 90 <screen os="q"><userinput>make install</userinput></screen> 91 92 <para os="r">Move programs to the locations specified by the FHS:</para> 93 94 <screen os="s"><userinput>mv -v /usr/bin/{cat,chgrp,chmod,chown,cp,date} /bin 87 95 mv -v /usr/bin/{dd,df,echo,false,hostname,ln,ls,mkdir,mknod} /bin 88 96 mv -v /usr/bin/{mv,pwd,rm,rmdir,stty,true,uname} /bin 89 97 mv -v /usr/bin/chroot /usr/sbin</userinput></screen> 90 98 91 <para os=" v">Other Coreutils programs are used by some of the scripts99 <para os="t">Other Coreutils programs are used by some of the scripts 92 100 in the CLFS-Bootscripts package. As <filename 93 101 class="directory">/usr</filename> may not be available during the early 94 102 stages of booting, those binaries need to be on the root partition:</para> 95 103 96 <screen os=" w"><userinput>mv -v /usr/bin/{[,basename,head,install,nice} /bin104 <screen os="u"><userinput>mv -v /usr/bin/{[,basename,head,install,nice} /bin 97 105 mv -v /usr/bin/{readlink,sleep,sync,test,touch} /bin 98 106 ln -svf ../../bin/install /usr/bin</userinput></screen> … … 113 121 echo, env, expand, expr, factor, false, fmt, fold, groups, head, 114 122 hostid, hostname, id, install, join, link, ln, logname, ls, md5sum, 115 mkdir, mkfifo, mknod, mktemp, mv, nice, nl, nohup, od, paste, pathchk,116 p inky, pr, printenv, printf, ptx, pwd, readlink, rm, rmdir, runcon, seq,117 sha1sum, sha224sum, sha256sum, sha384sum, sha512sum, shred, shuf,118 s leep, sort, split, stat, stdbuf, stty, sum, sync, tac, tail, tee, test,119 timeout, touch, tr, true, truncate, tsort, tty, uname, unexpand, uniq,120 unlink, users, vdir, wc, who, whoami, and yes</seg>123 mkdir, mkfifo, mknod, mktemp, mv, nice, nl, nohup, nproc, numfmt, od, paste, 124 pathchk, pinky, pr, printenv, printf, ptx, pwd, readlink, realpath, rm, 125 rmdir, runcon, seq, sha1sum, sha224sum, sha256sum, sha384sum, 126 sha512sum, shred, shuf, sleep, sort, split, stat, stdbuf, stty, sum, 127 sync, tac, tail, tee, test, timeout, touch, tr, true, truncate, tsort, 128 tty, uname, unexpand, uniq, unlink, users, vdir, wc, who, whoami, and yes</seg> 121 129 <seg>libstdbuf.so</seg> 122 130 <seg>/usr/lib/coreutils</seg> … … 636 644 </varlistentry> 637 645 646 <varlistentry id="nproc"> 647 <term><command>nproc</command></term> 648 <listitem> 649 <para>Prints the number of processing units available to the current 650 process</para> 651 <indexterm zone="ch-system-coreutils nproc"> 652 <primary sortas="b-nproc">nproc</primary> 653 </indexterm> 654 </listitem> 655 </varlistentry> 656 657 <varlistentry id="numfmt"> 658 <term><command>numfmt</command></term> 659 <listitem> 660 <para>Converts numbers to or from human-readable strings</para> 661 <indexterm zone="ch-system-coreutils numfmt"> 662 <primary sortas="b-numfmt">numfmt</primary> 663 </indexterm> 664 </listitem> 665 </varlistentry> 666 638 667 <varlistentry id="od"> 639 668 <term><command>od</command></term> … … 736 765 <indexterm zone="ch-system-coreutils readlink"> 737 766 <primary sortas="b-readlink">readlink</primary> 767 </indexterm> 768 </listitem> 769 </varlistentry> 770 771 <varlistentry id="realpath"> 772 <term><command>realpath</command></term> 773 <listitem> 774 <para>Prints the resolved path</para> 775 <indexterm zone="ch-system-coreutils realpath"> 776 <primary sortas="b-realpath">realpath</primary> 738 777 </indexterm> 739 778 </listitem>
Note:
See TracChangeset
for help on using the changeset viewer.