About the Book
Did you know that the
special effects used in The Matrix were rendered using the FreeBSD system?
Yahoo and the Internet Movie Database are also powered by FreeBSD. Now
you can learn how to use FreeBSD to its full potential as well! FreeBSD
Unleashed is a complete reference guide for FreeBSD administrators, developers,
webmasters and database administrators and developers who want to learn
more about this Unix-based, robust network. Once you've learned the tips
and tricks included in FreeBSD Unleashed, you will be able to contribute
your ideas to the FreeBSD open source project and help it grow!
Related
Books
Teach Yourself Books (Teach
Yourself Books)
Table of Contents
Introduction.
I. INTRODUCTION TO FREEBSD.
1. What Is FreeBSD?
Why Use FreeBSD?
What Can You Do with FreeBSD?
A Brief History of FreeBSD and Unix.
The Design Philosophy of Unix.
How FreeBSD Compares to Other Operating
Systems.
FreeBSD Mascot.
2. Installing FreeBSD.
Checking Your Hardware.
Creating Boot Disks.
Booting into the Install Program.
Navigating the Sysinstall Program.
Creating Partitions and Assigning
Mount Points.
Selecting a Canned Distribution Set.
Choosing the Installation Media.
Post-installation Configuration and
Customization.
Exiting the Install Program and Rebooting
the System.
Booting FreeBSD for the First Time.
Shutting Down FreeBSD.
3. Advanced Installation Issues.
Backing Up an Existing Windows or
Linux Filesystem.
Nondestructive Hard Disk Partitioning
with FIPS.
Working with FIPS.
Potential Problems with and Limitations
of Dual-Boot Systems.
The FreeBSD Boot Manager.
Booting FreeBSD from LILO.
Alternate Installation Methods.
II. USING FREEBSD.
4. Your First Session with FreeBSD.
FreeBSD Startup Process.
Logging In to FreeBSD.
Logging Out of FreeBSD.
Shutting Down the FreeBSD System.
5. Working with X-Windows.
The X-Server.
Window Managers.
The WindowMaker Window Manager.
Working with Windows.
WindowMaker Menus.
Working with the Dock.
Customizing WindowMaker.
The Preferences Utility.
6. Working with Applications.
Working with Text.
Creating Graphics and Editing Images
with GIMP.
Working with Multimedia.
Networking Applications.
Working with Java Applications.
7. Working with the Shell.
Introducing the Shell.
Choosing a Shell for FreeBSD.
Changing Your Shell.
Getting Help in the Shell.
Basic Shell File Manipulation.
Text-Related Commands.
Pipes and Input/Output Redirection.
Command Completion and History Editing.
III. ADMINISTERING FREEBSD.
8. The FreeBSD Filesystem.
The FreeBSD Directory Structure.
Monitoring Filesystem Usage.
Mounting and Unmounting FreeBSD Filesystems.
Mounting and Unmounting Filesystems
from Other Operating Systems.
Mounting and Unmounting CD-ROM and
Floppy-Based Filesystems.
Understanding the /etc/fstab File.
Checking and Repairing Filesystems
with fsck.
Setting and Enforcing User Filesystem
Quotas.
9. Users, Groups, and Permissions.
Introduction to Users and Groups.
Why Use Groups?
File Ownership.
File and Directory Permissions.
Access Control Lists (ACLs).
Adding and Removing Users.
10. System Configuration and Startup
Scripts.
Understanding the FreeBSD Startup
Process.
Resource Configuration Scripts.
The inetd Daemon and the inetd.conf
Configuration File.
The System Logger (syslogd) and the
syslog.conf File.
Notes on the /etc/rc.local File.
11. Customizing the Shell.
What Is a Shell?
Adding Shells to the System and Making
Them Available.
Using Alternate Shells.
Shell Initialization Files.
Customizing Your Shell Environment.
Shell and Environment Variables.
12. Shell Programming.
Why Shell Programming Matters to You.
A Simple Shell Program.
Variables.
Interacting with the User.
Arithmetic in Shell Programs.
Loops.
Conditional Statements.
Exit Status.
Functions.
File Descriptors.
Debugging Shell Scripts.
Advanced Features of Korn Shell Scripting.
13. Performance Monitoring, Process
Control, and Job Automation.
Performance Monitoring with top.
Process Monitoring with ps.
Terminating Misbehaving Processes.
Making Processes “Nice”.
Automating Processes with the cron
Daemon Scheduler.
Creating Jobs to Run One Scheduled
Time with the at Command.
Controlling Access to the cron and
at Commands.
Using the Periodic Task Scheduler.
14. Installing Additional Software.
Introduction to Packages.
Installing Packages.
Removing Packages.
Introduction to Ports.
Installing and Removing Ports.
Upgrading a Port.
Updating and Maintaining Your Ports.
Fresh Ports.
15. Printing.
How lpd, the Print Spooler, and the
Print Queue Function in FreeBSD.
Kernel, Device, and Communications
Mode Configuration.
Creating the Spool Directory and Setting
Its Permissions.
Setting Up Text and Conversion Filters.
Configuring /etc/printcap to Control
Print System Functions.
Enabling lpd for Command-Line Printing.
Basic Command-Line Printing.
Printing from X-Windows.
Printing in StarOffice.
Using the lpq Command to Check the
Status of Print Jobs.
Removing Jobs from the Queue with
the lprm Command.
Controlling Printers.
Basic Network Printing.
Troubleshooting.
16. Kernel Configuration.
The Role of the Kernel.
Why Configure a Custom Kernel?
The Kernel Configuration Files.
Creating a Custom Kernel Configuration
File.
Compiling and Installing the Custom
Kernel.
Adding Device Nodes to the /dev Directory
(If Necessary).
Recovering When Something Goes Wrong.
17. Keeping Up to Date with FreeBSD.
Tracking the FreeBSD Sources.
Upgrading with make world.
Things to Consider Before Choosing
a make world Upgrade.
Premake world Tasks.
Rebuilding Your System from Sources.
Using mergemaster to Check for Changed
Configuration Files.
Rebooting After the Upgrade.
18. Understanding Hard Disks and
Filesystems.
IDE/ATA Access Modes.
SCSI Disks.
Understanding Hard Disk Geometry.
Partitioning a Hard Disk.
Creating the Disk Labels.
Making the Filesystem Available for
Use.
19. FreeBSD Survival Guide.
Migrating to FreeBSD.
Dos and Donts (Common Gotchas).
Performance Tuning.
Preparing for the Worst: Backups and
Mirrors.
20. Introduction to Perl Programming.
Perl in FreeBSD.
Fundamentals of Perl Scripting.
A Simple Perl Script.
Advanced Perl Techniques.
Useful Perl Resources.
IV. FREEBSD NETWORKING.
21. Networking with FreeBSD.
Introduction to Networking.
Network Topologies.
Network Components.
Network Protocols.
TCP/IP.
IP Addresses.
Routing.
Hostnames and Domain Names.
The Dynamic Host Configuration Protocol
(DHCP) and Automatic IP Addressing.
22. Configuring Basic Networking
Services.
Configuring the Network Card.
Configuring Network Settings with
sysinstall.
Configuring Network Settings Without
sysinstall.
Creating IP Aliases.
Mapping Names to IP Addresses with
the /etc/hosts File.
Testing Network Connectivity with
ping.
Configuring DNS with the /etc/resolv.conf
File.
A Look at Other Network Configuration
Files.
23. Connecting to the Internet with
PPP.
Choosing an ISP.
Gathering Needed Information.
User PPP Versus Kernel PPP.
Configuring Kernel PPP.
Configuring User PPP.
PPP Over Ethernet (PPPoE).
Troubleshooting PPP.
Finding Information for Advanced Configurations.
24. Configuring E-mail Services.
Introduction to SMTP.
Mail Transfer Agents (MTAs) and Mail
User Agents (MUAs).
Configuring Basic E-mail Services
with Sendmail.
Understanding Relaying.
Introduction to POP3.
Configuring a POP3 Server with Qpopper.
Configuring an IMAP Server with IMAP-UW.
E-mail for Standalone Workstations.
A Look at Some Sendmail Replacements.
25. Configuring a Web Server.
Introduction to the HTTP Protocol.
Obtaining and Installing Apache.
Apache File Layout.
Configuring Apache.
Starting and Stopping the HTTP Daemon.
Basic Access Control with Apache.
Virtual Hosting.
Introduction to Apache Modules.
Server-Side Includes.
Introduction to CGI.
26. Configuring an FTP Server.
Introduction to the File Transfer
Protocol.
Overview of the FTP Directory Structure.
Configuring the FTP Server.
Controlling FTP Access.
Allowing Anonymous FTP Access.
Virtual Hosting.
Using Alternate FTP Servers.
27. Configuring an Internet Gateway.
The Basics of Routers and Network
Address Translation (NAT) in FreeBSD.
Configuring a NAT Gateway in FreeBSD.
Enabling NAT for Systems Without Static
IP Addresses.
Configuring Clients to Use the New
Gateway.
Configuring Wireless Internet Access.
Routing Between Three or More Networks.
Dynamic Routing.
28. Configuring a Database Server.
Introduction to Database Design and
Administration.
SQL: Structured Query Language.
Using the MySQL and PostgreSQL Open-Source
Databases.
Constructing a Database System.
Writing Administration Scripts.
Connecting a Database to the Web.
Using PHP to Provide Database-Driven
Content to Web Pages.
Optimizing Database Performance.
Performing Database System Backups.
29. Network Security.
Choosing a Security Model Based on
Your Security Risks.
Security Models.
The Security Risks You Face.
Password Policies.
Avoiding Problems with Clear-Text
Services.
Securing Terminal Traffic (SSH).
Securing E-mail Services (POP3 and
IMAP).
Securing FTP.
Securing Apache.
System Security Profiles and Kernel
Security (securelevel).
Using a Firewall.
Preventing Intrusions and Compromises.
Denial of Service (DOS) Attacks.
Physical Security.
Other Security Resources.
30. Virtual Private Networks (VPNs).
What Is a VPN?
VPN Topologies.
VPN Services in FreeBSD: IPSec.
FreeBSD as a VPN Server.
31. The Domain Name Server.
Introduction to DNS Structure, Functions,
and Software.
Enabling the Name Server Daemon.
Working with the BIND Configuration
File (named.conf).
Creating a Zone File.
Configuring a Caching Name Server.
32. The Network Filesystem (NFS).
Introduction to NFS.
Configuring an NFS Server.
Configuring an NFS Client.
Auto-Mount Daemon (amd).
33. File and Print Sharing with
Microsoft Windows.
SMB/CIFS and Samba.
Installing and Configuring Samba.
Other Samba Components.
Future Samba Development.
Accessing Shared Files on a Windows
System (the smbfs Filesystem).
34. Dynamic Host Configuration Protocol
(DHCP).
How DHCP Works.
Advantages of DHCP over Static IP
Addresses.
Kernel Configuration for DHCP.
Enabling DHCP.
The dhclient Program.
DHCP Server Daemon.
Configuring the dhcpd Configuration
File.
V. X-WINDOWS.
35. Advanced X-Windows Configuration.
Configuring X-Windows with the xf86config
Script.
Understanding the XF86Config File.
Testing the X-Windows Setup.
Your Personal .xinitrc File.
Working with Fonts.
Using Remote X-Windows Clients.
Using the xdm Graphical Login Manager.
VI. APPENDIXES.
Appendix A. Command Reference and
Configuration File Reference.
Command Switches and Options.
Appendix B. Hardware Compatibility
Lists.
System Requirements.
Supported Hardware.
Video Cards Supported by X-Windows.
Appendix C. Troubleshooting Installation
and Boot Problems.
Installation Problems.
Boot Problems and Other Non-installation
Problems.
Appendix D. Sources for More Information.
FreeBSD-Specific Resources.
Other BSD-Related Resources.
Other Internet Resources.
Index. |