1068
FreeBSD Handbook The FreeBSD Documentation Project

FreeBSD Handbook (2nd Edition)

Embed Size (px)

Citation preview

  • FreeBSD Handbook

    The FreeBSD Documentation Project

  • FreeBSD Handbookby The FreeBSD Documentation ProjectPublished February 1999Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 TheFreeBSD Documentation Project

    Welcome to FreeBSD! This handbook covers the installation and day to day use ofFreeBSD 7.2-RELEASEandFreeBSD 8.0-RELEASE. This manual is awork in progressand is the work of many individuals. As such, somesections may become dated and require updating. If you are interested in helping out with this project, send email tothe FreeBSD documentation project mailing list (http://lists.FreeBSD.org/mailman/listinfo/freebsd-doc). The latestversion of this document is always available from the FreeBSD web site (http://www.FreeBSD.org/) (previousversions of this handbook can be obtained from http://docs.FreeBSD.org/doc/). It may also be downloaded in avariety of formats and compression options from the FreeBSDFTP server (ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/)or one of the numerousmirror sites. If you would prefer to have a hard copy of the handbook, you can purchase oneat the FreeBSD Mall (http://www.freebsdmall.com/). You may also want to search the handbook(http://www.FreeBSD.org/search/index.html).

    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 conditionsand 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 otherformats) must reproduce the above copyright notice, this list of conditions and the following disclaimer in thedocumentation 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 IMPLIEDWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. INNO EVENT SHALL THE FREEBSD DOCUMENTATION PROJECT BE LIABLE FOR ANY DIRECT, INDIRECT,INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITEDTO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; ORBUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER INCONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANYWAY OUT OF THE USE OF THIS DOCUMENTATION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCHDAMAGE.

    FreeBSD is a registered trademark of the FreeBSD Foundation.

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

    3ware and Escalade are registered trademarks of 3ware Inc.

    ARM is a registered trademark of ARM Limited.

  • Adaptec is a registered trademark of Adaptec, Inc.

    Adobe, Acrobat, Acrobat Reader, and PostScript are either registered trademarks or trademarks of Adobe Systems Incorporated in the United

    States and/or other countries.

    Apple, AirPort, FireWire, Mac, Macintosh, Mac OS, Quicktime, and TrueType are trademarks of Apple Computer, Inc., registered in the United

    States and other countries.

    Corel and WordPerfect are trademarks or registered trademarks of Corel Corporation and/or its subsidiaries in Canada,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.

    Heidelberg, Helvetica, Palatino, and Times Roman are either registered trademarks or trademarks of Heidelberger Druckmaschinen AG in the

    U.S. and other countries.

    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 Instituteof Electrical and Electronics Engineers, Inc. in the UnitedStates.

    Intel, Celeron, EtherExpress, i386, i486, Itanium, Pentium, and Xeon are trademarks or registered trademarks of IntelCorporation or its

    subsidiaries in the United States and other countries.

    Intuit and Quicken are registered trademarks and/or registered service marks of Intuit Inc., or one of its subsidiaries, in the United States and other

    countries.

    Linux is a registered trademark of Linus Torvalds.

    LSI Logic, AcceleRAID, eXtremeRAID, MegaRAID and Mylex aretrademarks or registered trademarks of LSI Logic Corp.

    M-Systems and DiskOnChip are trademarks or registered trademarks of M-Systems Flash Disk Pioneers, Ltd.

    Macromedia, Flash, and Shockwave are trademarks or registered trademarks of Macromedia, Inc. in the United States and/or other countries.

    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.

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

    GateD and NextHop are registered and unregistered trademarks of NextHop 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 theUnited States

    and other countries.

    Oracle is a registered trademark of Oracle Corporation.

    PowerQuest and PartitionMagic are registered trademarks of PowerQuest Corporation in the United States and/or other countries.

    RealNetworks, RealPlayer, and RealAudio are the registered trademarks of RealNetworks, Inc.

    Red Hat, RPM, are trademarks or registered trademarks of RedHat, Inc. in the United States and other countries.

    SAP, R/3, and mySAP are trademarks or registered trademarksof SAP AG in Germany and in several other countries all over the world.

    Sun, Sun Microsystems, Java, Java Virtual Machine, JavaServer Pages, JDK, JRE, JSP, JVM, Netra, OpenJDK, Solaris, StarOffice, Sun Blade,

    Sun Enterprise, Sun Fire, SunOS, Ultra and VirtualBox are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States

    and other countries.

    Symantec and Ghost are registered trademarks of Symantec Corporation in the United States and other countries.

    MATLAB is a registered trademark of The MathWorks, Inc.

    SpeedTouch is a trademark of Thomson.

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

    VMware is a trademark of VMware, Inc.

    Waterloo Maple and Maple are trademarks or registered trademarks of Waterloo Maple Inc.

    Mathematica is a registered trademark of Wolfram Research,Inc.

    XFree86 is a trademark of The XFree86 Project, Inc.

    Ogg Vorbis and Xiph.Org are trademarks of Xiph.Org.

    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 ofthe trademark claim, the designations have been followed bythe or the

    symbol.

  • Table of ContentsPreface.........................................................................................................................................................................xiv

    I. Getting Started .......................................................................................................................................................xxi

    1 Introduction........................................................................................................................................................11.1 Synopsis.................................................................................................................................................11.2 Welcome to FreeBSD!...........................................................................................................................11.3 About the FreeBSD Project...................................................................................................................4

    2 Installing FreeBSD.............................................................................................................................................92.1 Synopsis.................................................................................................................................................92.2 Hardware Requirements........................................................................................................................92.3 Pre-installation Tasks...........................................................................................................................112.4 Starting the Installation........................................................................................................................162.5 Introducing Sysinstall..........................................................................................................................222.6 Allocating Disk Space.........................................................................................................................272.7 Choosing What to Install.....................................................................................................................392.8 Choosing Your Installation Media.......................................................................................................412.9 Committing to the Installation.............................................................................................................422.10 Post-installation.................................................................................................................................432.11 Troubleshooting.................................................................................................................................722.12 Advanced Installation Guide.............................................................................................................762.13 Preparing Your Own Installation Media............................................................................................77

    3 UNIX Basics....................................................................................................................................................823.1 Synopsis...............................................................................................................................................823.2 Virtual Consoles and Terminals...........................................................................................................823.3 Permissions..........................................................................................................................................853.4 Directory Structure..............................................................................................................................903.5 Disk Organization................................................................................................................................913.6 Mounting and Unmounting File Systems............................................................................................973.7 Processes............................................................................................................................................1003.8 Daemons, Signals, and Killing Processes..........................................................................................1013.9 Shells..................................................................................................................................................1033.10 Text Editors......................................................................................................................................1053.11 Devices and Device Nodes..............................................................................................................1053.12 Binary Formats................................................................................................................................1063.13 For More Information......................................................................................................................107

    4 Installing Applications: Packages and Ports..................................................................................................1104.1 Synopsis.............................................................................................................................................1104.2 Overview of Software Installation.....................................................................................................1104.3 Finding Your Application..................................................................................................................1124.4 Using the Packages System...............................................................................................................1134.5 Using the Ports Collection.................................................................................................................1164.6 Post-installation Activities.................................................................................................................1254.7 Dealing with Broken Ports.................................................................................................................125

    5 The X Window System..................................................................................................................................1275.1 Synopsis.............................................................................................................................................1275.2 Understanding X................................................................................................................................127

    v

  • 5.3 Installing X11....................................................................................................................................1305.4 X11 Configuration.............................................................................................................................1305.5 Using Fonts in X11............................................................................................................................1355.6 The X Display Manager.....................................................................................................................1395.7 Desktop Environments.......................................................................................................................141

    II. Common Tasks.....................................................................................................................................................146

    6 Desktop Applications.....................................................................................................................................1476.1 Synopsis.............................................................................................................................................1476.2 Browsers............................................................................................................................................1476.3 Productivity........................................................................................................................................1506.4 Document Viewers.............................................................................................................................1536.5 Finance...............................................................................................................................................1546.6 Summary............................................................................................................................................156

    7 Multimedia.....................................................................................................................................................1587.1 Synopsis.............................................................................................................................................1587.2 Setting Up the Sound Card................................................................................................................1587.3 MP3 Audio.........................................................................................................................................1627.4 Video Playback..................................................................................................................................1647.5 Setting Up TV Cards.........................................................................................................................1727.6 Image Scanners..................................................................................................................................173

    8 Configuring the FreeBSD Kernel...................................................................................................................1798.1 Synopsis.............................................................................................................................................1798.2 Why Build a Custom Kernel?............................................................................................................1798.3 Finding the System Hardware...........................................................................................................1808.4 Kernel Drivers, Subsystems, and Modules........................................................................................1818.5 Building and Installing a Custom Kernel..........................................................................................1818.6 The Configuration File.......................................................................................................................1838.7 If Something Goes Wrong.................................................................................................................196

    9 Printing...........................................................................................................................................................1989.1 Synopsis.............................................................................................................................................1989.2 Introduction........................................................................................................................................1989.3 Basic Setup........................................................................................................................................1999.4 Advanced Printer Setup.....................................................................................................................2119.5 Using Printers....................................................................................................................................2379.6 Alternatives to the Standard Spooler.................................................................................................2459.7 Troubleshooting.................................................................................................................................245

    10 Linux Binary Compatibility.........................................................................................................................24910.1 Synopsis...........................................................................................................................................24910.2 Installation.......................................................................................................................................24910.3 Installing Mathematica.................................................................................................................25210.4 Installing Maple...........................................................................................................................25410.5 Installing MATLAB......................................................................................................................25610.6 Installing Oracle...........................................................................................................................25910.7 Installing SAP R/3.....................................................................................................................26310.8 Advanced Topics..............................................................................................................................282

    vi

  • III. System Administration ......................................................................................................................................285

    11 Configuration and Tuning.............................................................................................................................28611.1 Synopsis...........................................................................................................................................28611.2 Initial Configuration.........................................................................................................................28611.3 Core Configuration..........................................................................................................................28711.4 Application Configuration...............................................................................................................28811.5 Starting Services..............................................................................................................................28911.6 Configuring thecron Utility ...........................................................................................................29011.7 Using rc under FreeBSD..................................................................................................................29211.8 Setting Up Network Interface Cards................................................................................................29311.9 Virtual Hosts....................................................................................................................................29911.10 Configuration Files........................................................................................................................30011.11 Tuning with sysctl..........................................................................................................................30311.12 Tuning Disks..................................................................................................................................30411.13 Tuning Kernel Limits.....................................................................................................................30711.14 Adding Swap Space.......................................................................................................................31011.15 Power and Resource Management.................................................................................................31111.16 Using and Debugging FreeBSD ACPI..........................................................................................313

    12 The FreeBSD Booting Process.....................................................................................................................31912.1 Synopsis...........................................................................................................................................31912.2 The Booting Problem.......................................................................................................................31912.3 The Boot Manager and Boot Stages................................................................................................32012.4 Kernel Interaction During Boot.......................................................................................................32512.5 Device Hints....................................................................................................................................32612.6 Init: Process Control Initialization...................................................................................................32712.7 Shutdown Sequence.........................................................................................................................328

    13 Users and Basic Account Management........................................................................................................32913.1 Synopsis...........................................................................................................................................32913.2 Introduction......................................................................................................................................32913.3 The Superuser Account....................................................................................................................33013.4 System Accounts.............................................................................................................................33113.5 User Accounts..................................................................................................................................33113.6 Modifying Accounts........................................................................................................................33113.7 Limiting Users.................................................................................................................................33513.8 Groups..............................................................................................................................................338

    14 Security.........................................................................................................................................................34014.1 Synopsis...........................................................................................................................................34014.2 Introduction......................................................................................................................................34014.3 Securing FreeBSD...........................................................................................................................34214.4 DES, Blowfish, MD5, and Crypt.....................................................................................................34814.5 One-time Passwords........................................................................................................................34914.6 TCP Wrappers.................................................................................................................................35214.7KerberosIV .....................................................................................................................................35514.8Kerberos5 .......................................................................................................................................36214.9 OpenSSL..........................................................................................................................................37014.10 VPN over IPsec..............................................................................................................................37214.11 OpenSSH.......................................................................................................................................37814.12 File System Access Control Lists..................................................................................................383

    vii

  • 14.13 Monitoring Third Party Security Issues.........................................................................................38514.14 FreeBSD Security Advisories........................................................................................................38614.15 Process Accounting.......................................................................................................................388

    15 Jails...............................................................................................................................................................39015.1 Synopsis...........................................................................................................................................39015.2 Terms Related to Jails......................................................................................................................39015.3 Introduction......................................................................................................................................39115.4 Creating and Controlling Jails.........................................................................................................39215.5 Fine Tuning and Administration......................................................................................................39315.6 Application of Jails..........................................................................................................................394

    16 Mandatory Access Control...........................................................................................................................40116.1 Synopsis...........................................................................................................................................40116.2 Key Terms in this Chapter...............................................................................................................40216.3 Explanation of MAC........................................................................................................................40316.4 Understanding MAC Labels............................................................................................................40416.5 Planning the Security Configuration................................................................................................40816.6 Module Configuration......................................................................................................................40916.7 The MAC seeotheruids Module.......................................................................................................40916.8 The MAC bsdextended Module.......................................................................................................40916.9 The MAC ifoff Module....................................................................................................................41016.10 The MAC portacl Module..............................................................................................................41116.11 The MAC partition Module...........................................................................................................41216.12 The MAC Multi-Level Security Module.......................................................................................41316.13 The MAC Biba Module.................................................................................................................41516.14 The MAC LOMAC Module..........................................................................................................41616.15 Nagios in a MAC Jail.....................................................................................................................41716.16 User Lock Down............................................................................................................................42016.17 Troubleshooting the MAC Framework..........................................................................................421

    17 Security Event Auditing...............................................................................................................................42317.1 Synopsis...........................................................................................................................................42317.2 Key Terms in this Chapter...............................................................................................................42317.3 Installing Audit Support..................................................................................................................42417.4 Audit Configuration.........................................................................................................................42417.5 Administering the Audit Subsystem................................................................................................427

    18 Storage..........................................................................................................................................................43118.1 Synopsis...........................................................................................................................................43118.2 Device Names..................................................................................................................................43118.3 Adding Disks...................................................................................................................................43218.4 RAID................................................................................................................................................43418.5 USB Storage Devices.......................................................................................................................43818.6 Creating and Using Optical Media (CDs).......................................................................................44018.7 Creating and Using Optical Media (DVDs)....................................................................................44618.8 Creating and Using Floppy Disks....................................................................................................45118.9 Creating and Using Data Tapes.......................................................................................................45218.10 Backups to Floppies.......................................................................................................................45418.11 Backup Strategies..........................................................................................................................45618.12 Backup Basics................................................................................................................................45618.13 Network, Memory, and File-Backed File Systems........................................................................463

    viii

  • 18.14 File System Snapshots...................................................................................................................46518.15 File System Quotas........................................................................................................................46618.16 Encrypting Disk Partitions.............................................................................................................46918.17 Encrypting Swap Space.................................................................................................................475

    19 GEOM: Modular Disk Transformation Framework.....................................................................................47819.1 Synopsis...........................................................................................................................................47819.2 GEOM Introduction.........................................................................................................................47819.3 RAID0 - Striping.............................................................................................................................47819.4 RAID1 - Mirroring..........................................................................................................................48019.5 GEOM Gate Network Devices........................................................................................................48319.6 Labeling Disk Devices.....................................................................................................................48319.7 UFS Journaling Through GEOM.....................................................................................................486

    20 File Systems Support....................................................................................................................................48820.1 Synopsis...........................................................................................................................................48820.2 The Z File System (ZFS).................................................................................................................488

    21 The Vinum Volume Manager.......................................................................................................................49621.1 Synopsis...........................................................................................................................................49621.2 Disks Are Too Small........................................................................................................................49621.3 Access Bottlenecks..........................................................................................................................49621.4 Data Integrity...................................................................................................................................49821.5 Vinum Objects.................................................................................................................................49921.6 Some Examples...............................................................................................................................50121.7 Object Naming.................................................................................................................................50721.8 Configuring Vinum..........................................................................................................................50921.9 Using Vinum for the Root Filesystem.............................................................................................510

    22 Virtualization................................................................................................................................................51622.1 Synopsis...........................................................................................................................................51622.2 FreeBSD as a Guest OS...................................................................................................................51622.3 FreeBSD as a Host OS.....................................................................................................................560

    23 Localization - I18N/L10N Usage and Setup................................................................................................56223.1 Synopsis...........................................................................................................................................56223.2 The Basics........................................................................................................................................56223.3 Using Localization...........................................................................................................................56323.4 Compiling I18N Programs...............................................................................................................56823.5 Localizing FreeBSD to Specific Languages....................................................................................569

    24 Updating and Upgrading FreeBSD..............................................................................................................57224.1 Synopsis...........................................................................................................................................57224.2 FreeBSD Update..............................................................................................................................57224.3 Portsnap: A Ports Collection Update Tool.......................................................................................57824.4 Updating the Documentation Set.....................................................................................................57924.5 Tracking a Development Branch.....................................................................................................58424.6 Synchronizing Your Source.............................................................................................................58824.7 Rebuilding world..........................................................................................................................58924.8 Tracking for Multiple Machines......................................................................................................603

    25 DTrace..........................................................................................................................................................60525.1 Synopsis...........................................................................................................................................60525.2 Implementation Differences............................................................................................................60525.3 Enabling DTrace Support................................................................................................................606

    ix

  • 25.4 Using DTrace...................................................................................................................................60625.5 The D Language..............................................................................................................................609

    IV. Network Communication ...................................................................................................................................610

    26 Serial Communications................................................................................................................................61126.1 Synopsis...........................................................................................................................................61126.2 Introduction......................................................................................................................................61126.3 Terminals.........................................................................................................................................61526.4 Dial-in Service.................................................................................................................................62026.5 Dial-out Service...............................................................................................................................62826.6 Setting Up the Serial Console..........................................................................................................631

    27 PPP and SLIP...............................................................................................................................................63927.1 Synopsis...........................................................................................................................................63927.2 Using User PPP................................................................................................................................63927.3 Using Kernel PPP............................................................................................................................65127.4 Troubleshooting PPP Connections..................................................................................................65827.5 Using PPP over Ethernet (PPPoE)...................................................................................................66127.6 UsingPPPover ATM (PPPoA).......................................................................................................66327.7 Using SLIP.......................................................................................................................................666

    28 Electronic Mail.............................................................................................................................................67428.1 Synopsis...........................................................................................................................................67428.2 Using Electronic Mail......................................................................................................................67428.3sendmailConfiguration...................................................................................................................67628.4 Changing Your Mail Transfer Agent...............................................................................................67928.5 Troubleshooting...............................................................................................................................68128.6 Advanced Topics..............................................................................................................................68328.7 SMTP with UUCP...........................................................................................................................68528.8 Setting Up to Send Only..................................................................................................................68728.9 Using Mail with a Dialup Connection.............................................................................................68828.10 SMTP Authentication....................................................................................................................68928.11 Mail User Agents...........................................................................................................................69028.12 Using fetchmail..............................................................................................................................69728.13 Using procmail...............................................................................................................................698

    29 Network Servers...........................................................................................................................................70029.1 Synopsis...........................................................................................................................................70029.2 Theinetd Super-Server................................................................................................................70029.3 Network File System (NFS)............................................................................................................70429.4 Network Information System (NIS/YP)..........................................................................................71029.5 Automatic Network Configuration (DHCP)....................................................................................72429.6 Domain Name System (DNS).........................................................................................................72929.7 Apache HTTP Server.......................................................................................................................74029.8 File Transfer Protocol (FTP)............................................................................................................74529.9 File and Print Services for Microsoft Windows clients (Samba)....................................................74729.10 Clock Synchronization with NTP..................................................................................................74929.11 Remote Host Logging withsyslogd ............................................................................................752

    30 Firewalls.......................................................................................................................................................75630.1 Introduction......................................................................................................................................75630.2 Firewall Concepts............................................................................................................................756

    x

  • 30.3 Firewall Packages............................................................................................................................75730.4 The OpenBSD Packet Filter (PF) and ALTQ..................................................................................75730.5 The IPFILTER (IPF) Firewall..........................................................................................................76030.6 IPFW................................................................................................................................................779

    31 Advanced Networking..................................................................................................................................79731.1 Synopsis...........................................................................................................................................79731.2 Gateways and Routes.......................................................................................................................79731.3 Wireless Networking.......................................................................................................................80331.4 Bluetooth..........................................................................................................................................82131.5 Bridging...........................................................................................................................................82831.6 Link Aggregation and Failover........................................................................................................83531.7 Diskless Operation...........................................................................................................................83831.8 ISDN................................................................................................................................................84431.9 Network Address Translation..........................................................................................................84831.10 Parallel Line IP (PLIP)..................................................................................................................85231.11 IPv6................................................................................................................................................85431.12 Asynchronous Transfer Mode (ATM)...........................................................................................85831.13 Common Address Redundancy Protocol (CARP).........................................................................859

    V. Appendices............................................................................................................................................................862

    A. Obtaining FreeBSD......................................................................................................................................863A.1 CDROM and DVD Publishers..........................................................................................................863A.2 FTP Sites...........................................................................................................................................865A.3 BitTorrent..........................................................................................................................................876A.4 Anonymous CVS..............................................................................................................................876A.5 Using CTM.......................................................................................................................................878A.6 Using CVSup....................................................................................................................................882A.7 CVS Tags..........................................................................................................................................905A.8 AFS Sites..........................................................................................................................................911A.9 rsync Sites.........................................................................................................................................911

    B. Bibliography.................................................................................................................................................914B.1 Books & Magazines Specific to FreeBSD........................................................................................914B.2 Users Guides....................................................................................................................................915B.3 Administrators Guides.....................................................................................................................916B.4 Programmers Guides.......................................................................................................................916B.5 Operating System Internals...............................................................................................................917B.6 Security Reference............................................................................................................................917B.7 Hardware Reference..........................................................................................................................918B.8 UNIX History....................................................................................................................................918B.9 Magazines and Journals....................................................................................................................919

    C. Resources on the Internet.............................................................................................................................920C.1 Mailing Lists.....................................................................................................................................920C.2 Usenet Newsgroups...........................................................................................................................938C.3 World Wide Web Servers..................................................................................................................940C.4 Email Addresses................................................................................................................................947

    D. PGP Keys......................................................................................................................................................949D.1 Officers..............................................................................................................................................949D.2 Core Team Members.........................................................................................................................949

    xi

  • D.3 Developers........................................................................................................................................951

    FreeBSD Glossary...................................................................................................................................................1011

    Index.........................................................................................................................................................................1035

    Colophon..................................................................................................................................................................1047

    xii

  • List of Tables2-1. Sample Device Inventory.......................................................................................................................................112-2. Partition Layout for First Disk...............................................................................................................................332-3. Partition Layout for Subsequent Disks..................................................................................................................342-4. FreeBSD 6.X and 7.X ISO Image Names and Meanings.......................................................................................773-1. Disk Device Codes................................................................................................................................................9618-1. Physical Disk Naming Conventions..................................................................................................................43121-1. Vinum Plex Organizations.................................................................................................................................50026-1. DB-25 to DB-25 Null-Modem Cable................................................................................................................61226-2. DB-9 to DB-9 Null-Modem Cable....................................................................................................................61226-3. DB-9 to DB-25 Null-Modem Cable..................................................................................................................61326-4. Signal Names.....................................................................................................................................................62131-1. Wiring a Parallel Cable for Networking............................................................................................................85231-2. Reserved IPv6 addresses...................................................................................................................................855

    xiii

  • Preface

    Intended AudienceThe FreeBSD newcomer will find that the first section of this book guides the user through the FreeBSD installationprocess and gently introduces the concepts and conventionsthat underpin UNIX. Working through this sectionrequires little more than the desire to explore, and the ability to take on board new concepts as they are introduced.

    Once you have traveled this far, the second, far larger, section of the Handbook is a comprehensive reference to allmanner of topics of interest to FreeBSD system administrators. Some of these chapters may recommend that you dosome prior reading, and this is noted in the synopsis at the beginning of each chapter.

    For a list of additional sources of information, please seeAppendix B.

    Changes from the Third EditionThe current online version of the Handbook represents the cumulative effort of many hundreds of contributors overthe past 10 years. The following are some of the significant changes since the two volume third edition was publishedin 2004:

    Chapter 25, DTrace, has been added with information about the powerfulDTrace performance analysis tool.

    Chapter 20, File Systems Support, has been added with information about non-native file systems in FreeBSD,such as ZFS from Sun.

    Chapter 17, Security Event Auditing, has been added to cover the new auditing capabilities in FreeBSD andexplain its use.

    Chapter 22, Virtualization, has been added with information about installing FreeBSD on virtualization software.

    Changes from the Second Edition (2004)The third edition was the culmination of over two years of work by the dedicated members of the FreeBSDDocumentation Project. The printed edition grew to such a size that it was necessary to publish as two separatevolumes. The following are the major changes in this new edition:

    Chapter 11, Configuration and Tuning, has been expanded with new information about the ACPI power andresource management, thecron system utility, and more kernel tuning options.

    Chapter 14, Security, has been expanded with new information about virtual private networks (VPNs), file systemaccess control lists (ACLs), and security advisories.

    Chapter 16, Mandatory Access Control (MAC), is a new chapter with this edition. It explains what MAC is andhow this mechanism can be used to secure a FreeBSD system.

    Chapter 18, 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.

    Chapter 21, Vinum, is a new chapter with this edition. It describes how to use Vinum, a logical volume managerwhich provides device-independent logical disks, and software RAID-0, RAID-1 and RAID-5.

    A troubleshooting section has been added toChapter 27, PPP and SLIP.

    xiv

  • Preface

    Chapter 28, Electronic Mail, has been expanded with new information about using alternative transport agents,SMTP authentication, UUCP,fetchmail, procmail, and other advanced topics.

    Chapter 29, Network Servers, is all new with this edition. This chapterincludes information about setting up theApache HTTP Server, ftpd , and setting up a server for Microsoft Windows clients with Samba. Somesections fromChapter 31, Advanced Networking, were moved here to improve the presentation.

    Chapter 31, Advanced Networking, has been expanded with new information about using Bluetooth deviceswith FreeBSD, setting up wireless networks, and Asynchronous Transfer Mode (ATM) networking.

    A glossary has been added to provide a central location for the definitions of technical terms used throughout thebook.

    A number of aesthetic improvements have been made to the tables and figures throughout the book.

    Changes from the First Edition (2001)The second edition was the culmination of over two years of work by the dedicated members of the FreeBSDDocumentation Project. The following were the major changes in this edition:

    A complete Index has been added.

    All ASCII figures have been replaced by graphical diagrams.

    A standard synopsis has been added to each chapter to give a quick summary of what information the chaptercontains, and what the reader is expected to know.

    The content has been logically reorganized into three parts: Getting Started, System Administration, andAppendices.

    Chapter 2(Installing FreeBSD) was completely rewritten with manyscreenshots to make it much easier for newusers to grasp the text.

    Chapter 3(UNIX Basics) has been expanded to contain additional information about processes, daemons, andsignals.

    Chapter 4(Installing Applications) has been expanded to contain additional information about binary packagemanagement.

    Chapter 5(The X Window System) has been completely rewritten with an emphasis on using modern desktoptechnologies such asKDE andGNOME on XFree86 4.X.

    Chapter 12(The FreeBSD Booting Process) has been expanded.

    Chapter 18(Storage) has been written from what used to be two separate chapters on Disks and Backups.We feel that the topics are easier to comprehend when presented as a single chapter. A section on RAID (bothhardware and software) has also been added.

    Chapter 26(Serial Communications) has been completely reorganized and updated for FreeBSD 4.X/5.X.

    Chapter 27(PPP and SLIP) has been substantially updated.

    Many new sections have been added toChapter 31(Advanced Networking).

    Chapter 28(Electronic Mail) has been expanded to include more information about configuringsendmail.

    Chapter 10(Linux Compatibility) has been expanded to include information about installingOracle andSAP R/3.

    xv

  • Preface

    The following new topics are covered in this second edition:

    Configuration and Tuning (Chapter 11).

    Multimedia (Chapter 7)

    Organization of This BookThis book is split into five logically distinct sections. Thefirst section,Getting Started, covers the installation andbasic usage of FreeBSD. It is expected that the reader will follow these chapters in sequence, possibly skippingchapters covering familiar topics. The second section,Common Tasks, covers some frequently used features ofFreeBSD. This section, and all subsequent sections, can be read out of order. Each chapter begins with a succinctsynopsis that describes what the chapter covers and what thereader is expected to already know. This is meant toallow the casual reader to skip around to find chapters of interest. The third section,System Administration, coversadministration topics. The fourth section,Network Communication, covers networking and server topics. The fifthsection contains appendices of reference information.

    Chapter 1, Introduction

    Introduces FreeBSD to a new user. It describes the history ofthe FreeBSD Project, its goals and developmentmodel.

    Chapter 2, Installation

    Walks a user through the entire installation process. Some advanced installation topics, such as installingthrough a serial console, are also covered.

    Chapter 3, UNIX Basics

    Covers the basic commands and functionality of the FreeBSD operating system. If you are familiar with Linuxor another flavor of UNIX then you can probably skip this chapter.

    Chapter 4, Installing Applications

    Covers the installation of third-party software with both FreeBSDs innovative Ports Collection and standardbinary packages.

    Chapter 5, The X Window System

    Describes the X Window System in general and using X11 on FreeBSD in particular. Also describes commondesktop environments such asKDE andGNOME .

    Chapter 6, Desktop Applications

    Lists some common desktop applications, such as web browsers and productivity suites, and describes how toinstall them on FreeBSD.

    Chapter 7, Multimedia

    Shows how to set up sound and video playback support for your system. Also describes some sample audio andvideo applications.

    xvi

  • Preface

    Chapter 8, Configuring the FreeBSD Kernel

    Explains why you might need to configure a new kernel and provides detailed instructions for configuring,building, and installing a custom kernel.

    Chapter 9, Printing

    Describes managing printers on FreeBSD, including information about banner pages, printer accounting, andinitial setup.

    Chapter 10, Linux Binary Compatibility

    Describes the Linux compatibility features of FreeBSD. Also provides detailed installation instructions formany popular Linux applications such asOracle, SAP R/3, andMathematica.

    Chapter 11, Configuration and Tuning

    Describes the parameters available for system administrators to tune a FreeBSD system for optimumperformance. Also describes the various configuration filesused in FreeBSD and where to find them.

    Chapter 12, Booting Process

    Describes the FreeBSD boot process and explains how to control this process with configuration options.

    Chapter 13, Users and Basic Account Management

    Describes the creation and manipulation of user accounts. Also discusses resource limitations that can be set onusers and other account management tasks.

    Chapter 14, Security

    Describes many different tools available to help keep your FreeBSD system secure, including Kerberos, IPsecand OpenSSH.

    Chapter 15, Jails

    Describes the jails framework, and the improvements of jails over the traditional chroot support of FreeBSD.

    Chapter 16, Mandatory Access Control

    Explains what Mandatory Access Control (MAC) is and how thismechanism can be used to secure a FreeBSDsystem.

    Chapter 17, Security Event Auditing

    Describes what FreeBSD Event Auditing is, how it can be installed, configured, and how audit trails can beinspected or monitored.

    Chapter 18, Storage

    Describes how to manage storage media and filesystems with FreeBSD. This includes physical disks, RAIDarrays, optical and tape media, memory-backed disks, and network filesystems.

    Chapter 19, GEOM

    Describes what the GEOM framework in FreeBSD is and how to configure various supported RAID levels.

    xvii

  • Preface

    Chapter 20, File Systems Support

    Examines support of non-native file systems in FreeBSD, likethe Z File System from Sun.

    Chapter 21, Vinum

    Describes how to use Vinum, a logical volume manager which provides device-independent logical disks, andsoftware RAID-0, RAID-1 and RAID-5.

    Chapter 22, Virtualization

    Describes what virtualization systems offer, and how they can be used with FreeBSD.

    Chapter 23, Localization

    Describes how to use FreeBSD in languages other than English. Covers both system and application levellocalization.

    Chapter 24, Updating and Upgrading FreeBSD

    Explains the differences between FreeBSD-STABLE, FreeBSD-CURRENT, and FreeBSD releases. Describeswhich users would benefit from tracking a development systemand outlines that process. Covers the methodsusers may take to update their system to the latest security release.

    Chapter 25, DTrace

    Describes how to configure and use the DTrace tool from Sun in FreeBSD. Dynamic tracing can help locateperformance issues, by performing real time system analysis.

    Chapter 26, Serial Communications

    Explains how to connect terminals and modems to your FreeBSDsystem for both dial in and dial outconnections.

    Chapter 27, PPP and SLIP

    Describes how to use PPP, SLIP, or PPP over Ethernet to connect to remote systems with FreeBSD.

    Chapter 28, Electronic Mail

    Explains the different components of an email server and dives into simple configuration topics for the mostpopular mail server software:sendmail.

    Chapter 29, Network Servers

    Provides detailed instructions and example configuration files to set up your FreeBSD machine as a networkfilesystem server, domain name server, network informationsystem server, or time synchronization server.

    Chapter 30, Firewalls

    Explains the philosophy behind software-based firewalls and provides detailed information about theconfiguration of the different firewalls available for FreeBSD.

    Chapter 31, Advanced Networking

    Describes many networking topics, including sharing an Internet connection with other computers on yourLAN, advanced routing topics, wireless networking, Bluetooth, ATM, IPv6, and much more.

    xviii

  • Preface

    Appendix A, Obtaining FreeBSD

    Lists different sources for obtaining FreeBSD media on CDROM or DVD as well as different sites on theInternet that allow you to download and install FreeBSD.

    Appendix B, Bibliography

    This book touches on many different subjects that may leave you hungry for a more detailed explanation. Thebibliography lists many excellent books that are referenced in the text.

    Appendix C, Resources on the Internet

    Describes the many forums available for FreeBSD users to post questions and engage in technical conversationsabout FreeBSD.

    Appendix D, PGP Keys

    Lists the PGP fingerprints of several FreeBSD Developers.

    Conventions used in this bookTo provide a consistent and easy to read text, several conventions are followed throughout the book.

    Typographic Conventions

    Italic

    An italic font is used for filenames, URLs, emphasized text, and the first usage of technical terms.

    Monospace

    A monospaced font is used for error messages, commands, environment variables, names of ports, hostnames,user names, group names, device names, variables, and code fragments.

    Bold

    A bold font is used for applications, commands, and keys.

    User InputKeys are shown inbold to stand out from other text. Key combinations that are meantto be typed simultaneously areshown with + between the keys, such as:

    Ctrl +Alt +Del

    Meaning the user should type theCtrl , Alt , andDel keys at the same time.

    Keys that are meant to be typed in sequence will be separated with commas, for example:

    Ctrl +X, Ctrl +S

    Would mean that the user is expected to type theCtrl andX keys simultaneously and then to type theCtrl andSkeys simultaneously.

    xix

  • Preface

    ExamplesExamples starting withE:\ > indicate a MS-DOS command. Unless otherwise noted, these commands may beexecuted from a Command Prompt window in a modern Microsoft Windows environment.

    E:\ > tools\fdimage floppies\kern.flp A:

    Examples starting with# indicate a command that must be invoked as the superuser in FreeBSD. You can login asroot to type the command, or login as your normal account and use su(1) to gain superuser privileges.

    # dd if=kern.flp of=/dev/fd0

    Examples starting with%indicate a command that should be invoked from a normal user account. Unless otherwisenoted, C-shell syntax is used for setting environment variables and other shell commands.

    % top

    AcknowledgmentsThe book you are holding represents the efforts of many hundreds of people around the world. Whether they sent infixes for typos, or submitted complete chapters, all the contributions have been useful.

    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 Wind River Systems(http://www.windriver.com)) paid members of the FreeBSD Documentation Project to work on improving this bookfull time leading up to the publication of the first printed edition in March 2000 (ISBN 1-57176-241-8). Wind RiverSystems then paid several additional authors to make a number of improvements to the print-output infrastructureand to add additional chapters to the text. This work culminated in the publication of the second printed edition inNovember 2001 (ISBN 1-57176-303-1). In 2003-2004, FreeBSDMall, Inc (http://www.freebsdmall.com), paidseveral contributors to improve the Handbook in preparation for the third printed edition.

    xx

  • I. Getting StartedThis part of the FreeBSD Handbook is for users and administrators who are new to FreeBSD. These chapters:

    Introduce you to FreeBSD.

    Guide you through the installation process.

    Teach you UNIX basics and fundamentals.

    Show you how to install the wealth of third party applications available for FreeBSD.

    Introduce you to X, the UNIX windowing system, and detail howto configure a desktop environment that makesyou more productive.

    We have tried to keep the number of forward references in the text to a minimum so that you can read this section ofthe Handbook from front to back with the minimum page flippingrequired.

  • Chapter 1 IntroductionRestructured, reorganized, and parts rewritten by Jim Mock.

    1.1 SynopsisThank you for your interest in FreeBSD! The following chapter covers various aspects of the FreeBSD Project, suchas its history, goals, development model, and so on.

    After reading this chapter, you will know:

    How FreeBSD relates to other computer operating systems.

    The history of the FreeBSD Project.

    The goals of the FreeBSD Project.

    The basics of the FreeBSD open-source development model.

    And of course: where the name FreeBSD comes from.

    1.2 Welcome to FreeBSD!FreeBSD is a 4.4BSD-Lite based operating system for Intel (x86 and Itanium), AMD64, Alpha, SunUltraSPARC computers. Ports to other architectures are also underway. You can also read aboutthe history of FreeBSD, or thecurrent release. If you are interested in contributing something to the Project (code,hardware, funding), see the Contributing to FreeBSD(http://www.FreeBSD.org/doc/en_US.ISO8859-1/articles/contributing/index.html) article.

    1.2.1 What Can FreeBSD Do?

    FreeBSD has many noteworthy features. Some of these are:

    Preemptive multitaskingwith dynamic priority adjustment to ensure smooth and fair sharing of the computerbetween applications and users, even under the heaviest of loads.

    Multi-user facilitieswhich allow many people to use a FreeBSD system simultaneously for a variety of things.This means, for example, that system peripherals such as printers and tape drives are properly shared between allusers on the system or the network and that individual resource limits can be placed on users or groups of users,protecting critical system resources from over-use.

    StrongTCP/IP networkingwith support for industry standards such as SCTP, DHCP, NFS,NIS, PPP, SLIP, IPsec,and IPv6. This means that your FreeBSD machine can interoperate easily with other systems as well as act as anenterprise server, providing vital functions such as NFS (remote file access) and email services or putting yourorganization on the Internet with WWW, FTP, routing and firewall (security) services.

    Memory protectionensures that applications (or users) cannot interfere witheach other. One application crashingwill not affect others in any way.

    FreeBSD is a32-bitoperating system (64-biton the Alpha, Itanium, AMD64, and UltraSPARC) and was designedas such from the ground up.

    1

  • Chapter 1 Introduction

    The industry standardX Window System(X11R7) provides a graphical user interface (GUI) for the cost of acommon VGA card and monitor and comes with full sources.

    Binary compatibilitywith many programs built for Linux, SCO, SVR4, BSDI and NetBSD.

    Thousands ofready-to-runapplications are available from the FreeBSDportsandpackagescollection. Whysearch the net when you can find it all right here?

    Thousands of additional andeasy-to-portapplications are available on the Internet. FreeBSD is source codecompatible with most popular commercial UNIX systems and thus most applications require few, if any, changesto compile.

    Demand pagedvirtual memoryand merged VM/buffer cache design efficiently satisfies applications with largeappetites for memory while still maintaining interactive response to other users.

    SMPsupport for machines with multiple CPUs.

    A full complement ofC, C++ , andFortran development tools. Many additional languages for advancedresearchand development are also available in the ports and packagescollection.

    Source codefor the entire system means you have the greatest degree of control over your environment. Why belocked into a proprietary solution at the mercy of your vendor when you can have a truly open system?

    Extensiveonline documentation.

    And many more!

    FreeBSD is based on the 4.4BSD-Lite release from Computer Systems Research Group (CSRG) at the University ofCalifornia at Berkeley, and carries on the distinguished tradition of BSD systems development. In addition to the finework provided by CSRG, the FreeBSD Project has put in many thousands of hours in fine tuning the system formaximum performance and reliability in real-life load situations. As many of the commercial giants struggle to fieldPC operating systems with such features, performance and reliability, FreeBSD can offer themnow!

    The applications to which FreeBSD can be put are truly limited only by your own imagination. From softwaredevelopment to factory automation, inventory control to azimuth correction of remote satellite antennae; if it can bedone with a commercial UNIX product then it is more than likely that you can do it with FreeBSD too! FreeBSDalso benefits significantly from literally thousands of highquality applications developed by research centers anduniversities around the world, often available at little tono cost. Commercial applications are also available andappearing in greater numbers every day.

    Because the source code for FreeBSD itself is generally available, the system can also be customized to an almostunheard of degree for special applications or projects, andin ways not generally possible with operating systemsfrom most major commercial vendors. Here is just a sampling of some of the applications in which people arecurrently using FreeBSD:

    Internet Services:The robust TCP/IP networking built into FreeBSD makes it an ideal platform for a variety ofInternet services such as:

    FTP servers

    World Wide Web servers (standard or secure [SSL])

    IPv4 and IPv6 routing

    Firewalls and NAT (IP masquerading) gateways

    Electronic Mail servers

    USENET News or Bulletin Board Systems

    2

  • Chapter 1 Introduction

    And more...

    With FreeBSD, you can easily start out small with an inexpensive 386 class PC and upgrade all the way up to aquad-processor Xeon with RAID storage as your enterprise grows.

    Education:Are you a student of computer science or a related engineering field? There is no better way oflearning about operating systems, computer architecture and networking than the hands on, under the hoodexperience that FreeBSD can provide. A number of freely available CAD, mathematical and graphic designpackages also make it highly useful to those whose primary interest in a computer is to getotherwork done!

    Research:With source code for the entire system available, FreeBSD isan excellent platform for research inoperating systems as well as other branches of computer science. FreeBSDs freely available nature also makes itpossible for remote groups to collaborate on ideas or shareddevelopment without having to worry about speciallicensing agreements or limitations on what may be discussed in open forums.

    Networking:Need a new router? A name server (DNS)? A firewall to keep people out of your internal network?FreeBSD can easily turn that unused 386 or 486 PC sitting in the corner into an advanced router with sophisticatedpacket-filtering capabilities.

    X Window workstation:FreeBSD is a fine choice for an inexpensive X terminal solution, using the freely availableX11 server. Unlike an X terminal, FreeBSD allows many applications to be run locally if desired, thus relievingthe burden on a central server. FreeBSD can even boot diskless, making individual workstations even cheaperand easier to administer.

    Software Development:The basic FreeBSD system comes with a full complement of development tools includingthe renowned GNU C/C++ compiler and debugger.

    FreeBSD is available in both source and binary form on CD-ROM, DVD, and via anonymous FTP. Please seeAppendix Afor more information about obtaining FreeBSD.

    1.2.2 Who Uses FreeBSD?

    FreeBSD is used as a platform for devices and products from many of the worlds largest IT companies, including:

    Apple (http://www.apple.com/)

    Cisco (http://www.cisco.com/)

    Juniper (http://www.juniper.net/)

    NetApp (http://www.netapp.com/)

    FreeBSD is also used to power some of the biggest sites on the Internet, including:

    Yahoo! (http://www.yahoo.com/)

    Yandex (http://www.yandex.ru/)

    Apache (http://www.apache.org/)

    Rambler (http://www.rambler.ru/)

    Sina (http://www.sina.com/)

    Pair Networks (http://www.pair.com/)

    Sony Japan (http://www.sony.co.jp/)

    3

  • Chapter 1 Introduction

    Netcraft (http://www.netcraft.com/)

    NetEase (http://www.163.com/)

    Weathernews (http://www.wni.com/)

    TELEHOUSE America (http://www.telehouse.com/)

    Experts Exchange (http://www.experts-exchange.com/)

    and many more.

    1.3 About the FreeBSD ProjectThe following section provides some background information on the project, including a brief history, project goals,and the development model of the project.

    1.3.1 A Brief History of FreeBSD

    Contributed by Jordan Hubbard.

    The FreeBSD Project had its genesis in the early part of 1993,partially as an outgrowth of the Unofficial 386BSDPatchkit by the patchkits last 3 coordinators: Nate Williams, Rod Grimes and myself.

    Our original goal was to produce an intermediate snapshot of386BSD in order to fix a number of problems with itthat the patchkit mechanism just was not capable of solving.Some of you may remember the early working title forthe project being 386BSD 0.5 or 386BSD Interim in reference to that fact.

    386BSD was Bill Jolitzs operating system, which had been upto that point suffering rather severely from almost ayears worth of neglect. As the patchkit swelled ever more uncomfortably with each passing day, we were inunanimous agreement that something had to be done and decided to assist Bill by providing this interim cleanupsnapshot. Those plans came to a rude halt when Bill Jolitz suddenly decided to withdraw his sanction from theproject without any clear indication of what would be done instead.

    It did not take us long to decide that the goal remained worthwhile, even without Bills support, and so we adoptedthe name FreeBSD, coined by David Greenman. Our initial objectives were set after consulting with the systemscurrent users and, once it became clear that the project was on the road to perhaps even becoming a reality, Icontacted Walnut Creek CDROM with an eye toward improving FreeBSDs distribution channels for those manyunfortunates without easy access to the Internet. Walnut Creek CDROM not only supported the idea of distributingFreeBSD on CD but also went so far as to provide the project with a machine to work on and a fast Internetconnection. Without Walnut Creek CDROMs almost unprecedented degree of faith in what was, at the time, acompletely unknown project, it is quite unlikely that FreeBSD would have gotten as far, as fast, as it has today.

    The first CD-ROM (and general net-wide) distribution was FreeBSD 1.0, released in December of 1993. This wasbased on the 4.3BSD-Lite (Net/2) tape from U.C. Berkeley,with many components also provided by 386BSD andthe Free Software Foundation. It was a fairly reasonable success for a first offering, and we followed it with thehighly successful FreeBSD 1.1 release in May of 1994.

    Around this time, some rather unexpected storm clouds formed on the horizon as Novell and U.C. Berkeley settledtheir long-running lawsuit over the legal status of the Berkeley Net/2 tape. A condition of that settlement was U.C.Berkeleys concession that large parts of Net/2 were encumbered code and the property of Novell, who had in turnacquired it from AT&T some time previously. What Berkeley got in return was Novells blessing that the4.4BSD-Lite release, when it was finally released, would be declared unencumbered and all existing Net/2 users

    4

  • Chapter 1 Introduction

    would be strongly encouraged to switch. This included FreeBSD, and the project was given until the end of July1994 to stop shipping its own Net/2 based product. Under the terms of that agreement, the project was allowed onelast release before the deadline, that release being FreeBSD 1.1.5.1.

    FreeBSD then set about the arduous task of literally re-inventing itself from a completely new and rather incompleteset of 4.4BSD-Lite bits. The Lite releases were light in part because Berkeleys CSRG had removed large chunksof code required for actually constructing a bootable running system (due to various legal requirements) and the factthat the Intel port of 4.4 was highly incomplete. It took the project until November of 1994 to make this transition, atwhich point it released FreeBSD 2.0 to the net and on CD-ROM (in late December). Despite being still more than alittle rough around the edges, the release was a significant success and was followed by the more robust and easier toinstall FreeBSD 2.0.5 release in June of 1995.

    We released FreeBSD 2.1.5 in August of 1996, and it appeared to be popular enough among the ISP and commercialcommunities that another release along the 2.1-STABLE branch was merited. This was FreeBSD 2.1.7.1, released inFebruary 1997 and capping the end of mainstream developmenton 2.1-STABLE. Now in maintenance mode, onlysecurity enhancements and other critical bug fixes will be done on this branch (RELENG_2_1_0).

    FreeBSD 2.2 was branched from the development mainline (-CURRENT) in November 1996 as theRELENG_2_2 branch, and the first full release (2.2.1) was released in April 1997. Further releases along the 2.2branch were done in the summer and fall of 97, the last of which (2.2.8) appeared in November 1998. The firstofficial