DragonFly Handbook

The DragonFly Documentation Project

Welcome to DragonFly! This handbook covers the installation and day to day use of DragonFly. This manual is a work in progress and is the work of many individuals. Many sections do not yet exist and some of those that do exist need to be updated. If you are interested in helping with this project, send email to the DragonFly Documentation project mailing list. The latest version of this document is always available from the DragonFly web site or mirror sites, in a variety of formats.

Portions of this document originally documented use of the FreeBSD operating system. While many functions should be similar on DragonFly, some differences should be expected. If you find instructions here that no longer apply to DragonFly, please contact the documentation mailing list at DragonFly Documentation project mailing list .


Table of Contents
Preface
I. Getting Started
1 Introduction
1.1 Synopsis
1.2 Welcome to DragonFly!
1.3 About the DragonFly Project
2 Installation from CD
2.1 CD Installation Overview
2.2 CD Installation - Making room
2.3 CD Installation - Disk setup
2.4 Installing to Disk from CD
2.5 CD Installation - Post-install cleanup
2.6 CD Installation - New system setup
3 UNIX Basics
3.1 Synopsis
3.2 Virtual Consoles and Terminals
3.3 Permissions
3.4 Directory Structure
3.5 Disk Organization
3.6 Mounting and Unmounting File Systems
3.7 Processes
3.8 Daemons, Signals, and Killing Processes
3.9 Shells
3.10 Text Editors
3.11 Devices and Device Nodes
3.12 Binary Formats
3.13 For More Information
4 Installing Applications using NetBSD's pkgsrc framework
4.1 Synopsis
4.2 Overview of Software Installation
4.3 Finding Your Application
4.4 Using the Binary Packages System
4.5 Using the pkgsrc® Source Tree
4.6 Post-installation Activities
4.7 Dealing with Broken Packages
5 The X Window System
5.1 Synopsis
5.2 Understanding X
5.3 Installing XFree86
5.4 XFree86™ Configuration
5.5 Using Fonts in XFree86
5.6 The X Display Manager
5.7 Desktop Environments
II. System Administration
6 Configuration and Tuning
6.1 Synopsis
6.2 Initial Configuration
6.3 Core Configuration
6.4 Application Configuration
6.5 Starting Services
6.6 Configuring the cron Utility
6.7 Using rc under DragonFly
6.8 Setting Up Network Interface Cards
6.9 Virtual Hosts
6.10 Configuration Files
6.11 Tuning with sysctl
6.12 Tuning Disks
6.13 Tuning Kernel Limits
6.14 Adding Swap Space
6.15 Power and Resource Management
6.16 Using and Debugging DragonFly ACPI
7 The DragonFly Booting Process
7.1 Synopsis
7.2 The Booting Problem
7.3 The Boot Manager and Boot Stages
7.4 Kernel Interaction During Boot
7.5 Init: Process Control Initialization
7.6 Shutdown Sequence
8 Users and Basic Account Management
8.1 Synopsis
8.2 Introduction
8.3 The Superuser Account
8.4 System Accounts
8.5 User Accounts
8.6 Modifying Accounts
8.7 Limiting Users
8.8 Personalizing Users
8.9 Groups
9 Configuring the DragonFly Kernel
9.1 Synopsis
9.2 Why Build a Custom Kernel?
9.3 Building and Installing a Custom Kernel
9.4 The Configuration File
9.5 Making Device Nodes
9.6 If Something Goes Wrong
10 Security
10.1 Synopsis
10.2 Introduction
10.3 Securing DragonFly
10.4 DES, MD5, and Crypt
10.5 One-time Passwords
10.6 Kerberos5
10.7 Firewalls
10.8 OpenSSL
10.9 VPN over IPsec
10.10 OpenSSH
11 Printing
11.1 Synopsis
11.2 Introduction
11.3 Basic Setup
11.4 Advanced Printer Setup
11.5 Using Printers
11.6 Alternatives to the Standard Spooler
11.7 Troubleshooting
12 Storage
12.1 Synopsis
12.2 Device Names
12.3 Adding Disks
12.4 RAID
12.5 Creating and Using Optical Media (CDs)
12.6 Creating and Using Optical Media (DVDs)
12.7 Creating and Using Floppy Disks
12.8 Creating and Using Data Tapes
12.9 Backups to Floppies
12.10 Backup Basics
12.11 Network, Memory, and File-Backed File Systems
12.12 File System Quotas
13 The Vinum Volume Manager
13.1 Synopsis
13.2 Disks Are Too Small
13.3 Access Bottlenecks
13.4 Data Integrity
13.5 Vinum Objects
13.6 Some Examples
13.7 Object Naming
13.8 Configuring Vinum
13.9 Using Vinum for the Root Filesystem
14 Localization - I18N/L10N Usage and Setup
14.1 Synopsis
14.2 The Basics
14.3 Using Localization
14.4 Compiling I18N Programs
14.5 Localizing DragonFly to Specific Languages
15 Desktop Applications
15.1 Synopsis
15.2 Browsers
15.3 Productivity
15.4 Document Viewers
15.5 Finance
15.6 Summary
16 Multimedia
16.1 Synopsis
16.2 Setting Up the Sound Card
16.3 MP3 Audio
16.4 Video Playback
16.5 Setting Up TV Cards
17 Serial Communications
17.1 Synopsis
17.2 Introduction
17.3 Terminals
17.4 Dial-in Service
17.5 Dial-out Service
17.6 Setting Up the Serial Console
18 PPP and SLIP
18.1 Synopsis
18.2 Using User PPP
18.3 Using Kernel PPP
18.4 Troubleshooting PPP Connections
18.5 Using PPP over Ethernet (PPPoE)
18.6 Using SLIP
19 Advanced Networking
19.1 Synopsis
19.2 Gateways and Routes
19.3 Wireless Networking
19.4 Bluetooth
19.5 Bridging
19.6 NFS
19.7 Diskless Operation
19.8 ISDN
19.9 NIS/YP
19.10 DHCP
19.11 DNS
19.12 NTP
19.13 Network Address Translation
19.14 The inetd ``Super-Server''
19.15 Parallel Line IP (PLIP)
19.16 IPv6
20 Electronic Mail
20.1 Synopsis
20.2 Using Electronic Mail
20.3 sendmail Configuration
20.4 Changing Your Mail Transfer Agent
20.5 Troubleshooting
20.6 Advanced Topics
20.7 SMTP with UUCP
20.8 Setting up to send only
20.9 Using Mail with a Dialup Connection
20.10 SMTP Authentication
20.11 Mail User Agents
20.12 Using fetchmail
20.13 Using procmail
21 Updating DragonFly
21.1 Initial Setup
21.2 Configuration
21.3 Port updates
21.4 Preparing to Update
21.5 Updating the System
22 Linux Binary Compatibility
22.1 Synopsis
22.2 Installation
22.3 Installing Mathematica®
22.4 Installing Maple
22.5 Installing MATLAB®
22.6 Installing Oracle®
22.7 Installing SAP® R/3®
22.8 Advanced Topics
III. Appendices
A. Obtaining DragonFly
A.1 CDROM and DVD Publishers
A.2 FTP Sites
A.3 Using CVSup
A.4 CVS Tags
B. Bibliography
B.1 Books & Magazines Specific to BSD
B.2 Users' Guides
B.3 Administrators' Guides
B.4 Programmers' Guides
B.5 Operating System Internals
B.6 Security Reference
B.7 Hardware Reference
B.8 UNIX® History
B.9 Magazines and Journals
C. Resources on the Internet
C.1 Mailing Lists
C.2 Usenet Newsgroups
C.3 World Wide Web Servers
D. PGP Keys
D.1 Developers
Colophon
List of Tables
3-1. Disk Device Codes
12-1. Physical Disk Naming Conventions
13-1. Vinum Plex Organizations
19-1. Wiring a Parallel Cable for Networking
19-2. Reserved IPv6 addresses
List of Figures
13-1. Concatenated Organization
13-2. Striped Organization
13-3. RAID-5 Organization
13-4. A Simple Vinum Volume
13-5. A Mirrored Vinum Volume
13-6. A Striped Vinum Volume
13-7. A Mirrored, Striped Vinum Volume
List of Examples
3-1. Sample Disk, Slice, and Partition Names
3-2. Conceptual Model of a Disk
4-1. Downloading a Package Manually and Installing It Locally
6-1. Creating a Swapfile
7-1. boot0 Screenshot
7-2. boot2 Screenshot
7-3. An Insecure Console in /etc/ttys
8-1. Configuring adduser and adding a user
8-2. rmuser Interactive Account Removal
8-3. Interactive chpass by Superuser
8-4. Interactive chpass by Normal User
8-5. Changing Your Password
8-6. Changing Another User's Password as the Superuser
8-7. Adding a Group Using pw(8)
8-8. Adding Somebody to a Group Using pw(8)
8-9. Using id(1) to Determine Group Membership
10-1. Using SSH to Create a Secure Tunnel for SMTP
12-1. Using dump over ssh
12-2. Using dump over ssh with RSH set
12-3. A Script for Creating a Bootable Floppy
12-4. Using vnconfig to Mount an Existing File System Image
12-5. Creating a New File-Backed Disk with vnconfig
12-6. md Memory Disk
17-1. Adding Terminal Entries to /etc/ttys
19-1. Mounting an Export with amd
19-2. Branch Office or Home Network
19-3. Head Office or Other LAN
19-4. Sending inetd a HangUP Signal
20-1. Configuring the sendmail Access Database
20-2. Mail Aliases
20-3. Example Virtual Domain Mail Map

Contact the Documentation mailing list for comments, suggestions and questions about this document.