This directory contains the current version of the book “The Complete FreeBSD”, which has also been published by O'Reilly and Associates. The present version is a slightly updated version of the same edition. It is provided for personal use under the Creative Commons Attribution-NonCommercial-ShareAlike 2.5 license. If you like this book, you might prefer the convenience of the paper version from O'Reilly.

Updates

The resource problems that we had shortly after the announcement are now over. Thanks to everybody who offered mirrors. For a couple of reasons, I'd prefer to use only one site:

I'm interested in how many downloads take place. That's easier if they're all from one place. This doesn't restrict your freedom to distribute the book under the provisions of the license, though you should read the next point:

There have been a number of updates since the initial release, and there will be more. Coordinating this across multiple sites is difficult

As a result of the load issues, I previously hosted these files on evilcode.net (thanks to Samuel J. Greear for supplying this site). Unfortunately, this service is now no longer available, and the pages are now hosted on my alternate web site, which contains only a poorly defined subset of the main web site. See the links below for the current locations.

There have also been some problems with the sources. If you have downloaded them before 10:00 UTC on 25 February 2006, you will need to perform some additional work to get the book to build.

As a result of the changes in the source, I've also rebuilt the PDF. There have been some reports of incorrect spacing round ligatures ('ff', 'fi', 'fl'). This appears to be a bug in ghostscript that creates different spacings from the standard when converting from PostScript to PDF. For non-base typefaces, I can include the fonts with the PDF (this is what I do with the Garamond fonts), but I haven't been able to find out how to do this with the base fonts. If you know an answer, please contact me. If you don't, but are affected by the problem, keep an eye on this page. I'll update it as soon as I have a fix.

The problem with the ligatures doesn't exist with the PostScript version. After gzipping it's also smaller, so you may prefer to download this version.

This shouldn't affect books built from source.

Contents

This directory contains:

The complete book in gzipped PostScript form (about 2.8 MB).

The complete book in gzipped PDF form (about 5 MB). This version has minor format problems with ligatures. If possible, use the PostScript version.

The complete book in uncompressed PDF form (about 10 MB). This version also has minor format problems with ligatures. If possible, use the PostScript version.

The complete sources for rebuilding the book (about 9.5 MB), gzipped tar.

Note that the files are gzipped. Many web browsers misunderstand and try to display the gzipped version, which will normally not work, though reportedly newer versions of acroread understand this format. Other browsers, notably Microsoft, lie about the size: they first unpack the file and then claim to have transferred the size of the unpacked file.

I hope that you'll download and build the book and send back patches for improving it. One improvement would be to weed out the files in the sources that are no longer needed.

The history

On 14 October 1995 I received a visit from a number of people from Walnut Creek CDROM, with whom I had published a CD-ROM of ported free software. This experience had also prompted me to write a book, “Porting UNIX Software”. At the time of the visit, O'Reilly and Associates were in the course of publishing the book, and I showed the final drafts to Jack Velte and Greg Long. They were very interested, and Jack said “Can't you write a book about how to install FreeBSD? Doesn't need to be long, just about 50 pages or so.”

At the time I had installed FreeBSD on a couple of machines, but my operating system of choice was BSD/OS. The idea sounded like fun, though, and so I quickly hacked together a few pages. Jack and Greg liked what they saw, and so we went ahead. I had gained some experience with using groff while writing “Porting UNIX Software”, and as the result of some production issues that I had had with that book, we agreed that I would do the entire formatting and supply the book in PostScript format.

On 24 February 1996, little over 4 months later, I submitted the final draft of a book which I called “Running FreeBSD 2.1”, and which Walnut Creek called “Installing And Running FreeBSD”. That's the way it was printed, as those of you who have this book can confirm.

The book was a great success. Of course, it was a little more than 50 pages; in fact, a total of 322 pages, including 54 pages of man pages from the FreeBSD distribution. Despite this, Jack wasn't happy: “Those Linux books have over 1000 pages! This looks like nothing. What can you do? We need something yesterday!”.

Well, I had started the trend with the first edition. I added many more man pages, a little more editorial content, and 5 months later, on 19 July, I submitted the next version. We had now agreed on the title: “The Complete FreeBSD”, with only 844 pages still shy of the 1000 page mark. 542 of those pages were man pages. Given the extreme time constraints, I'm still surprised that I managed so much.

From then on, I had more time to work on the book, and the material evolved in a more orderly manner. I formatted the second (or was that third?) edition on 29 November 1997, now with a whopping 1,766 pages (of which only 1,108 were man pages; that still left 658 pages of real content). Jack was finally pleased.

That proved to be too much, though. People complained that the book was unwieldy, and after all, man pages are intended to be read online. We agreed that printing lots of man pages was also a waste of money. When the third edition appeared, on 17 May 1999, it was slimmer: only 808 pages, still including 126 pages of man pages chosen because they could be of use when the machine wasn't running.

Changes were afoot in the industry, though. Jack left Walnut Creek, and later Bob Bruce merged Walnut Creek CDROM with BSDI. Shortly after that, they were taken over by Wind River Systems, who were ambivalent about the book. Round this time I convinced Andy Oram, my editor at O'Reilly, to publish the book. The fourth edition finally appeared in O'Reilly's “Community Press” series in May 2003. It had 718 pages and—oh wonder!—none of them were man pages.

That's the current status. Looking at those dates, you'll see that as time went on, each edition was further from its predecessor. There are several reasons for this: the material is mainly there, there are now other books on FreeBSD out there, and I don't have the time.

Still, I think that “The Complete FreeBSD” is a unique book, and it's probably worth maintaining. But I can't do it myself. So: I'm making the sources available under the “Creative Commons” license (the book itself has been under this license since the O'Reilly edition).

You can find all about the Creative Commons license at their web site,. Creative Commons offer a number of alternative license forms. This book is licensed under the “Attribution-NonCommercial-ShareAlike 2.5” license. The full text is located at http://creativecommons.org/licenses/by-nc-sa/2.5/legalcode (and requires that you reproduce this URI if you redistribute the work). The summary at http://creativecommons.org/licenses/by-nc-sa/2.5/ may be more intelligible:

You are free:

to copy, distribute, display, and perform the work

to make derivative works

under the following conditions:

Attribution. You must attribute the work in the manner specified by the author or licensor.

Noncommercial. You may not use this work for commercial purposes.

Share Alike. If you alter, transform, or build upon this work, you may distribute the resulting work only under a license identical to this one.

For any reuse or distribution, you must make clear to others the license terms of this work.

Any of these conditions can be waived if you get permission from the copyright holder.

Your fair use and other rights are in no way affected by the above.

I explicitly modify one aspect of this license:

You may use this book for commercial purposes if you pay me the sum of USD 20 per copy printed (whether sold or not). You must also agree to allow inspection of printing records and other material necessary to confirm the royalty sums.

This is a ridiculously high royalty, of course; if you really want to make commercial copies, please contact me and we'll come to a reasonable sum. The purpose of this clause is simply to ensure that you do contact me before printing.

Building the book

As it says on the flyleaf, this book was written in troff and formatted on 24 February 2006 with GNU groff Version 1.19 running under FreeBSD 6.0-CURRENT. It uses a set of macros which I derived from the groff mm macros. I've been working on them and the current version of the build process for more than 10 years, and it's a mess. I use the framework for most of my document processing, and one of the things I need to do is to fix it; I'm doing this in the background. At some later date I will hopefully be able to replace the current build mechanism.

In the meantime, a few pointers:

There are two directories, tools and Book . Their purposes should be self-evident.

Currently you need to run make in tools before building the book. This should change.

The default Makefile target builds the entire book. The resulting PostScript file will be located in complete/book.ps .

The build process uses Emacs .

The macros are in the file tools/tmac.Mn . The only documentation of the extended macros is in the comments in that file. Please don't bother to modify these macros, nor to document them. If you feel like doing that, please contact me and I'll give you the latest version, which is noticeably different.

If you don't like the Makefile or some other aspect of the build, and you feel like fixing it, don't bother either. I have a vastly improved version which I can give you; it's just not quite up to building the book yet.

The files are maintained with RCS . If you like, you can check out any past version, even before the first edition 10 years ago.

The RCS directory also contains some chapters which were determined to be uninteresting for the fourth edition, in particular chapters about SLIP, ISDN, UUCP and faxes. It should be relatively trivial to re-include them in the book, and I may do so in the future.

The status of this book

This book currently has effectively the same content as the fourth edition. I have changed the formatting somewhat: O'Reilly asked for a layout which I found ugly. You can set this version by modifying the macro file tmac.Mn and reverting this change:

--- tmac.Mn 2003/10/04 04:53:11 1.19 +++ tmac.Mn 2006/02/18 23:35:24 @@ -3185,7 +3185,7 @@ .\" Set style .\" 1: O'Reilly's community press style (Helvetica headings, Times body, no italics) .\" 2: Approximately O'Reilly's nutshell style (Garamond, italic headings) -.nr *doc*style* 1 +.nr *doc*style* 2 .\" Chapter heading .de Chapter .ds Section*title

The comments are no longer quite accurate: the book will format in the Garamond font set if you have it; otherwise it will fall back to Times Roman: Garamond is a commercial font, so I can't distribute it.

I've made some changes, but many more are needed. If you want to help, please let me know. I can't guarantee money (that would require another print run), but I can guarantee recognition in the preface.

Greg Lehey

Echunga, South Australia

24 February 2006