From ddd554266cd757b9da553e430eeb408bf8bbc5c4 Mon Sep 17 00:00:00 2001 From: Manuel Canales Esparcia Date: Fri, 10 Feb 2006 19:05:30 +0000 Subject: [PATCH] Finished the XML indentation plus few tags changes. git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@7369 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689 --- chapter01/changelog.xml | 10 + chapter06/shadow.xml | 767 ++++++++++--------- chapter06/strippingagain.xml | 64 +- chapter06/sysklogd.xml | 156 ++-- chapter06/sysvinit.xml | 425 ++++++----- chapter06/tar.xml | 137 ++-- chapter06/texinfo.xml | 277 ++++--- chapter06/udev.xml | 381 +++++----- chapter06/util-linux.xml | 1337 +++++++++++++++++++--------------- chapter06/vim.xml | 614 +++++++++------- chapter06/zlib.xml | 141 ++-- general.ent | 4 +- 12 files changed, 2434 insertions(+), 1879 deletions(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 685031f6d..addbcc9d6 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -36,6 +36,16 @@ --> + + Febraury 10, 2006 + + + [manuel] - Finished the XML indentation plus few tags + changes. + + + + January 30, 2006 diff --git a/chapter06/shadow.xml b/chapter06/shadow.xml index f4f2cff01..c5a5ebc9c 100644 --- a/chapter06/shadow.xml +++ b/chapter06/shadow.xml @@ -1,440 +1,541 @@ - %general-entities; ]> + -Shadow-&shadow-version; - + -Shadow + Shadow-&shadow-version; - -<para>The Shadow package contains programs for handling passwords in a secure -way.</para> + <indexterm zone="ch-system-shadow"> + <primary sortas="a-Shadow">Shadow</primary> + </indexterm> -<segmentedlist> -<segtitle>&buildtime;</segtitle> -<segtitle>&diskspace;</segtitle> -<seglistitem><seg>0.4 SBU</seg><seg>14.7 MB</seg></seglistitem> -</segmentedlist> + <sect2 role="package"> + <title/> -<segmentedlist> -<segtitle>&dependencies;</segtitle> -<seglistitem><seg>Bash, Binutils, Bison, Coreutils, -Diffutils, GCC, Gettext, Glibc, Grep, Make, and Sed</seg></seglistitem> -</segmentedlist> -</sect2> + <para>The Shadow package contains programs for handling passwords in a secure + way.</para> -<sect2 role="installation"> -<title>Installation of Shadow + + &buildtime; + &diskspace; -If you would like to enforce the use of strong passwords, refer to - for installing Cracklib -prior to building Shadow. Then add --with-libcrack to the -configure command below. + + 0.4 SBU + 14.7 MB + + -Prepare Shadow for compilation: + + &dependencies; + + + Bash, Binutils, Bison, Coreutils, Diffutils, GCC, Gettext, + Glibc, Grep, Make, and Sed + + + + + + + Installation of Shadow + + + If you would like to enforce the use of strong passwords, refer to + for installing + Cracklib prior to building Shadow. Then add + --with-libcrack to the configure + command below. + + + Prepare Shadow for compilation: ./configure --libdir=/lib --enable-shared --without-selinux -The meaning of the configure options: + + The meaning of the configure options: - - ---without-selinux -Support for selinux is enabled by default, but selinux is not -built in a base LFS system. The configure script will fail -if this option is not used. - - + + --without-selinux + + Support for selinux is enabled by default, but selinux is not + built in a base LFS system. The configure script + will fail if this option is not used. + + -Disable the installation of the groups program and its man page, as Coreutils provides a better version: + + + Disable the installation of the groups program + and its man page, as Coreutils provides a better version: sed -i 's/groups$(EXEEXT) //' src/Makefile find man -name Makefile -exec sed -i '/groups/d' {} \; -Disable the installation of Chinese and Korean manual pages, since Man-DB -cannot format them properly: + Disable the installation of Chinese and Korean manual pages, since + Man-DB cannot format them properly: sed -i -e 's/ ko//' -e 's/ zh_CN zh_TW//' man/Makefile -Compile the package: + Compile the package: make -This package does not come with a test suite. + This package does not come with a test suite. -Install the package: + Install the package: make install -Shadow uses two files to configure -authentication settings for the system. Install these two configuration -files: + Shadow uses two files to configure + authentication settings for the system. Install these two configuration + files: -/etc/limits -/etc/login.access + + /etc/limits + + + + /etc/login.access + cp -v etc/{limits,login.access} /etc -Instead of using the default crypt method, -use the more secure MD5 method of password -encryption, which also allows passwords longer than 8 characters. It -is also necessary to change the obsolete /var/spool/mail location for user -mailboxes that Shadow uses by default to the /var/mail location used currently. Both -of these can be accomplished by changing the relevant configuration -file while copying it to its destination: + Instead of using the default + crypt method, use the more secure + MD5 method of password encryption, which also allows + passwords longer than 8 characters. It is also necessary to change the + obsolete /var/spool/mail location + for user mailboxes that Shadow uses by default to the /var/mail location used currently. Both of + these can be accomplished by changing the relevant configuration file + while copying it to its destination: -/etc/login.defs + + /etc/login.defs + -If you built Shadow with Cracklib support, insert the following into -the sed given below: + + If you built Shadow with Cracklib support, insert the following into + the sed given below: -e 's@DICTPATH.*@DICTPATH\t/lib/cracklib/pw_dict@' - + sed -e's@#MD5_CRYPT_ENAB.no@MD5_CRYPT_ENAB yes@' \ -e 's@/var/spool/mail@/var/mail@' \ etc/login.defs > /etc/login.defs -Move a misplaced program to its proper location: + Move a misplaced program to its proper location: mv -v /usr/bin/passwd /bin -Move Shadow's libraries to more appropriate locations: + Move Shadow's libraries to more appropriate locations: mv -v /lib/libshadow.*a /usr/lib rm -v /lib/libshadow.so ln -sfv ../../lib/libshadow.so.0 /usr/lib/libshadow.so -The -D option of the -useradd program requires the /etc/default directory for it to work -properly: + The -D option of the + useradd program requires the /etc/default directory for it to work + properly: mkdir -v /etc/default - + + + Configuring Shadow -Configuring Shadow - -Shadow -configuring + + Shadow + configuring + -This package contains utilities to add, modify, and delete users -and groups; set and change their passwords; and perform other -administrative tasks. For a full explanation of what -password shadowing means, see the -doc/HOWTO file within the unpacked source tree. -If using Shadow support, keep in mind that programs which need to -verify passwords (display managers, FTP programs, pop3 daemons, etc.) -must be Shadow-compliant. That is, they need to be able to work with -shadowed passwords. + This package contains utilities to add, modify, and delete users and + groups; set and change their passwords; and perform other administrative + tasks. For a full explanation of what password shadowing + means, see the doc/HOWTO file within the unpacked + source tree. If using Shadow support, keep in mind that programs which need + to verify passwords (display managers, FTP programs, pop3 daemons, etc.) + must be Shadow-compliant. That is, they need to be able to work with + shadowed passwords. -To enable shadowed passwords, run the following command: + To enable shadowed passwords, run the following command: pwconv -To enable shadowed group passwords, run: + To enable shadowed group passwords, run: grpconv -Under normal circumstances, passwords will not have been created -yet. However, if returning to this section later to enable shadowing, -reset any current user passwords with the passwd -command or any group passwords with the gpasswd -command. + Under normal circumstances, passwords will not have been created + yet. However, if returning to this section later to enable shadowing, + reset any current user passwords with the passwd + command or any group passwords with the gpasswd + command. - + + + Setting the root password - -Setting the root password - -Choose a password for user root and set it -by running: + Choose a password for user root and set it + by running: passwd root - + -Contents of Shadow + + Contents of Shadow - -Installed programs -Installed libraries -chage, chfn, chpasswd, chsh, expiry, faillog, gpasswd, -groupadd, groupdel, groupmod, grpck, grpconv, grpunconv, lastlog, login, -logoutd, newgrp, newusers, passwd, pwck, pwconv, pwunconv, sg (link to newgrp), -su, useradd, userdel, usermod, vigr (link to vipw), and vipw -libshadow.[a,so] - - + + Installed programs + Installed libraries -Short Descriptions - - + + chage, chfn, chpasswd, chsh, expiry, faillog, gpasswd, groupadd, + groupdel, groupmod, grpck, grpconv, grpunconv, lastlog, login, logoutd, + newgrp, newusers, passwd, pwck, pwconv, pwunconv, sg (link to newgrp), + su, useradd, userdel, usermod, vigr (link to vipw), and vipw + libshadow.[a,so] + + - -chage - -Used to change the maximum number of days between obligatory -password changes -chage - - + + Short Descriptions + + - -chfn - -Used to change a user's full name and other information -chfn - - + + chage + + Used to change the maximum number of days between obligatory + password changes + + chage + + + - -chpasswd - -Used to update the passwords of an entire series of user -accounts -chpasswd - - + + chfn + + Used to change a user's full name and other information + + chfn + + + - -chsh - -Used to change a user's default login shell -chsh - - + + chpasswd + + Used to update the passwords of an entire series of user + accounts + + chpasswd + + + - -expiry - -Checks and enforces the current password expiration policy -expiry - - + + chsh + + Used to change a user's default login shell + + chsh + + + - -faillog - -Is used to examine the log of login failures, to set a maximum number of -failures before an account is blocked, or to reset the failure count -faillog - - + + expiry + + Checks and enforces the current password expiration policy + + expiry + + + - -gpasswd - -Is used to add and delete members and administrators to groups -gpasswd - - + + faillog + + Is used to examine the log of login failures, to set a maximum + number of failures before an account is blocked, or to reset the + failure count + + faillog + + + - -groupadd - -Creates a group with the given name -groupadd - - + + gpasswd + + Is used to add and delete members and administrators to + groups + + gpasswd + + + - -groupdel - -Deletes the group with the given name -groupdel - - + + groupadd + + Creates a group with the given name + + groupadd + + + - -groupmod - -Is used to modify the given group's name or GID -groupmod - - + + groupdel + + Deletes the group with the given name + + groupdel + + + - -grpck - -Verifies the integrity of the group files /etc/group -and /etc/gshadow -grpck - - + + groupmod + + Is used to modify the given group's name or GID + + groupmod + + + - -grpconv - -Creates or updates the shadow group file from the normal group file -grpconv - - + + grpck + + Verifies the integrity of the group files + /etc/group and + /etc/gshadow + + grpck + + + - -grpunconv - -Updates /etc/group -from /etc/gshadow and then deletes the latter -grpunconv - - + + grpconv + + Creates or updates the shadow group file from the normal + group file + + grpconv + + + - -lastlog - -Reports the most recent login of all users or of a given user -lastlog - - + + grpunconv + + Updates /etc/group from + /etc/gshadow and then deletes the latter + + grpunconv + + + - -login - -Is used by the system to let users sign on -login - - + + lastlog + + Reports the most recent login of all users or of a + given user + + lastlog + + + - -logoutd - -Is a daemon used to enforce restrictions on log-on time and ports -logoutd - - + + login + + Is used by the system to let users sign on + + login + + + - -newgrp - -Is used to change the current GID during a login session -newgrp - - + + logoutd + + Is a daemon used to enforce restrictions on log-on time + and ports + + logoutd + + + - -newusers - -Is used to create or update an entire series of user accounts -newusers - - + + newgrp + + Is used to change the current GID during a login session + + newgrp + + + - -passwd - -Is used to change the password for a user or group account -passwd - - + + newusers + + Is used to create or update an entire series of user + accounts + + newusers + + + - -pwck - -Verifies the integrity of the password files -/etc/passwd and /etc/shadow -pwck - - + + passwd + + Is used to change the password for a user or group account + + passwd + + + - -pwconv - -Creates or updates the shadow password file from the normal -password file -pwconv - - + + pwck + + Verifies the integrity of the password files + /etc/passwd and + /etc/shadow + + pwck + + + - -pwunconv - -Updates /etc/passwd -from /etc/shadow and then deletes the latter -pwunconv - - + + pwconv + + Creates or updates the shadow password file from the normal + password file + + pwconv + + + - -sg - -Executes a given command while the user's GID -is set to that of the given group -sg - - + + pwunconv + + Updates /etc/passwd from + /etc/shadow and then deletes the latter + + pwunconv + + + - -su - -su -Runs a shell with substitute user and group IDs - - + + sg + + Executes a given command while the user's GID + is set to that of the given group + + sg + + + - -useradd - -Creates a new user with the given name, or updates the default -new-user information -useradd - - + + su + + Runs a shell with substitute user and group IDs + + su + + + - -userdel - -Deletes the given user account -userdel - - + + useradd + + Creates a new user with the given name, or updates the default + new-user information + + useradd + + + - -usermod - -Is used to modify the given user's login name, User -Identification (UID), -shell, initial group, home directory, etc. -usermod - - + + userdel + + Deletes the given user account + + userdel + + + - -vigr - -Edits the /etc/group or -/etc/gshadow files -vigr - - + + usermod + + Is used to modify the given user's login name, User + Identification (UID), shell, initial group, home directory, etc. + + usermod + + + - -vipw - -Edits the /etc/passwd or -/etc/shadow files -vipw - - + + vigr + + Edits the /etc/group or + /etc/gshadow files + + vigr + + + - -libshadow - -Contains functions used by most programs in this package -libshadow - - - + + vipw + + Edits the /etc/passwd or + /etc/shadow files + + vipw + + + - + + libshadow + + Contains functions used by most programs in this package + + libshadow + + + + + + + - diff --git a/chapter06/strippingagain.xml b/chapter06/strippingagain.xml index af1352e04..6ca4196eb 100644 --- a/chapter06/strippingagain.xml +++ b/chapter06/strippingagain.xml @@ -1,54 +1,56 @@ - %general-entities; ]> + -Stripping Again - + -If the intended user is not a programmer and does not plan to do -any debugging on the system software, the system size can be decreased -by about 200 MB by removing the debugging symbols from binaries and -libraries. This causes no inconvenience other than not being able to -debug the software fully anymore. + Stripping Again -Most people who use the command mentioned below do not -experience any difficulties. However, it is easy to make a typo and -render the new system unusable, so before running the -strip command, it is a good idea to make a -backup of the LFS system in its current state. + If the intended user is not a programmer and does not plan to do + any debugging on the system software, the system size can be decreased + by about 200 MB by removing the debugging symbols from binaries and + libraries. This causes no inconvenience other than not being able to + debug the software fully anymore. -Before performing the stripping, take special care to ensure that -none of the binaries that are about to be stripped are running. If -unsure whether the user entered chroot with the command given in - first exit from -chroot: + Most people who use the command mentioned below do not + experience any difficulties. However, it is easy to make a typo and + render the new system unusable, so before running the + strip command, it is a good idea to make a + backup of the LFS system in its current state. + + Before performing the stripping, take special care to ensure that + none of the binaries that are about to be stripped are running. If + unsure whether the user entered chroot with the command given in + first exit from + chroot: logout -Then reenter it with: + Then reenter it with: chroot $LFS /tools/bin/env -i \ HOME=/root TERM=$TERM PS1='\u:\w\$ ' \ PATH=/bin:/usr/bin:/sbin:/usr/sbin \ /tools/bin/bash --login -Now the binaries and libraries can be safely stripped: + Now the binaries and libraries can be safely stripped: /tools/bin/find /{,usr/}{bin,lib,sbin} -type f \ - -exec /tools/bin/strip --strip-debug '{}' ';' + -exec /tools/bin/strip --strip-debug '{}' ';' -A large number of files will be reported as having their file -format not recognized. These warnings can be safely ignored. These -warnings indicate that those files are scripts instead of -binaries. + A large number of files will be reported as having their file + format not recognized. These warnings can be safely ignored. These + warnings indicate that those files are scripts instead of + binaries. -If disk space is very tight, the ---strip-all option can be used on the binaries -in /{,usr/}{bin,sbin} to gain -several more megabytes. Do not use this option on libraries—they will -be destroyed. + If disk space is very tight, the + --strip-all option can be used on the binaries + in /{,usr/}{bin,sbin} to gain + several more megabytes. Do not use this option on libraries—they will + be destroyed. - diff --git a/chapter06/sysklogd.xml b/chapter06/sysklogd.xml index 221e62074..37ebda9c1 100644 --- a/chapter06/sysklogd.xml +++ b/chapter06/sysklogd.xml @@ -1,66 +1,85 @@ - %general-entities; ]> - -Sysklogd-&sysklogd-version; - -Sysklogd + + - -<para>The Sysklogd package contains programs for logging system messages, such -as those given by the kernel when unusual things happen.</para> + <title>Sysklogd-&sysklogd-version; - -&buildtime; -&diskspace; -0.1 SBU704 KB - + + Sysklogd + - -&dependencies; -Binutils, Coreutils, GCC, Glibc, Make - - + + -<sect2 role="installation"> -<title>Installation of Sysklogd + The Sysklogd package contains programs for logging system messages, + such as those given by the kernel when unusual things happen. -The following patch fixes various issues, including a problem building -Sysklogd with Linux 2.6 series kernels + + &buildtime; + &diskspace; + + + 0.1 SBU + 704 KB + + + + + &dependencies; + + + Binutils, Coreutils, GCC, Glibc, Make + + + + + + + Installation of Sysklogd + + The following patch fixes various issues, including a problem building + Sysklogd with Linux 2.6 series kernels patch -Np1 -i ../&sysklogd-fixes-patch; -The following patch makes sysklogd treat bytes in the 0x80--0x9f range -literally in the messages being logged, instead of replacing them with octal -codes. Unpatched sysklogd would damage messages in the UTF-8 encoding. + The following patch makes sysklogd treat bytes in the 0x80--0x9f range + literally in the messages being logged, instead of replacing them with octal + codes. Unpatched sysklogd would damage messages in the UTF-8 encoding. patch -Np1 -i ../&sysklogd-8bit-patch; -Compile the package: + Compile the package: make -This package does not come with a test suite. + This package does not come with a test suite. -Install the package: + Install the package: make install - + + + Configuring Sysklogd -Configuring Sysklogd - -Sysklogd -configuring + + Sysklogd + configuring + -/etc/syslog.conf + + /etc/syslog.conf + -Create a new /etc/syslog.conf file by running the -following: + Create a new /etc/syslog.conf file by running the + following: cat > /etc/syslog.conf << "EOF" # Begin /etc/syslog.conf @@ -79,40 +98,49 @@ local2.* -/var/log/boot.log # End /etc/syslog.conf EOF - + + + Contents of Sysklogd -Contents of Sysklogd + + Installed programs - -Installed programs -klogd and syslogd - + + klogd and syslogd + + -Short Descriptions - - + + Short Descriptions + + - -klogd - -A system daemon for intercepting and logging kernel messages -klogd - - + + klogd + + A system daemon for intercepting and logging kernel messages + + klogd + + + - -syslogd - -Logs the messages that system programs offer for logging. Every logged -message contains at least a date stamp and a hostname, and normally the -program's name too, but that depends on how trusting the logging daemon is told -to be -syslogd - - - + + syslogd + + Logs the messages that system programs offer for logging. Every + logged message contains at least a date stamp and a hostname, and + normally the program's name too, but that depends on how trusting the + logging daemon is told to be + + syslogd + + + - + + + diff --git a/chapter06/sysvinit.xml b/chapter06/sysvinit.xml index a82fdd9a8..e2d8677cb 100644 --- a/chapter06/sysvinit.xml +++ b/chapter06/sysvinit.xml @@ -1,69 +1,87 @@ - %general-entities; ]> + -Sysvinit-&sysvinit-version; - + -Sysvinit + Sysvinit-&sysvinit-version; - -<para>The Sysvinit package contains programs for controlling the startup, -running, and shutdown of the system.</para> + <indexterm zone="ch-system-sysvinit"> + <primary sortas="a-Sysvinit">Sysvinit</primary> + </indexterm> -<segmentedlist> -<segtitle>&buildtime;</segtitle> -<segtitle>&diskspace;</segtitle> -<seglistitem><seg>0.1 SBU</seg><seg>1012 KB</seg></seglistitem> -</segmentedlist> + <sect2 role="package"> + <title/> -<segmentedlist> -<segtitle>&dependencies;</segtitle> -<seglistitem><seg>Binutils, Coreutils, GCC, Glibc, and Make</seg></seglistitem> -</segmentedlist> -</sect2> + <para>The Sysvinit package contains programs for controlling the startup, + running, and shutdown of the system.</para> -<sect2 role="installation"> -<title>Installation of Sysvinit + + &buildtime; + &diskspace; -When run-levels are changed (for example, when halting the -system), init sends termination signals to those -processes that init itself started and that should -not be running in the new run-level. While doing this, -init outputs messages like Sending processes -the TERM signal which seem to imply that it is sending these -signals to all currently running processes. To avoid this -misinterpretation, modify the source so that these messages read like -Sending processes started by init the TERM signal -instead: + + 0.1 SBU1012 KB + + + + + &dependencies; + + + Binutils, Coreutils, GCC, Glibc, and Make + + + + + + + Installation of Sysvinit + + When run-levels are changed (for example, when halting the + system), init sends termination signals to those + processes that init itself started and that should + not be running in the new run-level. While doing this, + init outputs messages like Sending processes + the TERM signal which seem to imply that it is sending these + signals to all currently running processes. To avoid this + misinterpretation, modify the source so that these messages read like + Sending processes started by init the TERM signal + instead: sed -i 's@Sending processes@& started by init@g' \ src/init.c -Compile the package: + Compile the package: make -C src -This package does not come with a test suite. + This package does not come with a test suite. -Install the package: + Install the package: make -C src install - + + + Configuring Sysvinit -Configuring Sysvinit - -Sysvinit -configuring + + Sysvinit + configuring + -/etc/inittab + + /etc/inittab + -Create a new file /etc/inittab by running the -following: + Create a new file /etc/inittab by running the + following: cat > /etc/inittab << "EOF" # Begin /etc/inittab @@ -93,170 +111,209 @@ su:S016:once:/sbin/sulogin # End /etc/inittab EOF - + -Contents of Sysvinit + + Contents of Sysvinit - -Installed programs -halt, init, killall5, last, lastb (link to last), mesg, pidof (link to -killall5), poweroff (link to halt), reboot (link to halt), runlevel, shutdown, sulogin, telinit -(link to init), utmpdump, and wall - + + Installed programs -Short Descriptions - - + + halt, init, killall5, last, lastb (link to last), mesg, mountpoint, + pidof (link to killall5), poweroff (link to halt), reboot (link to halt), + runlevel, shutdown, sulogin, telinit (link to init), utmpdump, and + wall + + - -halt - -Normally invokes shutdown with the --h option, except when already in run-level 0, -then it tells the kernel to halt the system; it notes in the -file /var/log/wtmp that the system is being -brought down -halt - - + + Short Descriptions + + - -init - -The first process to be started when the kernel has initialized -the hardware which takes over the boot process and -starts all the proceses it is instructed to -init - - + + halt + + Normally invokes shutdown with the + -h option, except when already in run-level 0, + then it tells the kernel to halt the system; it notes in the + file /var/log/wtmp that the system is being + brought down + + halt + + + - -killall5 - -Sends a signal to all processes, except the processes in its own -session so it will not kill the shell running the script that called -it -killall5 - - + + init + + The first process to be started when the kernel has initialized + the hardware which takes over the boot process and starts all the + proceses it is instructed to + + init + + + - -last - -Shows which users last logged in (and out), -searching back through the /var/log/wtmp file; it -also shows system boots, shutdowns, and run-level changes -last - - + + killall5 + + Sends a signal to all processes, except the processes in its own + session so it will not kill the shell running the script that called + it + + killall5 + + + - -lastb - -Shows the failed login attempts, as logged in -/var/log/btmp -lastb - - + + last + + Shows which users last logged in (and out), searching back + through the /var/log/wtmp file; it also shows + system boots, shutdowns, and run-level changes + + last + + + - -mesg - -Controls whether other users can send messages to the current -user's terminal -mesg - - + + lastb + + Shows the failed login attempts, as logged in + /var/log/btmp + + lastb + + + - -mountpoint - -Checks if the directory is a mountpoint -mountpoint - - + + mesg + + Controls whether other users can send messages to the current + user's terminal + + mesg + + + - -pidof - -Reports the PIDs of the given programs -pidof - - + + mountpoint + + Checks if the directory is a mountpoint + + mountpoint + + + - -poweroff - -Tells the kernel to halt the system and switch off the computer -(see halt) -poweroff - - + + pidof + + Reports the PIDs of the given programs + + pidof + + + - -reboot - -Tells the kernel to reboot the system (see -halt) -reboot - - + + poweroff + + Tells the kernel to halt the system and switch off the computer + (see halt) + + poweroff + + + - -runlevel - -Reports the previous and the current run-level, as noted in the last run-level -record in /var/run/utmp -runlevel - - + + reboot + + Tells the kernel to reboot the system (see + halt) + + reboot + + + - -shutdown - -Brings the system down in a secure way, signaling all processes -and notifying all logged-in users -shutdown - - + + runlevel + + Reports the previous and the current run-level, as noted in the + last run-level record in /var/run/utmp + + runlevel + + + - -sulogin - -Allows root to log in; it is -normally invoked by init when the system goes into single user mode -sulogin - - + + shutdown + + Brings the system down in a secure way, signaling all processes + and notifying all logged-in users + + shutdown + + + - -telinit - -Tells init which run-level to change to -telinit - - + + sulogin + + Allows root to log in; + it is normally invoked by init when the system goes + into single user mode + + sulogin + + + - -utmpdump - -Displays the content of the given login file in a more -user-friendly format -utmpdump - - + + telinit + + Tells init which run-level to change to + + telinit + + + - -wall - -Writes a message to all logged-in users -wall - - - + + utmpdump + + Displays the content of the given login file in a more + user-friendly format + + utmpdump + + + - + + wall + + Writes a message to all logged-in users + + wall + + + + + + + - diff --git a/chapter06/tar.xml b/chapter06/tar.xml index c4fb7d67b..939b73f44 100644 --- a/chapter06/tar.xml +++ b/chapter06/tar.xml @@ -1,92 +1,117 @@ - %general-entities; ]> + -Tar-&tar-version; - + -Tar + Tar-&tar-version; - -<para>The Tar package contains an archiving program.</para> + <indexterm zone="ch-system-tar"> + <primary sortas="a-Tar">Tar</primary> + </indexterm> -<segmentedlist> -<segtitle>&buildtime;</segtitle> -<segtitle>&diskspace;</segtitle> -<seglistitem><seg>0.2 SBU</seg><seg>12.7 MB</seg></seglistitem> -</segmentedlist> + <sect2 role="package"> + <title/> -<segmentedlist> -<segtitle>&dependencies;</segtitle> -<seglistitem><seg>Bash, Binutils, Coreutils, -Diffutils, GCC, Gettext, Glibc, Grep, Make, and Sed</seg></seglistitem> -</segmentedlist> -</sect2> + <para>The Tar package contains an archiving program.</para> -<sect2 role="installation"> -<title>Installation of Tar + + &buildtime; + &diskspace; -Apply a patch to fix some issues with the test suite when using -GCC-&gcc-version;: + + 0.2 SBU + 12.7 MB + + + + + &dependencies; + + + Bash, Binutils, Coreutils, Diffutils, GCC, Gettext, Glibc, + Grep, Make, and Sed + + + + + + + Installation of Tar + + Apply a patch to fix some issues with the test suite when using + GCC-&gcc-version;: patch -Np1 -i ../&tar-gcc4_fix-patch; -Tar has a bug when the -S option is used -with files larger than 4 GB. The following patch properly fixes this issue: + Tar has a bug when the -S option is used + with files larger than 4 GB. The following patch properly fixes this + issue: patch -Np1 -i ../&tar-sparse_fix-patch; -Prepare Tar for compilation: + Prepare Tar for compilation: ./configure --prefix=/usr --bindir=/bin --libexecdir=/usr/sbin -Compile the package: + Compile the package: make -To test the results, issue: -make check. + To test the results, issue: + make check. -Install the package: + Install the package: make install - + -Contents of Tar + + Contents of Tar - -Installed programs -rmt and tar - + + Installed programs -Short Descriptions - - + + rmt and tar + + - -rmt - -Remotely manipulates a magnetic -tape drive through an interprocess communication connection -rmt - - + + Short Descriptions + + - -tar - -Creates, extracts files from, and lists the contents of archives, -also known as tarballs -tar - - - + + rmt + + Remotely manipulates a magnetic + tape drive through an interprocess communication connection + + rmt + + + - + + tar + + Creates, extracts files from, and lists the contents of archives, + also known as tarballs + + tar + + + + + + + - diff --git a/chapter06/texinfo.xml b/chapter06/texinfo.xml index 93c83c465..db6f979bd 100644 --- a/chapter06/texinfo.xml +++ b/chapter06/texinfo.xml @@ -1,86 +1,103 @@ - %general-entities; ]> + -Texinfo-&texinfo-version; - + -Texinfo + Texinfo-&texinfo-version; - -<para>The Texinfo package contains programs for reading, writing, and -converting info pages.</para> + <indexterm zone="ch-system-texinfo"> + <primary sortas="a-Texinfo">Texinfo</primary> + </indexterm> -<segmentedlist> -<segtitle>&buildtime;</segtitle> -<segtitle>&diskspace;</segtitle> -<seglistitem><seg>0.2 SBU</seg><seg>14.7 MB</seg></seglistitem> -</segmentedlist> + <sect2 role="package"> + <title/> -<segmentedlist> -<segtitle>&dependencies;</segtitle> -<seglistitem><seg>Bash, Binutils, Coreutils, -Diffutils, GCC, Gettext, Glibc, Grep, Make, Ncurses, and Sed</seg></seglistitem> -</segmentedlist> -</sect2> + <para>The Texinfo package contains programs for reading, writing, and + converting info pages.</para> -<sect2 role="installation"> -<title>Installation of Texinfo + + &buildtime; + &diskspace; -The info program makes assumptions such as that -a string occupies the same number of character cells on the screen and bytes -in memory and that one can break the string anywhere, which fail in -UTF-8 based locales. The patch below makes them valid -by falling back to English messages when a multibyte locale is in use: + + 0.2 SBU + 14.7 MB + + + + + &dependencies; + + + Bash, Binutils, Coreutils, Diffutils, GCC, Gettext, Glibc, + Grep, Make, Ncurses, and Sed + + + + + + + Installation of Texinfo + + The info program makes assumptions such as that + a string occupies the same number of character cells on the screen and + bytes in memory and that one can break the string anywhere, which fail + in UTF-8 based locales. The patch below makes them valid by falling back + to English messages when a multibyte locale is in use: patch -Np1 -i ../&texinfo-multibyte-patch; -Texinfo allows local users to overwrite arbitrary files via a symlink -attack on temporary files. Apply the following patch to fix this: + Texinfo allows local users to overwrite arbitrary files via a symlink + attack on temporary files. Apply the following patch to fix this: patch -Np1 -i ../&texinfo-tempfile_fix-patch; -Prepare Texinfo for compilation: + Prepare Texinfo for compilation: ./configure --prefix=/usr -Compile the package: + Compile the package: make -To test the results, issue: -make check. + To test the results, issue: + make check. -Install the package: + Install the package: make install -Optionally, install the components belonging in a TeX installation: + Optionally, install the components belonging in a TeX + installation: + make TEXMF=/usr/share/texmf install-tex -The meaning of the make parameter: + + The meaning of the make parameter: - - -TEXMF=/usr/share/texmf -The TEXMF makefile variable holds the location of the -root of the TeX tree if, for example, a TeX package will be installed -later. - - - + + TEXMF=/usr/share/texmf + + The TEXMF makefile variable holds the location + of the root of the TeX tree if, for example, a TeX package will be + installed later. + + -The Info documentation system uses a plain text file to hold its -list of menu entries. The file is located at -/usr/share/info/dir. Unfortunately, due to -occasional problems in the Makefiles of various packages, it can -sometimes get out of sync with the info pages installed on the -system. If the /usr/share/info/dir file ever -needs to be recreated, the following optional commands will accomplish -the task: + + + The Info documentation system uses a plain text file to hold its list of + menu entries. The file is located at /usr/share/info/dir. + Unfortunately, due to occasional problems in the Makefiles of various packages, + it can sometimes get out of sync with the info pages installed on the system. + If the /usr/share/info/dir file ever needs to be + recreated, the following optional commands will accomplish the task: cd /usr/share/info rm dir @@ -88,85 +105,105 @@ for f in * do install-info $f dir 2>/dev/null done - + -Contents of Texinfo + + Contents of Texinfo - -Installed programs -info, infokey, install-info, -makeinfo, texi2dvi, texi2pdf, and texindex - + + Installed programs -Short Descriptions - - + + info, infokey, install-info, makeinfo, texi2dvi, texi2pdf, and + texindex + + - -info - -Used to read info pages which are similar to man pages, but often go much -deeper than just explaining all the available command line options. For example, -compare man bison and info bison. -info - - + + Short Descriptions + + - -infokey - -Compiles a source file containing Info customizations into a -binary format -infokey - - + + info + + Used to read info pages which are similar to man pages, but + often go much deeper than just explaining all the available command + line options. For example, compare man bison and + info bison. + + info + + + - -install-info - -Used to install info pages; it updates entries in the -info index file -install-info - - + + infokey + + Compiles a source file containing Info customizations into a + binary format + + infokey + + + - -makeinfo - -Translates the given Texinfo source documents into -info pages, plain text, or HTML -makeinfo - - + + install-info + + Used to install info pages; it updates entries in the + info index file + + install-info + + + - -texi2dvi - -Used to format the given Texinfo document into a -device-independent file that can be printed -texi2dvi - - + + makeinfo + + Translates the given Texinfo source documents into + info pages, plain text, or HTML + + makeinfo + + + - -texi2pdf - -Used to format the given Texinfo document into a -Portable Document Format (PDF) file -texi2pdf - - + + texi2dvi + + Used to format the given Texinfo document into a + device-independent file that can be printed + + texi2dvi + + + - -texindex - -Used to sort Texinfo index files -texindex - - - + + texi2pdf + + Used to format the given Texinfo document into a + Portable Document Format (PDF) file + + texi2pdf + + + - + + texindex + + Used to sort Texinfo index files + + texindex + + + + + + + - diff --git a/chapter06/udev.xml b/chapter06/udev.xml index 8b77b1b58..c53977ed2 100644 --- a/chapter06/udev.xml +++ b/chapter06/udev.xml @@ -1,217 +1,258 @@ - %general-entities; ]> + -Udev-&udev-version; - + -Udev + Udev-&udev-version; - -<para>The Udev package contains programs for dynamic creation of device nodes.</para> + <indexterm zone="ch-system-udev"> + <primary sortas="a-Udev">Udev</primary> + </indexterm> -<segmentedlist> -<segtitle>&buildtime;</segtitle> -<segtitle>&diskspace;</segtitle> -<seglistitem><seg>0.1 SBU</seg><seg>3.8 MB</seg></seglistitem> -</segmentedlist> + <sect2 role="package"> + <title/> -<segmentedlist> -<segtitle>&dependencies;</segtitle> -<seglistitem><seg>Coreutils and Make</seg></seglistitem> -</segmentedlist> + <para>The Udev package contains programs for dynamic creation of device + nodes.</para> -</sect2> + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> -<sect2 role="installation"> -<title>Installation of Udev + + 0.1 SBU + 3.8 MB + + -Compile the package: + + &dependencies; + + + Coreutils and Make + + + + + + + Installation of Udev + + Compile the package: make EXTRAS=extras/run_directory -The meaning of the make option: + + The meaning of the make option: - - - EXTRAS=extras/run_directory - - - This builds the udev_run_devd and - udev_run_hotplugd binaries, which are required for - correct handling of hotpluggable devices. - - - - + + EXTRAS=extras/run_directory + + This builds the udev_run_devd and + udev_run_hotplugd binaries, which are required + for correct handling of hotpluggable devices. + + -To test the results, issue: -make test. + -Install the package: + To test the results, issue: + make test. + + Install the package: make DESTDIR=/ EXTRAS=extras/run_directory install -The meaning of the make option: + + The meaning of the make parameter: - - - DESTDIR=/ - - - This prevents the Udev build process from killing any - udevd processes that may be running on the host - system. - - - - + + DESTDIR=/ + + This prevents the Udev build process from killing any + udevd processes that may be running on the + host system. + + -Udev's configuration is far from ideal by default, so install -the configuration files here: + + + Udev's configuration is far from ideal by default, so install + the configuration files here: cp -v ../&udev-config-file; /etc/udev/rules.d/25-lfs.rules -Install the documentation that explains how to create Udev rules: + Install the documentation that explains how to create Udev rules: install -m644 -D -v docs/writing_udev_rules/index.html /usr/share/doc/udev-&udev-version;/index.html - - -Run the udevstart program to create our full -complement of device nodes. + + + Run the udevstart program to create our full + complement of device nodes. /sbin/udevstart - + -Contents of Udev + + Contents of Udev - -Installed programs -Installed directory -udev, udev_run_devd, udev_run_hotplugd, udevcontrol, udevd, -udevinfo, udevmonitor, udevsend, udevstart, and udevtest -/etc/udev - + + Installed programs + Installed directory -Short Descriptions - - - - -udev - -Creates device nodes in /dev or renames network interfaces (not -in LFS) in response to hotplug events -udev - + + udev, udev_run_devd, udev_run_hotplugd, udevcontrol, udevd, + udevinfo, udevmonitor, udevsend, udevstart, and udevtest + /etc/udev + + - - udev_run_devd - - Executes programs and scripts in the - /etc/dev.d/ directory in response - to hotplug events - - - udev_run_devd - - - + + Short Descriptions + + - - udev_run_hotplugd - - Executes programs and scripts in the - /etc/hotplug.d/ directory in - response to hotplug events - - - udev_run_hotplugd - - - + + udev + + Creates device nodes in /dev + or renames network interfaces (not in LFS) in response to hotplug + events + + udev + + + - -udevcontrol - -Configures a number of options for the running udevd -daemon, such as the log level. -udevcontrol - - + + udev_run_devd + + Executes programs and scripts in the /etc/dev.d/ directory in response to + hotplug events + + udev_run_devd + + + - -udevd - -A daemon that reorders hotplug events before submitting them to -udev, -thus avoiding various race conditions -udevd - + + udev_run_hotplugd + + Executes programs and scripts in the /etc/hotplug.d/ directory in response + to hotplug events + + udev_run_hotplugd + + + - -udevinfo - -Allows users to query the udev database for -information on any device currently present on the system; it also -provides a way to query any device in the sysfs tree to help create udev -rules -udevinfo - + + udevcontrol + + Configures a number of options for the running + udevd daemon, such as the log level. + + udevcontrol + + + - -udevmonitor - -Prints the event received from the kernel and the event which -udev sends out after rule processing -udevmonitor - - + + udevd + + A daemon that reorders hotplug events before submitting them to + udev, thus avoiding various race conditions + + udevd + + + - -udevsend - -Delivers hotplug events to udevd -udevsend - + + udevinfo + + Allows users to query the udev database for + information on any device currently present on the system; it also + provides a way to query any device in the sysfs tree to help create udev + rules + + udevinfo + + + - -udevstart - -Creates device nodes in /dev that correspond to drivers compiled directly -into the kernel; it performs that task by simulating hotplug events presumably -dropped by the kernel before invocation of this program (e.g., because the root -filesystem has not been mounted) and submitting such synthetic hotplug events -to udev -udevstart - - + + udevmonitor + + Prints the event received from the kernel and the event which + udev sends out after rule processing + + udevmonitor + + + - -udevtest - -Simulates a udev run for the given device, -and prints out the name of the node the real udev would -have created or (not in LFS) the name of the renamed network interface -udevtest - + + udevsend + + Delivers hotplug events to udevd + + udevsend + + + - -/etc/udev - -Contains udev configuation files, -device permissions, and rules for device naming -/etc/udev - - - + + udevstart + + Creates device nodes in /dev + that correspond to drivers compiled directly into the kernel; it + performs that task by simulating hotplug events presumably dropped by + the kernel before invocation of this program (e.g., because the root + filesystem has not been mounted) and submitting such synthetic hotplug + events to udev + + udevstart + + + + + + udevtest + + Simulates a udev run for the given device, + and prints out the name of the node the real udev + would have created or (not in LFS) the name of the renamed network + interface + + udevtest + + + + + + /etc/udev + + Contains udev configuation files, + device permissions, and rules for device naming + + /etc/udev + + + + + + + - diff --git a/chapter06/util-linux.xml b/chapter06/util-linux.xml index 1903d7aea..a0c759294 100644 --- a/chapter06/util-linux.xml +++ b/chapter06/util-linux.xml @@ -1,629 +1,782 @@ - %general-entities; ]> + -Util-linux-&util-linux-version; - + -Util-linux + Util-linux-&util-linux-version; - -<para>The Util-linux package contains miscellaneous utility programs. Among -them are utilities for handling file systems, consoles, partitions, and -messages.</para> + <indexterm zone="ch-system-util-linux"> + <primary sortas="a-Util-linux">Util-linux</primary> + </indexterm> -<segmentedlist> -<segtitle>&buildtime;</segtitle> -<segtitle>&diskspace;</segtitle> -<seglistitem><seg>0.2 SBU</seg><seg>11.6 MB</seg></seglistitem> -</segmentedlist> + <sect2 role="package"> + <title/> -<segmentedlist> -<segtitle>&dependencies;</segtitle> -<seglistitem><seg>Bash, Binutils, Coreutils, -Diffutils, GCC, Gettext, Glibc, Grep, Make, Ncurses, Sed, and Zlib</seg></seglistitem> -</segmentedlist> -</sect2> + <para>The Util-linux package contains miscellaneous utility programs. Among + them are utilities for handling file systems, consoles, partitions, and + messages.</para> -<sect2 role="installation"> -<title>FHS compliance notes + + &buildtime; + &diskspace; -The FHS recommends using the /var/lib/hwclock directory instead of the -usual /etc directory as the -location for the adjtime file. To make the -hwclock program FHS-compliant, run the -following: + + 0.2 SBU + 11.6 MB + + + + + &dependencies; + + + Bash, Binutils, Coreutils, Diffutils, GCC, Gettext, Glibc, + Grep, Make, Ncurses, Sed, and Zlib + + + + + + + FHS compliance notes + + The FHS recommends using the /var/lib/hwclock directory instead of the + usual /etc directory as the + location for the adjtime file. To make the + hwclock program FHS-compliant, run the + following: sed -i 's@etc/adjtime@var/lib/hwclock/adjtime@g' \ hwclock/hwclock.c mkdir -p /var/lib/hwclock - + - -Installation of Util-linux + + Installation of Util-linux -Util-linux fails to compile against newer versions of Linux-Libc-Headers. -The following patch properly fixes this issue: + Util-linux fails to compile against newer versions of Linux-Libc-Headers. + The following patch properly fixes this issue: patch -Np1 -i ../&util-linux-cramfs-patch; -Prepare Util-linux for compilation: + Prepare Util-linux for compilation: ./configure -Compile the package: + Compile the package: make HAVE_KILL=yes HAVE_SLN=yes -The meaning of the make parameters: + + The meaning of the make parameters: - - -HAVE_KILL=yes -This prevents the -kill program (already installed by Procps) from being -built and installed again. - + + HAVE_KILL=yes + + This prevents the kill program (already + installed by Procps) from being built and installed again. + + - -HAVE_SLN=yes -This prevents the sln program (a -statically linked version of ln already installed -by Glibc) from being built and installed again. - - + + HAVE_SLN=yes + + This prevents the sln program (a + statically linked version of ln already installed + by Glibc) from being built and installed again. + + -This package does not come with a test suite. + -Install the package and move the logger binary to -/bin as it is needed by the -LFS-Bootscripts package: + This package does not come with a test suite. + + Install the package and move the logger binary to + /bin as it is needed by the + LFS-Bootscripts package: make HAVE_KILL=yes HAVE_SLN=yes install mv /usr/bin/logger /bin - - -Contents of Util-linux - - -Installed programs -agetty, arch, blockdev, cal, cfdisk, chkdupexe, col, colcrt, -colrm, column, ctrlaltdel, cytune, ddate, dmesg, elvtune, fdformat, fdisk, -fsck.cramfs, fsck.minix, getopt, hexdump, hwclock, ipcrm, ipcs, isosize, line, -logger, look, losetup, mcookie, mkfs, mkfs.bfs, mkfs.cramfs, mkfs.minix, mkswap, -more, mount, namei, pg, pivot_root, ramsize (link to rdev), raw, rdev, readprofile, -rename, renice, rev, rootflags (link to rdev), script, setfdprm, setsid, setterm, -sfdisk, swapdev, swapoff (link to swapon), swapon, tunelp, ul, umount, vidmode (link to rdev), -whereis, and write - - -Short Descriptions - - - - -agetty - -Opens a tty port, prompts for a login name, -and then invokes the login program -agetty - - - - -arch - -Reports the machine's architecture -arch - - - - -blockdev - -Allows users to call block device ioctls from the command line -blockdev - - - - -cal - -Displays a simple calendar -cal - - - - -cfdisk - -Manipulates the partition table of the given device -cfdisk - - - - -chkdupexe - -Finds duplicate executables -chkdupexe - - - - -col - -Filters out reverse line feeds -col - - - - -colcrt - -Filters nroff output for terminals -that lack some capabilities, such as overstriking and half-lines -colcrt - - - - -colrm - -Filters out the given columns -colrm - - - - -column - -Formats a given file into multiple columns -column - - - - -ctrlaltdel - -Sets the function of the Ctrl+Alt+Del key combination to a hard or a -soft reset -ctrlaltdel - - - - -cytune - -Tunes the parameters of the serial line drivers for -Cyclades cards -cytune - - - - -ddate - -Gives the Discordian date or converts the given Gregorian date -to a Discordian one -ddate - - - - -dmesg - -Dumps the kernel boot messages -dmesg - - - - -elvtune - -Tunes the performance and interactivity of a block -device -elvtune - - - - -fdformat - -Low-level formats a floppy disk -fdformat - - - - -fdisk - -Manipulates the partition table of the given device -fdisk - - - - -fsck.cramfs - -Performs a consistency check on the Cramfs file system on the -given device -fsck.cramfs - - - - -fsck.minix - -Performs a consistency check on the Minix file system on the -given device -fsck.minix - - - - -getopt - -Parses options in the given command line -getopt - - - - -hexdump - -Dumps the given file in hexadecimal or in another given format -hexdump - - - - -hwclock - -Reads or sets the system's hardware clock, also called -the Real-Time Clock (RTC) or Basic Input-Output System (BIOS) -clock -hwclock - - - - -ipcrm - -Removes the given Inter-Process Communication (IPC) resource -ipcrm - - - - -ipcs - -Provides IPC status information -ipcs - - - - -isosize - -Reports the size of an iso9660 file system -isosize - - - - -line - -Copies a single line -line - - - - -logger - -Enters the given message into the system log -logger - - - - -look - -Displays lines that begin with the given string -look - - - - -losetup - -Sets up and controls loop devices -losetup - - - - -mcookie - -Generates magic cookies (128-bit random hexadecimal numbers) for -xauth -mcookie - - - - -mkfs - -Builds a file system on a device (usually a hard disk -partition) -mkfs - - - - -mkfs.bfs - -Creates a Santa Cruz Operations (SCO) bfs file system -mkfs.bfs - - - - -mkfs.cramfs - -Creates a cramfs file system -mkfs.cramfs - - - - -mkfs.minix - -Creates a Minix file system -mkfs.minix - - - - -mkswap - -Initializes the given device or file to be used as a swap area -mkswap - - - - -more - -A filter for paging through text one screen at a time -more - - - - -mount - -Attaches the file system on the given device to a specified -directory in the file-system tree -mount - - - - -namei - -Shows the symbolic links in the given pathnames -namei - - - - -pg - -Displays a text file one screen full at a time -pg - - - - -pivot_root - -Makes the given file system the new root file system of the -current process -pivot_root - - - - -ramsize - -Sets the size of the RAM disk in a bootable image -ramsize - - - - -raw - -Used to bind a Linux raw character device to a block -device -raw - - - - -rdev - -Queries and sets the root device, among other things, in a -bootable image -rdev - - - - -readprofile - -Reads kernel profiling information -readprofile - - - - -rename - -Renames the given files, replacing a given string with another -rename - - - - -renice - -Alters the priority of running processes -renice - - - - -rev - -Reverses the lines of a given file -rev - - - - -rootflags - -Sets the rootflags in a bootable image -rootflags - - - - -script - -Makes a typescript of a terminal session -script - - - - -setfdprm - -Sets user-provided floppy disk parameters -setfdprm - - - - -setsid - -Runs the given program in a new session -setsid - - - - -setterm - -Sets terminal attributes -setterm - - - - -sfdisk - -A disk partition table manipulator -sfdisk - - - - -swapdev - -Sets the swap device in a bootable image -swapdev - - - - -swapoff - -Disables devices and files for paging and swapping -swapoff - - - - -swapon - -Enables devices and files for paging and swapping and lists the devices -and files currently in use -swapon - - - - -tunelp - -Tunes the parameters of the line printer -tunelp - - - - -ul - -A filter for translating underscores into -escape sequences indicating underlining for the terminal in use -ul - - - - -umount - -Disconnects a file system from the system's file tree -umount - - - - -vidmode - -Sets the video mode in a bootable image -vidmode - - - - -whereis - -Reports the location of the binary, source, and man page -for the given command -whereis - - - - -write - -Sends a message to the given user -if that user has not disabled receipt of such messages -write - - - - - + + + + Contents of Util-linux + + + Installed programs + + + agetty, arch, blockdev, cal, cfdisk, chkdupexe, col, colcrt, + colrm, column, ctrlaltdel, cytune, ddate, dmesg, elvtune, fdformat, + fdisk, fsck.cramfs, fsck.minix, getopt, hexdump, hwclock, ipcrm, + ipcs, isosize, line, logger, look, losetup, mcookie, mkfs, mkfs.bfs, + mkfs.cramfs, mkfs.minix, mkswap, more, mount, namei, pg, pivot_root, + ramsize (link to rdev), raw, rdev, readprofile, rename, renice, rev, + rootflags (link to rdev), script, setfdprm, setsid, setterm, sfdisk, + swapdev, swapoff (link to swapon), swapon, tunelp, ul, umount, vidmode + (link to rdev), whereis, and write + + + + + Short Descriptions + + + + + agetty + + Opens a tty port, prompts for a login name, + and then invokes the login program + + agetty + + + + + + arch + + Reports the machine's architecture + + arch + + + + + + blockdev + + Allows users to call block device ioctls from the command + line + + blockdev + + + + + + cal + + Displays a simple calendar + + cal + + + + + + cfdisk + + Manipulates the partition table of the given device + + cfdisk + + + + + + chkdupexe + + Finds duplicate executables + + chkdupexe + + + + + + col + + Filters out reverse line feeds + + col + + + + + + colcrt + + Filters nroff output for terminals + that lack some capabilities, such as overstriking and half-lines + + colcrt + + + + + + colrm + + Filters out the given columns + + colrm + + + + + + column + + Formats a given file into multiple columns + + column + + + + + + ctrlaltdel + + Sets the function of the Ctrl+Alt+Del key combination to a + hard or a soft reset + + ctrlaltdel + + + + + + cytune + + Tunes the parameters of the serial line drivers for + Cyclades cards + + cytune + + + + + + ddate + + Gives the Discordian date or converts the given Gregorian date + to a Discordian one + + ddate + + + + + + dmesg + + Dumps the kernel boot messages + + dmesg + + + + + + elvtune + + Tunes the performance and interactivity of a block + device + + elvtune + + + + + + fdformat + + Low-level formats a floppy disk + + fdformat + + + + + + fdisk + + Manipulates the partition table of the given device + + fdisk + + + + + + fsck.cramfs + + Performs a consistency check on the Cramfs file system on the + given device + + fsck.cramfs + + + + + + fsck.minix + + Performs a consistency check on the Minix file system on the + given device + + fsck.minix + + + + + + getopt + + Parses options in the given command line + + getopt + + + + + + hexdump + + Dumps the given file in hexadecimal or in another given + format + + hexdump + + + + + + hwclock + + Reads or sets the system's hardware clock, also called + the Real-Time Clock (RTC) or Basic Input-Output System (BIOS) + clock + + hwclock + + + + + + ipcrm + + Removes the given Inter-Process Communication (IPC) resource + + ipcrm + + + + + + ipcs + + Provides IPC status information + + ipcs + + + + + + isosize + + Reports the size of an iso9660 file system + + isosize + + + + + + line + + Copies a single line + + line + + + + + + logger + + Enters the given message into the system log + + logger + + + + + + look + + Displays lines that begin with the given string + + look + + + + + + losetup + + Sets up and controls loop devices + + losetup + + + + + + mcookie + + Generates magic cookies (128-bit random hexadecimal numbers) for + xauth + + mcookie + + + + + + mkfs + + Builds a file system on a device (usually a hard disk + partition) + + mkfs + + + + + + mkfs.bfs + + Creates a Santa Cruz Operations (SCO) bfs file system + + mkfs.bfs + + + + + + mkfs.cramfs + + Creates a cramfs file system + + mkfs.cramfs + + + + + + mkfs.minix + + Creates a Minix file system + + mkfs.minix + + + + + + mkswap + + Initializes the given device or file to be used as a swap + area + + mkswap + + + + + + more + + A filter for paging through text one screen at a time + + more + + + + + + mount + + Attaches the file system on the given device to a specified + directory in the file-system tree + + mount + + + + + + namei + + Shows the symbolic links in the given pathnames + + namei + + + + + + pg + + Displays a text file one screen full at a time + + pg + + + + + + pivot_root + + Makes the given file system the new root file system of the + current process + + pivot_root + + + + + + ramsize + + Sets the size of the RAM disk in a bootable image + + ramsize + + + + + + raw + + Used to bind a Linux raw character device to a block + device + + raw + + + + + + rdev + + Queries and sets the root device, among other things, in a + bootable image + + rdev + + + + + + readprofile + + Reads kernel profiling information + + readprofile + + + + + + rename + + Renames the given files, replacing a given string with + another + + rename + + + + + + renice + + Alters the priority of running processes + + renice + + + + + + rev + + Reverses the lines of a given file + + rev + + + + + + rootflags + + Sets the rootflags in a bootable image + + rootflags + + + + + + script + + Makes a typescript of a terminal session + + script + + + + + + setfdprm + + Sets user-provided floppy disk parameters + + setfdprm + + + + + + setsid + + Runs the given program in a new session + + setsid + + + + + + setterm + + Sets terminal attributes + + setterm + + + + + + sfdisk + + A disk partition table manipulator + + sfdisk + + + + + + swapdev + + Sets the swap device in a bootable image + + swapdev + + + + + + swapoff + + Disables devices and files for paging and swapping + + swapoff + + + + + + swapon + + Enables devices and files for paging and swapping and + lists the devices and files currently in use + + swapon + + + + + + tunelp + + Tunes the parameters of the line printer + + tunelp + + + + + + ul + + A filter for translating underscores into escape sequences + indicating underlining for the terminal in use + + ul + + + + + + umount + + Disconnects a file system from the system's file tree + + umount + + + + + + vidmode + + Sets the video mode in a bootable image + + vidmode + + + + + + whereis + + Reports the location of the binary, source, and man page + for the given command + + whereis + + + + + + write + + Sends a message to the given user if that + user has not disabled receipt of such messages + + write + + + + + + + - diff --git a/chapter06/vim.xml b/chapter06/vim.xml index d58dbb6b7..08e2d3661 100644 --- a/chapter06/vim.xml +++ b/chapter06/vim.xml @@ -1,128 +1,151 @@ - %general-entities; ]> + -Vim-&vim-version; - + -Vim + Vim-&vim-version; - -<para>The Vim package contains a powerful text editor.</para> + <indexterm zone="ch-system-vim"> + <primary sortas="a-Vim">Vim</primary> + </indexterm> -<segmentedlist> -<segtitle>&buildtime;</segtitle> -<segtitle>&diskspace;</segtitle> -<seglistitem><seg>0.4 SBU</seg><seg>38.0 MB</seg></seglistitem> -</segmentedlist> + <sect2 role="package"> + <title/> -<segmentedlist> -<segtitle>&dependencies;</segtitle> -<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils, -GCC, Glibc, Grep, Make, Ncurses, and Sed</seg></seglistitem> -</segmentedlist> + <para>The Vim package contains a powerful text editor.</para> -<tip> -<title>Alternatives to Vim -If you prefer another editor—such as Emacs, Joe, or -Nano—please refer to -for suggested installation instructions. - - + + &buildtime; + &diskspace; - -Installation of Vim + + 0.4 SBU + 38.0 MB + + -First, unpack both -vim-&vim-version;.tar.bz2 and (optionally) -vim-&vim-version;-lang.tar.gz archives into the -same directory. Then, change the default location of the -vimrc configuration file to /etc: + + &dependencies; + + + Bash, Binutils, Coreutils, Diffutils, GCC, Glibc, Grep, Make, + Ncurses, and Sed + + + + + Alternatives to Vim + + If you prefer another editor—such as Emacs, Joe, or + Nano—please refer to for suggested + installation instructions. + + + + + + Installation of Vim + + First, unpack both + vim-&vim-version;.tar.bz2 and (optionally) + vim-&vim-version;-lang.tar.gz archives into the + same directory. Then, change the default location of the + vimrc configuration file to /etc: echo '#define SYS_VIMRC_FILE "/etc/vimrc"' >> src/feature.h -Now prepare Vim for compilation: + Now prepare Vim for compilation: ./configure --prefix=/usr --enable-multibyte -The meaning of the configure options: + + The meaning of the configure options: - - ---enable-multibyte -This switch enables support for -editing files in multibyte character encodings. This is needed if using a -locale with a multibyte character set. This switch is also helpful to be able to -edit text files initially created in Linux distributions like Fedora Core that -use UTF-8 as a default character set. - - - + + --enable-multibyte + + This switch enables support for editing files in multibyte + character encodings. This is needed if using a locale with a + multibyte character set. This switch is also helpful to be able + to edit text files initially created in Linux distributions like + Fedora Core that use UTF-8 as a default character set. + + -Compile the package: + + + Compile the package: make -To test the results, issue: make test. However, -this test suite outputs a lot of binary data to the screen, which can cause -issues with the settings of the current terminal. This can be resolved by -redirecting the output to a log file. + To test the results, issue: make test. However, + this test suite outputs a lot of binary data to the screen, which can cause + issues with the settings of the current terminal. This can be resolved by + redirecting the output to a log file. -Install the package: + Install the package: make install -In UTF-8 locales, the vimtutor program -tries to convert the tutorials from ISO-8859-1 to UTF-8. Since -some tutorials are not in ISO-8859-1, the text in them is thus made unreadable. -If you unpacked the vim-&vim-version;-lang.tar.gz -archive and are going to use a UTF-8 based locale, remove non-ISO-8859-1 -tutorials. An English tutorial will be used instead. - + In UTF-8 locales, the vimtutor program tries to + convert the tutorials from ISO-8859-1 to UTF-8. Since some tutorials are + not in ISO-8859-1, the text in them is thus made unreadable. If you + unpacked the vim-&vim-version;-lang.tar.gz archive + and are going to use a UTF-8 based locale, remove non-ISO-8859-1 tutorials. + An English tutorial will be used instead. + rm -f /usr/share/vim/vim64/tutor/tutor.{gr,pl,ru,sk} rm -f /usr/share/vim/vim64/tutor/tutor.??.* -Many users are used to using vi instead of -vim. To allow execution of vim -when users habitually enter vi, create a -symlink: + Many users are used to using vi instead of + vim. To allow execution of vim + when users habitually enter vi, create a + symlink: ln -sv vim /usr/bin/vi -By default, Vim's documentation is installed in -/usr/share/vim. The following symlink -allows the documentation to be accessed via -/usr/share/doc/vim-&vim-version;, making -it consistent with the location of documentation for other packages: + By default, Vim's documentation is installed in /usr/share/vim. The following symlink + allows the documentation to be accessed via /usr/share/doc/vim-&vim-version;, making + it consistent with the location of documentation for other packages: ln -sv ../vim/vim64/doc /usr/share/doc/vim-&vim-version; -If an X Window System is going to be installed on the LFS -system, it may be necessary to recompile Vim after installing X. Vim -comes with a GUI version of the editor that requires X and some -additional libraries to be installed. For more information on this -process, refer to the Vim documentation and the Vim installation page -in the BLFS book at . + If an X Window System is going to be installed on the LFS + system, it may be necessary to recompile Vim after installing X. Vim + comes with a GUI version of the editor that requires X and some + additional libraries to be installed. For more information on this + process, refer to the Vim documentation and the Vim installation page + in the BLFS book at . - + -Configuring Vim -/etc/vimrc + + Configuring Vim -By default, vim runs in vi-incompatible mode. This may -be new to users who have used other editors in the past. The -nocompatible setting is included below to highlight the fact that -a new behavior is being used. It also reminds those who would change to -compatible mode that it should be the first setting in the -configuration file. This is necessary because it changes other settings, and -overrides must come after this setting. Create a default vim -configuration file by running the following: + + /etc/vimrc + + + By default, vim runs in vi-incompatible mode. + This may be new to users who have used other editors in the past. The + nocompatible setting is included below to highlight the + fact that a new behavior is being used. It also reminds those who would + change to compatible mode that it should be the first + setting in the configuration file. This is necessary because it changes + other settings, and overrides must come after this setting. Create a default + vim configuration file by running the following: cat > /etc/vimrc << "EOF" " Begin /etc/vimrc @@ -137,217 +160,272 @@ endif " End /etc/vimrc EOF -The set nocompatible makes -vim behave in a more useful way (the default) than -the vi-compatible manner. Remove the no to keep the -old vi behavior. The set -backspace=2 allows backspacing over line breaks, -autoindents, and the start of insert. The syntax -on enables vim's syntax highlighting. Finally, the -if statement with the set -background=dark corrects vim's guess -about the background color of some terminal emulators. This gives the -highlighting a better color scheme for use on the black background of -these programs. + The set nocompatible makes + vim behave in a more useful way (the default) than + the vi-compatible manner. Remove the no to keep the + old vi behavior. The set + backspace=2 allows backspacing over line breaks, + autoindents, and the start of insert. The syntax + on enables vim's syntax highlighting. Finally, the + if statement with the set + background=dark corrects vim's guess + about the background color of some terminal emulators. This gives the + highlighting a better color scheme for use on the black background of + these programs. -Documentation for other available options can be obtained by -running the following command: + Documentation for other available options can be obtained by + running the following command: vim -c ':options' - + -Contents of Vim + + Contents of Vim - -Installed programs -efm_filter.pl, efm_perl.pl, ex (link to vim), less.sh, mve.awk, -pltags.pl, ref, rview (link to vim), rvim (link to vim), shtags.pl, tcltags, vi (link to vim), -view (link to vim), vim, vim132, vim2html.pl, vimdiff (link to vim), vimm, vimspell.sh, -vimtutor, and xxd - + + Installed programs -Short Descriptions - - + + efm_filter.pl, efm_perl.pl, ex (link to vim), less.sh, mve.awk, + pltags.pl, ref, rview (link to vim), rvim (link to vim), shtags.pl, + tcltags, vi (link to vim), view (link to vim), vim, vim132, vim2html.pl, + vimdiff (link to vim), vimm, vimspell.sh, vimtutor, and xxd + + - -efm_filter.pl - -A filter for creating an error file that can be read by vim -efm_filter.pl - - + + Short Descriptions + + - -efm_perl.pl - -Reformats the error messages of the -Perl interpreter for use with the quickfix mode of vim -efm_perl.pl - - + + efm_filter.pl + + A filter for creating an error file that can be read + by vim + + efm_filter.pl + + + - -ex - -Starts vim in ex mode -ex - - + + efm_perl.pl + + Reformats the error messages of the Perl interpreter for use + with the quickfix mode of vim + + efm_perl.pl + + + - -less.sh - -A script that starts vim with less.vim -less.sh - - + + ex + + Starts vim in ex mode + + ex + + + - -mve.awk - -Processes vim errors -mve.awk - - + + less.sh + + A script that starts vim with less.vim + + less.sh + + + - -pltags.pl - -Creates a tags file for Perl code for use by vim -pltags.pl - - + + mve.awk + + Processes vim errors + + mve.awk + + + - -ref - -Checks the spelling of arguments -ref - - + + pltags.pl + + Creates a tags file for Perl code for use by + vim + + pltags.pl + + + - -rview - -Is a restricted version of view; no shell -commands can be started and view cannot be suspended -rview - - + + ref + + Checks the spelling of arguments + + ref + + + - -rvim - -Is a restricted version of vim; no shell -commands can be started and vim cannot be suspended -rvim - - + + rview + + Is a restricted version of view; no shell + commands can be started and view cannot be + suspended + + rview + + + - -shtags.pl - -Generates a tags file for Perl scripts -shtags.pl - - + + rvim + + Is a restricted version of vim; no shell + commands can be started and vim cannot be + suspended + + rvim + + + - -tcltags - -Generates a tags file for TCL code -tcltags - - + + shtags.pl + + Generates a tags file for Perl scripts + + shtags.pl + + + - -view - -Starts vim in read-only mode -view - - + + tcltags + + Generates a tags file for TCL code + + tcltags + + + - -vi - -Is the editor -vi - - + + view + + Starts vim in read-only mode + + view + + + - -vim - -Is the editor -vim - - + + vi + + Link to vim + + vi + + + - -vim132 - -Starts vim with the terminal in 132-column mode -vim132 - - + + vim + + Is the editor + + vim + + + - -vim2html.pl - -Converts Vim documentation to HypterText Markup Language (HTML) -vim2html.pl - - + + vim132 + + Starts vim with the terminal in 132-column + mode + + vim132 + + + - -vimdiff - -Edits two or three versions of a file with vim and show differences -vimdiff - - + + vim2html.pl + + Converts Vim documentation to HypterText Markup Language + (HTML) + + vim2html.pl + + + - -vimm - -Enables the DEC locator input model on a remote terminal -vimm - - + + vimdiff + + Edits two or three versions of a file with vim + and show differences + + vimdiff + + + - -vimspell.sh - -Spell checks a file and generates the syntax statements necessary to -highlight in vim. This script requires the old Unix -spell command, which is provided neither in LFS nor in -BLFS -vimspell.sh - - + + vimm + + Enables the DEC locator input model on a remote terminal + + vimm + + + - -vimtutor - -Teaches the basic keys and commands of vim -vimtutor - - + + vimspell.sh + + Spell checks a file and generates the syntax statements + necessary to highlight in vim. This script + requires the old Unix spell command, which + is provided neither in LFS nor in BLFS + + vimspell.sh + + + - -xxd - -Creates a hex dump of the given file; it can -also do the reverse, so it can be used for binary patching -xxd - - - + + vimtutor + + Teaches the basic keys and commands of + vim + + vimtutor + + + - + + xxd + + Creates a hex dump of the given file; it can + also do the reverse, so it can be used for binary patching + + xxd + + + + + + + - diff --git a/chapter06/zlib.xml b/chapter06/zlib.xml index efe52b533..14dbbdbbe 100644 --- a/chapter06/zlib.xml +++ b/chapter06/zlib.xml @@ -1,105 +1,128 @@ - %general-entities; ]> + -Zlib-&zlib-version; - + -Zlib + Zlib-&zlib-version; - -<para>The Zlib package contains compression and decompression routines used by -some programs.</para> + <indexterm zone="ch-system-zlib"> + <primary sortas="a-Zlib">Zlib</primary> + </indexterm> -<segmentedlist> -<segtitle>&buildtime;</segtitle> -<segtitle>&diskspace;</segtitle> -<seglistitem><seg>0.1 SBU</seg><seg>2.7 MB</seg></seglistitem> -</segmentedlist> + <sect2 role="package"> + <title/> -<segmentedlist> -<segtitle>&dependencies;</segtitle> -<seglistitem><seg>Binutils, Coreutils, GCC, Glibc, Make, and Sed</seg></seglistitem> -</segmentedlist> -</sect2> + <para>The Zlib package contains compression and decompression routines used by + some programs.</para> -<sect2 role="installation"> -<title>Installation of Zlib + + &buildtime; + &diskspace; -Zlib is known to build its shared library incorrectly if -CFLAGS is specified in the environment. If using a -specified CFLAGS -variable, be sure to add the -fPIC directive to -the CFLAGS variable for the duration of the -configure command below, then remove it afterwards. + + 0.1 SBU + 2.7 MB + + -Prepare Zlib for compilation: + + &dependencies; + + + Binutils, Coreutils, GCC, Glibc, Make, and Sed + + + + + + + Installation of Zlib + + + Zlib is known to build its shared library incorrectly if + CFLAGS is specified in the environment. If using + a specified CFLAGS variable, be sure to add the + -fPIC directive to the CFLAGS + variable for the duration of the configure command below, then + remove it afterwards. + + + Prepare Zlib for compilation: ./configure --prefix=/usr --shared --libdir=/lib -Compile the package: + Compile the package: make -To test the results, issue: -make check. + To test the results, issue: + make check. -Install the shared library: + Install the shared library: make install -The previous command installed a .so file in /lib. We will remove it and relink it into -/usr/lib: + The previous command installed a .so file in /lib. We will remove it and relink it into + /usr/lib: rm -v /lib/libz.so ln -sfv ../../lib/libz.so.&zlib-version; /usr/lib/libz.so -Build the static library: + Build the static library: make clean ./configure --prefix=/usr make -To test the results again, issue: -make check. + To test the results again, issue: + make check. -Install the static library: + Install the static library: make install -Fix the permissions on the static library: + Fix the permissions on the static library: chmod -v 644 /usr/lib/libz.a - + + + Contents of Zlib -Contents of Zlib + + Installed libraries - -Installed libraries -libz.[a,so] - + + libz.[a,so] + + -Short Descriptions - - + + Short Descriptions + + - -libz - -Contains compression and decompression -functions used by some programs -libz - - - + + libz + + Contains compression and decompression functions used by + some programs + + libz + + + - + + + - diff --git a/general.ent b/general.ent index d242a872c..17afd4774 100644 --- a/general.ent +++ b/general.ent @@ -1,6 +1,6 @@ - - + +