diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 230171918..28a98b512 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -122,6 +122,9 @@ First a summary, then a detailed log. +September 29, 2005 [matt]: Add to commands +that accept it (fixes bug 1612). + September 26, 2005 [matt]: Upgrade to man-pages-2.08. diff --git a/chapter02/creatingfilesystem.xml b/chapter02/creatingfilesystem.xml index fcea5457c..1d3a66956 100644 --- a/chapter02/creatingfilesystem.xml +++ b/chapter02/creatingfilesystem.xml @@ -17,7 +17,7 @@ url="&blfs-root;view/svn/postlfs/filesystems.html"/>. To create an ext2 file system on the LFS partition, run the following: -mke2fs /dev/[xxx] +mke2fs -v /dev/[xxx] Replace [xxx] with the name of the LFS partition (hda5 in our previous example). @@ -38,22 +38,22 @@ stock e2fsprogs package and use the resulting binaries to re-create the filesystem on your LFS partition: cd /tmp -tar xjf /path/to/sources/e2fsprogs-&e2fsprogs-version;.tar.bz2 +tar -xjvf /path/to/sources/e2fsprogs-&e2fsprogs-version;.tar.bz2 cd e2fsprogs-&e2fsprogs-version; -mkdir build +mkdir -v build cd build ../configure make #note that we intentionally don't 'make install' here! -./misc/mke2fs /dev/[xxx] +./misc/mke2fs -v /dev/[xxx] cd /tmp -rm -rf e2fsprogs-&e2fsprogs-version; +rm -rfv e2fsprogs-&e2fsprogs-version; If a swap partition was created, it will need to be initialized for use by issuing the command below. If you are using an existing swap partition, there is no need to format it. -mkswap /dev/[yyy] +mkswap -v /dev/[yyy] Replace [yyy] with the name of the swap partition. diff --git a/chapter02/mounting.xml b/chapter02/mounting.xml index e9ffd2d26..37654087a 100644 --- a/chapter02/mounting.xml +++ b/chapter02/mounting.xml @@ -22,8 +22,8 @@ environment variable by running: Next, create the mount point and mount the LFS file system by running: -mkdir -p $LFS -mount /dev/[xxx] $LFS +mkdir -pv $LFS +mount -v /dev/[xxx] $LFS Replace [xxx] with the designation of the LFS partition. @@ -32,10 +32,10 @@ partition. class="directory">/ and another for /usr), mount them using: -mkdir -p $LFS -mount /dev/[xxx] $LFS -mkdir $LFS/usr -mount /dev/[yyy] $LFS/usr +mkdir -pv $LFS +mount -v /dev/[xxx] $LFS +mkdir -v $LFS/usr +mount -v /dev/[yyy] $LFS/usr Replace [xxx] and [yyy] with the appropriate partition diff --git a/chapter03/introduction.xml b/chapter03/introduction.xml index b6cfdc37b..b969b3cc8 100644 --- a/chapter03/introduction.xml +++ b/chapter03/introduction.xml @@ -35,7 +35,7 @@ of the building process. root, the following command before starting the download session: -mkdir $LFS/sources +mkdir -v $LFS/sources Make this directory writable and sticky. Sticky means that even if multiple users have write permission on a @@ -43,7 +43,7 @@ directory, only the owner of a file can delete the file within a sticky directory. The following command will enable the write and sticky modes: -chmod a+wt $LFS/sources +chmod -v a+wt $LFS/sources diff --git a/chapter04/addinguser.xml b/chapter04/addinguser.xml index bd096936b..7cb703824 100644 --- a/chapter04/addinguser.xml +++ b/chapter04/addinguser.xml @@ -68,12 +68,12 @@ password), give lfs a password: $LFS/tools by making lfs the directory owner: -chown lfs $LFS/tools +chown -v lfs $LFS/tools If a separate working directory was created as suggested, give user lfs ownership of this directory: -chown lfs $LFS/sources +chown -v lfs $LFS/sources Next, login as user lfs. This can be done via a virtual console, through a display manager, or with the diff --git a/chapter04/creatingtoolsdir.xml b/chapter04/creatingtoolsdir.xml index 15d1cbe4b..bed68fb17 100644 --- a/chapter04/creatingtoolsdir.xml +++ b/chapter04/creatingtoolsdir.xml @@ -21,14 +21,14 @@ linkend="chapter-temporary-tools"/>). Create the required directory by running the following as root: -mkdir $LFS/tools +mkdir -v $LFS/tools The next step is to create a /tools symlink on the host system. This will point to the newly-created directory on the LFS partition. Run this command as root as well: -ln -s $LFS/tools / +ln -sv $LFS/tools / The above command is correct. The ln command has a few syntactic variations, so be sure to check info coreutils ln and diff --git a/chapter05/adjusting.xml b/chapter05/adjusting.xml index 1991bd36d..302c1e1cd 100644 --- a/chapter05/adjusting.xml +++ b/chapter05/adjusting.xml @@ -41,7 +41,7 @@ dynamic linker that GCC will use: SPECFILE=`dirname $(gcc -print-libgcc-file-name)`/specs && gcc -dumpspecs > $SPECFILE && sed 's@^/lib/ld-linux.so.2@/tools&@g' $SPECFILE > tempspecfile && -mv -f tempspecfile $SPECFILE && +mv -vf tempspecfile $SPECFILE && unset SPECFILE It is recommended that the above @@ -69,7 +69,7 @@ This is explained in more detail later in this chapter. Run the following comman GCC_INCLUDEDIR=`dirname $(gcc -print-libgcc-file-name)`/include && find ${GCC_INCLUDEDIR}/* -maxdepth 0 -xtype d -exec rm -rf '{}' \; && -rm -f `grep -l "DO NOT EDIT THIS FILE" ${GCC_INCLUDEDIR}/*` && +rm -vf `grep -l "DO NOT EDIT THIS FILE" ${GCC_INCLUDEDIR}/*` && unset GCC_INCLUDEDIR At this point, it is imperative to stop and ensure that @@ -109,7 +109,7 @@ commands. Once all is well, clean up the test files: -rm dummy.c a.out +rm -v dummy.c a.out diff --git a/chapter05/bash.xml b/chapter05/bash.xml index 1754cd832..0d031ef53 100644 --- a/chapter05/bash.xml +++ b/chapter05/bash.xml @@ -64,7 +64,7 @@ from Glibc which are more stable. Make a link for the programs that use sh for a shell: -ln -s bash /tools/bin/sh +ln -vs bash /tools/bin/sh diff --git a/chapter05/binutils-pass1.xml b/chapter05/binutils-pass1.xml index 918f1b10a..2b8d9312a 100644 --- a/chapter05/binutils-pass1.xml +++ b/chapter05/binutils-pass1.xml @@ -44,7 +44,7 @@ unset them when building Binutils. The Binutils documentation recommends building Binutils outside of the source directory in a dedicated build directory: -mkdir ../binutils-build +mkdir -v ../binutils-build cd ../binutils-build In order for the SBU values listed in the rest of the book diff --git a/chapter05/gcc-pass1.xml b/chapter05/gcc-pass1.xml index a960d1ae1..758164c27 100644 --- a/chapter05/gcc-pass1.xml +++ b/chapter05/gcc-pass1.xml @@ -39,7 +39,7 @@ unset them when building GCC. The GCC documentation recommends building GCC outside of the source directory in a dedicated build directory: -mkdir ../gcc-build +mkdir -v ../gcc-build cd ../gcc-build Prepare GCC for compilation: @@ -111,7 +111,7 @@ and therefore usable on all kinds of UNIX systems where the GNU C compiler is not always installed. Running cc leaves the system administrator free to decide which C compiler to install. -ln -s gcc /tools/bin/cc +ln -vs gcc /tools/bin/cc diff --git a/chapter05/gcc-pass2.xml b/chapter05/gcc-pass2.xml index 7e1a1d29d..c52d6b446 100644 --- a/chapter05/gcc-pass2.xml +++ b/chapter05/gcc-pass2.xml @@ -73,7 +73,7 @@ script searches for headers, so that it fixes only the new headers under /tools, not the ones from your host system. -cp gcc/Makefile.in{,.orig} && +cp -v gcc/Makefile.in{,.orig} && sed 's@\(^NATIVE_SYSTEM_HEADER_DIR =\).*@\1 /tools/include@g' \ gcc/Makefile.in.orig > gcc/Makefile.in @@ -83,7 +83,7 @@ Non-bootstrap builds omit this flag by default, so apply the following sed to use it in order to ensure consistent compiler builds. -cp gcc/Makefile.in{,.tmp} && +cp -v gcc/Makefile.in{,.tmp} && sed 's/^XCFLAGS =$/& -fomit-frame-pointer/' gcc/Makefile.in.tmp \ > gcc/Makefile.in @@ -105,7 +105,7 @@ it. Create a separate build directory again: -mkdir ../gcc-build +mkdir -v ../gcc-build cd ../gcc-build Before starting to build GCC, remember to unset any environment diff --git a/chapter05/glibc.xml b/chapter05/glibc.xml index f0119bbaf..0efb8a034 100644 --- a/chapter05/glibc.xml +++ b/chapter05/glibc.xml @@ -169,7 +169,7 @@ output so that the log file can be examined for failures later. end about the absence of /tools/etc/ld.so.conf. Prevent this warning with: -mkdir /tools/etc +mkdir -v /tools/etc touch /tools/etc/ld.so.conf Install the package: @@ -205,7 +205,7 @@ instructions, instead of the install-locales target used above, will install the minimum set of locales necessary for the tests to run successfully: -mkdir -p /tools/lib/locale +mkdir -pv /tools/lib/locale localedef -i de_DE -f ISO-8859-1 de_DE localedef -i de_DE@euro -f ISO-8859-15 de_DE@euro localedef -i en_HK -f ISO-8859-1 en_HK diff --git a/chapter05/perl.xml b/chapter05/perl.xml index 7bd454779..aac22ef4e 100644 --- a/chapter05/perl.xml +++ b/chapter05/perl.xml @@ -63,9 +63,9 @@ be run in the next chapter if desired. Install these tools and their libraries: -cp perl pod/pod2man /tools/bin -mkdir -p /tools/lib/perl5/&perl-version; -cp -R lib/* /tools/lib/perl5/&perl-version; +cp -v perl pod/pod2man /tools/bin +mkdir -pv /tools/lib/perl5/&perl-version; +cp -Rv lib/* /tools/lib/perl5/&perl-version; diff --git a/chapter05/tcl.xml b/chapter05/tcl.xml index 7cdcf226e..148314ac2 100644 --- a/chapter05/tcl.xml +++ b/chapter05/tcl.xml @@ -76,7 +76,7 @@ export TCLPATH=`pwd` Now make a necessary symbolic link: -ln -s tclsh8.4 /tools/bin/tclsh +ln -sv tclsh8.4 /tools/bin/tclsh diff --git a/chapter06/bash.xml b/chapter06/bash.xml index c9c3a70c7..ea30f786d 100644 --- a/chapter06/bash.xml +++ b/chapter06/bash.xml @@ -33,7 +33,7 @@ GCC, Glibc, Grep, Make, Ncurses, and Sed. If you downloaded the Bash documentation tarball and wish to install HTML documentation, issue the following commands: -tar -xf ../bash-doc-&bash-doc-version;.tar.gz && +tar -xvf ../bash-doc-&bash-doc-version;.tar.gz && sed -i "s|htmldir = @htmldir@|htmldir = /usr/share/doc/bash-&bash-version;|" \ Makefile.in diff --git a/chapter06/binutils.xml b/chapter06/binutils.xml index e6ba783d8..b9113ff57 100644 --- a/chapter06/binutils.xml +++ b/chapter06/binutils.xml @@ -56,7 +56,7 @@ for Binutils and GCC. The Binutils documentation recommends building Binutils outside of the source directory in a dedicated build directory: -mkdir ../binutils-build +mkdir -v ../binutils-build cd ../binutils-build Prepare Binutils for compilation: @@ -94,7 +94,7 @@ circumstances. Install the libiberty header file that is needed by some packages: -cp ../binutils-&binutils-version;/include/libiberty.h /usr/include +cp -v ../binutils-&binutils-version;/include/libiberty.h /usr/include diff --git a/chapter06/bzip2.xml b/chapter06/bzip2.xml index 7470cd84f..cb750d0ef 100644 --- a/chapter06/bzip2.xml +++ b/chapter06/bzip2.xml @@ -62,7 +62,7 @@ utilities against it. make test. If reinstalling Bzip2, perform -rm -f /usr/bin/bz* first, otherwise the following +rm -vf /usr/bin/bz* first, otherwise the following make install will fail. Install the programs: @@ -73,12 +73,12 @@ utilities against it. /bin directory, make some necessary symbolic links, and clean up: -cp bzip2-shared /bin/bzip2 -cp -a libbz2.so* /lib -ln -s ../../lib/libbz2.so.1.0 /usr/lib/libbz2.so -rm /usr/bin/{bunzip2,bzcat,bzip2} -ln -s bzip2 /bin/bunzip2 -ln -s bzip2 /bin/bzcat +cp -v bzip2-shared /bin/bzip2 +cp -av libbz2.so* /lib +ln -sv ../../lib/libbz2.so.1.0 /usr/lib/libbz2.so +rm -v /usr/bin/{bunzip2,bzcat,bzip2} +ln -sv bzip2 /bin/bunzip2 +ln -sv bzip2 /bin/bzcat diff --git a/chapter06/coreutils.xml b/chapter06/coreutils.xml index e1fe8dca3..3bfeb4ccd 100644 --- a/chapter06/coreutils.xml +++ b/chapter06/coreutils.xml @@ -89,17 +89,17 @@ groups: Move programs to the locations specified by the FHS: -mv /usr/bin/{cat,chgrp,chmod,chown,cp,date,dd,df,echo} /bin -mv /usr/bin/{false,hostname,ln,ls,mkdir,mknod,mv,pwd,rm} /bin -mv /usr/bin/{rmdir,stty,sync,true,uname} /bin -mv /usr/bin/chroot /usr/sbin +mv -v /usr/bin/{cat,chgrp,chmod,chown,cp,date,dd,df,echo} /bin +mv -v /usr/bin/{false,hostname,ln,ls,mkdir,mknod,mv,pwd,rm} /bin +mv -v /usr/bin/{rmdir,stty,sync,true,uname} /bin +mv -v /usr/bin/chroot /usr/sbin Some of the scripts in the LFS-Bootscripts package depend on head and sleep. As /usr may not be available during the early stages of booting, those binaries need to be on the root partition: -mv /usr/bin/{head,sleep} /bin +mv -v /usr/bin/{head,sleep} /bin diff --git a/chapter06/createfiles.xml b/chapter06/createfiles.xml index 164e165c9..734fedc33 100644 --- a/chapter06/createfiles.xml +++ b/chapter06/createfiles.xml @@ -12,10 +12,10 @@ order to satisfy these programs, create a number of symbolic links which will be replaced by real files throughout the course of this chapter after the software has been installed. -ln -s /tools/bin/{bash,cat,pwd,stty} /bin -ln -s /tools/bin/perl /usr/bin -ln -s /tools/lib/libgcc_s.so{,.1} /usr/lib -ln -s bash /bin/sh +ln -sv /tools/bin/{bash,cat,pwd,stty} /bin +ln -sv /tools/bin/perl /usr/bin +ln -sv /tools/lib/libgcc_s.so{,.1} /usr/lib +ln -sv bash /bin/sh diff --git a/chapter06/creatingdirs.xml b/chapter06/creatingdirs.xml index d877aba4a..a007df15e 100644 --- a/chapter06/creatingdirs.xml +++ b/chapter06/creatingdirs.xml @@ -10,25 +10,25 @@ It is time to create some structure in the LFS file system. Create a standard directory tree by issuing the following commands: -install -d /{bin,boot,dev,etc/opt,home,lib,mnt} -install -d /{sbin,srv,usr/local,var,opt} -install -d /root -m 0750 -install -d /tmp /var/tmp -m 1777 -install -d /media/{floppy,cdrom} -install -d /usr/{bin,include,lib,sbin,share,src} -ln -s share/{man,doc,info} /usr -install -d /usr/share/{doc,info,locale,man} -install -d /usr/share/{misc,terminfo,zoneinfo} -install -d /usr/share/man/man{1..8} -install -d /usr/local/{bin,etc,include,lib,sbin,share,src} -ln -s share/{man,doc,info} /usr/local -install -d /usr/local/share/{doc,info,locale,man} -install -d /usr/local/share/{misc,terminfo,zoneinfo} -install -d /usr/local/share/man/man{1,2,3,4,5,6,7,8} -install -d /var/{lock,log,mail,run,spool} -install -d /var/{opt,cache,lib/{misc,locate},local} -install -d /opt/{bin,doc,include,info} -install -d /opt/{lib,man/man{1,2,3,4,5,6,7,8}} +install -dv /{bin,boot,dev,etc/opt,home,lib,mnt} +install -dv /{sbin,srv,usr/local,var,opt} +install -dv /root -m 0750 +install -dv /tmp /var/tmp -m 1777 +install -dv /media/{floppy,cdrom} +install -dv /usr/{bin,include,lib,sbin,share,src} +ln -sv share/{man,doc,info} /usr +install -dv /usr/share/{doc,info,locale,man} +install -dv /usr/share/{misc,terminfo,zoneinfo} +install -dv /usr/share/man/man{1..8} +install -dv /usr/local/{bin,etc,include,lib,sbin,share,src} +ln -sv share/{man,doc,info} /usr/local +install -dv /usr/local/share/{doc,info,locale,man} +install -dv /usr/local/share/{misc,terminfo,zoneinfo} +install -dv /usr/local/share/man/man{1,2,3,4,5,6,7,8} +install -dv /var/{lock,log,mail,run,spool} +install -dv /var/{opt,cache,lib/{misc,locate},local} +install -dv /opt/{bin,doc,include,info} +install -dv /opt/{lib,man/man{1,2,3,4,5,6,7,8}} Directories are, by default, created with permission mode 755, but this is not desirable for all directories. In the commands above, diff --git a/chapter06/devices.xml b/chapter06/devices.xml index 87bfd6a32..da4af0a17 100644 --- a/chapter06/devices.xml +++ b/chapter06/devices.xml @@ -37,7 +37,7 @@ accessed. This is generally done during the boot process. Since this new system has not been booted, it is necessary to do what the LFS-Bootscripts package would otherwise do by mounting /dev: -mount -n -t tmpfs none /dev +mount -nvt tmpfs none /dev The Udev package is what actually creates the devices in the /dev directory. Since it will not be installed @@ -51,26 +51,26 @@ mknod -m 666 /dev/ptmx c 5 2 mknod -m 666 /dev/tty c 5 0 mknod -m 444 /dev/random c 1 8 mknod -m 444 /dev/urandom c 1 9 -chown root:tty /dev/{console,ptmx,tty} +chown -v root:tty /dev/{console,ptmx,tty} There are some symlinks and directories required by LFS that are created during system startup by the LFS-Bootscripts package. Since this is a chroot environment and not a booted environment, those symlinks and directories need to be created here: -ln -s /proc/self/fd /dev/fd -ln -s /proc/self/fd/0 /dev/stdin -ln -s /proc/self/fd/1 /dev/stdout -ln -s /proc/self/fd/2 /dev/stderr -ln -s /proc/kcore /dev/core -mkdir /dev/pts -mkdir /dev/shm +ln -sv /proc/self/fd /dev/fd +ln -sv /proc/self/fd/0 /dev/stdin +ln -sv /proc/self/fd/1 /dev/stdout +ln -sv /proc/self/fd/2 /dev/stderr +ln -sv /proc/kcore /dev/core +mkdir -v /dev/pts +mkdir -v /dev/shm Finally, mount the proper virtual (kernel) file systems on the newly-created directories: -mount -t devpts -o gid=4,mode=620 none /dev/pts -mount -t tmpfs none /dev/shm +mount -vt devpts -o gid=4,mode=620 none /dev/pts +mount -vt tmpfs none /dev/shm The mount commands executed above may result in the following warning message: diff --git a/chapter06/e2fsprogs.xml b/chapter06/e2fsprogs.xml index 24ccd9629..d2cf6d0f9 100644 --- a/chapter06/e2fsprogs.xml +++ b/chapter06/e2fsprogs.xml @@ -35,7 +35,7 @@ Diffutils, Gawk, GCC, Gettext, Glibc, Grep, Make, Sed, and TexinfoIt is recommended that E2fsprogs be built in a subdirectory of the source tree: -mkdir build +mkdir -v build cd build Prepare E2fsprogs for compilation: diff --git a/chapter06/flex.xml b/chapter06/flex.xml index 475745fdb..cf59db946 100644 --- a/chapter06/flex.xml +++ b/chapter06/flex.xml @@ -62,7 +62,7 @@ default page is fine, so make sure it does not get regenerated: class="directory">/usr/lib. Create a symlink to account for this: -ln -s libfl.a /usr/lib/libl.a +ln -sv libfl.a /usr/lib/libl.a A few programs do not know about flex yet and try to run its predecessor, lex. To support those @@ -77,7 +77,7 @@ exec /usr/bin/flex -l "$@" # End /usr/bin/lex EOF -chmod 755 /usr/bin/lex +chmod -v 755 /usr/bin/lex diff --git a/chapter06/gcc.xml b/chapter06/gcc.xml index de204c1f4..2e28c9ff1 100644 --- a/chapter06/gcc.xml +++ b/chapter06/gcc.xml @@ -56,7 +56,7 @@ Non-bootstrap builds omit this flag by default, so apply the following The GCC documentation recommends building GCC outside of the source directory in a dedicated build directory: -mkdir ../gcc-build +mkdir -v ../gcc-build cd ../gcc-build Prepare GCC for compilation: @@ -90,12 +90,12 @@ refer back to them as necessary. /lib directory. To support those packages, create this symlink: -ln -s ../usr/bin/cpp /lib +ln -sv ../usr/bin/cpp /lib Many packages use the name cc to call the C compiler. To satisfy those packages, create a symlink: -ln -s gcc /usr/bin/cc +ln -sv gcc /usr/bin/cc At this point, it is strongly recommended to repeat the sanity check performed earlier in this chapter. Refer back to threading libraries installed by Glibc. Unpack the tarball from within the Glibc source directory: -tar -xf ../glibc-linuxthreads-&glibc-version;.tar.bz2 +tar -xvf ../glibc-linuxthreads-&glibc-version;.tar.bz2 Glibc has two tests which fail when the running kernel is 2.6.11 or later. The problem has been determined to be with the tests themselves, not with the @@ -84,7 +84,7 @@ tests on x86 processors when compiled with GCC-&gcc-version;: The Glibc documentation recommends building Glibc outside of the source directory in a dedicated build directory: -mkdir ../glibc-build +mkdir -v ../glibc-build cd ../glibc-build Prepare Glibc for compilation: @@ -177,7 +177,7 @@ instructions, instead of the install-locales target used above, will install the minimum set of locales necessary for the tests to run successfully: -mkdir -p /usr/lib/locale +mkdir -pv /usr/lib/locale localedef -i de_DE -f ISO-8859-1 de_DE localedef -i de_DE@euro -f ISO-8859-15 de_DE@euro localedef -i en_HK -f ISO-8859-1 en_HK @@ -256,7 +256,7 @@ will output the name of the time zone (e.g., Then create the /etc/localtime file by running: -cp --remove-destination /usr/share/zoneinfo/[xxx] \ +cp -v --remove-destination /usr/share/zoneinfo/[xxx] \ /etc/localtime Replace [xxx] with the name of the time zone diff --git a/chapter06/groff.xml b/chapter06/groff.xml index c413cae8b..fd4d7edfe 100644 --- a/chapter06/groff.xml +++ b/chapter06/groff.xml @@ -50,9 +50,9 @@ to contain the default paper size. For users in the United States, Some documentation programs, such as xman, will not work properly without the following symlinks: -ln -s soelim /usr/bin/zsoelim -ln -s eqn /usr/bin/geqn -ln -s tbl /usr/bin/gtbl +ln -sv soelim /usr/bin/zsoelim +ln -sv eqn /usr/bin/geqn +ln -sv tbl /usr/bin/gtbl diff --git a/chapter06/grub.xml b/chapter06/grub.xml index 141e3bff6..f09338818 100644 --- a/chapter06/grub.xml +++ b/chapter06/grub.xml @@ -51,8 +51,8 @@ unset them when building GRUB. Install the package: make install -mkdir /boot/grub -cp /usr/lib/grub/i386-pc/stage{1,2} /boot/grub +mkdir -v /boot/grub +cp -v /usr/lib/grub/i386-pc/stage{1,2} /boot/grub Replace i386-pc with whatever directory is appropriate for the hardware in use. diff --git a/chapter06/gzip.xml b/chapter06/gzip.xml index ecb86a835..3f15e0112 100644 --- a/chapter06/gzip.xml +++ b/chapter06/gzip.xml @@ -59,12 +59,12 @@ that the new location gets placed into the script: class="directory">/bin directory and create some commonly used symlinks to it: -mv /usr/bin/gzip /bin -rm /usr/bin/{gunzip,zcat} -ln -s gzip /bin/gunzip -ln -s gzip /bin/zcat -ln -s gzip /bin/compress -ln -s gunzip /bin/uncompress +mv -v /usr/bin/gzip /bin +rm -v /usr/bin/{gunzip,zcat} +ln -sv gzip /bin/gunzip +ln -sv gzip /bin/zcat +ln -sv gzip /bin/compress +ln -sv gunzip /bin/uncompress diff --git a/chapter06/hotplug.xml b/chapter06/hotplug.xml index 9af9cefbe..cf08575fa 100644 --- a/chapter06/hotplug.xml +++ b/chapter06/hotplug.xml @@ -40,22 +40,22 @@ running kernel. Copy a file that the install target omits. -cp etc/hotplug/pnp.distmap /etc/hotplug +cp -v etc/hotplug/pnp.distmap /etc/hotplug Remove the init script that Hotplug installs since we are going to be using the script included in the LFS-Bootscripts package: -rm -rf /etc/init.d +rm -rfv /etc/init.d Network device hotplugging is not yet supported by the LFS-Bootscripts package. For that reason, remove the network hotplug agent: -rm -f /etc/hotplug/net.agent +rm -fv /etc/hotplug/net.agent Create a directory for storing firmware that can be loaded by hotplug: -mkdir /lib/firmware +mkdir -v /lib/firmware diff --git a/chapter06/inetutils.xml b/chapter06/inetutils.xml index c8251c5c2..568476c89 100644 --- a/chapter06/inetutils.xml +++ b/chapter06/inetutils.xml @@ -97,7 +97,7 @@ servers. Move the ping program to its FHS-compliant place: -mv /usr/bin/ping /bin +mv -v /usr/bin/ping /bin diff --git a/chapter06/kernfs.xml b/chapter06/kernfs.xml index eb6bba52f..34273b7b2 100644 --- a/chapter06/kernfs.xml +++ b/chapter06/kernfs.xml @@ -13,12 +13,12 @@ used for them. The content of the file systems resides in memory. Begin by creating directories onto which the file systems will be mounted: -mkdir -p $LFS/{proc,sys} +mkdir -pv $LFS/{proc,sys} Now mount the file systems: -mount -t proc proc $LFS/proc -mount -t sysfs sysfs $LFS/sys +mount -vt proc proc $LFS/proc +mount -vt sysfs sysfs $LFS/sys Remember that if for any reason you stop working on the LFS system and start again later, it is important to check that these file @@ -29,9 +29,9 @@ environment. chroot environment. To keep the host up to date, perform a fake mount for each of these now: -mount -f -t tmpfs tmpfs $LFS/dev -mount -f -t tmpfs tmpfs $LFS/dev/shm -mount -f -t devpts -o gid=4,mode=620 devpts $LFS/dev/pts +mount -vft tmpfs tmpfs $LFS/dev +mount -vft tmpfs tmpfs $LFS/dev/shm +mount -vft devpts -o gid=4,mode=620 devpts $LFS/dev/pts diff --git a/chapter06/ncurses.xml b/chapter06/ncurses.xml index 33ff5341d..f01229256 100644 --- a/chapter06/ncurses.xml +++ b/chapter06/ncurses.xml @@ -47,22 +47,22 @@ Gawk, GCC, Glibc, Grep, Make, and Sed Give the Ncurses libraries execute permissions: -chmod 755 /usr/lib/*.&ncurses-version; +chmod -v 755 /usr/lib/*.&ncurses-version; Fix a library that should not be executable: -chmod 644 /usr/lib/libncurses++.a +chmod -v 644 /usr/lib/libncurses++.a Move the libraries to the /lib directory, where they are expected to reside: -mv /usr/lib/libncurses.so.5* /lib +mv -v /usr/lib/libncurses.so.5* /lib Because the libraries have been moved, a few symlinks point to non-existent files. Recreate those symlinks: -ln -sf ../../lib/libncurses.so.5 /usr/lib/libncurses.so -ln -sf libncurses.so /usr/lib/libcurses.so +ln -sfv ../../lib/libncurses.so.5 /usr/lib/libncurses.so +ln -sfv libncurses.so /usr/lib/libcurses.so diff --git a/chapter06/psmisc.xml b/chapter06/psmisc.xml index 6952268a1..f9824b2e8 100644 --- a/chapter06/psmisc.xml +++ b/chapter06/psmisc.xml @@ -61,7 +61,7 @@ package. class="directory">/bin. Therefore, move them to /usr/bin: -mv /bin/pstree* /usr/bin +mv -v /bin/pstree* /usr/bin By default, Psmisc's pidof program is not installed. This usually is not a problem because it is installed later @@ -70,7 +70,7 @@ in the Sysvinit package, which provides a better particular system, complete the installation of Psmisc by creating the following symlink: -ln -s killall /bin/pidof +ln -sv killall /bin/pidof diff --git a/chapter06/pwdgroup.xml b/chapter06/pwdgroup.xml index 66ed175bd..418da1982 100644 --- a/chapter06/pwdgroup.xml +++ b/chapter06/pwdgroup.xml @@ -84,8 +84,8 @@ do not already exist. Initialize the log files and give them proper permissions: touch /var/run/utmp /var/log/{btmp,lastlog,wtmp} -chgrp utmp /var/run/utmp /var/log/lastlog -chmod 664 /var/run/utmp /var/log/lastlog +chgrp -v utmp /var/run/utmp /var/log/lastlog +chmod -v 664 /var/run/utmp /var/log/lastlog The /var/run/utmp file records the users that are currently logged in. The /var/log/wtmp diff --git a/chapter06/readjusting.xml b/chapter06/readjusting.xml index 7c11d9333..9a24e7597 100644 --- a/chapter06/readjusting.xml +++ b/chapter06/readjusting.xml @@ -97,7 +97,7 @@ the process. Once everything is working correctly, clean up the test files: -rm dummy.c a.out +rm -v dummy.c a.out diff --git a/chapter06/readline.xml b/chapter06/readline.xml index f3180a46d..f9ba2bb2a 100644 --- a/chapter06/readline.xml +++ b/chapter06/readline.xml @@ -61,19 +61,19 @@ includes other fixes recommended by the Readline author. Give Readline's dynamic libraries more appropriate permissions: -chmod 755 /lib/lib{readline,history}.so* +chmod -v 755 /lib/lib{readline,history}.so* Now move the static libraries to a more appropriate location: -mv /lib/lib{readline,history}.a /usr/lib +mv -v /lib/lib{readline,history}.a /usr/lib Next, remove the .so files in /lib and relink them into /usr/lib. -rm /lib/lib{readline,history}.so -ln -sf ../../lib/libreadline.so.5 /usr/lib/libreadline.so -ln -sf ../../lib/libhistory.so.5 /usr/lib/libhistory.so +rm -v /lib/lib{readline,history}.so +ln -sfv ../../lib/libreadline.so.5 /usr/lib/libreadline.so +ln -sfv ../../lib/libhistory.so.5 /usr/lib/libhistory.so diff --git a/chapter06/shadow.xml b/chapter06/shadow.xml index a0a64b899..8b0ad56d7 100644 --- a/chapter06/shadow.xml +++ b/chapter06/shadow.xml @@ -60,7 +60,7 @@ files: /etc/limits /etc/login.access -cp etc/{limits,login.access} /etc +cp -v etc/{limits,login.access} /etc Instead of using the default crypt method, use the more secure MD5 method of password @@ -86,20 +86,20 @@ the sed given below: Move a misplaced program to its proper location: -mv /usr/bin/passwd /bin +mv -v /usr/bin/passwd /bin Move Shadow's libraries to more appropriate locations: -mv /lib/libshadow.*a /usr/lib -rm /lib/libshadow.so -ln -sf ../../lib/libshadow.so.0 /usr/lib/libshadow.so +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: -mkdir /etc/default +mkdir -v /etc/default diff --git a/chapter06/udev.xml b/chapter06/udev.xml index d1e7d8291..a3f16876e 100644 --- a/chapter06/udev.xml +++ b/chapter06/udev.xml @@ -44,11 +44,11 @@ Udev's configuration is far from ideal by default, so install the configuration files here: -cp ../udev-config-3.rules /etc/udev/rules.d/25-lfs.rules +cp -v ../udev-config-3.rules /etc/udev/rules.d/25-lfs.rules Install the documentation that explains how to create Udev rules: -install -m644 -D docs/writing_udev_rules/index.html /usr/share/doc/udev-&udev-version;/index.html +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 diff --git a/chapter06/vim.xml b/chapter06/vim.xml index 299ea6e23..9a03c9b3c 100644 --- a/chapter06/vim.xml +++ b/chapter06/vim.xml @@ -87,7 +87,7 @@ redirecting the output to a log file. when users habitually enter vi, create a symlink: -ln -s vim /usr/bin/vi +ln -sv vim /usr/bin/vi 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 diff --git a/chapter06/zlib.xml b/chapter06/zlib.xml index c11a41f62..9e5369adf 100644 --- a/chapter06/zlib.xml +++ b/chapter06/zlib.xml @@ -57,8 +57,8 @@ class="extension">.so file in /lib. We will remove it and relink it into /usr/lib: -rm /lib/libz.so -ln -sf ../../lib/libz.so.&zlib-version; /usr/lib/libz.so +rm -v /lib/libz.so +ln -sfv ../../lib/libz.so.&zlib-version; /usr/lib/libz.so Build the static library: @@ -75,7 +75,7 @@ make Fix the permissions on the static library: -chmod 644 /usr/lib/libz.a +chmod -v 644 /usr/lib/libz.a diff --git a/chapter07/console.xml b/chapter07/console.xml index 2e1b4ce83..231a5fcae 100644 --- a/chapter07/console.xml +++ b/chapter07/console.xml @@ -66,7 +66,7 @@ in use is affected (this works only for i386 keymaps): If the keycode 14 is Backspace instead of Delete, create the following keymap snippet to fix this issue: -mkdir -p /etc/kbd && cat > /etc/kbd/bs-sends-del <<"EOF" +mkdir -pv /etc/kbd && cat > /etc/kbd/bs-sends-del <<"EOF" keycode 14 = Delete Delete Delete Delete alt keycode 14 = Meta_Delete altgr alt keycode 14 = Meta_Delete diff --git a/chapter07/network.xml b/chapter07/network.xml index c45cb47aa..229f6d394 100644 --- a/chapter07/network.xml +++ b/chapter07/network.xml @@ -37,7 +37,7 @@ masks, and so forth. the eth0 device: cd /etc/sysconfig/network-devices && -mkdir ifconfig.eth0 && +mkdir -v ifconfig.eth0 && cat > ifconfig.eth0/ipv4 << "EOF" ONBOOT=yes SERVICE=ipv4-static diff --git a/chapter08/grub.xml b/chapter08/grub.xml index d9e7325f1..862abd41b 100644 --- a/chapter08/grub.xml +++ b/chapter08/grub.xml @@ -129,8 +129,8 @@ information regarding GRUB is located on its website at: /etc/grub/menu.lst. To satisfy this requirement, issue the following command: -mkdir /etc/grub && -ln -s /boot/grub/menu.lst /etc/grub +mkdir -v /etc/grub && +ln -sv /boot/grub/menu.lst /etc/grub diff --git a/chapter08/kernel.xml b/chapter08/kernel.xml index ef242991e..468ab95d5 100644 --- a/chapter08/kernel.xml +++ b/chapter08/kernel.xml @@ -113,14 +113,14 @@ the /boot directory. The path to the kernel image may vary depending on the platform being used. The following command assumes an x86 architecture: -cp arch/i386/boot/bzImage /boot/lfskernel-&linux-version; +cp -v arch/i386/boot/bzImage /boot/lfskernel-&linux-version; System.map is a symbol file for the kernel. It maps the function entry points of every function in the kernel API, as well as the addresses of the kernel data structures for the running kernel. Issue the following command to install the map file: -cp System.map /boot/System.map-&linux-version; +cp -v System.map /boot/System.map-&linux-version; The kernel configuration file .config produced by the make menuconfig step @@ -128,7 +128,7 @@ above contains all the configuration selections for the kernel that was just compiled. It is a good idea to keep this file for future reference: -cp .config /boot/config-&linux-version; +cp -v .config /boot/config-&linux-version; It is important to note that the files in the kernel source directory are not owned by root. Whenever a diff --git a/chapter09/reboot.xml b/chapter09/reboot.xml index e6a5e63eb..88b2fbcdb 100644 --- a/chapter09/reboot.xml +++ b/chapter09/reboot.xml @@ -30,11 +30,11 @@ installation for the first time! First exit from the chroot environment: Stop the udevd daemon that Udev started earlier, then unmount the virtual files systems: pkill udevd -umount $LFS/dev/pts -umount $LFS/dev/shm -umount $LFS/dev -umount $LFS/proc -umount $LFS/sys +umount -v $LFS/dev/pts +umount -v $LFS/dev/shm +umount -v $LFS/dev +umount -v $LFS/proc +umount -v $LFS/sys Unmount the LFS file system itself: @@ -43,9 +43,9 @@ umount $LFS/sys If multiple partitions were created, unmount the other partitions before unmounting the main one, like this: -umount $LFS/usr -umount $LFS/home -umount $LFS +umount -v $LFS/usr +umount -v $LFS/home +umount -v $LFS Now, reboot the system with: diff --git a/general.ent b/general.ent index 0b69e576c..abad19fb6 100644 --- a/general.ent +++ b/general.ent @@ -1,6 +1,6 @@ - - + +