Frequently Asked Questions for FreeBSD 3.X, 4.X, 5.X, and 6.X

The FreeBSD Documentation Project

This is the FAQ for FreeBSD versions 3.X, 4.X, 5.X, and 6.X. All entries are assumed to be relevant to FreeBSD 3.0 and later, unless otherwise noted. If you are interested in helping with this project, send email to the FreeBSD documentation project mailing list. The latest version of this document is always available from the FreeBSD World Wide Web server. It may also be downloaded as one large HTML file with HTTP or as plain text, PostScript®, PDF, etc. from the FreeBSD FTP server. You may also want to Search the FAQ.

Redistribution and use in source (SGML DocBook) and 'compiled' forms (SGML, HTML, PDF, PostScript, RTF and so forth) with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code (SGML DocBook) must retain the above copyright notice, this list of conditions and the following disclaimer as the first lines of this file unmodified.

  2. Redistributions in compiled form (transformed to other DTDs, converted to PDF, PostScript, RTF and other formats) must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

Important: THIS DOCUMENTATION IS PROVIDED BY THE FREEBSD DOCUMENTATION PROJECT "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FREEBSD DOCUMENTATION PROJECT BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS DOCUMENTATION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

FreeBSD is a registered trademark of the FreeBSD Foundation.

3Com and HomeConnect are registered trademarks of 3Com Corporation.

Adobe, Acrobat, Acrobat Reader, and PostScript are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States and/or other countries.

Sound Blaster is a trademark of Creative Technology Ltd. in the United States and/or other countries.

CVSup is a registered trademark of John D. Polstra.

IBM, AIX, EtherJet, Netfinity, OS/2, PowerPC, PS/2, S/390, and ThinkPad are trademarks of International Business Machines Corporation in the United States, other countries, or both.

IEEE, POSIX, and 802 are registered trademarks of Institute of Electrical and Electronics Engineers, Inc. in the United States.

Intel, Celeron, EtherExpress, i386, i486, Itanium, Pentium, and Xeon are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries.

Iomega, Zip, and Jaz are either registered trademarks or trademarks of Iomega Corporation in the United States and/or other countries.

Linux is a registered trademark of Linus Torvalds.

Microsoft, IntelliMouse, MS-DOS, Outlook, Windows, Windows Media and Windows NT are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.

MIPS and R4000 are registered trademarks of MIPS Technologies, Inc. in the United States and other countries.

Netscape and the Netscape Navigator are registered trademarks of Netscape Communications Corporation in the U.S. and other countries.

Motif, OSF/1, and UNIX are registered trademarks and IT DialTone and The Open Group are trademarks of The Open Group in the United States and other countries.

Oracle is a registered trademark of Oracle Corporation.

Silicon Graphics, SGI, and OpenGL are registered trademarks of Silicon Graphics, Inc., in the United States and/or other countries worldwide.

Sparc, Sparc64, SPARCEngine, and UltraSPARC are trademarks of SPARC International, Inc in the United States and other countries. Products bearing SPARC trademarks are based upon architecture developed by Sun Microsystems, Inc.

Sun, Sun Microsystems, Java, Java Virtual Machine, JavaServer Pages, JDK, JSP, JVM, Netra, Solaris, StarOffice, Sun Blade, Sun Enterprise, Sun Fire, SunOS, and Ultra are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries.

U.S. Robotics and Sportster are registered trademarks of U.S. Robotics Corporation.

XFree86 is a trademark of The XFree86 Project, Inc.

Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this document, and the FreeBSD Project was aware of the trademark claim, the designations have been followed by the ``™'' or the ``®'' symbol.


Table of Contents
1 Introduction
2 Documentation and Support
3 Installation
4 Hardware compatibility
4.1 Architectures and processors
4.2 Peripherals and add-on cards
5 Troubleshooting
6 Commercial Applications
7 User Applications
8 System Administration
9 The X Window System and Virtual Consoles
10 Networking
11 Security
12 Miscellaneous Questions
13 The FreeBSD Funnies
14 Advanced Topics
15 Acknowledgments
Bibliography

Chapter 1 Introduction

Welcome to the FreeBSD 3.X-6.X FAQ!

As is usual with Usenet FAQs, this document aims to cover the most frequently asked questions concerning the FreeBSD operating system (and of course answer them!). Although originally intended to reduce bandwidth and avoid the same old questions being asked over and over again, FAQs have become recognized as valuable information resources.

Every effort has been made to make this FAQ as informative as possible; if you have any suggestions as to how it may be improved, please feel free to mail them to the FreeBSD documentation project mailing list.

1.1. What is FreeBSD?
1.2. What is the goal of the FreeBSD Project?
1.3. Does the FreeBSD license have any restrictions?
1.4. Can FreeBSD replace my current operating system?
1.5. Why is it called FreeBSD?
1.6. What are the differences between FreeBSD and NetBSD, OpenBSD, and other open source BSD operating systems?
1.7. What is the latest version of FreeBSD?
1.8. What is FreeBSD-CURRENT?
1.9. What is the FreeBSD-STABLE concept?
1.10. When are FreeBSD releases made?
1.11. Who is responsible for FreeBSD?
1.12. Where can I get FreeBSD?
1.13. How do I access the Problem Report database?
1.14. What other sources of information are there?

1.1. What is FreeBSD?

Briefly, FreeBSD is a UNIX® like operating system for the Alpha/AXP, AMD64 and Intel EM64T, i386™ IA-64, PC-98, and UltraSPARC® platforms based on U.C. Berkeley's ``4.4BSD-Lite'' release, with some ``4.4BSD-Lite2'' enhancements. It is also based indirectly on William Jolitz's port of U.C. Berkeley's ``Net/2'' to the i386, known as ``386BSD'', though very little of the 386BSD code remains. A fuller description of what FreeBSD is and how it can work for you may be found on the FreeBSD home page.

FreeBSD is used by companies, Internet Service Providers, researchers, computer professionals, students and home users all over the world in their work, education and recreation.

For more detailed information on FreeBSD, please see the FreeBSD Handbook.

1.2. What is the goal of the FreeBSD Project?

The goal of the FreeBSD Project is to provide software that may be used for any purpose and without strings attached. Many of us have a significant investment in the code (and project) and would certainly not mind a little financial compensation now and then, but we definitely do not insist on it. We believe that our first and foremost ``mission'' is to provide code to any and all comers, and for whatever purpose, so that the code gets the widest possible use and provides the widest possible benefit. This is, we believe, one of the most fundamental goals of Free Software and one that we enthusiastically support.

That code in our source tree which falls under the GNU General Public License (GPL) or GNU Library General Public License (LGPL) comes with slightly more strings attached, though at least on the side of enforced access rather than the usual opposite. Due to the additional complexities that can evolve in the commercial use of GPL software, we do, however, endeavor to replace such software with submissions under the more relaxed FreeBSD license whenever possible.

1.3. Does the FreeBSD license have any restrictions?

Yes. Those restrictions do not control how you use the code, merely how you treat the FreeBSD Project itself. If you have serious license concerns, read the actual license. For the simply curious, the license can be summarized like this.

  • Do not claim that you wrote this.

  • Do not sue us if it breaks.

1.4. Can FreeBSD replace my current operating system?

For most people, yes. But this question is not quite that cut-and-dried.

Most people do not actually use an operating system. They use applications. The applications are what really use the operating system. FreeBSD is designed to provide a robust and full-featured environment for applications. It supports a wide variety of web browsers, office suites, email readers, graphics programs, programming environments, network servers, and just about everything else you might want. Most of these applications can be managed through the Ports Collection.

If you need to use an application that is only available on one operating system, you simply cannot replace that operating system. Chances are there is a very similar application on FreeBSD, however. If you want a solid office or Internet server, a reliable workstation, or just the ability to do your job without interruptions, FreeBSD will almost certainly do everything you need. Many computer users across the world, including both novices and experienced UNIX administrators, use FreeBSD as their only desktop operating system.

If you are migrating to FreeBSD from some other UNIX environment, you already know most of what you need to. If your background is in graphic-driven operating systems such as Windows® and older versions of Mac OS®, expect to invest additional time learning the UNIX way of doing things. This FAQ and the FreeBSD Handbook are excellent places to start.

1.5. Why is it called FreeBSD?

  • It may be used free of charge, even by commercial users.

  • Full source for the operating system is freely available, and the minimum possible restrictions have been placed upon its use, distribution and incorporation into other work (commercial or non-commercial).

  • Anyone who has an improvement or bug fix is free to submit their code and have it added to the source tree (subject to one or two obvious provisions).

  • It is worth pointing out that the word ``free'' is being used in two ways here, one meaning ``at no cost'', the other meaning ``you can do whatever you like''. Apart from one or two things you cannot do with the FreeBSD code, for example pretending you wrote it, you can really do whatever you like with it.

1.6. What are the differences between FreeBSD and NetBSD, OpenBSD, and other open source BSD operating systems?

James Howard wrote a good explanation of the history and differences between the various projects for DaemonNews, called The BSD Family Tree which goes a fair way to answering this question.

1.7. What is the latest version of FreeBSD?

At this point in FreeBSD's development, there are three parallel development branches; releases are being made from two of the three branches. The 4.X series of releases is being made from the 4-STABLE branch and the 5.X series of releases is being made from 5-STABLE. It will be some time in mid-to-late 2005 before the first release will be made from the 6-CURRENT branch; that release (6.0) will be aimed at early adopters.

Up until the release of 5.3, the 4.X series was the one known as -STABLE. However, as of 5.3, 5.X has been designated the new -STABLE and 4.X will no longer see much new development. Instead, it will be designated for an "extended support" status and receive only fixes for major problems (such as security-related fixes.)

Version 5.3 is the latest release from the 5-STABLE branch; it was released in November 2004. Version 4.10 is the latest release from the 4-STABLE branch; it was released in May 2004.

Briefly, -STABLE is aimed at the ISP, corporate user, or any user who wants stability and a minimal number of changes compared to the new (and possibly unstable) features of the latest -CURRENT snapshot. Releases can come from either branch, but -CURRENT should only be used if you are prepared for its increased volatility (relative to -STABLE, that is).

Releases are made every few months. While many people stay more up-to-date with the FreeBSD sources (see the questions on FreeBSD-CURRENT and FreeBSD-STABLE) than that, doing so is more of a commitment, as the sources are a moving target.

More information on FreeBSD releases can be found on the Release Engineering page on the FreeBSD Web site.

1.8. What is FreeBSD-CURRENT?

FreeBSD-CURRENT is the development version of the operating system, which will in due course become the new FreeBSD-STABLE branch. As such, it is really only of interest to developers working on the system and die-hard hobbyists. See the relevant section in the handbook for details on running -CURRENT.

If you are not familiar with the operating system or are not capable of identifying the difference between a real problem and a temporary problem, you should not use FreeBSD-CURRENT. This branch sometimes evolves quite quickly and can be un-buildable for a number of days at a time. People that use FreeBSD-CURRENT are expected to be able to analyze any problems and only report them if they are deemed to be mistakes rather than ``glitches''. Questions such as ``make world produces some error about groups'' on the -CURRENT mailing list may be treated with contempt.

Every day, snapshot releases are made based on the current state of the -CURRENT and -STABLE branches. Distributions of the occasional snapshot are made available. The goals behind each snapshot release are:

  • To test the latest version of the installation software.

  • To give people who would like to run -CURRENT or -STABLE but who do not have the time or bandwidth to follow it on a day-to-day basis an easy way of bootstrapping it onto their systems.

  • To preserve a fixed reference point for the code in question, just in case we break something really badly later. (Although CVS normally prevents anything horrible like this happening :)

  • To ensure that all new features and fixes in need of testing have the greatest possible number of potential testers.

No claims are made that any -CURRENT snapshot can be considered ``production quality'' for any purpose. If you want to run a stable and fully tested system, you will have to stick to full releases, or use the -STABLE snapshots.

Snapshot releases are directly available from ftp://current.FreeBSD.org/pub/FreeBSD/snapshots/.

Snapshots are generated, on the average, daily for all actively developed branches.

1.9. What is the FreeBSD-STABLE concept?

Back when FreeBSD 2.0.5 was released, FreeBSD development branched in two. One branch was named -STABLE, one -CURRENT. FreeBSD-STABLE is intended for Internet Service Providers and other commercial enterprises for whom sudden shifts or experimental features are quite undesirable. It receives only well-tested bug fixes and other small incremental enhancements. FreeBSD-CURRENT, on the other hand, has been one unbroken line since 2.0 was released, leading towards 5.3-RELEASE (and beyond). Just before 5.3-RELEASE, the 5-STABLE branch was created, and FreeBSD-CURRENT became 6-CURRENT. For more detailed information, see `` FreeBSD Release Engineering: Creating the Release Branch''.

The 2.2-STABLE branch was retired with the release of 2.2.8. The 3-STABLE branch has ended with the release of 3.5.1, the final 3.X release. The only changes made to either of these branches will be, for the most part, security-related bug fixes. Support for the 4-STABLE branch will continue for some time but focus primarily on security-related bug fixes and other serious issues.

5-STABLE is the actively developed -STABLE branch. The latest release on the 5-STABLE branch is 5.3-RELEASE, which was released in November 2004.

The 6-CURRENT branch is the actively developed -CURRENT branch toward the next generation of FreeBSD. See What is FreeBSD-CURRENT? for more information on this branch.

1.10. When are FreeBSD releases made?

The Release Engineering Team releases a new version of FreeBSD about every four months, on average. Release dates are announced well in advance, so that the people working on the system know when their projects need to be finished and tested. A testing period precedes each release, in order to ensure that the addition of new features does not compromise the stability of the release. Many users regard this caution as one of the best things about FreeBSD, even though waiting for all the latest goodies to reach -STABLE can be a little frustrating.

More information on the release engineering process (including a schedule of upcoming releases) can be found on the release engineering pages on the FreeBSD Web site.

For people who need or want a little more excitement, binary snapshots are made daily as discussed above.

1.11. Who is responsible for FreeBSD?

The key decisions concerning the FreeBSD project, such as the overall direction of the project and who is allowed to add code to the source tree, are made by a core team of 9 people. There is a much larger team of more than 300 committers who are authorized to make changes directly to the FreeBSD source tree.

However, most non-trivial changes are discussed in advance in the mailing lists, and there are no restrictions on who may take part in the discussion.

1.12. Where can I get FreeBSD?

Every significant release of FreeBSD is available via anonymous FTP from the FreeBSD FTP site:

Information about obtaining FreeBSD on CD, DVD, and other media can be found in the Handbook.

1.13. How do I access the Problem Report database?

The Problem Report database of all user change requests may be queried by using our web-based PR query interface. The send-pr(1) command can be used to submit problem reports and change requests via electronic mail.

The web-based problem report submission interface is currently disabled due to persistent abuse.

Before submitting a problem report, please read Writing FreeBSD Problem Reports, an article on how to write good problem reports.

1.14. What other sources of information are there?

Please check the Documentation list on the main FreeBSD web site.


Chapter 2 Documentation and Support

2.1. What good books are there about FreeBSD?
2.2. Is the documentation available in other formats, such as plain text (ASCII), or PostScript?
2.3. Where do I find info on the FreeBSD mailing lists?
2.4. What FreeBSD news groups are available?
2.5. Are there FreeBSD IRC (Internet Relay Chat) channels?
2.6. Where can I get commercial FreeBSD training and support?

2.1. What good books are there about FreeBSD?

The project produces a wide range of documentation, available online from this link: http://www.FreeBSD.org/docs.html. The same documents are available as packages, that you can easily install on your FreeBSD system. More details on documentation packages can be found in the next paragraphs.

In addition, the Bibliography at the end of this FAQ, and the one in the Handbook reference other recommended books.

2.2. Is the documentation available in other formats, such as plain text (ASCII), or PostScript?

Yes. The documentation is available in a number of different formats and compression schemes on the FreeBSD FTP site, in the /pub/FreeBSD/doc/ directory.

The documentation is categorized in a number of different ways. These include:

  • The document's name, such as faq, or handbook.

  • The document's language and encoding. These are based on the locale names you will find under /usr/share/locale on your FreeBSD system. The current languages and encodings that we have for documentation are as follows:

    Name Meaning
    en_US.ISO8859-1 US English
    de_DE.ISO8859-1 German
    es_ES.ISO8859-1 Spanish
    fr_FR.ISO8859-1 French
    it_IT.ISO8859-15 Italian
    ja_JP.eucJP Japanese (EUC encoding)
    ru_RU.KOI8-R Russian (KOI8-R encoding)
    zh_TW.Big5 Chinese (Big5 encoding)

    Note: Some documents may not be available in all languages.

  • The document's format. We produce the documentation in a number of different output formats. Each format has its own advantages and disadvantages. Some formats are better suited for online reading, while others are meant to be aesthetically pleasing when printed on paper. Having the documentation available in any of these formats ensures that our readers will be able to read the parts they are interested in, either on their monitor, or on paper after printing the documents. The currently available formats are:

    Format Meaning
    html-split A collection of small, linked, HTML files.
    html One large HTML file containing the entire document
    pdb Palm Pilot database format, for use with the iSilo reader.
    pdf Adobe's Portable Document Format
    ps PostScript
    rtf Microsoft's Rich Text Format[a]
    txt Plain text
    Notes:
    a. Page numbers are not automatically updated when loading this format into Word. Press CTRL+A, CTRL+END, F9 after loading the document, to update the page numbers.
  • The compression and packaging scheme. There are three of these currently in use.

    1. Where the format is html-split, the files are bundled up using tar(1). The resulting .tar file is then compressed using the compression schemes detailed in the next point.

    2. All the other formats generate one file, called book.format (i.e., book.pdb, book.html, and so on).

      These files are then compressed using two compression schemes.

      Scheme Description
      zip The Zip format. If you want to uncompress this on FreeBSD you will need to install the archivers/unzip port first.
      bz2 The BZip2 format. Less widespread than Zip, but generally gives smaller files. Install the archivers/bzip2 port to uncompress these files.

      So the PostScript version of the Handbook, compressed using BZip2 will be stored in a file called book.ps.bz2 in the handbook/ directory.

After choosing the format and compression mechanism that you want to download, you must then decide whether or not you want to download the document as a FreeBSD package.

The advantage of downloading and installing the package is that the documentation can then be managed using the normal FreeBSD package management comments, such as pkg_add(1) and pkg_delete(1).

If you decide to download and install the package then you must know the filename to download. The documentation-as-packages files are stored in a directory called packages. Each package file looks like document-name.lang.encoding.format.tgz.

For example, the FAQ, in English, formatted as PDF, is in the package called faq.en_US.ISO8859-1.pdf.tgz.

Knowing this, you can use the following command to install the English PDF FAQ package.

# pkg_add ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/packages/faq.en_US.ISO8859-1.pdf.tgz

Having done that, you can use pkg_info(1) to determine where the file has been installed.

# pkg_info -f faq.en_US.ISO8859-1.pdf
Information for faq.en_US.ISO8859-1.pdf:

Packing list:
        Package name: faq.en_US.ISO8859-1.pdf
        CWD to /usr/share/doc/en_US.ISO8859-1/books/faq
File: book.pdf
        CWD to .
File: +COMMENT (ignored)
File: +DESC (ignored)

As you can see, book.pdf will have been installed into /usr/share/doc/en_US.ISO8859-1/books/faq.

If you do not want to use the packages then you will have to download the compressed files yourself, uncompress them, and then copy the appropriate documents into place.

For example, the split HTML version of the FAQ, compressed using bzip2(1), can be found in the doc/en_US.ISO8859-1/books/faq/book.html-split.tar.bz2 file. To download and uncompress that file you would have to do this.

# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/en_US.ISO8859-1/books/faq/book.html-split.tar.bz2
# bzip2 -d book.html-split.tar.bz2
# tar xvf book.html-split.tar

You will be left with a collection of .html files. The main one is called index.html, which will contain the table of contents, introductory material, and links to the other parts of the document. You can then copy or move these to their final location as necessary.

2.3. Where do I find info on the FreeBSD mailing lists?

You can find full information in the Handbook entry on mailing-lists.

2.4. What FreeBSD news groups are available?

You can find full information in the Handbook entry on newsgroups.

2.5. Are there FreeBSD IRC (Internet Relay Chat) channels?

Yes, most major IRC networks host a FreeBSD chat channel:

  • Channel #FreeBSD on EFNet is a FreeBSD forum, but do not go there for tech support or try to get folks there to help you avoid the pain of reading manual pages or doing your own research. It is a chat channel, first and foremost, and topics there are just as likely to involve sex, sports or nuclear weapons as they are FreeBSD. You Have Been Warned! Available at server irc.chat.org.

  • Channel #FreeBSDhelp on EFNet is a channel dedicated to helping FreeBSD users. They are much more sympathetic to questions than #FreeBSD is.

  • Channel #FreeBSD on DALNET is available at irc.dal.net in the US and irc.eu.dal.net in Europe.

  • Channel #FreeBSD on UNDERNET is available at us.undernet.org in the US and eu.undernet.org in Europe. Since it is a help channel, be prepared to read the documents you are referred to.

  • Channel #FreeBSD on HybNet. This channel is a help channel. A list of servers can be found on the HybNet web site.

Each of these channels are distinct and are not connected to each other. Their chat styles also differ, so you may need to try each to find one suited to your chat style. As with all types of IRC traffic, if you are easily offended or cannot deal with lots of young people (and more than a few older ones) doing the verbal equivalent of jello wrestling, do not even bother with it.

2.6. Where can I get commercial FreeBSD training and support?

DaemonNews provides commercial training and support for FreeBSD. More information can be found at their BSD Mall site.

FreeBSD Services Ltd provide commercial support for FreeBSD in the UK (as well as selling FreeBSD on DVD). See their web site for more information.

The FreeBSD Mall provides commercial FreeBSD support. You can get more information at their web site.

Any other organizations providing training and support should contact the project in order to be listed here.


Chapter 3 Installation

Nik Clayton
3.1. Which file do I download to get FreeBSD?
3.2. Where are the instructions for installing FreeBSD?
3.3. What do I need in order to run FreeBSD?
3.4. Can I have more than one operating system on my PC?
3.5. Do I need to install the complete sources?
3.6. Do I need to build a kernel?

3.1. Which file do I download to get FreeBSD?

Full instructions on this procedure and a little bit more about installation issues in general can be found in the Handbook entry on installing FreeBSD.

3.2. Where are the instructions for installing FreeBSD?

Installation instructions can be found in the Handbook entry on installing FreeBSD.

3.3. What do I need in order to run FreeBSD?

See also Chapter 4.

3.4. Can I have more than one operating system on my PC?

Have a look at the multi-OS page.

3.5. Do I need to install the complete sources?

In general, no. However, we would strongly recommend that you install, at a minimum, the base source kit, which includes several of the files mentioned here, and the sys (kernel) source kit, which includes sources for the kernel. There is nothing in the system which requires the presence of the sources to operate, however, except for the kernel-configuration program config(8). With the exception of the kernel sources, our build structure is set up so that you can read-only mount the sources from elsewhere via NFS and still be able to make new binaries (due to the kernel-source restriction, we recommend that you not mount this on /usr/src directly, but rather in some other location with appropriate symbolic links to duplicate the top-level structure of the source tree).

Having the sources on-line and knowing how to build a system with them will make it much easier for you to upgrade to future releases of FreeBSD.

To actually select a subset of the sources, use the Custom menu item when you are in the Distributions menu of the system installation tool.

3.6. Do I need to build a kernel?

Building a new kernel was originally pretty much a required step in a FreeBSD installation, but more recent releases have benefited from the introduction of much friendlier kernel configuration methods. In 4.X and earlier, when at the FreeBSD boot prompt (boot:), use the -c flag and you will be dropped into a visual configuration screen which allows you to configure the kernel's settings for most common ISA cards. In FreeBSD 5.X and later this has been replaced by much more flexible "hints" which can be set from the loader prompt.

It may still be worthwhile building a new kernel containing just the drivers that you need, just to save a bit of RAM, but it is no longer necessary for most systems.

For complete details see the kernel config section of the Handbook.


Chapter 4 Hardware compatibility

4.1 Architectures and processors

4.1.1. Does FreeBSD support architectures other than the x86?
4.1.2. Does FreeBSD support Symmetric Multiprocessing (SMP)?

4.1.1. Does FreeBSD support architectures other than the x86?

Yes. FreeBSD currently runs on the Intel x86 and DEC (now Compaq) Alpha architectures. As of FreeBSD 5.0, the AMD64 and Intel EM64T, IA-64, and Sparc64® architectures are also supported. Upcoming platforms are MIPS® and PowerPC®, join the FreeBSD PowerPC porting mailing list or the FreeBSD MIPS porting mailing list respectively for more information about ongoing work on these platforms. For general discussion on new architectures, join the FreeBSD non-Intel platforms porting mailing list.

If your machine has a different architecture and you need something right now, we suggest you look at NetBSD or OpenBSD.

4.1.2. Does FreeBSD support Symmetric Multiprocessing (SMP)?

Yes. SMP was enabled by default in the GENERIC kernel as of FreeBSD 5.2.

The intention was also to enable it by default for the FreeBSD 5.3 release, but problems running the SMP kernel on certain UP machines led to the decision to disable it until those problems can be addressed. This is a priority for FreeBSD 5.4.

In FreeBSD 4.X, SMP is not enabled in the default kernel, so you must recompile your kernel to enable SMP. Take a look at /sys/i386/conf/LINT to learn which options to put in your kernel config file.


4.2 Peripherals and add-on cards

Please see the Hardware notes for FreeBSD 5.3 or 4.10 for the list of items currently supported. If you still have questions, please search the mailing list archives before asking about the latest and greatest hardware. Chances are a discussion about the type of hardware you are looking for took place just last week.


Chapter 5 Troubleshooting

Please see the troubleshooting FAQ at <blahblahblah>.


Chapter 6 Commercial Applications

Please see the Commercial Applications list at <blahblahblah>.


Chapter 7 User Applications

7.1. So, where are all the user applications?
7.2. Does FreeBSD support Java™?
7.3. I updated the sources, now how do I update my installed ports?

7.1. So, where are all the user applications?

Please take a look at the ports page for info on software packages ported to FreeBSD. The list currently tops 11,800 and is growing daily, so come back to check often or subscribe to the freebsd-announce mailing list for periodic updates on new entries.

Most ports should work on the 4.X, 5.X, and 6.X branches. Each time a FreeBSD release is made, a snapshot of the ports tree at the time of release in also included in the ports/ directory.

We also support the concept of a ``package'', essentially no more than a compressed binary distribution with a little extra intelligence embedded in it for doing whatever custom installation work is required. A package can be installed and uninstalled again easily without having to know the gory details of which files it includes.

Use the package installation menu in /stand/sysinstall (under the post-configuration menu item) or invoke the pkg_add(1) command on the specific package files you are interested in installing. Package files can usually be identified by their .tgz or .tbz suffix and CDROM distribution people will have a packages/All directory on their CD which contains such files. They can also be downloaded over the net for various versions of FreeBSD at the following locations:

or your nearest local mirror site.

Note that all ports may not be available as packages since new ones are constantly being added. It is always a good idea to check back periodically to see which packages are available at the ftp.FreeBSD.org master site.

7.2. Does FreeBSD support Java™?

Yes. Please see http://www.FreeBSD.org/java/.

7.3. I updated the sources, now how do I update my installed ports?

FreeBSD does not include a port upgrading tool, but it does have some tools to make the upgrade process somewhat easier. You can also install additional tools to simplify port handling.

The pkg_version(1) command can generate a script that will update installed ports to the latest version in the ports tree.

# pkg_version -c > /tmp/myscript

The output script must be edited by hand before you use it. Recent versions of pkg_version(1) force this by inserting an exit(1) at the beginning of the script.

You should save the output of the script, as it will note packages that depend on the one that has been updated. These may or may not need to be updated as well. The usual case where they need to be updated is that a shared library has changed version numbers, so the ports that used that library need to be rebuilt to use the new version.

Note: Beginning with FreeBSD 5.0 (and higher revisions), pkg_version(1) no longer supports the -c option.

If you have the disk space, you can use the portupgrade tool to automate all of this. portupgrade includes various tools to simplify package handling. It is available under sysutils/portupgrade. Since it is written in Ruby, portupgrade is an unlikely candidate for integration with the main FreeBSD tree. That should not stop anyone from using it, however.

If your system is up full time, the periodic(8) system can be used to generate a weekly list of ports that might need updating by setting weekly_status_pkg_enable="YES" in /etc/periodic.conf.


Chapter 8 System Administration

Please see the System Administration section of the Handbook at <blahblahblah>.


Chapter 9 The X Window System and Virtual Consoles

9.1. What is the X Window System?
9.2. Which X implementations are available for FreeBSD?
9.3. Will my existing applications run with the Xorg suite?
9.4. Why did the X projects split, anyway?
9.5. Why did FreeBSD choose to go with the Xorg ports by default?
9.6. I want to run X, how do I go about it?

9.1. What is the X Window System?

The X Window System is the most widely available windowing system capable of running on UNIX or UNIX like systems, including FreeBSD. The X.Org Foundation administers the X protocol standards. The current release of the specification is 11.6, so you will often see references shortened to X11R6 or even just X11.

Many implementations are available for different architectures and operating systems. For instance, an implementation of the server-side code is properly known as an X server.

9.2. Which X implementations are available for FreeBSD?

Historically, the default implementation of X on FreeBSD has been XFree86™ which is maintained by The XFree86 Project, Inc. This software was installed by default on FreeBSD versions up until 4.10 and 5.2. Although Xorg itself maintained an implementation during that time period, it was basically only provided as a reference platform, as it had suffered greatly from bitrot over the years.

However, early in 2004, some XFree86 developers left that project over issues including the pace of code changes, future directions, and interpersonal conflicts, and are now contributing code directly to Xorg instead. At that time, Xorg updated its source tree to the last XFree86 release before its subsequent licensing change (XFree86 version 4.3.99.903), incorporated many changes that had previously been maintained separately, and has released that software as X11R6.7.0. A separate but related project, freedesktop.org (or fd.o for short), is working on rearchitecting the original XFree86 code to offload more work onto the graphics cards (with the goal of increased performance) and make it more modular (with the goal of increased maintainability, and thus faster releases as well as easier configuration). Xorg intends to incorporate the freedesktop.org changes in its future releases.

As of July 2004, in FreeBSD-CURRENT, XFree86 has been replaced with Xorg as the default implementation. The XFree86 ports (x11/XFree86-4 and subports) remain in the ports collection and are still the default for FreeBSD-STABLE.

Note: The above describes the default X implementation installed. It is still possible to install either implementation by following the instructions in the entry for 20040723 in /usr/ports/UPDATING.

Warning: It is not currently possible to mix-and-match pieces of each implementation; one must choose one or the other.

Note: The following paragraphs refer to the XFree86 implementation, but most should also be applicable to the Xorg implementation as well. While the default configuration filename for the Xorg implementation is xorg.conf, it will search for XF86Config if it cannot find it.

9.3. Will my existing applications run with the Xorg suite?

The Xorg software is written to the same X11R6 specification that XFree86 is, so basic applications should work unchanged. A few lesser-used protocols have been deprecated (XIE, PEX, and lbxproxy), but in the first two cases, the FreeBSD port of XFree86 did not support them either.

9.4. Why did the X projects split, anyway?

The answer to this question is outside the scope of this FAQ. Note that there are voluminous postings in various mailing list archives on the Internet; please use your favorite search engine to investigate the history instead of asking this question on the FreeBSD mailing lists. It may even be the case that only the participants will ever know for certain.

9.5. Why did FreeBSD choose to go with the Xorg ports by default?

The Xorg developers claim that their goal is to release more often and incorporate new features more quickly. If they are able to do so, this will be very attractive. Also, their software still uses the traditional X license, while XFree86 is now using their modified one.

Note: This decision is still controversial. Only time will tell which implementation proves technically superior. Each FreeBSD user should decide which they prefer.

9.6. I want to run X, how do I go about it?

See the Installing X FAQ at <blahblahblah>.


Chapter 10 Networking

Please see the Networking section of the Handbook at <blahblahblah>.


Chapter 11 Security

Please see the Security section of the Handbook at <blahblahblah>.


Chapter 12 Miscellaneous Questions

12.1. Can I run DOS binaries under FreeBSD?
12.2. What do I need to do to translate a FreeBSD document into my native language?
12.3. Why does my email to any address at FreeBSD.org bounce?
12.4. Where can I find a free FreeBSD account?
12.5. What is the cute little red guy's name?
12.6. Can I use the BSD daemon image?
12.7. Do you have any BSD daemon images I could use?
12.8. What does MFC mean?
12.9. What does BSD mean?
12.10. What does POLA mean?
12.11. What is a repo-copy?
12.12. Why should I care what color the bikeshed is?

12.1. Can I run DOS binaries under FreeBSD?

Yes, you can use emulators/doscmd, a DOS emulation program, available in the FreeBSD Ports Collection.

Note: The doscmd program used to be an integrated part of FreeBSD, but was removed before the release of FreeBSD 5.3.

If doscmd will not suffice, the add-on utility emulators/pcemu emulates an 8088 and enough BIOS services to run many DOS text mode applications. It requires the X Window System.

12.2. What do I need to do to translate a FreeBSD document into my native language?

See the Translation FAQ in the FreeBSD Documentation Project Primer.

12.3. Why does my email to any address at FreeBSD.org bounce?

The FreeBSD.org mail system implements some of the stricter Postfix checks on incoming mail and rejects mail that is either misconfigured or is potential spam. Your mail might bounce for one of the following reasons:

  • The email is being sent from a known spam domain or IP block.

    The FreeBSD mail servers reject email from known spam sources. If you have service through a company or domain who generates or relays spam, please switch to a service provider who does not.

  • The body of the email only contains HTML.

    Mail should be sent in plain text only. Please configure your mail user agent to send plain text.

  • The mailer at FreeBSD.org cannot resolve the IP address of the connecting host back to a symbolic name.

    Working reverse DNS is a standard requirement for accepting mail from a host. Set up reverse DNS for your mail server's IP address. Many home services (DSL, cable, dialup, etc.) will not give you this option. In this case, relay your email through your service provider's mail server.

  • The hostname given in the EHLO/HELO part of the SMTP exchange cannot be resolved to an IP address.

    A fully qualified, resolvable host name is necessary in this part of the SMTP dialogue before mail will be accepted. If you do not have a host name that is registered in the DNS, then you should use your service provider's mail server to relay your mail.

  • Your message had a message ID ending with the string ``localhost''.

    Some mail user agents generate bad message IDs which will not be accepted. You will need to persuade your mail user agent to generate a valid message ID or else configure your mail transfer agent to rewrite them.

12.4. Where can I find a free FreeBSD account?

While FreeBSD does not provide open access to any of their servers, others do provide open access UNIX systems. The charge varies and limited services may be available.

Arbornet, Inc, also known as M-Net, has been providing open access to UNIX systems since 1983. Starting on an Altos running System III, the site switched to BSD/OS in 1991. In June of 2000, the site switched again to FreeBSD. M-Net can be accessed via telnet and SSH and provides basic access to the entire FreeBSD software suite. However, network access is limited to members and patrons who donate to the system, which is run as a non-profit organization. M-Net also provides an bulletin board system and interactive chat.

Grex provides a site very similar to M-Net including the same bulletin board and interactive chat software. However, the machine is a Sun™ 4M and is running SunOS™.

12.5. What is the cute little red guy's name?

He does not have one, and is just called ``the BSD daemon''. If you insist upon using a name, call him ``beastie''. Note that ``beastie'' is pronounced ``BSD''.

You can learn more about the BSD daemon on his home page.

12.6. Can I use the BSD daemon image?

Perhaps. The BSD daemon is copyrighted by Marshall Kirk McKusick. You will want to check his Statement on the Use of the BSD Daemon Figure for detailed usage terms.

In summary, you are free to use the image in a tasteful manner, for personal use, so long as appropriate credit is given. If you want to use him commercially, you must contact Kirk McKusick. More details are available on the BSD Daemon's home page.

12.7. Do you have any BSD daemon images I could use?

You will find eps and Xfig drawings under /usr/share/examples/BSD_daemon/.

12.8. What does MFC mean?

MFC is an acronym for ``Merged From -CURRENT''. It is used in the CVS logs to denote when a change was migrated from the CURRENT to the STABLE branches.

12.9. What does BSD mean?

It stands for something in a secret language that only members can know. It does not translate literally but it is ok to tell you that BSD's translation is something between, ``Formula-1 Racing Team'', ``Penguins are tasty snacks'', and ``We have a better sense of humor than Linux®''. :-)

Seriously, BSD is an acronym for ``Berkeley Software Distribution'', which is the name the Berkeley CSRG (Computer Systems Research Group) chose for their UNIX distribution way back when.

12.10. What does POLA mean?

Principle of Least Astonishment. It means that as FreeBSD evolves, changes visible to the user should be kept as unsurprising as possible. For example, arbitrarily rearranging system startup variables in /etc/defaults/rc.conf violates POLA. Developers consider POLA when contemplating user-visible system changes.

12.11. What is a repo-copy?

A repo-copy (which is a short form of ``repository copy'') refers to the direct copying of files within the CVS repository.

Without a repo-copy, if a file needed to be copied or moved to another place in the repository, the committer would run cvs add to put the file in its new location, and then cvs rm on the old file if the old copy was being removed.

The disadvantage of this method is that the history (i.e. the entries in the CVS logs) of the file would not be copied to the new location. As the FreeBSD Project considers this history very useful, a repository copy is often used instead. This is a process where one of the repository meisters will copy the files directly within the repository, rather than using the cvs(1) program.

12.12. Why should I care what color the bikeshed is?

The really, really short answer is that you should not. The somewhat longer answer is that just because you are capable of building a bikeshed does not mean you should stop others from building one just because you do not like the color they plan to paint it. This is a metaphor indicating that you need not argue about every little feature just because you know enough to do so. Some people have commented that the amount of noise generated by a change is inversely proportional to the complexity of the change.

The longer and more complete answer is that after a very long argument about whether sleep(1) should take fractional second arguments, Poul-Henning Kamp posted a long message entitled ``A bike shed (any colour will do) on greener grass...''. The appropriate portions of that message are quoted below.

 

``What is it about this bike shed?'' Some of you have asked me.

It is a long story, or rather it is an old story, but it is quite short actually. C. Northcote Parkinson wrote a book in the early 1960s, called ``Parkinson's Law'', which contains a lot of insight into the dynamics of management.

[snip a bit of commentary on the book]

In the specific example involving the bike shed, the other vital component is an atomic power-plant, I guess that illustrates the age of the book.

Parkinson shows how you can go into the board of directors and get approval for building a multi-million or even billion dollar atomic power plant, but if you want to build a bike shed you will be tangled up in endless discussions.

Parkinson explains that this is because an atomic plant is so vast, so expensive and so complicated that people cannot grasp it, and rather than try, they fall back on the assumption that somebody else checked all the details before it got this far. Richard P. Feynmann gives a couple of interesting, and very much to the point, examples relating to Los Alamos in his books.

A bike shed on the other hand. Anyone can build one of those over a weekend, and still have time to watch the game on TV. So no matter how well prepared, no matter how reasonable you are with your proposal, somebody will seize the chance to show that he is doing his job, that he is paying attention, that he is here.

In Denmark we call it ``setting your fingerprint''. It is about personal pride and prestige, it is about being able to point somewhere and say ``There! I did that.'' It is a strong trait in politicians, but present in most people given the chance. Just think about footsteps in wet cement.

 
--Poul-Henning Kamp on freebsd-hackers, October 2, 1999  

Chapter 13 The FreeBSD Funnies

13.1. How cool is FreeBSD?
13.2. Who is scratching in my memory banks??
13.3. How many FreeBSD hackers does it take to change a lightbulb?
13.4. Where does data written to /dev/null go?

13.1. How cool is FreeBSD?

Q. Has anyone done any temperature testing while running FreeBSD? I know Linux runs cooler than DOS, but have never seen a mention of FreeBSD. It seems to run really hot.

A. No, but we have done numerous taste tests on blindfolded volunteers who have also had 250 micrograms of LSD-25 administered beforehand. 35% of the volunteers said that FreeBSD tasted sort of orange, whereas Linux tasted like purple haze. Neither group mentioned any significant variances in temperature. We eventually had to throw the results of this survey out entirely anyway when we found that too many volunteers were wandering out of the room during the tests, thus skewing the results. We think most of the volunteers are at Apple now, working on their new ``scratch and sniff'' GUI. It is a funny old business we are in!

Seriously, both FreeBSD and Linux use the HLT (halt) instruction when the system is idle thus lowering its energy consumption and therefore the heat it generates. Also if you have APM (advanced power management) configured, then FreeBSD can also put the CPU into a low power mode.

13.2. Who is scratching in my memory banks??

Q. Is there anything ``odd'' that FreeBSD does when compiling the kernel which would cause the memory to make a scratchy sound? When compiling (and for a brief moment after recognizing the floppy drive upon startup, as well), a strange scratchy sound emanates from what appears to be the memory banks.

A. Yes! You will see frequent references to ``daemons'' in the BSD documentation, and what most people do not know is that this refers to genuine, non-corporeal entities that now possess your computer. The scratchy sound coming from your memory is actually high-pitched whispering exchanged among the daemons as they best decide how to deal with various system administration tasks.

If the noise gets to you, a good fdisk /mbr from DOS will get rid of them, but do not be surprised if they react adversely and try to stop you. In fact, if at any point during the exercise you hear the satanic voice of Bill Gates coming from the built-in speaker, take off running and do not ever look back! Freed from the counterbalancing influence of the BSD daemons, the twin demons of DOS and Windows are often able to re-assert total control over your machine to the eternal damnation of your soul. Now that you know, given a choice you would probably prefer to get used to the scratchy noises, no?

13.3. How many FreeBSD hackers does it take to change a lightbulb?

One thousand, one hundred and sixty-nine:

Twenty-three to complain to -CURRENT about the lights being out;

Four to claim that it is a configuration problem, and that such matters really belong on -questions;

Three to submit PRs about it, one of which is misfiled under doc and consists only of ``it's dark'';

One to commit an untested lightbulb which breaks buildworld, then back it out five minutes later;

Eight to flame the PR originators for not including patches in their PRs;

Five to complain about buildworld being broken;

Thirty-one to answer that it works for them, and they must have cvsupped at a bad time;

One to post a patch for a new lightbulb to -hackers;

One to complain that he had patches for this three years ago, but when he sent them to -CURRENT they were just ignored, and he has had bad experiences with the PR system; besides, the proposed new lightbulb is non-reflexive;

Thirty-seven to scream that lightbulbs do not belong in the base system, that committers have no right to do things like this without consulting the Community, and WHAT IS -CORE DOING ABOUT IT!?

Two hundred to complain about the color of the bicycle shed;

Three to point out that the patch breaks style(9);

Seventeen to complain that the proposed new lightbulb is under GPL;

Five hundred and eighty-six to engage in a flame war about the comparative advantages of the GPL, the BSD license, the MIT license, the NPL, and the personal hygiene of unnamed FSF founders;

Seven to move various portions of the thread to -chat and -advocacy;

One to commit the suggested lightbulb, even though it shines dimmer than the old one;

Two to back it out with a furious flame of a commit message, arguing that FreeBSD is better off in the dark than with a dim lightbulb;

Forty-six to argue vociferously about the backing out of the dim lightbulb and demanding a statement from -core;

Eleven to request a smaller lightbulb so it will fit their Tamagotchi if we ever decide to port FreeBSD to that platform;

Seventy-three to complain about the SNR on -hackers and -chat and unsubscribe in protest;

Thirteen to post ``unsubscribe'', ``How do I unsubscribe?'', or ``Please remove me from the list'', followed by the usual footer;

One to commit a working lightbulb while everybody is too busy flaming everybody else to notice;

Thirty-one to point out that the new lightbulb would shine 0.364% brighter if compiled with TenDRA (although it will have to be reshaped into a cube), and that FreeBSD should therefore switch to TenDRA instead of GCC;

One to complain that the new lightbulb lacks fairings;

Nine (including the PR originators) to ask ``what is MFC?'';

Fifty-seven to complain about the lights being out two weeks after the bulb has been changed.

Nik Clayton adds:

I was laughing quite hard at this.

And then I thought, ``Hang on, shouldn't there be '1 to document it.' in that list somewhere?''

And then I was enlightened :-)

13.4. Where does data written to /dev/null go?

It goes into a special data sink in the CPU where it is converted to heat which is vented through the heatsink / fan assembly. This is why CPU cooling is increasingly important; as people get used to faster processors, they become careless with their data and more and more of it ends up in /dev/null, overheating their CPUs. If you delete /dev/null (which effectively disables the CPU data sink) your CPU may run cooler but your system will quickly become constipated with all that excess data and start to behave erratically. If you have a fast network connection you can cool down your CPU by reading data out of /dev/random and sending it off somewhere; however you run the risk of overheating your network connection and / or angering your ISP, as most of the data will end up getting converted to heat by their equipment, but they generally have good cooling, so if you do not overdo it you should be OK.

Paul Robinson adds:

There are other methods. As every good sysadmin knows, it is part of standard practise to send data to the screen of interesting variety to keep all the pixies that make up your picture happy. Screen pixies (commonly mis-typed or re-named as ``pixels'' are categorised by the type of hat they wear (red, green or blue) and will hide or appear (thereby showing the colour of their hat) whenever they receive a little piece of food. Video cards turn data into pixie-food, and then send them to the pixies - the more expensive the card, the better the food, so the better behaved the pixies are. They also need constant stimulation - this is why screen savers exist.

To take your suggestions further, you could just throw the random data to console, thereby letting the pixies consume it. This causes no heat to be produced at all, keeps the pixies happy and gets rid of your data quite quickly, even if it does make things look a bit messy on your screen.

Incidentally, as an ex-admin of a large ISP who experienced many problems attempting to maintain a stable temperature in a server room, I would strongly discourage people sending the data they do not want out to the network. The fairies who do the packet switching and routing get annoyed by it as well.


Chapter 14 Advanced Topics

14.1. How can I learn more about FreeBSD's internals?
14.2. How can I contribute to FreeBSD?
14.3. What are SNAPs and RELEASEs?
14.4. How do I make my own custom release?
14.5. How can I make the most of the data I see when my kernel panics?

14.1. How can I learn more about FreeBSD's internals?

At this time, there is only one book on FreeBSD-specific OS internals, namely ``The Design and Implementation of the FreeBSD Operating System'' by Marshall Kirk McKusick and George V. Neville-Neil, ISBN 0-201-70245-2, which focuses on version 5.X of FreeBSD.

Additionally, much general UNIX knowledge is directly applicable to FreeBSD.

For a list of relevant books, please check the Handbook's Operating System Internals Bibliography.

14.2. How can I contribute to FreeBSD?

Please see the article on Contributing to FreeBSD for specific advice on how to do this. Assistance is more than welcome!

14.3. What are SNAPs and RELEASEs?

There are currently three active/semi-active branches in the FreeBSD CVS Repository. (Earlier branches are only changed very rarely, which is why there are only three active branches of development):

  • RELENG_4 AKA 4-STABLE

  • RELENG_5 AKA 5-STABLE

  • HEAD AKA -CURRENT AKA 6.X-CURRENT

HEAD is not an actual branch tag, like the other two; it is simply a symbolic constant for ``the current, non-branched development stream'' which we simply refer to as ``-CURRENT''.

Right now, ``-CURRENT'' is the 6.X development stream; the 4-STABLE branch, RELENG_4, forked off from ``-CURRENT'' in March 2000, and the 5-STABLE branch, RELENG_5, forked off from ``-CURRENT'' in October 2004.

14.4. How do I make my own custom release?

Please see the Release Engineering article.

14.5. How can I make the most of the data I see when my kernel panics?

Please see the article at <blahblahblah>.


Chapter 15 Acknowledgments

 

If you see a problem with this FAQ, or wish to submit an entry, please mail the FreeBSD documentation project mailing list. We appreciate your feedback, and cannot make this a better FAQ without your help!

 
--FreeBSD Core Team  
Jordan K. Hubbard

Occasional fits of FAQ-reshuffling and updating.

Doug White

Services above and beyond the call of duty on freebsd-questions

Jörg Wunsch

Services above and beyond the call of duty on Usenet

Garrett Wollman

Networking and formatting

Jim Lowe

Multicast information

Peter da Silva

FreeBSD FAQ typing machine slavey

The FreeBSD Team

Kvetching, moaning, submitting data

And to any others we have forgotten, apologies and heartfelt thanks!


Bibliography

FreeBSD Unleashed, Michael Urban and Brian Tiemann, Sams, 1st Edition, 992, October 2001, ISBN 0-67232-206-4.

4.4BSD System Manager's Manual, Computer Systems Research Group, University of California, Berkeley, O'Reilly and Associates, 1st Edition, June 1994, 804 pages, ISBN 1-56592-080-5.

4.4BSD User's Reference Manual, Computer Systems Research Group, University of California, Berkeley, O'Reilly and Associates, 1st Edition, June 1994, 905 pages, ISBN 1-56592-075-9.

4.4BSD User's Supplementary Documents, Computer Systems Research Group, University of California, Berkeley, O'Reilly and Associates, 1st Edition, June 1994, 712 pages, ISBN 1-56592-076-7.

4.4BSD Programmer's Reference Manual, Computer Systems Research Group, University of California, Berkeley, O'Reilly and Associates, 1st Edition, June 1994, 866 pages, ISBN 1-56592-078-3.

4.4BSD Programmer's Supplementary Documents, Computer Systems Research Group, University of California, Berkeley, O'Reilly and Associates, 1st Edition, June 1994, 596 pages, ISBN 1-56592-079-1.

The Design and Implementation of the 4.4BSD Operating System, M. K. McKusick, Kirk Marshall, Keith Bostic, Michael J Karels, and John Quarterman, Addison-Wesley, Reading, 1996, ISBN 0-201-54979-4.

The Design and Implementation of the FreeBSD Operating System, M. K. McKusick and George V. Neville-Neil, Addison-Wesley, Boston, 2004, ISBN 0-201-70245-2.

Unix System Administration Handbook, Evi Nemeth, Garth Snyder, Scott Seebass, Trent R. Hein, and John Quarterman, Prentice-Hall, 3rd edition, 2000, ISBN 0-13-020601-6.

The Complete FreeBSD, Greg Lehey, Walnut Creek, 3rd edition, June 1999, 773 pages, ISBN 1-57176-246-9.

The FreeBSD Handbook, FreeBSD Documentation Project, BSDi, 1st Edition, November 1999, 489 pages, ISBN 1-57176-241-8.

[McKusick et al, 1994] Berkeley Software Architecture Manual, 4.4BSD Edition, M. K. McKusick, M. J. Karels, S. J. Leffler, W. N. Joy, and R. S. Faber, 5:1-42.

FreeBSD for PC 98'ers (in Japanese), SHUWA System Co, LTD., ISBN 4-87966-468-5 C3055 P2900E.

FreeBSD (in Japanese), CUTT, ISBN 4-906391-22-2.

Complete Introduction to FreeBSD (in Japanese), Shoeisha Co., Ltd, ISBN 4-88135-473-6 P3600E.

Personal UNIX Starter Kit FreeBSD (in Japanese), ASCII, ISBN 4-7561-1733-3 P3000E.

FreeBSD Handbook (Japanese translation), ASCII, ISBN 4-7561-1580-2 P3800E.

FreeBSD mit Methode (in German), Computer und Literature Verlag/Vertrieb Hanser, 1998, ISBN 3-932311-31-0.

FreeBSD install and Utilization Manual (in Japanese), Mainichi Communications Inc..

Building Internet Server with FreeBSD (in Indonesia Language), Elex Media Komputindo, Onno W Purbo, Dodi Maryanto, Syahrial Hubbany, Widjil Widodo.

The FreeBSD Corporate Networker's Guide, Addison-Wesley.

UNIX in a Nutshell, O'Reilly & Associates, Inc., 1990, ISBN 093717520X.

What You Need To Know When You Can't Find Your Unix System Administrator, O'Reilly & Associates, Inc., 1995, Linda Mui, ISBN 1-56592-104-6.

FreeBSD User's Reference Manual (Japanese translation), Mainichi Communications Inc., Jpman Project, Japan FreeBSD Users Group, 1998, ISBN 4-8399-0088-4 P3800E.

Online Guide for newcomers to the UNIX environment, Edinburgh University.

DNS and BIND, O'Reilly & Associates, Inc, ISBN 1-56592-512-2, Paul Albitz Albitz, Cricket Liu, 1998, 3rd.

Sendmail, O'Reilly & Associates, Inc, 1997, 2nd, Brian Costales, ISBN 1-56592-222-0.

Essential System Administration, Æleen Frisch, 2nd, O'Reilly & Associates, 1995, ISBN 1-56592-127-5.

TCP/IP Network Administration, Craig Hunt, 2nd, O'Reilly & Associates, Inc, 1997, ISBN 1-56592-322-7.

Managing NFS and NIS, Hal Stern, O'Reilly & Associates, Inc, 1991, ISBN 0-937175-75-7.

FreeBSD System Administration's Manual, Jpman Project, Japan FreeBSD Users Group, Mainichi Communications Inc., 1998, ISBN 4-8399-0109-0 P3300E.

X Window System Toolkit, Digital Press, Paul Asente, ISBN 1-55558-051-3.

C: A Reference Manual, Prentice Hall, 1995, 4th, Samuel P. Harbison, Guy L. Jr. Steele, ISBN 0-13-326224-3.

The C Programming Language, Prentice Hall, 1998, Brian, Kernighan and Dennis Ritchie, ISBN 0-13-110362-9.

Porting UNIX Software, Greg Lehey, O'Reilly & Associates, Inc., 1995, ISBN 1-56592-126-7.

The Standard C Library, Prentice Hall, 1992, P. J. Plauger, ISBN 0-13-131509-9.

Advanced Programming in the UNIX Environment, Addison-Wesley, 1992, W. Richard Stevens, ISBN 0-201-56317-7.

UNIX Network Programming, W. Richard Stevens, Prentice Hall, 1998, 2nd, ISBN 0-13-490012-X.

Writing Serial Drivers for UNIX, Bill Wells, December 1994, Dr. Dobb's Journal, pp68-71, pp97-99.

UNIX System Architecture, Prentice-Hall, Inc, 1990, Prabhat K. Andleigh, ISBN 0-13-949843-5.

Porting UNIX to the 386, William Jolitz, Dr. Dobb's Journal, January 1991-July 1992.

TCP/IP Illustrated, Volume 1: The Protocols, W. Richard Stevens, Addison-Wesley, 1996, ISBN 0-201-63346-9.

Unix Systems for Modern Architectures, Addison-Wesley, Curt Schimmel, 1994, ISBN 0-201-63338-8.

TCP/IP Illustrated, Volume 3: TCP for Transactions, HTTP, NNTP and the UNIX Domain Protocols, Addison-Wesley, 1996, W. Richard Stevens, ISBN 0-201-63495-3.

UNIX Internals -- The New Frontiers, Uresh Vahalia, Prentice Hall, 1996, ISBN 0-13-101908-2.

TCP/IP Illustrated, Volume 2: The Implementation, Gary R. Wright, W. Richard Stevens, 1995, Addison-Wesley, ISBN 0-201-63354-X.

Firewalls and Internet Security: Repelling the Wily Hacker, William R. CHeswick, Steven M. Bellovin, Addison-Wesley, 1995, ISBN 0-201-63357-4.

Practical UNIX Security, Simson Garfinkel, Gene Spafford, 1996, 2nd, O'Reilly & Associates, Inc, ISBN 1-56592-148-8.

PGP Pretty Good Privacy, Simson Garfinkel, O'Reilly & Associates, Inc, 1995, ISBN 1-56592-098-8.

Pentium Processor System Architecture, Don Anderson, Tom Shanley, Addison-Wesley, 1995, 2nd, ISBN 0-201-40992-5.

Programmer's Guide to the EGA, VGA, and Super VGA Cards, Richard F. Ferraro, 3rd, Addison-Wesley, 1995, ISBN 0-201-62490-7.

80486 System Architecture, Tom Shanley, Addison-Wesley, 1995, 3rd, ISBN 0-201-40994-1.

ISA System Architecture, Tom Shanley, Addison-Wesley, 3rd, 1995, ISBN 0-201-40996-8.

PCI System Architecture, Tom Shanley, Addison-Wesley, 1995, 3rd, ISBN 0-201-40993-3.

The Undocumented PC, Frank Van Gilluwe, Addison-Wesley, 1994, ISBN 0-201-62277-7.

Bell System Technical Journal, Unix Time-Sharing System, American Telephone & Telegraph Company, July-August 1978, Vol 57, No 6, Part 2, ISSN0005-8580.

Lion's Commentary on UNIX, John Lion, ITP Media Group, 1996, 6th, ISBN 1573980137.

The New Hacker's Dictionary, Eric S. Raymond, MIT Press, 1996, 3rd, ISBN 0-262-68092-0.

A quarter century of UNIX, Peter H. Salus, Addison-Wesley, 1994, ISBN 0-201-54777-5.

The UNIX-HATERS Handbook, Steven Strassman, Daniel Weise, Simon Garfinkel, IDG Books Worldwide, Inc, 1994, ISBN 1-56884-203-1.

Life with UNIX -- special edition, Don Libes, Sandy Ressler, Prentice-Hall, 1989, ISBN 0-13-536657-7.

The BSD Family Tree, 1997.

Absolute BSD, Michael Lucas, No Starch Press, June 2002, ISBN 1-886411-74-3.

The C/C++ Users Journal, R&D Publications Inc., ISSN 1075-2838.

Sys Admin -- The Journal for UNIX System Administrators, Miller Freeman, Inc, ISSN 1061-2688.


This, and other documents, can be downloaded from ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

For questions about FreeBSD, read the documentation before contacting <questions@FreeBSD.org>.
For questions about this documentation, e-mail <doc@FreeBSD.org>.