FreeBSD Handbook

The FreeBSD Documentation Project

Welcome to FreeBSD! This handbook covers the installation and day to day use of FreeBSD Release 3.2. This manual is a work in progress and is the work of many individuals. Many sections do not yet exist and some of those that do exist need to be updated. 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 in a variety of formats and compression options from the FreeBSD FTP server or one of the numerous mirror sites. You may also want to Search the Handbook.

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.


Table of Contents
I. Getting Started
1. Introduction
FreeBSD in a Nutshell
A Brief History of FreeBSD
FreeBSD Project Goals
The FreeBSD Development Model
About the Current Release
2. Installing FreeBSD
Supported Configurations
Preparing for the Installation
Installing FreeBSD
MS-DOS User's Questions and Answers
3. Unix Basics
The Online Manual
GNU Info Files
4. Installing Applications: The Ports collection
Why Have a Ports Collection?
How Does the Ports Collection Work?
Getting a FreeBSD Port
Skeletons
What to do when a port does not work.
Some Questions and Answers
Making a port yourself
II. System Administration
5. Configuring the FreeBSD Kernel
Why Build a Custom Kernel?
Building and Installing a Custom Kernel
The Configuration File
Making Device Nodes
If Something Goes Wrong
6. Security
DES, MD5, and Crypt
S/Key
Kerberos
Firewalls
7. Printing
What the Spooler Does
Why You Should Use the Spooler
Setting Up the Spooling System
Simple Printer Setup
Using Printers
Advanced Printer Setup
Alternatives to the Standard Spooler
Acknowledgments
8. Disks
Using sysinstall
Using command line utilities
* Non-traditional Drives
9. Backups
* What about backups to floppies?
Tape Media
Backup Programs
10. Disk Quotas
Configuring Your System to Enable Disk Quotas
Setting Quota Limits
Checking Quota Limits and Disk Usage
* Quotas over NFS
11. The X Window System
12. PC Hardware compatibility
Resources on the Internet
Sample Configurations
Core/Processing
Input/Output Devices
Storage Devices
* Other
13. Localization
Russian Language (KOI8-R encoding)
German Language (ISO 8859-1)
III. Network Communications
14. Serial Communications
Serial Basics
Terminals
Dialin Service
Dialout Service
15. PPP and SLIP
Setting up User PPP
Setting up Kernel PPP
Setting up a SLIP Client
Setting up a SLIP Server
16. Advanced Networking
Gateways and Routes
NFS
Diskless Operation
ISDN
17. Electronic Mail
Basic Information
Configuration
FAQ
IV. Advanced topics
18. The Cutting Edge: FreeBSD-current and FreeBSD-stable
Staying Current with FreeBSD
Staying Stable with FreeBSD
Synchronizing Source Trees over the Internet
Using make world to rebuild your system
19. Contributing to FreeBSD
What Is Needed
How to Contribute
Donors Gallery
Core Team Alumni
Derived Software Contributors
Additional FreeBSD Contributors
386BSD Patch Kit Patch Contributors
20. Source Tree Guidelines and Policies
MAINTAINER on Makefiles
Contributed Software
Encumbered files
Shared Libraries
21. Adding New Kernel Configuration Options
What's a Kernel Option, Anyway?
Now What Do I Have to Do for it?
22. Kernel Debugging
Debugging a Kernel Crash Dump with kgdb
Debugging a crash dump with DDD
Post-mortem Analysis of a Dump
On-line Kernel Debugging Using DDB
On-line Kernel Debugging Using Remote GDB
Debugging a Console Driver
23. Linux Emulation
How to Install the Linux Emulator
How to Install Mathematica on FreeBSD
How does the emulation work?
24. FreeBSD Internals
The FreeBSD Booting Process
PC Memory Utilization
DMA: What it Is and How it Works
The FreeBSD VM System
V. Appendices
25. Obtaining FreeBSD
CD-ROM Publishers
FTP Sites
CTM Sites
CVSup Sites
AFS Sites
26. Bibliography
Books & Magazines Specific to FreeBSD
Users' Guides
Administrators' Guides
Programmers' Guides
Operating System Internals
Security Reference
Hardware Reference
UNIX History
Magazines and Journals
27. Resources on the Internet
Mailing lists
Usenet newsgroups
World Wide Web servers
28. FreeBSD Project Staff
The FreeBSD Core Team
The FreeBSD Developers
The FreeBSD Documentation Project
Who Is Responsible for What
29. PGP keys
Officers
Core Team members
Developers