Red Hat Linux 8 Training Errata

Page 58: The (\) in the last line should be (/)

Page 64-65: The Function Keys listed in the descriptions are incorrect; F2-4 as described are actually F3-5.

Page 85: The command listed as $ su - c "/sbin/ shutdown -h now" should read as $ su -c "/sbin/shutdown -h now", and the following 3 commands should have no spaces between 'sbin/' and 'shutdown'

Page 104: Using the command 'dmesg | fgrep tty' assumes the dmesg output from boot time has not been scrolled out of the temporary buffer. The proper way to collect this information is 'cat /var/log/dmesg | fgrep tty', as the /var/log/dmesg file is created with the buffered data immediately following bootup.

Page 219: The description for ntsysv incorrectly states it can only modify the corrent runlevel. This is the default behavior, but using the '--levels ' option allows you to specify different runlevels to modify.

Page 231: RPM as of Red Hat 8 now uses GPG to verify signatures instead of PGP signatures. The technical specification calls for OpenPGP V3 signature packets.

Page 235: The command # rpm -q --scripts filename | scripts.txt should be # rpm -qp --scripts filename > scripts.txt. The command # rpm -q --scripts filename | less should be # rpm -qp --scripts filename | less. You must supply the 'p' flag to rpm when querying a file; without this flag, rpm will query the installed database of applications.

Page 271: The command # mount mount -o remount <partition> should be # mount -o remount,ro <partition>

Page 281: The description for ext3 states the filesystem has support for files as large as 2 GB; ext3 actually supports files up to 2 TB in size, although some kernels have an IO restriction that limits file sizes to 1 TB. Max sizes depend on the block size of the FS in question:

Filesystem block size:     1kB        2kB        4kB        8kB
File size limit:          16GB      256GB     2048GB     2048GB
Filesystem size limit:  2047GB     8192GB    16384GB    32768GB

Page 292-293: Page 292 states "use the mke3fs command to create an ext3 filesystem", while page 293 states "There is no mke3fs command". Page 293 is correct; use mke2fs -j or mke2fs -J or call mkfs.ext3.

Page 453: The command '$ dig A +norec' has been inadvertently dropped from the page.

Page 455: In the second paragraph, the address is incorrectly rewritten to a reverse of, when it should be

Page 462: The command # dig . ns > /var/named/root.hints incorrectly has an extra period after the 'net'.

Page 490: The 'Caution' sidebar states "To create the symlink (from /dev/ttyS2, for example)" but the example shown would create the link to /dev/ttyS0. The command to follow the text would be # ln -s /dev/ttyS2 /dev/modem instead.

Page 631: The 'MDIR versus Mailbox' box should define the mail folders as /cur, /new, and /tmp.

Page 636: The last paragraph mentions that adding entries to the '/etc/relay-domains' file will allow mail to be relayed through the mail server; by default, this should be /etc/mail/relay-domains, per the line "FR-o /etc/mail/relay-domains" in the included file.

Page 637: The 'Caution' box explains how to use an alias to redirect root's email to another user. This can also be accomplished by created a .forward file in root's home directory that contains a single line with the address to which the email should be forwarded.

Page 637: The last paragraph mentions that adding entries to the '/etc/access' file will allow you to reject mail from certain cites; by default, this should be /etc/mail/access, per the line "Kaccess hash -T<TMPF> -o /etc/mail/access.db" in the included file.

Page 707: Table 22.1 lists a flag of '-g-g' as one which produces output suitable for use with gdb; the flag should simply read as '-g'.

Page 718: The command '$ ls .d?c' will only match files without any portion of a filename prior to the '.', and instead should be '$ ls *.d?c'.

Page 718: The command '$ ls *[09]*' will only match files which contain the specific numbers 0 or 9, not the range 0 to 9. The command should be written as '$ ls *[0-9]*'.

Page 738: The file operator script as witten tests to see if $dir1 is a regular file (top of page 739), but the output as shown reads 'file1 is a regular file'; the test in the script should read with $file1 instead of $dir1 for the entire first section on top of page 739.

Page 743: The second section of the script tests to see if dir1 is a file, but the output reports that the test shows file1 is a regular file. The scripts should test 'if ( -f file1 ) then' instead.

Page 771: Listing 23.4 has a line shows as '@listing = `ls -la`; and the 2 characters at the end of the line have been mistakenly printed as a single agrave.

Page 778: In Listing 23.7, the line '@lines=<FILE>;' has been concatenated with the previous line. While this won't affect the program operation, it makes it more difficult to determine what is a prt of the 'die' error message and what is a new line of code.

Page 797: In the "Using the patch command", step 5 shows how the patch should be applied, and the patch_filename section has a space in it.

Page 823 The command to start the KOffice shell is listed as '$ koshell &.' The period is unneeded.

Page 831: In the command listing under Figure 25.13, the command 'cp zxvf vuesca75.tgz /usr/local/vuescan' shoudl not contain the zxvf, and should instead be written as 'cp vuesca75.tgz /usr/local/vuescan'.

Page 841: The description of the flag '-I' should not contain a mention of 'lowercase L'.

Functionality Issues:

Page 259: Providing password on the command line is a poor practice from a security standpoint; the password is stored in your command history, and if the command takes a long time to execute, the password may be visible to other users with a 'ps auxw' command.

Page 271: Quotas can be very useful on a home or desktop machine, especially when used to help prevent disk utilzation from skyrocketing in the case of a bad piece of software, system compromise, or even just to keep a spouse or child from inadvertently filling the drive.

Page 477: In the section on DNS Security Issues, one feature often employed by system administrators to slow down automated attacks is to modify the Version String that is sent back to a requesting dns client when specifically requested. To accomplish this, simply add a directive of 'version "Version Suppressed";' (or whatever version string you wish to send in place of "Version Suppressed") into the options section of the named.conf file.

Page 513: To check the default runlevel of the machine, the command # grep ^id: /etc/inittab will prevent spurious output (such as commented lines or other lines not related to the default runlevel) from appearing as output, as it will require the strings 'id:' to be at the beginning of the line.

Chapter 22: There should be a 'Caution' box explaining that scripts should be written with exact system paths for several reasons; one is to ensure that the program will behave as expected regardless of the $PATH of the user running the script (ie, one user might have written a command called 'echo' and placed it in a directory in his $PATH which precedes the system echo command (this has historically been an issue on SunOS/Solaris machines which may have multiple incarnations of commands in '/usr/ucb' as well as '/usr/bin'), while another is to ensure that for security reasons a script can't be convinced to run with a trojaned binary of the same name.