Ignore:
Timestamp:
04/13/2006 06:45:33 PM (18 years ago)
Author:
Archaic <archaic@…>
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.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, 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:
a0d96d25
Parents:
dd7ed7b
Message:

Merged the udev_update branch to trunk.

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • chapter06/createfiles.xml

    rdd7ed7b rd2c332bc  
    99  <?dbhtml filename="createfiles.html"?>
    1010
    11   <title>Creating Essential Symlinks</title>
     11  <title>Creating Essential Files and Symlinks</title>
     12
     13  <indexterm zone="ch-system-createfiles">
     14    <primary sortas="e-/etc/passwd">/etc/passwd</primary>
     15  </indexterm>
     16
     17  <indexterm zone="ch-system-createfiles">
     18    <primary sortas="e-/etc/group">/etc/group</primary>
     19  </indexterm>
     20
     21  <indexterm zone="ch-system-createfiles">
     22    <primary sortas="e-/var/run/utmp">/var/run/utmp</primary>
     23  </indexterm>
     24
     25  <indexterm zone="ch-system-createfiles">
     26    <primary sortas="e-/var/log/btmp">/var/log/btmp</primary>
     27  </indexterm>
     28
     29  <indexterm zone="ch-system-createfiles">
     30    <primary sortas="e-/var/log/lastlog">/var/log/lastlog</primary>
     31  </indexterm>
     32
     33  <indexterm zone="ch-system-createfiles">
     34    <primary sortas="e-/var/log/wtmp">/var/log/wtmp</primary>
     35  </indexterm>
    1236
    1337  <para>Some programs use hard-wired paths to programs which do not exist yet. In
     
    2145ln -sv bash /bin/sh</userinput></screen>
    2246
     47  <para>A proper Linux system maintains a list of the mounted file systems in
     48  the file <filename>/etc/mtab</filename>.  Normally, this file would be
     49  created when we mount a new file system. Since we will not be mounting any
     50  file systems inside our chroot environment, create an empty file for
     51  utilities that expect the presence of <filename>/etc/mtab</filename>:</para>
     52
     53<screen><userinput>touch /etc/mtab</userinput></screen>
     54
     55  <para>In order for user <systemitem class="username">root</systemitem> to be
     56  able to login and for the name <quote>root</quote> to be recognized, there
     57  must be relevant entries in the <filename>/etc/passwd</filename> and
     58  <filename>/etc/group</filename> files.</para>
     59
     60  <para>Create the <filename>/etc/passwd</filename> file by running the following
     61  command:</para>
     62
     63<screen><userinput>cat &gt; /etc/passwd &lt;&lt; "EOF"
     64<literal>root:x:0:0:root:/root:/bin/bash</literal>
     65EOF</userinput></screen>
     66
     67  <para>The actual password for <systemitem class="username">root</systemitem>
     68  (the <quote>x</quote> used here is just a placeholder) will be set later.</para>
     69
     70  <para>Create the <filename>/etc/group</filename> file by running the following
     71  command:</para>
     72
     73<screen><userinput>cat &gt; /etc/group &lt;&lt; "EOF"
     74<literal>root:x:0:
     75bin:x:1:
     76sys:x:2:
     77kmem:x:3:
     78tty:x:4:
     79tape:x:5:
     80daemon:x:6:
     81floppy:x:7:
     82disk:x:8:
     83lp:x:9:
     84dialout:x:10:
     85audio:x:11:
     86video:x:12:
     87utmp:x:13:
     88usb:x:14:
     89cdrom:x:15:</literal>
     90EOF</userinput></screen>
     91
     92  <para>The created groups are not part of any standard&mdash;they are groups
     93  decided on in part by the requirements of the Udev configuration in this
     94  chapter, and in part by common convention employed by a number of existing
     95  Linux distributions. The Linux Standard Base (LSB, available at <ulink
     96  url="http://www.linuxbase.org"/>) recommends only that, besides the group
     97  <systemitem class="groupname">root</systemitem> with a Group ID (GID) of 0,
     98  a group <systemitem class="groupname">bin</systemitem> with a GID of 1 be
     99  present. All other group names and GIDs can be chosen freely by the system
     100  administrator since well-written programs do not depend on GID numbers, but
     101  rather use the group's name.</para>
     102
     103  <para>To remove the <quote>I have no name!</quote> prompt, start a new
     104  shell. Since a full Glibc was installed in <xref
     105  linkend="chapter-temporary-tools"/> and the
     106  <filename>/etc/passwd</filename> and <filename>/etc/group</filename>
     107  files have been created, user name and group name resolution will now
     108  work.</para>
     109
     110<screen role="nodump"><userinput>exec /tools/bin/bash --login +h</userinput></screen>
     111
     112  <para>Note the use of the <parameter>+h</parameter> directive. This tells
     113  <command>bash</command> not to use its internal path hashing. Without this
     114  directive, <command>bash</command> would remember the paths to binaries it has
     115  executed. To ensure the use of the newly compiled binaries as soon as they are
     116  installed, the <parameter>+h</parameter> directive will be used for the duration
     117  of this chapter.</para>
     118
     119  <para>The <command>login</command>, <command>agetty</command>, and
     120  <command>init</command> programs (and others) use a number of log
     121  files to record information such as who was logged into the system and
     122  when. However, these programs will not write to the log files if they
     123  do not already exist. Initialize the log files and give them
     124  proper permissions:</para>
     125
     126<screen><userinput>touch /var/run/utmp /var/log/{btmp,lastlog,wtmp}
     127chgrp -v utmp /var/run/utmp /var/log/lastlog
     128chmod -v 664 /var/run/utmp /var/log/lastlog</userinput></screen>
     129
     130  <para>The <filename>/var/run/utmp</filename> file records the users
     131  that are currently logged in. The <filename>/var/log/wtmp</filename>
     132  file records all logins and logouts. The
     133  <filename>/var/log/lastlog</filename> file records when
     134  each user last logged in. The <filename>/var/log/btmp</filename> file
     135  records the bad login attempts.</para>
     136
    23137</sect1>
Note: See TracChangeset for help on using the changeset viewer.