Changeset 44c2fd8


Ignore:
Timestamp:
09/08/2002 09:54:14 PM (22 years ago)
Author:
Timothy Bauscher <timothy@…>
Branches:
10.0, 10.0-rc1, 10.1, 10.1-rc1, 11.0, 11.0-rc1, 11.0-rc2, 11.0-rc3, 11.1, 11.1-rc1, 11.2, 11.2-rc1, 11.3, 11.3-rc1, 12.0, 12.0-rc1, 12.1, 12.1-rc1, 6.0, 6.1, 6.1.1, 6.3, 6.4, 6.5, 6.6, 6.7, 6.8, 7.0, 7.1, 7.2, 7.3, 7.4, 7.5, 7.5-systemd, 7.6, 7.6-systemd, 7.7, 7.7-systemd, 7.8, 7.8-systemd, 7.9, 7.9-systemd, 8.0, 8.1, 8.2, 8.3, 8.4, 9.0, 9.1, arm, bdubbs/gcc13, ml-11.0, multilib, renodr/libudev-from-systemd, s6-init, trunk, v4_0, v4_1, v5_0, v5_1, v5_1_1, xry111/arm64, xry111/arm64-12.0, xry111/clfs-ng, xry111/lfs-next, xry111/loongarch, xry111/loongarch-12.0, xry111/loongarch-12.1, xry111/mips64el, xry111/pip3, xry111/rust-wip-20221008, xry111/update-glibc
Children:
e9d69fa6
Parents:
cb33ea8
Message:

Applied Alex\'s grammar patch

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@2082 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

Files:
15 edited

Legend:

Unmodified
Added
Removed
  • appendixa/makedev-desc.xml

    rcb33ea8 r44c2fd8  
    99
    1010<sect4><title>MAKEDEV</title>
    11 <para>MAKEDEV is a script that can help in creating the necessary static
    12 device files that usually reside in the /dev directory.  More
    13 information on device nodes can be found in the Linux Kernel source tree
    14 in <filename>Documentation/devices.txt</filename>.</para></sect4>
     11<para><filename>MAKEDEV</filename> is a script that creates the necessary
     12static device nodes usually residing in the
     13<filename class="directory">/dev</filename> directory.
     14Detailed information on device nodes can be found in the Linux kernel source
     15tree in <filename>Documentation/devices.txt</filename>.</para></sect4>
    1516
    1617</sect3>
  • chapter01/changelog.xml

    rcb33ea8 r44c2fd8  
    5353</itemizedlist>
    5454</para></listitem>
     55
     56<listitem><para>September 8th, 2002 [timothy]: Chapter 06: Applied Alex's
     57grammar changes patch.</para></listitem>
    5558
    5659<listitem><para>September 7th, 2002 [timothy]: Chapter 06 - Gzip:
  • chapter06/aboutdebug.xml

    rcb33ea8 r44c2fd8  
    33<?dbhtml filename="aboutdebug.html" dir="chapter06"?>
    44
    5 <para>Most programs and libraries by default are compiled with debugging
    6 symbols (gcc option -g).</para>
     5<para>Most programs and libraries are by default compiled with debugging
     6symbols included (with gcc option -g).</para>
    77
    8 <para>A program compiled with debugging symbols means a user can run a program
    9 or library through a debugger and the debugger's output will be user
    10 friendly. These debugging symbols also enlarge the program or library
    11 significantly.</para>
    12 
    13 <para>Before you start wondering whether these debugging symbols really make a
    14 big difference, here are some statistics. Use them to draw your own
    15 conclusion.</para>
     8<para>When debugging a program or library that was compiled with debugging
     9information included, the debugger can give you not only memory addresses
     10but also the names of the routines and variables.</para>
     11 
     12<para>But the inclusion of these debugging symbols enlarges a program or
     13library significantly. To get an idea of the amount of space these symbols
     14occupy, have a look at the following:</para>
    1615
    1716<itemizedlist>
    1817
    19 <listitem><para>A dynamic Bash binary
    20 with debugging symbols: 1.2 MB</para></listitem>
     18<listitem><para>a bash binary
     19with debugging symbols: 1200 KB</para></listitem>
    2120
    22 <listitem><para>A dynamic Bash binary
    23 without debugging symbols: 478 KB</para></listitem>
     21<listitem><para>a bash binary
     22without debugging symbols: 480 KB</para></listitem>
    2423
    25 <listitem><para>/lib and /usr/lib (glibc
    26 and gcc files) with debugging symbols: 87 MB</para></listitem>
     24<listitem><para>glibc and gcc files (/lib and /usr/lib)
     25with debugging symbols: 87 MB</para></listitem>
    2726
    28 <listitem><para>/lib and /usr/lib (glibc
    29 and gcc files) without debugging symbols: 16 MB</para></listitem>
     27<listitem><para>glibc and gcc files
     28without debugging symbols: 16 MB</para></listitem>
    3029
    3130</itemizedlist>
    3231
    33 <para>Sizes vary depending on which compiler was used and which C library
    34 version was used to link dynamic programs against, but results will be
    35 similar if you compare programs with and without debugging symbols.</para>
     32<para>Sizes may vary a little, depending on which compiler was used and
     33which C library. But when comparing programs with and without debugging
     34symbols, the difference will generally be a factor between 2 and 5.</para>
    3635
    37 <para>To remove debugging symbols from a binary (must be an a.out or ELF
    38 binary) run <userinput>strip --strip-debug filename</userinput>. Wildcards
    39 can be used to strip debugging symbols from multiple files (use something
    40 like <userinput>strip --strip-debug $LFS/usr/bin/*</userinput>). Most
    41 people will probably never use a debugger on software, so by removing
    42 those symbols a lot of disk space can be regained.</para>
     36<para>As most people will probably never use a debugger on their system
     37software, a lot of disk space can be regained by removing these symbols .</para>
     38
     39<para>To remove debugging symbols from a binary (which must be an a.out
     40or ELF binary), run <userinput>strip --strip-debug filename</userinput>.
     41Wildcards can be used to treat multiple files (use something like
     42<userinput>strip --strip-debug $LFS/static/bin/*</userinput>).</para>
    4343
    4444<para>For your convenience, chapter 9 includes one simple command to strip
    45 all debugging symbols from the programs and libraries on your system. You
    46 might find additional information in the optimization hint which can be
    47 found at <ulink url="&hints-root;optimization.txt"/>.</para>
     45all debugging symbols from all programs and libraries on your system.
     46Additional information on optimization you can find in the hint at
     47<ulink url="&hints-root;optimization.txt"/>.</para>
    4848
    4949</sect1>
  • chapter06/changingowner.xml

    rcb33ea8 r44c2fd8  
    33<?dbhtml filename="changingowner.html" dir="chapter06"?>
    44
    5 <para>Now we're in chroot, it is time to change the ownership of
    6 the files and directories that were installed in chapter 5 to root.
    7 Run the following command to do so:</para>
     5<para>The first thing we'll do, now that we're <emphasis>root</emphasis>,
     6is change the ownership of the files and directories installed in chapter 5
     7to root -- because when later we don't delete the
     8<filename class="directory">/static</filename> directory and start adding
     9new users, one of these users might end up owning the statically linked
     10programs, which is not a good idea.</para>
    811
    9 <para><screen><userinput>chown -R 0:0 /</userinput></screen></para>
     12<para>Run the following command to make root the owner of all the statically
     13linked programs:</para>
    1014
    11 <para>This command changes the ownership of the root partition to
    12 root. The command uses 0:0 instead of root:root, because the user name
    13 "root" can't be resolved, as glibc is not installed yet.</para>
     15<para><screen><userinput>chown -R 0:0 /static</userinput></screen></para>
     16
     17<para>The command uses "0:0" instead of "root:root", because there is no way
     18to resolve the name "root", as glibc hasn't been installed yet.</para>
    1419
    1520</sect1>
  • chapter06/chapter06.xml

    rcb33ea8 r44c2fd8  
    88&c6-changingowner;
    99&c6-creatingdirs;
     10&c6-mountproc;
     11&c6-mtablink;
     12&c6-createfiles;
    1013&c6-pwdgroup;
    11 &c6-mtablink;
    12 &c6-mountproc;
    13 &c6-createfiles;
    1414&c6-makedev;
    1515&c6-kernel;
  • chapter06/chroot.xml

    rcb33ea8 r44c2fd8  
    33<?dbhtml filename="chroot.html" dir="chapter06"?>
    44
    5 <para>It's time to enter our chroot'ed environment in order to install the
    6 rest of the software we need. Before you can chroot you need to change to
    7 the <emphasis>root</emphasis> user since only user
    8 <emphasis>root</emphasis> can use the <userinput>chroot</userinput>
    9 command.</para>
     5<para>It is time to enter the chroot'ed environment in order to begin installing
     6the packages we need. Before you can chroot, however, you need to become
     7<emphasis>root</emphasis>, since only <emphasis>root</emphasis>
     8can execute the <userinput>chroot</userinput> command.</para>
    109
    11 <para>Enter the following commands to enter the chroot'ed environment. From
    12 this point on there's no need to use the $LFS variable anymore, because
    13 everything a user does will be restricted to the LFS partition (since / is
    14 actually /mnt/lfs, but the shell doesn't know that).</para>
     10<para>Become <emphasis>root</emphasis> and run the following command
     11to enter the chroot'ed environment:</para>
    1512
    16 <para>&c6-chrootcmd;</para>
     13<para><screen><userinput>chroot $LFS /static/bin/env -i \
     14&nbsp;&nbsp;&nbsp;&nbsp;HOME=/root TERM=$TERM PS1='\u:\w\$ ' \
     15&nbsp;&nbsp;&nbsp;&nbsp;PATH=/bin:/usr/bin:/sbin:/usr/sbin:/static/bin \
     16&nbsp;&nbsp;&nbsp;&nbsp;/static/bin/bash --login</userinput></screen>
     17</para>
    1718
    18 <para>The -i option will clear all environment variables for as long as you
    19 are in the chroot'ed environment and only the HOME, TERM, PS1 and PATH
    20 variables are set. The TERM=$TERM construction will set the TERM variable
    21 inside chroot to the same value as outside chroot which is needed for
    22 programs like vim and less to operate properly. If you need other variables
    23 present, such as CFLAGS or CXXFLAGS, you need to set them again.</para>
     19<para>The <userinput>-i</userinput> option given to the
     20<userinput>env</userinput> command will clear all variables of the chroot'ed
     21environment. After that, only the HOME, TERM, PS1 and PATH variables are
     22set again. The TERM=$TERM construct will set the TERM variable inside chroot
     23to the same value as outside chroot; this variable is needed for programs
     24like vim and less to operate properly. If you need other variables present,
     25such as CFLAGS or CXXFLAGS, this is a good place to set them again.</para>
    2426
    25 <para>Now that we are inside a chroot'ed environment, we can continue to
    26 install all the basic system software. You have to make sure all the
    27 following commands in this and following chapters are run from within the
    28 chroot'ed environment. If you ever leave this environment for any reason
    29 (when rebooting for example) you must remember to enter chroot and mount
    30 $LFS/proc again (as will be discussed later) before continuing with the
    31 book.</para>
     27<para>From this point on there's no need anymore to use the $LFS variable,
     28because everything you do will be restricted to the LFS file system -- since
     29what the shell thinks is <filename class="directory">/</filename> is actually
     30<filename class="directory">/mnt/lfs</filename>.</para>
    3231
    33 <para>Note that the bash prompt will contain "I have no name!" This is
    34 normal because Glibc hasn't been installed yet.</para>
     32<para>You have to make sure all the commands in the rest of this chapter and
     33in the following chapters are run from within the chroot'ed environment.
     34If you ever leave this environment for any reason (rebooting for example),
     35you must remember to again enter chroot and mount proc (discussed later)
     36before continuing with the installations.</para>
     37
     38<para>Note that the bash prompt will say "I have no name!" This is
     39normal, as the Glibc package hasn't been installed yet.</para>
    3540
    3641</sect1>
     42
  • chapter06/chrootcmd.xml

    rcb33ea8 r44c2fd8  
    1 <screen><userinput>chroot $LFS /static/bin/env -i HOME=/root TERM=$TERM \
    2 &nbsp;&nbsp;&nbsp;&nbsp;PS1='\u:\w\$ ' \
    3 &nbsp;&nbsp;&nbsp;&nbsp;PATH=/bin:/usr/bin:/sbin:/usr/sbin:/static/bin \
    4 &nbsp;&nbsp;&nbsp;&nbsp;/static/bin/bash --login</userinput></screen>
     1
     2[delete me]
     3
  • chapter06/createfiles.xml

    rcb33ea8 r44c2fd8  
    44
    55<para>Some programs hard-wire paths to programs which don't exist yet. In
    6 order to satisfy these programs, we create the <filename>/bin/bash</filename>
    7 and <filename>/bin/sh</filename> symlinks.</para>
     6order to satisfy these programs, we create the symbolic links
     7<filename>/bin/bash</filename> and <filename>/bin/sh</filename>, both
     8pointing to the static <filename>bash</filename> program.</para>
    89
    9 <para>Create the /bin/bash and /bin/sh symlinks by running the following
    10 commands:</para>
     10<para>Create the <filename>/bin/bash</filename> and <filename>/bin/sh</filename>
     11symlinks by running the following commands:</para>
    1112
    1213<para><screen><userinput>ln -s /static/bin/bash /bin/bash &amp;&amp;
  • chapter06/creatingdirs.xml

    rcb33ea8 r44c2fd8  
    33<?dbhtml filename="creatingdirs.html" dir="chapter06"?>
    44
    5 <para>Let's now create the directory tree on the LFS partition based on
    6 the FHS standard, which can be found at
    7 <ulink url="http://www.pathname.com/fhs/"/>.
    8 Issuing the following commands will create a default directory layout:</para>
     5<para>Let's now create some structure in our LFS file system, let's create
     6a directory tree. Issuing the following commands will create a more or less
     7standard tree:</para>
    98 
    109<para><screen><userinput>mkdir -p /{bin,boot,dev/pts,etc/opt,home,lib,mnt,proc} &amp;&amp;
     
    2423ln -s ../var/tmp /usr</userinput></screen></para>
    2524
    26 <para>Normally, directories are created with permission mode 755, which isn't
    27 desired for all directories. The first change is a mode 0750 for the
    28 /root directory. This is to make sure that not just everybody can
    29 enter the /root directory (the same a user would do with his /home/username
    30 directory). The second change is a mode 1777 for the tmp
    31 directories. In this way any user can write to the /tmp and /var/tmp
    32 directories, but cannot remove other users's files from them (the latter is prohibited
    33 by the so-called "sticky bit" -- bit 1 in the 1777 bit mask).</para>
     25<para>Directories are by default created with permission mode 755, but this
     26isn't desirable for all directories. We will make two changes: one to the home
     27directory of root, and another to the directories for temporary files.</para>
    3428
    3529<para><screen><userinput>chmod 0750 /root &amp;&amp;
    3630chmod 1777 /tmp /var/tmp</userinput></screen></para>
    3731
     32<para>The first mode change ensures that not just everybody can enter the
     33<filename class="directory">/root</filename> directory -- the same
     34a normal user would do with his or her home directory.
     35The second mode change makes sure that any user can write to the
     36<filename class="directory">/tmp</filename> and
     37<filename class="directory">/var/tmp</filename> directories, but
     38cannot remove other users's files from them. The latter is prohibited
     39by the so-called "sticky bit" -- the highest bit in the 1777 bit mask.</para>
     40
    3841<para>Now that the directories are created, copy the source files that were
    39 downloaded in chapter 3 to some subdirectory under /usr/src (you
    40 will need to create the desired directory yourself).</para>
     42downloaded in chapter 3 to some subdirectory under
     43<filename class="directory">/usr/src</filename> (you
     44will have to create the desired subdirectory yourself).</para>
    4145
    4246<sect2>
    43 <title>FHS compliance notes</title>
     47<title>FHS compliance note</title>
    4448
    45 <para>The FHS stipulates that the /usr/local directory should contain the
    46 bin, games, include, lib, man, sbin, and share subdirectories. You can
    47 alter your /usr/local directory yourself if you want your system to be
    48 FHS-compliant.</para>
    49 
    50 <para>Also, the standard says that there should exist a /usr/share/games
    51 directory, which we don't much like for a base system. But feel free to
    52 make your system FHS-compliant if you wish. The FHS isn't precise as
    53 to the structure of the /usr/local/share subdirectories, so we took the
    54 liberty of creating the directories that we felt were needed.</para>
     49<para>We have based our directory tree on the FHS standard (available at
     50<ulink url="http://www.pathname.com/fhs/"/>). Besides the above created
     51tree this standard stipulates the existence of
     52<filename class="directory">/usr/local/games</filename> and
     53<filename class="directory">/usr/share/games</filename>, but we don't
     54much like these for a base system. However, feel free to make your system
     55FHS-compliant. As to the structure of the
     56<filename class="directory">/usr/local/share</filename> subdirectory the FHS
     57isn't precise, so we created here the directories that we think are needed.</para>
    5558
    5659</sect2>
  • chapter06/introduction.xml

    rcb33ea8 r44c2fd8  
    88and then start installing all the packages, one by one.</para>
    99 
    10 <para>The installation of all the software is pretty straightforward, and
    11 you will probably think it would be so much easier and shorter to give
    12 the generic installation instructions for a package here and only explain
    13 in full the installation of those packages that require an alternate
    14 method. Although we agree with that, we choose to give the
    15 full instructions for each and every package, simply to avoid any
    16 possible confusion and errors.</para>
     10<para>The installation of all this software is pretty straightforward,
     11and you will probably think it would be much shorter to give here
     12the generic installation instructions and explain in full only the
     13installation of those packages that require an alternate method.
     14Although we agree with that, we nevertheless choose to give the
     15full instructions for each and every package, simply to minimize
     16the possibilities for mistakes.</para>
    1717
    18 <para>If you plan to use compiler optimization for the packages
    19 installed in this chapter, take a look at the optimization hint
    20 at <ulink url="&hints-root;optimization.txt"/>.
    21 Compiler optimization can make a program run
    22 faster, but may also cause compilation problems. If you run into problems
    23 when using optimization, always try it without optimization to see if
    24 the problem persists.</para>
     18<para>If you plan to use compiler optimizations in this chapter,
     19take a look at the optimization hint at
     20<ulink url="&hints-root;optimization.txt"/>.
     21Compiler optimizations can make a program run faster, but they
     22may also cause compilation difficulties. If a package refuses
     23to compile when using optimization, try to compile it without
     24optimization and see if  the problem goes away.</para>
    2525
    26 <para>Please refrain from installing more than one package at a time, even
    27 if it may save you time (especially with dual CPU machines). If you install
    28 the wrong package at the wrong time, it may hard-wire program paths to
    29 <filename class="directory">$LFS/static</filename> which will cause the
    30 programs to stop working once the static directory is removed. The order
    31 packages are installed in this chapter have to be followed exactly to be
    32 sure nothing is hard-wiring the static paths.</para>
     26<para>The order in which packages are installed in this chapter has
     27to be strictly followed, to ensure that no program gets a path referring
     28to <filename class="directory">/static</filename> hard-wired into it.
     29For the same reason, <emphasis>do not </emphasis> compile packages
     30in parallel.  Compiling in parallel may save you some time (especially on
     31dual-CPU machines), but it could result in a program containing a
     32hard-wired path to <filename class="directory">/static</filename>,
     33which will cause the program to stop working when the static directory
     34is removed.</para>
    3335
    3436</sect1>
  • chapter06/makedev-exp.xml

    rcb33ea8 r44c2fd8  
    33
    44<para><userinput>./MAKEDEV -v generic:</userinput> This creates a whole
    5 bunch of generic devices. Normally, these are all the devices you need. It's possible
    6 that you are missing some special devices that are needed for your hardware
    7 configuration. Create them with ./MAKEDEV -v &lt;device&gt;. 
    8 The <userinput>generic-nopty</userinput> option does a similar job, but skips
    9 some devices which are not needed if you are using devpts.</para>
     5bunch of devices. Normally, these are all the devices you will need. But it
     6is possible that some special devices needed for your hardware configuration
     7are missing. Create these with ./MAKEDEV -v &lt;device&gt;. 
     8The <userinput>generic-nopty</userinput> option mostly creates the same
     9devices as <userinput>generic-nopty</userinput>, but skips those that aren't
     10needed if you are using devpts.</para>
    1011
    1112</sect2>
  • chapter06/makedev-inst.xml

    rcb33ea8 r44c2fd8  
    22<title>Creating devices</title>
    33
    4 <para>Note: the MAKEDEV-&makedev-version;.bz2 file you have unpacked is not
    5 an archive, so it won't create a directory for you to cd into.</para>
     4<para>(Note that unpacking the MAKEDEV-&makedev-version;.bz2 file doesn't create
     5a directory for you to cd into, as the file only contains a script.)</para>
    66
    7 <para>Create the device files by running the following commands:</para>
     7<para>Prepare for the creation of the device files by running the
     8following commands:</para>
    89
    910<para><screen><userinput>cp MAKEDEV-&makedev-version; /dev/MAKEDEV &amp;&amp;
     
    1112chmod 754 MAKEDEV</userinput></screen></para>
    1213
    13 <para>Now, depending on whether you are going to use devpts or not, you
    14 can run one of two commands:</para>
    15 
    16 <para>If you do not intend to use devpts, run:</para>
     14<para>Most people will now want to create devices by running:</para>
    1715<para><screen><userinput>./MAKEDEV -v generic</userinput></screen></para>
    1816
    19 <para>If you do intend to use devpts, then run:</para>
     17<para>But if you intend to use devpts, then run this instead:</para>
    2018<para><screen><userinput>./MAKEDEV -v generic-nopty</userinput></screen></para>
    2119
    22 <para>Note that if you aren't sure, it's best to use
    23 the <userinput>./MAKEDEV -v generic</userinput> command as this will
    24 ensure you have the devices you need.  If you are sure you are going to
    25 use devpts however, the other command makes sure that you don't create a
    26 set of devices which you don't require.</para>
     20<para>Note that if you aren't sure, it's best to use the
     21<userinput>./MAKEDEV -v generic</userinput> command as this will ensure you
     22have all the devices you need. But if you are certain you are going to use
     23devpts, the other command skips creating a set of devices you won't need.</para>
    2724
    28 <para>MAKEDEV will create hda[1-20] to hdh[1-20] and such, but keep in mind
    29 that you may not be able to use all of these devices due to kernel
    30 limits on the maximum number of partitions.</para>
     25<para><filename>MAKEDEV</filename> will create hda[1-20] to hdh[1-20] and
     26many more of such disk device nodes, but keep in mind that you probably won't
     27be able to use all of these, due to kernel limits on the maximum number of
     28partitions.</para>
    3129
    3230</sect2>
  • chapter06/mountproc.xml

    rcb33ea8 r44c2fd8  
    11<sect1 id="ch06-proc">
    2 <title>Mounting /proc file system</title>
     2<title>Mounting the proc file system</title>
    33<?dbhtml filename="proc.html" dir="chapter06"?>
    44
    55<para>In order for certain programs to function properly, the proc file
    6 system must be available from within the chroot'ed environment.
    7 A file system can be mounted as many times and in as many places
    8 as you'd like, so it's not a problem that the proc file system is already
    9 mounted on your host system, especially so because proc is a
     6system must be available within the chroot'ed environment.
     7As a file system can be mounted as many times and in as many places
     8as you like, it's not a problem that the proc file system is already
     9mounted on your host system -- especially so because proc is a
    1010virtual file system.</para>
    1111
    12 <para>The proc file system is mounted under /proc by running the
    13 following command.</para>
     12<para>The proc file system is mounted under
     13<filename class="directory">/proc</filename> by running the
     14following command:</para>
    1415
    1516<para><screen><userinput>mount proc /proc -t proc</userinput></screen></para>
  • chapter06/mtablink.xml

    rcb33ea8 r44c2fd8  
    11<sect1 id="ch06-mtablink">
    2 <title>Creating the /etc/mtab symlink</title>
     2<title>Creating the mtab symlink</title>
    33<?dbhtml filename="mtablink.html" dir="chapter06"?>
    44
    55<para>The next thing to do is to create a symlink pointing from
    6 /etc/mtab to /proc/mounts.  This is done using the following
    7 command:</para>
     6<filename>/etc/mtab</filename> to <filename>/proc/mounts</filename>.
     7This is done using the following command:</para>
    88
    99<para><screen><userinput>ln -s /proc/mounts /etc/mtab</userinput></screen></para>
    1010
    11 <para>Creating this symlink avoids problems which can occur if / is
    12 mounted read-only and the information in /etc/mtab is stale (i.e. out of
    13 date).  By creating the symlink to /proc/mounts, we ensure that
    14 /etc/mtab will always be up-to-date.</para>
     11<para>Creating this symlink avoids problems which can occur if
     12<filename class="directory">/</filename> is mounted read-only and the
     13information in <filename>/etc/mtab</filename> is stale (i.e. out of date).
     14By creating the symlink to <filename>/proc/mounts</filename>, we ensure that
     15the information on currently mounted devices is always up-to-date.</para>
    1516
    16 <para>Note that using this symlink requires that you have /proc
    17 filesystem support compiled into your kernel.  This is included by
    18 default and should not be removed unless you <emphasis>really</emphasis>
    19 know what you are doing as  many more things than just the /etc/mtab
    20 symlink depend on /proc being present.  In summary, make sure you have
    21 /proc filesystem support in your kernel.</para>
     17<para>Note that using this symlink requires that you have support for the
     18proc filesystem compiled into your kernel. This support is included by
     19default, and should not be removed unless you <emphasis>really</emphasis>
     20know what you are doing, as some more things besides the
     21<filename>/etc/mtab</filename> symlink depend on proc being present.
     22In short, make sure you have proc filesystem support in your kernel.</para>
    2223
    2324</sect1>
  • chapter06/pwdgroup.xml

    rcb33ea8 r44c2fd8  
    11<sect1 id="ch06-pwdgroup">
    2 <title>Creating passwd and group files</title>
     2<title>Creating the passwd and group files</title>
    33<?dbhtml filename="pwdgroup.html" dir="chapter06"?>
    44
    5 <para>In order for the user and the group "root" to be recognized and to be
    6 able to login, there need to be entries in the /etc/passwd and /etc/group file.
    7 Besides the group "root", a couple of other groups are recommended or needed
    8 by some packages. The groups created below aren't part of any standard.
    9 The LSB only recommends a group "bin" with GID 1 to be present besides
    10 "root". Other group names and GIDs can be chosen by the user.
    11 Well-written packages don't depend on GID numbers, but use the group's
    12 name; so it doesn't matter which GID a group has. Since there
    13 aren't any standards for groups, the groups created here are the groups the
    14 MAKEDEV script (the script that creates the device files in the /dev
    15 directory) mentions.</para>
     5<para>In order for root to be able to login and for the name "root" to be
     6recognized, there need to be relevant entries in the
     7<filename>/etc/passwd</filename> and
     8<filename>/etc/group</filename> files.</para>
    169
    17 <para>Create a new file <filename>/etc/passwd</filename> by running the
     10<para>Create the <filename>/etc/passwd</filename> file by running the
    1811following command:</para>
    1912
    2013<para><screen><userinput>echo "root:x:0:0:root:/root:/bin/bash" &gt; /etc/passwd</userinput></screen></para>
    2114
    22 <para>Create a new file <filename>/etc/group</filename> by running the
     15<para>The actual password for root (the "x" here is just a placeholder) will
     16be set later.</para>
     17
     18<para>Create the <filename>/etc/group</filename> file by running the
    2319following command:</para>
    2420
     
    3834<userinput>EOF</userinput></screen></para>
    3935
     36<para>The created groups aren't part of any standard -- they are the groups
     37that the MAKEDEV script in the next section uses.
     38Besides the group "root", the LSB recommends only a group "bin" with a GID
     39of 1 to be present. All other group names and GIDs can be chosen freely by
     40the user, as well-written packages don't depend on GID numbers but use the
     41group's name.</para>
     42
    4043</sect1>
    4144
Note: See TracChangeset for help on using the changeset viewer.