Errata


Print Print Icon

Submit your own errata for this product.


The errata list is a list of errors and their corrections that were found after the product was released.

The following errata were submitted by our customers and have not yet been approved or disproved by the author or editor. They solely represent the opinion of the customer.


Color Key: Serious Technical Mistake Minor Technical Mistake Language or formatting error Typo Question



Version Location Description Submitted By
Printed Page xiii
tip

http://perso.wanadoo.fr/levenez/unix/
has moved to
http://www.levenez.com/unix/

Anonymous 
Printed Page 4
2nd paragraph

As printed, the sample command is:

# kill -9 `ps aux | awk '$1=="chavez" {print $2}'

Executing this command yields an error message that refers to an unmatched quote.

Add a matching grave to the end of the command:

# kill -9 `ps aux | awk '$1=="chavez" {print $2}'`

Executing this command kills the processes.

Assuming command substitution is valid in this context, is the second version
correct? Am I missing something just a bit too subtle or advanced for a newbie?

Anonymous 
Printed Page 11
example at the top of the page

I think there is still a mistake in the example for /etc/sudoers (section user
specifications).

In order for a user to be able to sudo all the executables of a directory, this
directory must be written with a '/' at the end.

The last line of the example becomes thus :

BACKUPOPS ALL , !CHEM = BACKUP , /usr/local/bin/

(perhaps this varies depending on the version of sudo).

Anonymous 
Printed Page 31
Paragraph that precedes the sentence "Here is an example command..."

The sentence "By default, searches are not case sensitive, but you can use -g to make them so." is incorrect.

I don't know that plod has a default search mode. Also, the "-g" option makes the search case-INsensitive.

Anonymous 
Printed Page 31
Paragraph that precedes the sentence "Here is an example command..."

The sentence "By default, searches are not case sensitive, but you can use -g to make them so." is incorrect.

I don't know that plod has a default search mode. Also, the "-g" option makes the search case-INsensitive.

Anonymous 
Printed Page 76
3nd Paragraph

Setting up man -k

page shows Solaris command as:

#makewhat /usr/share/man Solaris

Should be

#makewhatis /usr/share/man <-- this works on Solaris 8

Anonymous 
Printed Page 161
last line on page 161

the "-" between "run" and "level" is missing, the correct output from "who -r" should be:
. run-level 2 Mar 14 11:14 2 0 S
this way, $8 = "0", and $9 = "S"

Anonymous 
Printed Page 183
Second line

The top item is not an RG-11 coax connector, it's an AUI connector, I think ... not
directly related to coax cabling.

Anonymous 
Printed Page 196
bottom paragraph

In the bottom paragraph on p.196, the book states: "For example, for the network
address 192.168.0.0, you could use only 4 bits for the subnet part rather than the
usual 8, yielding 16 subnets of up to 1022 hosts each." Have you have mistated the
number of hosts in this example? If you have 16 subnets, shouldn't you have 4094
hosts on each subnet, because you have 12 bits available for hosts?
See generally www.murchison.net/techno/tcpip/super-chart.html. Your answer of 1022 is
based on 10 bits, which is not given in the example.

Anonymous 
Printed Page 203
4th paragraph

The if referred to in this paragraph "en0" should be the same as in the example which
is "eth0". I guess that someone confused the AIX with the Linux device designation.

Anonymous 
Printed Page 263
Table 6-7, second attribute

Primary group attribute
"prgp"
should be:
"pgrp"

Anonymous 
Printed Page 308
2nd paragraph under "pam_listfile(auth)"

The example for the paragraph states:
"auth required pam_listfile.so onerr=fail sense=deny
file=/etc/ftpusers item=user"

The following paragraph says "This entry says that the file /etc/ftpusers (file
argument) contains a list of usernames (item=user) who should be denied access to
ftp (sense=allow)."

I believe that should say "... who should be denied access to ftp (sense=deny)." As
the paragraph continues to state "If you want to grant access to a list of users, use
the option sense=allow."

Anonymous 
Printed Page 316
last paragraph before Installing and Configuring OpenLDAP: An Overview

The website (http://ldap.hklc.com) listed as "a convenient interface for exploring standard LDAP schema objects" is no longer valid. The given link takes you to a phpinfo() for the website.

Anonymous 
Printed Page 317
Example LDIF file at bottom of page

The line "dc: ahania.com" appears to be incorrect. This value does not work for my
server (openldap-2.1.30 on Redhat GNU/LINUX 2.4.18-27.8.0smp).

When I try this I get the following error:
adding new entry "dc=ahania,dc=com"
ldapadd: update failed: dc=ahania,dc=com
ldap_add: Naming violation (64)
additional info: value of naming attribute 'dc' is not present in entry

=======
It only works if I make the dc: line :

dc: ahania

Thus matching the first domain component value in the dn: line :

dn: dc=ahania,dc=com

Anonymous 
Printed Page 429
second code example

@ SOA IN should be @ IN SOA. The Linux DNS HOWTO says so, other books says
so and the error messages on my FreeBSD box say so as well...

Anonymous 
Printed Page 437
2nd paragraph (first code example)

In the example shown, shouldn't there be an open bracket "{" after the word "options"?

Anonymous 
Printed Page 481
Packet Sniffers -- second paragraph

Second word in second paragraph under the Packer Sniffer heading should be free
instead of freel.

Anonymous 
Printed Page 546
Table 9-3 / syslog mail facility messages

For the "syslog mail facility messages", /var/adm/maillog is listed for FreeBSD.

FreeBSD does not have /var/adm, like Solaris or Tru64 Unix... instead, all syslog
messages that fall under mail.info get placed under /var/mail/maillog.

Anonymous 
Printed Page 588
ldap configuration example

alias_maps = ldap:ldapsource
ldapaliases_server_host ....
ldapaliases_search_base ....

-> should be
ldapsource_server_host ....
ldapsource_search_base ....
etc

Anonymous 
Printed Page 591
1st line of last paragraph

The class is called "non_unknown" while It is spelt "no_unknown" everywhere else.

Anonymous 
Printed Page 692
2nd paragraph from the bottom

On Solaris, the option to specify filesystem type for mount is -F (this is the case
for Solaris 8 and 9, at least). In addition, the logical device files for block
devices are located in /dev/dsk. So the example for Solaris should be something
like:
mount -o ro -F hsfs /dev/dsk/c0t2d0s0 /mnt

Anonymous 
Printed Page 724
Table 11-2, Tru64 section

The Tru64 tape devices are listed as:
/dev/[n]rmt/tapen_dm

However, shouldn't it be something like this for Tru64 v5.x:
/dev/[n]tape/tapen_dm

Anonymous 
Printed Page 901
2nd code segment

I don't think this script exits with an '-h' flag, as the 'usage' on p. 900
indicates.

If that behavior is intended, you'd want something like:

elsif ($arg eq 'h') { &usage('') && exit; }

Anonymous 
Printed Page 906
2nd code segment, 5th line

print $sep if $matched2 && $nbef > $before && $show_sep && $show_fname;

should read

print $sep if $matched2 && $nbef > $before && $show_sep;

Anonymous 


"I am yet to find a task, whether typical or atypical, that is not covered in Essential System Administration."
--Tony Abou-Assaleh, Dalhousie ACM