Date: Fri, 6 Mar 1998 17:02:13 -0800 (PST) From: Greg Lehey <grog> To: FreeBSD-questions@FreeBSD.ORG Subject: "The Complete FreeBSD", second edition: errata and addenda Message-ID: <199803070102.RAA22138@hub.freebsd.org>
next in thread | raw e-mail | index | archive | help
Errata and addenda for the Complete FreeBSD, second edition
Last revision: 16 February 1997
The trouble with books is that you can't update them the way you can a web page
or any other online documentation. The result is that most leading edge com-
puter books are out of date almost before they are printed. Unfortunately,
``The Complete FreeBSD'', published by Walnut Creek, is no exception. The sec-
ond edition has only just been published, but already a number of bugs and
changes have surfaced.
The following is a list of modifications which go beyond simple typos. They
relate to the second edition, formatted on 16 December 1997. If you have this
book, please check this list. If you have the first edition of 19 July 1996,
please check ftp://ftp.lemis.com/pub/cfbsd/errata-1. This same file is also
available via the web link http://www.lemis.com/.
This list is available in four forms:
o A PostScript version, suitable for printing out, at
ftp://ftp.lemis.com/pub/cfbsd/errata-2.ps. See page 222 of the book to find
out how to print out PostScript. If at all possible, please take this docu-
ment: it's closest to the original text.
Be careful selecting this file with a web browser: it is often impossible to
reload the document, and you may see a previously cached version.
o An enhanced ASCII version at ftp://ftp.lemis.com/pub/cfbsd/errata-2.txt. When
viewed with more or less, this version will show some highlighting and under-
lining. It's not suitable for direct viewing.
o An ASCII-only version at ftp://ftp.lemis.com/pub/cfbsd/errata-2.ascii. This
version is posted every week to the FreeBSD-questions mailing list. Only
take this version if you have real problems with PostScript: I can't be sure
that the lack of different fonts won't confuse the meaning.
o A web version at http://www.lemis.com/errata-2.html.
All these modifications have been applied to the ongoing source text of the
book, so if you buy a later edition, they will be in it as well. If you find a
bug or a suspected bug in the book, please contact me at <grog@FreeBSD.org.>
General changes
o In a number of places, I suggest the use of the following command to find
process information:
$ ps aux | grep foo
Unfortunately, ps is sensitive to the column width of the terminal emulator
upon which it is working. This command usually works fine on a relatively
wide xterm, but if you're running on an 80-column terminal, it may truncate
exactly the information you're looking for, so you end up with no output.
You can fix that with the w option:
$ ps waux | grep foo
Thanks to Sue Blake <sue@welearn.com.au> for this information
Location of the sample files
The 2.2.5 CD-ROM came out before the book, and it contains the files on the
third (repository) CD-ROM as a single gzipped tar file
/xperimnt/cfbsd/cfbsd.tar.gz. It contains the following files:
drwxr-xr-x jkh/jkh 0 Oct 17 13:01 1997 cfbsd/
drwxr-xr-x jkh/jkh 0 Oct 17 13:01 1997 cfbsd/mutt/
-rw-r--r-- jkh/jkh 352 Oct 15 15:21 1997 cfbsd/mutt/.mail_aliases
-rw-r--r-- jkh/jkh 9394 Oct 15 15:22 1997 cfbsd/mutt/.muttrc
drwxr-xr-x jkh/jkh 0 Oct 17 14:02 1997 cfbsd/scripts/
-rw-r--r-- jkh/jkh 18281 Oct 16 16:52 1997 cfbsd/scripts/.fvwm2rc
-rwxr-xr-x jkh/jkh 1392 Oct 17 12:54 1997 cfbsd/scripts/install-desktop
-rw-r--r-- jkh/jkh 296 Oct 17 12:35 1997 cfbsd/scripts/.xinitrc
-rwxr-xr-x jkh/jkh 622 Oct 17 13:51 1997 cfbsd/scripts/install-rcfiles
-rw-r--r-- jkh/jkh 1133 Oct 17 13:00 1997 cfbsd/scripts/Uutry
-rw-r--r-- jkh/jkh 1028 Oct 17 14:02 1997 cfbsd/scripts/README
drwxr-xr-x jkh/jkh 0 Oct 18 19:32 1997 cfbsd/docs/
-rw-r--r-- jkh/jkh 199111 Oct 16 14:29 1997 cfbsd/docs/packages.txt
-rw-r--r-- jkh/jkh 189333 Oct 16 14:28 1997 cfbsd/docs/packages-by-category.txt
-rw-r--r-- jkh/jkh 188108 Oct 16 14:29 1997 cfbsd/docs/packages.ps
-rw-r--r-- jkh/jkh 226439 Oct 16 14:27 1997 cfbsd/docs/packages-by-category.ps
-rw-r--r-- jkh/jkh 788 Oct 16 15:01 1997 cfbsd/README
-rw-r--r-- jkh/jkh 248 Oct 17 11:52 1997 cfbsd/errata
To extract one of these files, say cfbsd/docs/packages.txt, and assuming you
have the CD-ROM mounted as /cdrom, enter:
# cd /usr/share/doc
# tar xvzf /cdrom/xperimnt/cfbsd/cfbsd.tar.gz cfbsd/docs/packages.txt
See page 209 for more information on using tar.
These files are an early version of what is described in the book. I'll put up
some updated versions on ftp://ftp.lemis.com/ in the near future.
Thanks to Frank McCormick <gfm@readybox.com> for drawing this to my attention.
Page 45: Preparing floppies for installation
Replace the paragraph below the list of file names (in the middle of the page)
with:
The floppy set should contain the file bin.inf and the ones whose names start
with bin. followed by two letters. These other files are all 240640 bytes
long, except for the final one which is usually shorter. Use the MS-DOS COPY
program to copy as many files as will fit onto each disk (5 or 6) until you've
got all the distributions you want packed up in this fashion. Copy each dis-
tribution into subdirectory corresponding to the base name--for example, copy
the bin distribution to the files A:\BIN\BIN.INF, A:\BIN\BIN.AA and so on.
Page 80 and 81
In a couple of examples, the FreeBSD partition is shown as type 164. It should
be 165. Thanks to an unknown contributer for this correction (sorry, I lost
your name).
Page 140
Just before the paragraph The super user add the following paragraph:
If you do manage to lose the root password, all may not be lost. You'll have
to reboot the machine to single user mode (see page 157), and enter:
# mount -u / mount root file system read/write
# passwd root change the password for root
Enter new password:
Enter password again:
# ^D enter ctrl-D to continue with startup
Note that you should explicitly state the name root: in single user mode, the
system doesn't have the concept of user IDs.
Page 160
Replace the text at the fourth bullet with the augmented text:
The second-level boot locates the kernel, by default the file /kernel on the
root file system, and loads it into memory. It prints the Boot: prompt at this
point so that you can influence this choice--see the man page on page 579 for
more details of what you can enter at this prompt.
Page 176
Add the following paragraph
Unmounting file systems
When you mount a file system, the system assumes it is going to stay there, and
in the interests of efficiency it delays writing data back to the file system.
This is the same effect we discussed on page 158. As a result, if you want to
stop using a file system, you need to tell the system about it. You do this
with the umount command. Note the spelling--there's no n in the command name.
You need to do this even with read-only media such as CD-ROMs: the system as-
sumes it can access the data from a mounted file system, and it gets quite un-
happy if it can't. Where possible, it locks removable media so that you can't
remove them from the device until you unmount them.
Using umount is straightforward: just tell it what to unmount, either the de-
vice name or the directory name. For example, to unmount the CD-ROM we mounted
in the example above, you could enter one of these commands:
# umount /dev/cd1a
# umount /cd1
Before unmounting a file system, umount checks that nobody is using it. If
somebody is using it, it will refuse to unmount it with a message like umount:
/cd1: Device busy. This message often occurs because you have changed your di-
rectory to a directory on the file system you want to remove. For example
(which also shows the usefulness of having directory names in the prompt):
=== root@freebie (/dev/ttyp2) /cd1 16 -> umount /cd1
umount: /cd1: Device busy
=== root@freebie (/dev/ttyp2) /cd1 17 -> cd
=== root@freebie (/dev/ttyp2) ~ 18 -> umount /cd1
=== root@freebie (/dev/ttyp2) ~ 19 ->
Thanks to Ken Deboy <glockr@locked_and_loaded.reno.nv.us> for pointing out this
omission.
Page 197, first line
The text of the first full sentence reads:
The first name, up the the symbol, is the label.
In fact, it should read:
The first name, up to the | symbol, is the label.
Page 208, middle of page
The example shows the file name /dev/rst0 when using the Bourne shell, and
/dev/nrst0 when using C shell and friends. This is inconsistent; use
/dev/nrst0 with any shell if you want a non-rewinding tape, or /dev/rst0 if you
want a rewinding tape.
Thanks to Norman C Rice <nrice@emu.sourcee.com> for pointing out this one.
Page 283, ``Creating the source tree''
Add a third point to what you need to know:
3. Possibly, the date of the last update that you want to be included in the
checkout. If you specify this date, cvs ignores any more recent updates.
This option is often useful when somebody discovers a recently introduced
bug in -CURRENT: you check out the modules as they were before the bug was
introduced. You specify the date with the -D option, for example -D "10
December 1997".
Page 285, after the second example.
Add the text:
If you need to check out an older version, for example if there are problems
with the most recent version of -CURRENT, you could enter:
# cvs co -D "10 December 1997" src/sys
This command checks out the kernel sources as of 10 December 1997.
Page 397
In the section ``Nicknames'', the example should read:
www IN CNAME freebie
ftp IN CNAME presto
In other words, there should be a space between CNAME and the system name.
Page 364, middle of page
Change the text from:
The names MYADDR and HISADDR are keywords which represent the addresses at each
end of the link. They must be written as shown, though they may be in lower
case.
to
The names MYADDR and HISADDR are keywords which represent the addresses at each
end of the link. They must be written as shown, though newer versions of ppp
allow you to write them in lower case.
Thanks to Mark S. Reichman <mark@fang.cs.sunyit.edu> for this correction.
Page 466, before the ps example
Add another bullet:
o Finally, you may find it convenient to let some other system handle all your
mail delivery for you: you just send anything you can't deliver locally to
this other host, which sendmail calls a smart host. This is particularly
convenient if you send your mail with UUCP.
To tell sendmail to use a smart host (in our case, mail.example.net), find
the following line in sendmail.cf:
# "Smart" relay host (may be null)
DS
Change it to:
# "Smart" relay host (may be null)
DSmail.example.net
Page 478, ``Running Apache''
The text describes the location of the server as /usr/local/www/server/httpd.
This appears to depend on where you get the port from. Some people report the
file being at the more likely location /usr/local/sbin/httpd (though note the
directory sbin, not bin). Check both locations if you run into trouble.
Thanks to Sue Blake <sue@welearn.com.au> for this information.
Page 493
Replace the last sentence on the page with:
Select the socket options TCP_NODELAY and IPTOS_LOWDELAY, which can speed up
the response time of such applications by over 95%.
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199803070102.RAA22138>
