<?xml version="1.0" encoding="iso-8859-1"?> <!-- $FreeBSD$ --> <preface id="book-preface"> <title>Preface</title> <bridgehead id="preface-audience" renderas="sect1">Intended Audience</bridgehead> <para>The &os; newcomer will find that the first section of this book guides the user through the &os; installation process and gently introduces the concepts and conventions that underpin &unix;. Working through this section requires little more than the desire to explore, and the ability to take on board new concepts as they are introduced.</para> <para>Once you have traveled this far, the second, far larger, section of the Handbook is a comprehensive reference to all manner of topics of interest to &os; system administrators. Some of these chapters may recommend that you do some prior reading, and this is noted in the synopsis at the beginning of each chapter.</para> <para>For a list of additional sources of information, please see <xref linkend="bibliography"/>.</para> <bridgehead id="preface-changes-from3" renderas="sect1">Changes from the Third Edition</bridgehead> <para>The current online version of the Handbook represents the cumulative effort of many hundreds of contributors over the past 10 years. The following are some of the significant changes since the two volume third edition was published in 2004:</para> <itemizedlist> <listitem> <para><xref linkend="dtrace"/>, &dtrace;, has been added with information about the powerful &dtrace; performance analysis tool.</para> </listitem> <listitem> <para><xref linkend="filesystems"/>, File Systems Support, has been added with information about non-native file systems in &os;, such as ZFS from &sun;.</para> </listitem> <listitem> <para><xref linkend="audit"/>, Security Event Auditing, has been added to cover the new auditing capabilities in &os; and explain its use.</para> </listitem> <listitem> <para><xref linkend="virtualization"/>, Virtualization, has been added with information about installing &os; on virtualization software.</para> </listitem> <listitem> <para><xref linkend="bsdinstall"/>, Installing &os; 9.<replaceable>x</replaceable> and Later, has been added to cover installation of &os; using the new installation utility, <application>bsdinstall</application>.</para> </listitem> </itemizedlist> <bridgehead id="preface-changes-from2" renderas="sect1">Changes from the Second Edition (2004)</bridgehead> <para>The third edition was the culmination of over two years of work by the dedicated members of the &os; Documentation Project. The printed edition grew to such a size that it was necessary to publish as two separate volumes. The following are the major changes in this new edition:</para> <itemizedlist> <listitem> <para><xref linkend="config-tuning"/>, Configuration and Tuning, has been expanded with new information about the ACPI power and resource management, the <command>cron</command> system utility, and more kernel tuning options.</para> </listitem> <listitem> <para><xref linkend="security"/>, Security, has been expanded with new information about virtual private networks (VPNs), file system access control lists (ACLs), and security advisories.</para> </listitem> <listitem> <para><xref linkend="mac"/>, Mandatory Access Control (MAC), is a new chapter with this edition. It explains what MAC is and how this mechanism can be used to secure a &os; system.</para> </listitem> <listitem> <para><xref linkend="disks"/>, Storage, has been expanded with new information about USB storage devices, file system snapshots, file system quotas, file and network backed filesystems, and encrypted disk partitions.</para> </listitem> <listitem> <para>A troubleshooting section has been added to <xref linkend="ppp-and-slip"/>, PPP and SLIP.</para> </listitem> <listitem> <para><xref linkend="mail"/>, Electronic Mail, has been expanded with new information about using alternative transport agents, SMTP authentication, UUCP, <application>fetchmail</application>, <application>procmail</application>, and other advanced topics.</para> </listitem> <listitem> <para><xref linkend="network-servers"/>, Network Servers, is all new with this edition. This chapter includes information about setting up the <application>Apache HTTP Server</application>, <application>ftpd</application>, and setting up a server for µsoft; &windows; clients with <application>Samba</application>. Some sections from <xref linkend="advanced-networking"/>, Advanced Networking, were moved here to improve the presentation.</para> </listitem> <listitem> <para><xref linkend="advanced-networking"/>, Advanced Networking, has been expanded with new information about using &bluetooth; devices with &os;, setting up wireless networks, and Asynchronous Transfer Mode (ATM) networking.</para> </listitem> <listitem> <para>A glossary has been added to provide a central location for the definitions of technical terms used throughout the book.</para> </listitem> <listitem> <para>A number of aesthetic improvements have been made to the tables and figures throughout the book.</para> </listitem> </itemizedlist> <bridgehead id="preface-changes" renderas="sect1">Changes from the First Edition (2001)</bridgehead> <para>The second edition was the culmination of over two years of work by the dedicated members of the &os; Documentation Project. The following were the major changes in this edition:</para> <!-- Talk a little about justification and other stylesheet changes? --> <itemizedlist> <listitem> <para>A complete Index has been added.</para> </listitem> <listitem> <para>All ASCII figures have been replaced by graphical diagrams.</para> </listitem> <listitem> <para>A standard synopsis has been added to each chapter to give a quick summary of what information the chapter contains, and what the reader is expected to know.</para> </listitem> <listitem> <para>The content has been logically reorganized into three parts: <quote>Getting Started</quote>, <quote>System Administration</quote>, and <quote>Appendices</quote>.</para> </listitem> <listitem> <para><xref linkend="install"/> (<quote>Installing &os;</quote>) was completely rewritten with many screenshots to make it much easier for new users to grasp the text.</para> </listitem> <listitem> <para><xref linkend="basics"/> (<quote>&unix; Basics</quote>) has been expanded to contain additional information about processes, daemons, and signals.</para> </listitem> <listitem> <para><xref linkend="ports"/> (<quote>Installing Applications</quote>) has been expanded to contain additional information about binary package management.</para> </listitem> <listitem> <para><xref linkend="x11"/> (<quote>The X Window System</quote>) has been completely rewritten with an emphasis on using modern desktop technologies such as <application>KDE</application> and <application>GNOME</application> on &xfree86; 4.X.</para> </listitem> <listitem> <para><xref linkend="boot"/> (<quote>The &os; Booting Process</quote>) has been expanded.</para> </listitem> <listitem> <para><xref linkend="disks"/> (<quote>Storage</quote>) has been written from what used to be two separate chapters on <quote>Disks</quote> and <quote>Backups</quote>. We feel that the topics are easier to comprehend when presented as a single chapter. A section on RAID (both hardware and software) has also been added.</para> </listitem> <listitem> <para><xref linkend="serialcomms"/> (<quote>Serial Communications</quote>) has been completely reorganized and updated for &os; 4.X/5.X.</para> </listitem> <listitem> <para><xref linkend="ppp-and-slip"/> (<quote>PPP and SLIP</quote>) has been substantially updated.</para> </listitem> <listitem> <para>Many new sections have been added to <xref linkend="advanced-networking"/> (<quote>Advanced Networking</quote>).</para> </listitem> <listitem> <para><xref linkend="mail"/> (<quote>Electronic Mail</quote>) has been expanded to include more information about configuring <application>sendmail</application>.</para> </listitem> <listitem> <para><xref linkend="linuxemu"/> (<quote>&linux; Compatibility</quote>) has been expanded to include information about installing <application>&oracle;</application> and <application>&sap.r3;</application>.</para> </listitem> <listitem> <para>The following new topics are covered in this second edition:</para> <itemizedlist> <listitem> <para>Configuration and Tuning (<xref linkend="config-tuning"/>).</para> </listitem> <listitem> <para>Multimedia (<xref linkend="multimedia"/>)</para> </listitem> </itemizedlist> </listitem> </itemizedlist> <bridgehead id="preface-overview" renderas="sect1">Organization of This Book</bridgehead> <para>This book is split into five logically distinct sections. The first section, <emphasis>Getting Started</emphasis>, covers the installation and basic usage of &os;. It is expected that the reader will follow these chapters in sequence, possibly skipping chapters covering familiar topics. The second section, <emphasis>Common Tasks</emphasis>, covers some frequently used features of &os;. This section, and all subsequent sections, can be read out of order. Each chapter begins with a succinct synopsis that describes what the chapter covers and what the reader is expected to already know. This is meant to allow the casual reader to skip around to find chapters of interest. The third section, <emphasis>System Administration</emphasis>, covers administration topics. The fourth section, <emphasis>Network Communication</emphasis>, covers networking and server topics. The fifth section contains appendices of reference information.</para> <variablelist> <!-- Part I - Introduction --> <varlistentry> <term><emphasis><xref linkend="introduction"/>, Introduction</emphasis></term> <listitem> <para>Introduces &os; to a new user. It describes the history of the &os; Project, its goals and development model.</para> </listitem> </varlistentry> <varlistentry> <term><emphasis><xref linkend="install"/>, Installation of &os; 8.<replaceable>x</replaceable> and Earlier</emphasis></term> <listitem> <para>Walks a user through the entire installation process of &os; 8.<replaceable>x</replaceable> and earlier using <application>sysinstall</application>. Some advanced installation topics, such as installing through a serial console, are also covered.</para> </listitem> </varlistentry> <varlistentry> <term><emphasis><xref linkend="bsdinstall"/>, Installation of &os; 9.<replaceable>x</replaceable> and Later</emphasis></term> <listitem> <para>Walks a user through the entire installation process of &os; 9.<replaceable>x</replaceable> and later using <application>bsdinstall</application>.</para> </listitem> </varlistentry> <varlistentry> <term><emphasis><xref linkend="basics"/>, &unix; Basics</emphasis></term> <listitem> <para>Covers the basic commands and functionality of the &os; operating system. If you are familiar with &linux; or another flavor of &unix; then you can probably skip this chapter.</para> </listitem> </varlistentry> <varlistentry> <term><emphasis><xref linkend="ports"/>, Installing Applications</emphasis></term> <listitem> <para>Covers the installation of third-party software with both &os;'s innovative <quote>Ports Collection</quote> and standard binary packages.</para> </listitem> </varlistentry> <varlistentry> <term><emphasis><xref linkend="x11"/>, The X Window System</emphasis></term> <listitem> <para>Describes the X Window System in general and using X11 on &os; in particular. Also describes common desktop environments such as <application>KDE</application> and <application>GNOME</application>.</para> </listitem> </varlistentry> <!-- Part II Common Tasks --> <varlistentry> <term><emphasis><xref linkend="desktop"/>, Desktop Applications</emphasis></term> <listitem> <para>Lists some common desktop applications, such as web browsers and productivity suites, and describes how to install them on &os;.</para> </listitem> </varlistentry> <varlistentry> <term><emphasis><xref linkend="multimedia"/>, Multimedia</emphasis></term> <listitem> <para>Shows how to set up sound and video playback support for your system. Also describes some sample audio and video applications.</para> </listitem> </varlistentry> <varlistentry> <term><emphasis><xref linkend="kernelconfig"/>, Configuring the &os; Kernel</emphasis></term> <listitem> <para>Explains why you might need to configure a new kernel and provides detailed instructions for configuring, building, and installing a custom kernel.</para> </listitem> </varlistentry> <varlistentry> <term><emphasis><xref linkend="printing"/>, Printing</emphasis></term> <listitem> <para>Describes managing printers on &os;, including information about banner pages, printer accounting, and initial setup.</para> </listitem> </varlistentry> <varlistentry> <term><emphasis><xref linkend="linuxemu"/>, &linux; Binary Compatibility</emphasis></term> <listitem> <para>Describes the &linux; compatibility features of &os;. Also provides detailed installation instructions for many popular &linux; applications such as <application>&oracle;</application> and <application>&mathematica;</application>.</para> </listitem> </varlistentry> <!-- Part III - System Administration --> <varlistentry> <term><emphasis><xref linkend="config-tuning"/>, Configuration and Tuning</emphasis></term> <listitem> <para>Describes the parameters available for system administrators to tune a &os; system for optimum performance. Also describes the various configuration files used in &os; and where to find them.</para> </listitem> </varlistentry> <varlistentry> <term><emphasis><xref linkend="boot"/>, Booting Process</emphasis></term> <listitem> <para>Describes the &os; boot process and explains how to control this process with configuration options.</para> </listitem> </varlistentry> <varlistentry> <term><emphasis><xref linkend="users"/>, Users and Basic Account Management</emphasis></term> <listitem> <para>Describes the creation and manipulation of user accounts. Also discusses resource limitations that can be set on users and other account management tasks.</para> </listitem> </varlistentry> <varlistentry> <term><emphasis><xref linkend="security"/>, Security</emphasis></term> <listitem> <para>Describes many different tools available to help keep your &os; system secure, including Kerberos, IPsec and OpenSSH.</para> </listitem> </varlistentry> <varlistentry> <term><emphasis><xref linkend="jails"/>, Jails</emphasis></term> <listitem> <para>Describes the jails framework, and the improvements of jails over the traditional chroot support of &os;.</para> </listitem> </varlistentry> <varlistentry> <term><emphasis><xref linkend="mac"/>, Mandatory Access Control</emphasis></term> <listitem> <para>Explains what Mandatory Access Control (MAC) is and how this mechanism can be used to secure a &os; system.</para> </listitem> </varlistentry> <varlistentry> <term><emphasis><xref linkend="audit"/>, Security Event Auditing</emphasis></term> <listitem> <para>Describes what &os; Event Auditing is, how it can be installed, configured, and how audit trails can be inspected or monitored.</para> </listitem> </varlistentry> <varlistentry> <term><emphasis><xref linkend="disks"/>, Storage</emphasis></term> <listitem> <para>Describes how to manage storage media and filesystems with &os;. This includes physical disks, RAID arrays, optical and tape media, memory-backed disks, and network filesystems.</para> </listitem> </varlistentry> <varlistentry> <term><emphasis><xref linkend="geom-synopsis"/>, GEOM</emphasis></term> <listitem> <para>Describes what the GEOM framework in &os; is and how to configure various supported RAID levels.</para> </listitem> </varlistentry> <varlistentry> <term><emphasis><xref linkend="filesystems"/>, File Systems Support</emphasis></term> <listitem> <para>Examines support of non-native file systems in &os;, like the Z File System from &sun;.</para> </listitem> </varlistentry> <varlistentry> <term><emphasis><xref linkend="virtualization"/>, Virtualization</emphasis></term> <listitem> <para>Describes what virtualization systems offer, and how they can be used with &os;.</para> </listitem> </varlistentry> <varlistentry> <term><emphasis><xref linkend="l10n"/>, Localization</emphasis></term> <listitem> <para>Describes how to use &os; in languages other than English. Covers both system and application level localization.</para> </listitem> </varlistentry> <varlistentry> <term><emphasis><xref linkend="updating-upgrading"/>, Updating and Upgrading &os;</emphasis></term> <listitem> <para>Explains the differences between &os;-STABLE, &os;-CURRENT, and &os; releases. Describes which users would benefit from tracking a development system and outlines that process. Covers the methods users may take to update their system to the latest security release.</para> </listitem> </varlistentry> <varlistentry> <term><emphasis><xref linkend="dtrace"/>, &dtrace;</emphasis></term> <listitem> <para>Describes how to configure and use the &dtrace; tool from &sun; in &os;. Dynamic tracing can help locate performance issues, by performing real time system analysis.</para> </listitem> </varlistentry> <!-- Part IV - Network Communications --> <varlistentry> <term><emphasis><xref linkend="serialcomms"/>, Serial Communications</emphasis></term> <listitem> <para>Explains how to connect terminals and modems to your &os; system for both dial in and dial out connections.</para> </listitem> </varlistentry> <varlistentry> <term><emphasis><xref linkend="ppp-and-slip"/>, PPP and SLIP</emphasis></term> <listitem> <para>Describes how to use PPP, SLIP, or PPP over Ethernet to connect to remote systems with &os;.</para> </listitem> </varlistentry> <varlistentry> <term><emphasis><xref linkend="mail"/>, Electronic Mail</emphasis></term> <listitem> <para>Explains the different components of an email server and dives into simple configuration topics for the most popular mail server software: <application>sendmail</application>.</para> </listitem> </varlistentry> <varlistentry> <term><emphasis><xref linkend="network-servers"/>, Network Servers</emphasis></term> <listitem> <para>Provides detailed instructions and example configuration files to set up your &os; machine as a network filesystem server, domain name server, network information system server, or time synchronization server.</para> </listitem> </varlistentry> <varlistentry> <term><emphasis><xref linkend="firewalls"/>, Firewalls</emphasis></term> <listitem> <para>Explains the philosophy behind software-based firewalls and provides detailed information about the configuration of the different firewalls available for &os;.</para> </listitem> </varlistentry> <varlistentry> <term><emphasis><xref linkend="advanced-networking"/>, Advanced Networking</emphasis></term> <listitem> <para>Describes many networking topics, including sharing an Internet connection with other computers on your LAN, advanced routing topics, wireless networking, &bluetooth;, ATM, IPv6, and much more.</para> </listitem> </varlistentry> <!-- Part V - Appendices --> <varlistentry> <term><emphasis><xref linkend="mirrors"/>, Obtaining &os; </emphasis></term> <listitem> <para>Lists different sources for obtaining &os; media on CDROM or DVD as well as different sites on the Internet that allow you to download and install &os;.</para> </listitem> </varlistentry> <varlistentry> <term><emphasis><xref linkend="bibliography"/>, Bibliography</emphasis></term> <listitem> <para>This book touches on many different subjects that may leave you hungry for a more detailed explanation. The bibliography lists many excellent books that are referenced in the text.</para> </listitem> </varlistentry> <varlistentry> <term><emphasis><xref linkend="eresources"/>, Resources on the Internet</emphasis></term> <listitem> <para>Describes the many forums available for &os; users to post questions and engage in technical conversations about &os;.</para> </listitem> </varlistentry> <varlistentry> <term><emphasis><xref linkend="pgpkeys"/>, PGP Keys</emphasis></term> <listitem> <para>Lists the PGP fingerprints of several &os; Developers.</para> </listitem> </varlistentry> </variablelist> <bridgehead id="preface-conv" renderas="sect1">Conventions used in this book</bridgehead> <para>To provide a consistent and easy to read text, several conventions are followed throughout the book.</para> <bridgehead id="preface-conv-typographic" renderas="sect2">Typographic Conventions</bridgehead> <variablelist> <varlistentry> <term><emphasis>Italic</emphasis></term> <listitem> <para>An <emphasis>italic</emphasis> font is used for filenames, URLs, emphasized text, and the first usage of technical terms.</para> </listitem> </varlistentry> <varlistentry> <term><literal>Monospace</literal></term> <listitem> <para>A <literal>monospaced</literal> font is used for error messages, commands, environment variables, names of ports, hostnames, user names, group names, device names, variables, and code fragments.</para> </listitem> </varlistentry> <varlistentry> <term><application>Bold</application></term> <listitem> <para>A <application>bold</application> font is used for applications, commands, and keys.</para> </listitem> </varlistentry> </variablelist> <!-- Var list --> <bridgehead id="preface-conv-commands" renderas="sect2">User Input</bridgehead> <para>Keys are shown in <keycap>bold</keycap> to stand out from other text. Key combinations that are meant to be typed simultaneously are shown with `<literal>+</literal>' between the keys, such as:</para> <para> <keycombo action="simul"> <keycap>Ctrl</keycap> <keycap>Alt</keycap> <keycap>Del</keycap></keycombo></para> <para>Meaning the user should type the <keycap>Ctrl</keycap>, <keycap>Alt</keycap>, and <keycap>Del</keycap> keys at the same time.</para> <para>Keys that are meant to be typed in sequence will be separated with commas, for example:</para> <para> <keycombo action="simul"> <keycap>Ctrl</keycap> <keycap>X</keycap> </keycombo>, <keycombo action="simul"> <keycap>Ctrl</keycap> <keycap>S</keycap></keycombo></para> <para>Would mean that the user is expected to type the <keycap>Ctrl</keycap> and <keycap>X</keycap> keys simultaneously and then to type the <keycap>Ctrl</keycap> and <keycap>S</keycap> keys simultaneously.</para> <!-- How to type in key stokes, etc.. --> <bridgehead id="preface-conv-examples" renderas="sect2">Examples</bridgehead> <para>Examples starting with <devicename>E:\></devicename> indicate a &ms-dos; command. Unless otherwise noted, these commands may be executed from a <quote>Command Prompt</quote> window in a modern µsoft.windows; environment.</para> <screen><prompt>E:\></prompt> <userinput>tools\fdimage floppies\kern.flp A:</userinput></screen> <para>Examples starting with &prompt.root; indicate a command that must be invoked as the superuser in &os;. You can login as <username>root</username> to type the command, or login as your normal account and use &man.su.1; to gain superuser privileges.</para> <screen>&prompt.root; <userinput>dd if=kern.flp of=/dev/fd0</userinput></screen> <para>Examples starting with &prompt.user; indicate a command that should be invoked from a normal user account. Unless otherwise noted, C-shell syntax is used for setting environment variables and other shell commands.</para> <screen>&prompt.user; <userinput>top</userinput></screen> <bridgehead id="preface-acknowledgements" renderas="sect1">Acknowledgments</bridgehead> <para>The book you are holding represents the efforts of many hundreds of people around the world. Whether they sent in fixes for typos, or submitted complete chapters, all the contributions have been useful.</para> <para>Several companies have supported the development of this document by paying authors to work on it full-time, paying for publication, etc. In particular, BSDi (subsequently acquired by <ulink url="http://www.windriver.com">Wind River Systems</ulink>) paid members of the &os; Documentation Project to work on improving this book full time leading up to the publication of the first printed edition in March 2000 (ISBN 1-57176-241-8). Wind River Systems then paid several additional authors to make a number of improvements to the print-output infrastructure and to add additional chapters to the text. This work culminated in the publication of the second printed edition in November 2001 (ISBN 1-57176-303-1). In 2003-2004, <ulink url="http://www.freebsdmall.com">&os; Mall, Inc</ulink>, paid several contributors to improve the Handbook in preparation for the third printed edition.</para> </preface>