Fultus Links
Fultus: Corporate Web Site
Fultus Writers Network
Fultus Book Superstore
Fultus: Corporate Web Site
Fultus Writers Network
Fultus Book Superstore
FreeBSD Documentation
Fultus Book Superstore - FreeBSD
Books
List of eBooks
A project model for the FreeBSD Project
Table of Contents
Foreword
Overview
Definitions
Table of Contents
Activity
Process
Hat
Outcome
FreeBSD
Organisational structure
Methodology model
Development model
Release branches
Model summary
Hats
General Hats
Official Hats
Process dependent hats
Processes
Adding new and removing old committers
Adding/Removing an official CVSup Mirror
Committing code
Core election
Development of new features
Maintenance
Problem reporting
Reacting to misbehaviour
Release engineering
Tools
Concurrent Versions System (CVS)
CVSup
GNATS
Mailman
Perforce
Pretty Good Privacy
Secure Shell
Sub-projects
The Ports Subproject
The FreeBSD Documentation Project
References
FreeBSD FAQ
Copyright
Table of Contents
Introduction
Documentation and Support
Installation
Hardware Compatibility
General
Memory
Architectures and Processors
Hard Drives, Tape Drives, and CD and DVD Drives
Keyboards and Mice
Networking and Serial Devices
Sound Devices
Other Hardware
Troubleshooting
Commercial Applications
User Applications
Kernel Configuration
Disks, File Systems, and Boot Loaders
System Administration
The X Window System and Virtual Consoles
Networking
Security
PPP
Serial Communications
Miscellaneous Questions
The FreeBSD Funnies
Advanced Topics
Acknowledgments
Bibliography
FreeBSD Handbook
Copyright
Table of Contents
Preface
Getting Started
Introduction
Synopsis
Welcome to FreeBSD!
About the FreeBSD Project
Installing FreeBSD
Synopsis
Hardware Requirements
Pre-installation Tasks
Starting the Installation
Introducing Sysinstall
Allocating Disk Space
Choosing What to Install
Choosing Your Installation Media
Committing to the Installation
Post-installation
Troubleshooting
Advanced Installation Guide
Preparing Your Own Installation Media
UNIX Basics
Synopsis
Virtual Consoles and Terminals
Permissions
Directory Structure
Disk Organization
Mounting and Unmounting File Systems
Processes
Daemons, Signals, and Killing Processes
Shells
Text Editors
Devices and Device Nodes
Binary Formats
For More Information
Installing Applications: Packages and Ports
Synopsis
Overview of Software Installation
Finding Your Application
Using the Packages System
Using the Ports Collection
Post-installation Activities
Dealing with Broken Ports
The X Window System
Synopsis
Understanding X
Installing X11
X11 Configuration
Using Fonts in X11
The X Display Manager
Desktop Environments
Common Tasks
Desktop Applications
Synopsis
Browsers
Productivity
Document Viewers
Finance
Summary
Multimedia
Synopsis
Setting Up the Sound Card
MP3 Audio
Video Playback
Setting Up TV Cards
Image Scanners
Configuring the FreeBSD Kernel
Synopsis
Why Build a Custom Kernel?
Finding the System Hardware
Kernel Drivers, Subsystems, and Modules
Building and Installing a Custom Kernel
The Configuration File
If Something Goes Wrong
Printing
Synopsis
Introduction
Basic Setup
Advanced Printer Setup
Using Printers
Alternatives to the Standard Spooler
Troubleshooting
Linux Binary Compatibility
Synopsis
Installation
Installing Mathematica
Installing Maple
Installing MATLAB
Installing Oracle
Installing SAP R/3
Advanced Topics
System Administration
Configuration and Tuning
Synopsis
Initial Configuration
Core Configuration
Application Configuration
Starting Services
Configuring the cron Utility
Using rc under FreeBSD
Setting Up Network Interface Cards
Virtual Hosts
Configuration Files
Tuning with sysctl
Tuning Disks
Tuning Kernel Limits
Adding Swap Space
Power and Resource Management
Using and Debugging FreeBSD ACPI
The FreeBSD Booting Process
Synopsis
The Booting Problem
The Boot Manager and Boot Stages
Kernel Interaction During Boot
Device Hints
Init: Process Control Initialization
Shutdown Sequence
Users and Basic Account Management
Synopsis
Introduction
The Superuser Account
System Accounts
User Accounts
Modifying Accounts
Limiting Users
Groups
Security
Synopsis
Introduction
Securing FreeBSD
DES, Blowfish, MD5, and Crypt
One-time Passwords
TCP Wrappers
KerberosIV
Kerberos5
OpenSSL
VPN over IPsec
OpenSSH
File System Access Control Lists
Monitoring Third Party Security Issues
FreeBSD Security Advisories
Process Accounting
Jails
Synopsis
Terms Related to Jails
Introduction
Creating and Controlling Jails
Fine Tuning and Administration
Application of Jails
Mandatory Access Control
Synopsis
Key Terms in this Chapter
Explanation of MAC
Understanding MAC Labels
Planning the Security Configuration
Module Configuration
The MAC seeotheruids Module
The MAC bsdextended Module
The MAC ifoff Module
The MAC portacl Module
The MAC partition Module
The MAC Multi-Level Security Module
The MAC Biba Module
The MAC LOMAC Module
Nagios in a MAC Jail
User Lock Down
Troubleshooting the MAC Framework
Security Event Auditing
Synopsis
Key Terms in this Chapter
Installing Audit Support
Audit Configuration
Administering the Audit Subsystem
Storage
Synopsis
Device Names
Adding Disks
RAID
USB Storage Devices
Creating and Using Optical Media (CDs)
Creating and Using Optical Media (DVDs)
Creating and Using Floppy Disks
Creating and Using Data Tapes
Backups to Floppies
Backup Strategies
Backup Basics
Network, Memory, and File-Backed File Systems
File System Snapshots
File System Quotas
Encrypting Disk Partitions
Encrypting Swap Space
GEOM: Modular Disk Transformation Framework
Synopsis
GEOM Introduction
RAID0 - Striping
RAID1 - Mirroring
GEOM Gate Network Devices
Labeling Disk Devices
UFS Journaling Through GEOM
File Systems Support
Synopsis
The Z File System
The Vinum Volume Manager
Synopsis
Disks Are Too Small
Access Bottlenecks
Data Integrity
Vinum Objects
Some Examples
Object Naming
Configuring Vinum
Using Vinum for the Root Filesystem
Virtualization
Synopsis
FreeBSD as a Guest OS
FreeBSD as a Host OS
Localization - I18N/L10N Usage and Setup
Synopsis
The Basics
Using Localization
Compiling I18N Programs
Localizing FreeBSD to Specific Languages
Updating and Upgrading FreeBSD
Synopsis
FreeBSD Update
Portsnap: A Ports Collection Update Tool
Updating the Documentation Set
Tracking a Development Branch
Synchronizing Your Source
Rebuilding world
Tracking for Multiple Machines
DTrace
Synopsis
Implementation Differences
Enabling DTrace Support
Using DTrace
The D Language
Network Communication
Serial Communications
Synopsis
Introduction
Terminals
Dial-in Service
Dial-out Service
Setting Up the Serial Console
PPP and SLIP
Synopsis
Using User PPP
Using Kernel PPP
Troubleshooting PPP Connections
Using PPP over Ethernet (PPPoE)
Using PPP over ATM (PPPoA)
Using SLIP
Electronic Mail
Synopsis
Using Electronic Mail
sendmail Configuration
Changing Your Mail Transfer Agent
Troubleshooting
Advanced Topics
SMTP with UUCP
Setting Up to Send Only
Using Mail with a Dialup Connection
SMTP Authentication
Mail User Agents
Using fetchmail
Using procmail
Network Servers
Synopsis
The inetd Super-Server
Network File System (NFS)
Network Information System (NIS/YP)
Automatic Network Configuration (DHCP)
Domain Name System (DNS)
Apache HTTP Server
File Transfer Protocol (FTP)
File and Print Services for Microsoft Windows clients (Samba)
Clock Synchronization with NTP
Remote Host Logging with syslogd
Firewalls
Introduction
Firewall Concepts
Firewall Packages
The OpenBSD Packet Filter (PF) and ALTQ
The IPFILTER (IPF) Firewall
IPFW
Advanced Networking
Synopsis
Gateways and Routes
Wireless Networking
Bluetooth
Bridging
Link Aggregation and Failover
Diskless Operation
ISDN
Network Address Translation
Parallel Line IP (PLIP)
IPv6
Asynchronous Transfer Mode (ATM)
Common Access Redundancy Protocol (CARP)
Appendices
A. Obtaining FreeBSD
CDROM and DVD Publishers
FTP Sites
BitTorrent
Anonymous CVS
Using CTM
Using CVSup
CVS Tags
AFS Sites
rsync Sites
B. Bibliography
Books & Magazines Specific to FreeBSD
Users' Guides
Administrators' Guides
Programmers' Guides
Operating System Internals
Security Reference
Hardware Reference
UNIX History
Magazines and Journals
C. Resources on the Internet
Mailing Lists
Usenet Newsgroups
World Wide Web Servers
Email Addresses
D. PGP Keys
Officers
Core Team Members
Developers
FreeBSD Glossary
Index
Colophon
FreeBSD Developer's Handbook
Copyright
Table of Contents
Basics
Introduction
Developing on FreeBSD
The BSD Vision
Architectural Guidelines
The Layout of /usr/src
Programming Tools
Synopsis
Introduction
Introduction to Programming
Compiling with cc
Make
Debugging
Using Emacs as a Development Environment
Further Reading
Secure Programming
Synopsis
Secure Design Methodology
Buffer Overflows
SetUID issues
Limiting your program's environment
Trust
Race Conditions
Localization and Internationalization - L10N and I18N
Programming I18N Compliant Applications
Source Tree Guidelines and Policies
MAINTAINER on Makefiles
Contributed Software
Encumbered Files
Shared Libraries
Regression and Performance Testing
Micro Benchmark Checklist
Interprocess Communication
Sockets
Synopsis
Networking and Diversity
Protocols
The Sockets Model
Essential Socket Functions
Helper Functions
Concurrent Servers
IPv6 Internals
IPv6/IPsec Implementation
Kernel
Building and Installing a FreeBSD Kernel
Building a Kernel the Traditional Way
Building a Kernel the New Way
Kernel Debugging
Obtaining a Kernel Crash Dump
Debugging a Kernel Crash Dump with kgdb
Debugging a Crash Dump with DDD
Post-Mortem Analysis of a Dump
On-Line Kernel Debugging Using DDB
On-Line Kernel Debugging Using Remote GDB
Debugging Loadable Modules Using GDB
Debugging a Console Driver
Debugging Deadlocks
Glossary of Kernel Options for Debugging
Architectures
x86 Assembly Language Programming
Synopsis
The Tools
System Calls
Return Values
Creating Portable Code
Our First Program
Writing UNIX Filters
Buffered Input and Output
Command Line Arguments
UNIX Environment
Working with Files
One-Pointed Mind
Using the FPU
Caveats
Acknowledgements
Appendices
Bibliography
Index
FreeBSD Architecture Handbook
Copyright
Table of Contents
Kernel
Table of Contents
Bootstrapping and kernel initialization
Table of Contents
Synopsis
Overview
BIOS POST
boot0 stage
boot2 stage
loader stage
Kernel initialization
Locking Notes
Table of Contents
Mutexes
Shared Exclusive Locks
Atomically Protected Variables
Kernel Objects
Table of Contents
Terminology
Kobj Operation
Using Kobj
The Jail Subsystem
Table of Contents
Architecture
Restrictions
The Sysinit Framework
Table of Contents
Terminology
SYSINIT Operation
Using SYSINIT
The TrustedBSD MAC Framework
Table of Contents
MAC Documentation Copyright
Synopsis
Introduction
Policy Background
MAC Framework Kernel Architecture
MAC Policy Architecture
MAC Policy Entry Point Reference
Userland Architecture
Conclusion
Virtual Memory System
Table of Contents
Management of physical memory--vm_page_t
The unified buffer cache--vm_object_t
Filesystem I/O--struct buf
Mapping Page Tables--vm_map_t, vm_entry_t
KVM Memory Mapping
Tuning the FreeBSD VM system
SMPng Design Document
Table of Contents
Introduction
Basic Tools and Locking Fundamentals
General Architecture and Design
Specific Locking Strategies
Implementation Notes
Miscellaneous Topics
Glossary
Device Drivers
Table of Contents
Writing FreeBSD Device Drivers
Table of Contents
Introduction
Dynamic Kernel Linker Facility - KLD
Accessing a device driver
Character Devices
Block Devices (Are Gone)
Network Drivers
ISA device drivers
Table of Contents
Synopsis
Basic information
Device_t pointer
Configuration file and the order of identifying and probing during auto-configuration
Resources
Bus memory mapping
DMA
xxx_isa_probe
xxx_isa_attach
xxx_isa_detach
xxx_isa_shutdown
xxx_intr
PCI Devices
Table of Contents
Probe and Attach
Bus Resources
Common Access Method SCSI Controllers
Table of Contents
Synopsis
General architecture
Polling
Asynchronous Events
Interrupts
Errors Summary
Timeout Handling
USB Devices
Table of Contents
Introduction
Host Controllers
USB Device Information
Device probe and attach
USB Drivers Protocol Information
Newbus
Table of Contents
Device Drivers
Overview of Newbus
Newbus API
Sound subsystem
Table of Contents
Introduction
Files
Probing, attaching, etc.
Interfaces
PC Card
Adding a device
Appendices
Bibliography
Index
FreeBSD Porter's Handbook
Copyright
Table of Contents
Introduction
Making a port yourself
Quick Porting
Writing the Makefile
Writing the description files
pkg-descr
pkg-plist
Creating the checksum file
Testing the port
Checking your port with portlint
Submitting the port
Slow Porting
How things work
Getting the original sources
Modifying the port
Patching
Configuring
Handling user input
Configuring the Makefile
The original source
Naming
PORTNAME and PORTVERSION
PORTREVISION and PORTEPOCH
PKGNAMEPREFIX and PKGNAMESUFFIX
LATEST_LINK
Package Naming Conventions
Categorization
CATEGORIES
Current list of categories
Choosing the right category
Proposing a new category
Proposing reorganizing all the categories
The distribution files
DISTVERSION/DISTNAME
MASTER_SITES
EXTRACT_SUFX
DISTFILES
EXTRACT_ONLY
PATCHFILES
Multiple distribution files or patches from different sites and subdirectories (MASTER_SITES:n)
DIST_SUBDIR
ALWAYS_KEEP_DISTFILES
MAINTAINER
COMMENT
Dependencies
LIB_DEPENDS
RUN_DEPENDS
BUILD_DEPENDS
FETCH_DEPENDS
EXTRACT_DEPENDS
PATCH_DEPENDS
USE_*
Minimal version of a dependency
Notes on dependencies
Circular dependencies are fatal
MASTERDIR
Manpages
Info files
Makefile Options
Knobs
OPTIONS
Feature auto-activation
Specifying the working directory
WRKSRC
NO_WRKSUBDIR
CONFLICTS
Installing files
INSTALL_* macros
Stripping Binaries
Installing a whole tree of files
Install additional documentation
Subdirectories under PREFIX
Special considerations
Shared Libraries
Ports with distribution restrictions
NO_PACKAGE
NO_CDROM
NOFETCHFILES
RESTRICTED
RESTRICTED_FILES
Building mechanisms
make, gmake, and imake
configure script
Using scons
Using GNU autotools
Introduction
libtool
libltdl
autoconf and autoheader
automake and aclocal
Using GNU gettext
Basic usage
Optional usage
Handling message catalog directories
Using perl
Using X11
X.Org components
Ports that require Motif
X11 fonts
Getting fake DISPLAY using Xvfb
Desktop entries
Using GNOME
Using KDE
Variable definitions
Ports that require Qt
Component selection (Qt 4.x only)
Additional considerations
Using Java
Variable definitions
Building with Ant
Best practices
Web applications, Apache and PHP
Apache
Web applications
PHP
PEAR modules
Using Python
Using Tcl/Tk
Using Emacs
Using Ruby
Using SDL
Using wxWidgets
Introduction
Version selection
Component selection
Unicode
Detecting installed versions
Defined variables
Processing in bsd.port.pre.mk
Additional configure arguments
Using Lua
Introduction
Version selection
Component selection
Detecting installed versions
Defined variables
Processing in bsd.port.pre.mk
Using Xfce
Using databases
Starting and stopping services (rc scripts)
Stopping services at deinstall
Advanced pkg-plist practices
Changing pkg-plist based on make variables
Empty directories
Cleaning up empty directories
Creating empty directories
Configuration files
Dynamic vs. static package list
Automated package list creation
The pkg-* files
pkg-message
pkg-install
pkg-deinstall
pkg-req
Changing the names of pkg-* files
Making use of SUB_FILES and SUB_LIST
Testing your port
Running make describe
Portlint
Port Tools
PREFIX and DESTDIR
Tinderbox
Upgrading
Ports security
Why security is so important
Fixing security vulnerabilities
Keeping the community informed
The VuXML database
A short introduction to VuXML
Testing your changes to the VuXML database
Dos and Don'ts
Introduction
WRKDIR
WRKDIRPREFIX
Differentiating operating systems and OS versions
__FreeBSD_version values
Writing something after bsd.port.mk
Use the exec statement in wrapper scripts
UIDs and GIDs
Do things rationally
Respect both CC and CXX
Respect CFLAGS
Threading libraries
Feedback
README.html
Marking a port not installable with BROKEN, FORBIDDEN, or IGNORE
Variables
Implementation Notes
Marking a port for removal with DEPRECATED or EXPIRATION_DATE
Avoid use of the .error construct
Usage of sysctl
Rerolling distfiles
Necessary workarounds
Miscellanea
A Sample Makefile
Keeping Up
FreshPorts
The Web Interface to the Source Repository
The FreeBSD Ports Mailing List
The FreeBSD Port Building Cluster on pointyhat.FreeBSD.org
The FreeBSD Port Distfile Survey
The FreeBSD Ports Monitoring System
PMake -- A Tutorial
Copyright
Table of Contents
Introduction
The Basics of PMake
Dependency Lines
Shell Commands
Variables
Local Variables
Command-line Variables
Global Variables
Environment Variables
Comments
Parallelism
Writing and Debugging a Makefile
Invoking PMake
Summary
Short-cuts and Other Nice Things
Transformation Rules
Including Other Makefiles
Saving Commands
Target Attributes
Special Targets
Modifying Variable Expansion
More Exercises
PMake for Gods
Search Paths
Archives and Libraries
On the Condition...
A Shell is a Shell is a Shell
Compatibility
DEFCON 3 - Variable Expansion
DEFCON 2 - The Number of the Beast
DEFCON 1 - Imitation is the Not the Highest Form of Flattery
The Way Things Work
Answers to Exercises
Glossary of Jargon
Chapter 2 of "The Design and Implementation of the 4.4BSD Operating System"
Copyright
Table of Contents
Design Overview of 4.4BSD
Table of Contents
BSD Facilities and the Kernel
The Kernel
Kernel Organization
Kernel Services
Process Management
Signals
Process Groups and Sessions
Memory Management
BSD Memory-Management Design Decisions
Memory Management Inside the Kernel
I/O System
Descriptors and I/O
Descriptor Management
Devices
Socket IPC
Scatter/Gather I/O
Multiple Filesystem Support
Filesystems
Filestores
Network Filesystem
Terminals
Interprocess Communication
Network Communication
Network Implementation
System Operation
References
Chapter 8 of "The FreeBSD Corporate Networker's Guide"
Copyright
Table of Contents
Printserving
Table of Contents
PC printing history
Printer communication protocols and hardware
ASCII Printing Protocol
PostScript Printing Protocol
HPPCL Printing Protocol
Network Printing Basics
Printservers
Printspools
Setting up LPR on Windows clients
Windows 3.1/Windows for Workgroups 3.11
Installation of the Novell TCP/IP Winsock client
Installation of the LPR client on 16-bit Windows with a Winsock installed
Installation of LPR client on Windows 95/98
Installation of LPR client on Windows NT
Printing PostScript and DOS command files
Checking PostScript Printer capabilities
Setting up LPR/LPD on FreeBSD
Creating the spools
Additional spool capabilities
Printing to hardware print server boxes or remote print servers
Filters
Printer Accounting
Microsoft Networking Client printing with Samba
Client access issues
Printer entries in configuration files
Browsing output
Printing between NT Server/NetWare and FreeBSD.
Printing from UNIX
lp
lpr
Managing the UNIX Print Queue
Advanced Printing Topics
Ghostscript
a2ps filter
Miscellaneous
FreeBSD Documentation Project Primer for New Contributors
Copyright
Table of Contents
Preface
Shell Prompts
Typographic Conventions
Notes, Tips, Important Information, Warnings, and Examples
Acknowledgments
Overview
The FreeBSD Documentation Set
Before You Start
Quick Start
Tools
Mandatory Tools
Software
DTDs and Entities
Stylesheets
Optional Tools
Software
SGML Primer
Overview
Elements, Tags, and Attributes
For You to Do...
The DOCTYPE Declaration
Formal Public Identifiers (FPIs)
Alternatives to FPIs
Escaping Back to SGML
Comments
For You to Do...
Entities
General Entities
Parameter Entities
For You to Do...
Using Entities to Include Files
Using General Entities to Include Files
Using Parameter Entities to Include Files
For You to Do...
Marked Sections
Marked Section Keywords
For You to Do...
Conclusion
SGML Markup
HTML
Formal Public Identifier (FPI)
Sectional Elements
Block Elements
In-line Elements
Links
DocBook
FreeBSD Extensions
Formal Public Identifier (FPI)
Document Structure
Block Elements
In-line Elements
Images
Links
* Stylesheets
* DSSSL
CSS
The DocBook Documents
Structuring Documents Under doc/
The Top Level, doc/
The lang.encoding/Directories
Document Specific Information
The Handbook
The Documentation Build Process
The FreeBSD Documentation Build Toolset
Understanding Makefiles in the Documentation tree
Subdirectory Makefiles
Documentation Makefiles
FreeBSD Documentation Project make includes
doc.project.mk
doc.subdir.mk
The Website
Preparation
Simple Method: Using csup
Advanced Method: Maintaining a Local CVS doc/www Repository
Build the Web Pages from Scratch
Install the Web Pages into Your Web Server
Environment Variables
Translations
Writing Style
Style Guide
Letter Case
Acronyms
Indentation
Tag Style
White Space Changes
Non-Breaking Space
Word List
Using sgml-mode with Emacs
See Also
The FreeBSD Documentation Project
SGML
HTML
DocBook
The Linux Documentation Project
A.Examples
A.1 DocBook book
A.2 DocBook <article>
A.3 Producing Formatted Output
A.3.1 Using Jade
PPP - Pedantic PPP Primer
Table of Contents
Overview
Building the Local Area Network
Typical Network Topology
Assumptions about the Local Area Network
FreeBSD System Configuration
Table of Contents
Verifying the FreeBSD Host Name
Configuring the FreeBSD Host Name
Verifying the Ethernet Interface Configuration
Configuring your Ethernet Interface
Enabling Packet Forwarding
Creating the List of other LAN Hosts(/etc/hosts)
Testing the FreeBSD system
Verifying the operation of the loopback device
Verifying the operation of the Ethernet Device
Configuring the PPP Dial-Out Connection
Table of Contents
Backing up the original PPP configuration files
Create your own PPP configuration files
The '/etc/ppp/ppp.conf' file
The '/etc/ppp/ppp.linkup' file
IP Aliasing
Configuring Windows Systems
Configuring Windows 95
Configuring Windows NT
Configuring Windows for Workgroups
Testing the Network
Table of Contents
Testing the Dial-Up link
Testing the Ethernet LAN
Exercises for the Interested Student
Table of Contents
Creating a mini-DNS system
The /etc/namedb/named.boot file
The /etc/namedb/mydomain.db file
Starting the DNS Server
Playing with PPP filters
FreeBSD Installation Guide
Table of Contents
Home
0.1 Table of Contents
1.0 Limits of Liability and Disclaimer of Warranty
1.1 Copyright
1.1 Contact
Getting Started
1.2 Synopsis
1.3 Installer Prerequisites
1.4 Introduction
2.0 Preparing PC for FBSD
2.1 Incremental Install Method
2.2 Minimum Hardware Requirements
Installing
3.0 Installing FBSD
3.1 ISO CD images
3.2 Using MS/Windows to get ISO CD images
3.3 PC BIOS
3.4 Starting Award BIOS setup utility
3.5 First time changes to PC BIOS
3.6 Loading FBSD to the Hard drive
Post Install
4.0 Post Install Configuration
4.1 Root Account
4.2 Gracefully Stopping your System
4.3 Navigating the File System Directory Tree
4.4 Command Line Path Prefix
4.5 How to use the ee editor
4.6 User Login Announcement
4.7 Command Line History
4.8 Keyboard F1 - F8 Keys
4.9 FBSD Logs
4.10 Enabling clear tmp directory
4.11 Using mouse copy/paste function
4.11.1 Enabling 2 button mouse copy/paste function
4.11.3 Testing mouse copy/paste function
4.11.4 Further customizing the mouse arrow pointer
4.12 Scroll lock history
4.13 Assigning a Host name to your FBSD system.
4.14 Hosts File
4.15 Screen Saver
4.16 Basic EMAIL Information
4.17 Time Zone setup
Internet Access
5.0 Accessing the Internet
5.1 Cable TV access to the Internet
5.1.1 Installing a PCI NIC
5.1.2 Configuring a cable modem Internet connection
5.1.3 Test your cable modem connectivity
5.2 Products offered by the public telephone company
5.2.1 Analog voice dial up service to your ISP
5.2.2 Analog voice ISDN service
5.2.3 Digital DSL service
5.2.4 Digital leased lines
5.3 Enabling voice phone Modems
5.3.1 PCI Modem Types
5.3.2 How to determine if FBSD found my modem at boot time
5.3.4 External serial modems
5.3.5 Determining if your external serial modem is connected to FBSD
5.3.6 Internal PCI modem
5.3.7 PCI Modem found as <unknown card>
5.3.8 PCI Modem found and moved to sio4
5.3.9 Determining if your internal PCI modem is connected to FBSD
5.5 Internet access protocols
5.5.0 User PPP
5.5.1 User PPP NAT function
5.5.2 Configuring User PPP for modem dial out to ISP
5.5.3 Test User PPP dialisp
5.5.4 Enable Dial ISP at boot time
5.5.5 User PPP Filters
5.6 Configuring User PPP to accept inbound modem calls
5.6.1 Inbound ppp.conf statements
5.6.2 Configure Incoming services
5.6.3 Configure Modem to answer call using HAYES Commands
5.6.4 How the Incoming call process works
5.6.5 Testing Incoming call function
5.7 User PPP Callback Feature
5.7.1 Callback Feature on Incoming Calls
5.7.2 Summary of how Incoming callback works
5.7.3 ISP callback Feature
5.7.4 Summary of how ISP callback works
5.8 PPPoE ppp.conf statements for DSL connection
5.9 User PPP Logs
5.10 Stray irq 7 messages
Network Security
6.0 Network Security
6.0.1 Firewalls
6.0.2 Firewall Rule Set Types
6.0.3 Firewall Software Applications
6.1 IPFILTER (IPF) Firewall
6.1.1 Enabling IPF
6.1.2 Kernel options.
6.1.3 RC.CONF Options
6.2 IPF COMMAND
6.3 IPFSTAT Command
6.4 IPMON Command
6.4.1 IPMON Logging
6.4.2 Format of Logged Messages
6.5 Building Rule Script
6.6.IPF Rule Sets
6.6.1 Rule Syntax
6.6.2 Stateful Filtering
6.7 Inclusive Rule set Example
6.8 NAT Explanation
6.8.1 IPNAT Command
6.8.2 NAT Rules
6.8.3 How NAT works
6.8.4 Enabling Nat
6.8.5 Nat for very Large Lan
6.8.6 Directing traffic to Lan Servers
6.8.7 FTP Special Nat Handling
6.8.8 FTP Filter rules
6.9 IPFIREWALL (IPFW) Firewall
6.9.1 Enabling IPFW
6.9.2 Kernel Options
6.9.3 RC.CONF Options
6.9.4 IPFW Command
6.9.4 IPFW Rule Sets
6.9.5 Rule Syntax
6.9.6 Stateful Rule Option
6.9.7 Logging Firewall Messages
6.9.8 Building Rule Script
6.9.9 Stateful Rule Set
6.9.10 Example Inclusive Rule Set
6.10 Stateful + NATD Rule Set
6.11 OpenBSD's Packet Filter Firewall
6.11.1 Enabling PF
6.11.2 Kernel Options
6.11.3 RC.CONF Statements
6.11.4 PFCTL Command
6.11.5 PF Rule Sets
6.11.6 Rule Syntax
6.11.7 Stateful Filtering
6.11.8 Nat Explanation
6.11.9 Logging
6.12 Inclusive Rule set Example
6.13 Defending Against Attacks
6.13.1 Know Who Your Attacker is
6.13.2 Stopping Login Attacks
6.13.3 Stopping Web Server Attacks
6.14 Example SSH setup
6.14.1 Example Environment Description
6.14.2 Host Setup
6.14.3 FBSD-client Setup
6.14.4 Using Midnight Commander for SFTP
6.14.5 Win-client Setup
6.14.6 Putty Setup
6.14.7 WinSC3 Setup
6.14.8 Fraudulent SSH Login Attempts
Local Area Network
7.0 Setting up Local Area Network (LAN)
7.1 Home User LANs
7.2 Topography of a LAN
7.3 Installing the LAN
7.4 LAN private IP address
7.5 Manually Configuring the Gateway
7.6 Manually configuring FBSD LAN PCs
7.7 Manually configuring MS/Windows LAN PCs
DHCP Server
8.0 DHCP (Dynamic Host Configuration Protocol)
8.1 What function does DHCP perform?
8.2 DHCP Server
8.3 How DHCP Works
8.4 DHCP Configuration Instructions
8.5 Testing the DHCPD Daemon
8.6 FBSD as a DHCP Client
System Security
9.0 FBSD System Security
9.1 Network packet Security options
9.1.1 Sysctl.conf Security Knobs
9.1.2 Secure rc.conf
9.1.3 Secure Kernel Source
9.2 Security Paranoia
9.3 Highest Level of Security Paranoia
9.3.1 Jail facility
9.3.2 rc.conf securelevel option
9.3.3 Encrypting Disk Partitions
FBSD Basics
10.0 FBSD Basics
10.1 Introduction to the manual documentation
10.2 Basic FBSD Commands you will need to know
10.3 Controlling what messages go to what syslog files
10.3.1 LOG rotation and archiving
10.4 Setting System Date and Time
10.5 Capturing screen content to file
10.6 Cron Scheduling Application & System Management Reports
10.7 Using the Floppy drive
10.7.1 To format a FBSD file system floppy disk
10.7.2 To create /a floppy mount point
10.7.3 To mount floppy drive
10.7.4 To test floppy drive
10.7.5 To remove floppy from drive
10.7.6 To mount MS/Windows formatted floppy disk
10.7.7 Easier way to mount MS/Windows floppies
10.7.8 To test auto floppy drive mount
10.8 Mounting Cdrom
10.9 User Account Admin
10.9.1 Configure the pw Command
10.9.2 Examples of pw command usage
10.9.3 pw command embedded in a script
10.9.4 passwd command
10.9.5 chpass command
10.9.6 Super User
10.10 Permissions
10.10.1 Managing Permissions
10.10 2 Change file permissions
10.10.3 Change file owner
10.10.4 Change file group
10.11 Managing your configuration changes
10.11.1 Personal Scripts
10.11.2 Script to Backup /custom to floppy
10.11.3 Script to Restore floppy to /custom
10.12 Burncd and .iso files
10.12.1 ISO FTP download script
10.12.2 Burncd command
10.13 Technical Support
10.14 Boot Time Splash Screen
10.14.1 Splash Screen Function
10.14.2 Enabling the Splash Screen Function
10.14.3 Sample Splash Screen
Email Services
11.0 Email Service
11.1 Commercial, non-Commercial sendmail Users
11.2 Configure Sendmail to send enail through your ISP
11.3 POP3 Email Server
11.4 Qpopper Application
11.4.1 Qpopper Installation Instructions
11.5 Configuring Microsoft Outlook for FBSD mail service
11.6 Fetchmail / Getting your ISP mail to FBSD
11.6.1 Fetchmail Installation Instructions
11.6.2 Testing Fetchmail
11.6.3 Boot Time Enable
11.8 Email Reading
11.8.1 Using the mail command
11.8.2 Checking your mail
11.8.3 Creating / sending your mail
11.8.4 Mbox File
11.8.5 Mail sub-commands
11.8.6 Replying to or creating new mail
11.9 Email Vacation Auto Responder
11.9.1 How vacation process works
11.9.2 .vacation msg file
11.9.3 .vacation.db File
11.9.4 .forward File
11.9.5 SYNTAX of the command
11.9.6 Procedure to Activate
Ports & Packages
12.0 Ports & Packages
12.1 Determining what to install
12.2 Finding the Application Download Name
12.3 Package Benefits
12.4 Ports Benefits
12.5 Using the Package Collection
12.5.1 Alternate Access Method to package Collection
12.6 Using the Port Collection
12.6.1 Downloading make files for single port
12.6.2 Fetch Port Config Files Script
12.7 Ports/Package Install History Database Commands
12.8 Port Make Commands
Kernel Customizing
13.0 Kernel Customizing
13.1 Kernel Compile Steps
13.2 Managing Multiple Kernels
13.4 Replacing /kernel with saved /kernel
13.5 Fix System Boot problems
13.6 Single user mode
13.7 Forgot Root password
13.8 New Kernel won't boot
FTP & Telnet
14.0 FTP & Telnet
14.1 Inetd, FBSD's Super server
14.2 Configure Insecure FTP
14.3 Anonymous FTP Server
14.4 Quotas
14.5 Telnet
14.6 Secure FTP & Telnet
Masquerading as Commercial User
15.0 Masquerading as a Commercial User
15.2 Verifying ports 25 & 80 are open
15.3 Masquerading Using ZoneEdit
15.4 Configurating ZoneEdit
Articles
List of eBooks
The Roadmap for 5-STABLE
Table of Contents
Introduction and Background
Major issues
Requirements for 5-STABLE
Post RELENG_5 direction
Why you should use a BSD style license for your Open Source Project
Table of Contents
Introduction
Very Brief Open Source History
Unix from a BSD Licensing Perspective
The Current State of FreeBSD and BSD Licenses
The origins of the GPL
The origins of Linux and the LGPL
Open Source licenses and the Orphaning Problem
What a license cannot do
GPL Advantages and Disadvantages
BSD Advantages
Specific Recommendations for using a BSD license
Conclusion
Addenda
Building Products with FreeBSD
Table of Contents
Introduction
FreeBSD as a set of building blocks
Collaborating with FreeBSD
Conclusion
Bibliography
Argentina.com : A Case Study
Table of Contents
Overview
The Challenge
The FreeBSD solution
Results
Integration of Check Point VPN-1/Firewall-1 and FreeBSD IPsec
Table of Contents
Prerequisites
Firewall-1 Network Object Configuration
Firewall-1 VPN Rule Configuration
FreeBSD VPN Policy Configuration
FreeBSD Racoon Configuration
Starting the VPN
References
Committer's Guide
Table of Contents
Administrative Details
Commit Bit Types
CVS Operations
Conventions and Traditions
Preferred License for New Files
Developer Relations
GNATS
Who's Who
SSH Quick-Start Guide
The FreeBSD Committers' Big List of Rules
Support for Multiple Architectures
Ports Specific FAQ
Perks of the Job
Miscellaneous Questions
Console Server Tutorial
Table of Contents
The Problem
Possible Solutions
Our Solution
Setting Up The Server
Cabling
On Sun Systems And Break
Using a Serial Console on FreeBSD
Security Implications
On Conserver Versions
Links
Manual Pages
Contributing to FreeBSD
Table of Contents
What Is Needed
How to Contribute
Contributing to the FreeBSD Ports Collection
Table of Contents
Introduction
What you can do to help
Creating a new port
Adopting an unmaintained port
The challenge for port maintainers
Finding and fixing a broken port
When to call it quits
Resources for ports maintainers and contributors
Contributors to FreeBSD
Table of Contents
Donors Gallery
The FreeBSD Core Team
Other FreeBSD Teams
Miscellaneous Hats
FreeBSD Release Engineering Teams
The FreeBSD Developers
The FreeBSD Documentation Project
Who is Responsible for What
Core Team Alumni
Development Team Alumni
Derived Software Contributors
Additional FreeBSD Contributors
386BSD Patch Kit Patch Contributors
Setting up a CVS repository - the FreeBSD way
Introduction
First setup
FreeBSD specific setup
CVSup Advanced Points
Table of Contents
Preface
Introduction
A useful python script: cvsupchk
Examples of more advanced source management
Dialup firewalling with FreeBSD
Table of Contents
Preface
Kernel Options
Changing /etc/rc.conf to load the firewall
Enable PPP's network address translation
The rule set for the firewall
Questions
Diskless X Server: a how to guide
Table of Contents
Creating the boot floppy (On the diskless system)
Getting the network boot programs (On the server)
Determine which program to run (On the diskless system)
Booting across the network
Allowing systems to boot across the network (On the server)
The Euro symbol on FreeBSD
The Euro in a nutshell
A general remark
The console
Modifying X11
Open problems
Explaining BSD
What is BSD?
What, a real UNIX?
Why is BSD not better known?
Comparing BSD and Linux
FreeBSD From Scratch
Introduction
Why would I (not) want FreeBSD From Scratch?
Prerequisites
Stage One: System Installation
Stage Two: Ports Installation
Stage Three
Limitations
The Files
Filtering Bridges
Why use a filtering bridge?
How to Install
Final Preparation
Enabling the Bridge
Configuring The Firewall
Contributors
Fonts and FreeBSD
Introduction
Basic terminology
What font formats can I use?
Setting a virtual console to 80x60 line mode
Using type 1 fonts with X11
Using type 1 fonts with Ghostscript
Using type 1 fonts with Groff
Converting TrueType fonts to a groff/postscript format for groff
Can TrueType fonts be used with other programs?
Where can additional fonts be obtained?
Additional questions
Formatting Media For Use With FreeBSD
Introduction & Definitions
Formatting Disks in Dedicated Mode
Making Compatibility Mode Disks
Other Disk Operations
Credits
How to get best results from the FreeBSD-questions mailing list
Introduction
How to subscribe to FreeBSD-questions
How to unsubscribe from FreeBSD-questions
Should I ask -questions or -hackers?
Before submitting a question
How to submit a question
How to follow up to a question
How to answer a question
Working with Hats
Working with Hats
Mirroring FreeBSD
Contact Information
Requirements for FreeBSD mirrors
How to mirror FreeBSD
Where to mirror from
Official Mirrors
Some statistics from mirror sites
Independent Verification of IPsec Functionality in FreeBSD
The Problem
The Solution
The Experiment
Caveat
IPsec---Definition
Installing IPsec
src/sys/i386/conf/KERNELNAME
Maurer's Universal Statistical Test (for block size=8 bits)
Java and Jakarta Tomcat on FreeBSD
Introduction
The Java- Environment
Jakarta Tomcat Setup
Reference
FreeBSD on Laptops
Xorg
XFree86O
Modems
PCMCIA (PC Card) devices
Power management
FreeBSD: An Open Source Alternative to Linux
Table of Contents
Introduction
FreeBSD Features
Security
Support
Advantages to Choosing FreeBSD
Conclusion
Addenda
Frequently Asked Questions About The FreeBSD Mailing Lists
Introduction
Mailing List Etiquette
Recurring Topics On The Mailing Lists
What Is A 'Bikeshed'?
Acknowledgments
An MH Primer
Introduction
Reading Mail
Folders and Mail Searching
Sending Mail
Installing and Using FreeBSD With Other Operating Systems
Overview
Overview of Boot Managers
A Typical Installation
Special Considerations
Examples
Other Sources of Help
Technical Details
Introduction to NanoBSD
Table of Contents
Introduction to NanoBSD
NanoBSD Howto
For People New to Both FreeBSD and Unix
Logging in and Getting Out
Adding A User with Root Privileges
Looking Around
Getting Help and Information
Editing Text
Printing Files from DOS
Other Useful Commands
Next Steps
Your Working Environment
Other
Comments Welcome
Perforce in FreeBSD Development
Table of Contents
Introduction
Getting Started
Clients
Syncing
Branches
Integrations
Submit
Editing
Changes, Descriptions, and History
Diffs
Adding and Removing Files
Working with diffs
Renaming files
Interactions between FreeBSD CVS and Perforce
Offline Operation
Notes for Google Summer of Code
Pluggable Authentication Modules
Table of Contents
Introduction
Terms and conventions
PAM Essentials
PAM Configuration
FreeBSD PAM Modules
PAM Application Programming
PAM Module Programming
A. Sample PAM Application
B. Sample PAM Module
C. Sample PAM Conversation Function
Further Reading
Package Building Procedures
Copyright
Table of Contents
Introduction and Conventions
Build Client Management
Chroot Build Environment Setup
Starting the Build
Anatomy of a Build
Interrupting a Build
Monitoring the Build
Release Builds
Uploading Packages
Experimental Patches Builds
Problem Report Handling Guidelines
Table of Contents
Introduction
Problem Report Life-cycle
Problem Report State
Types of Problem Reports
Further Reading
Writing FreeBSD Problem Reports
Table of Contents
Introduction
When to submit a problem report
Preparations
Writing the problem report
Follow-up
If you are having problems
Further Reading
FreeBSD Jumpstart Guide
Introduction
Server Configuration
Bootstrap Setup
Install Setup
Custom Post-Install Package
Practical rc.d scripting in BSD
Table of Contents
Introduction
Outlining the task
A dummy script
A configurable dummy script
Startup and shutdown of a simple daemon
Startup and shutdown of an advanced daemon
Connecting a script to the rc.d framework
Further reading
Using Greylist with FreeBSD
Basic Configuration
FreeBSD Release Engineering
Table of Contents
Introduction
Release Process
Release Building
Distribution
Extensibility
Lessons Learned from FreeBSD 4.4
Future Directions
Acknowledgements
References
FreeBSD Release Engineering for Third Party Software Packages
Building packages from the Ports Collection
The Package Split
Serial and UART Tutorial
The UART: What it is and how it works
Configuring the sio driver
Configuring the cy driver
Configuring the si driver
FreeBSD and Solid State Devices
Table of Contents
Solid State Disk Devices
Kernel Options
rc.diskless and Read-Only Filesystems
Building a File System From Scratch
Building a kern.flp Installation Floppy with the fla Driver
System Strategies for Small and Read Only Environments
Storage Devices
Using ESDI hard disks
What is SCSI?
* Disk/tape controllers
Hard drives
Tape drives
CDROM drives
Choosing the FreeBSD Version That Is Right For You
Table of Contents
Background
Release Scheduling In The Past
Release Scheduling Goals Going Forward
How Do These Factors Affect My Decision?
Conclusion
Bootstrapping Vinum: A Foundation for Reliable Servers
Introduction
Bootstrapping Phases
Where to Go from Here?
Failure Scenarios
bootvinum Perl Script
Manual Vinum Bootstrapping
Acknowledgements
Design elements of the FreeBSD VM system
Introduction
VM Objects
SWAP Layers
When to free a page
Pre-Faulting and Zeroing Optimizations
Page Table Optimizations
Page Coloring
Conclusion
Bonus QA session by Allen Briggs briggs@ninthwonder.com
ZIP Drives
ZIP Drive Basics
Parallel ZIP: The vpo Driver
Mounting ZIP disks
Writing a GEOM Class
Table of Contents
Introduction
Preliminaries
On FreeBSD kernel programming
On GEOM programming
Creating a Software Testing Environment Using FreeBSD
Table of Contents
Overview
The Challenge
The FreeBSD Solution
Conclusion
FreeBSD Releases
FreeBSD 7.1-RELEASE Release Notes
Introduction
What's New
Security Advisories
Kernel Changes
Boot Loader Changes
Hardware Support
Network Protocols
Disks and Storage
File Systems
Userland Changes
/etc/rc.d Scripts
Contributed Software
Release Engineering and Integration
Upgrading from previous releases of FreeBSD
FreeBSD 7.1-RELEASE Hardware Notes
Introduction
Supported Processors and System Boards
amd64
i386
ia64
pc98
powerpc
sparc64
Supported Devices
Disk Controllers
Ethernet Interfaces
Token Ring Interfaces
FDDI Interfaces
ATM Interfaces
Wireless Network Interfaces
Miscellaneous Networks
ISDN Interfaces
Serial Interfaces
Sound Devices
Camera and Video Capture Devices
USB Devices
IEEE 1394 (Firewire) Devices
Bluetooth Devices
Cryptographic Accelerators
Miscellaneous
FreeBSD 7.1-RELEASE Errata
Fultus Book Superstore - FreeBSD
Books
List of eBooks
A project model for the FreeBSD Project
Table of Contents
Foreword
Overview
Definitions
Table of Contents
Activity
Process
Hat
Outcome
FreeBSD
Organisational structure
Methodology model
Development model
Release branches
Model summary
Hats
General Hats
Official Hats
Process dependent hats
Processes
Adding new and removing old committers
Adding/Removing an official CVSup Mirror
Committing code
Core election
Development of new features
Maintenance
Problem reporting
Reacting to misbehaviour
Release engineering
Tools
Concurrent Versions System (CVS)
CVSup
GNATS
Mailman
Perforce
Pretty Good Privacy
Secure Shell
Sub-projects
The Ports Subproject
The FreeBSD Documentation Project
References
FreeBSD FAQ
Copyright
Table of Contents
Introduction
Documentation and Support
Installation
Hardware Compatibility
General
Memory
Architectures and Processors
Hard Drives, Tape Drives, and CD and DVD Drives
Keyboards and Mice
Networking and Serial Devices
Sound Devices
Other Hardware
Troubleshooting
Commercial Applications
User Applications
Kernel Configuration
Disks, File Systems, and Boot Loaders
System Administration
The X Window System and Virtual Consoles
Networking
Security
PPP
Serial Communications
Miscellaneous Questions
The FreeBSD Funnies
Advanced Topics
Acknowledgments
Bibliography
FreeBSD Handbook
Copyright
Table of Contents
Preface
Getting Started
Introduction
Synopsis
Welcome to FreeBSD!
About the FreeBSD Project
Installing FreeBSD
Synopsis
Hardware Requirements
Pre-installation Tasks
Starting the Installation
Introducing Sysinstall
Allocating Disk Space
Choosing What to Install
Choosing Your Installation Media
Committing to the Installation
Post-installation
Troubleshooting
Advanced Installation Guide
Preparing Your Own Installation Media
UNIX Basics
Synopsis
Virtual Consoles and Terminals
Permissions
Directory Structure
Disk Organization
Mounting and Unmounting File Systems
Processes
Daemons, Signals, and Killing Processes
Shells
Text Editors
Devices and Device Nodes
Binary Formats
For More Information
Installing Applications: Packages and Ports
Synopsis
Overview of Software Installation
Finding Your Application
Using the Packages System
Using the Ports Collection
Post-installation Activities
Dealing with Broken Ports
The X Window System
Synopsis
Understanding X
Installing X11
X11 Configuration
Using Fonts in X11
The X Display Manager
Desktop Environments
Common Tasks
Desktop Applications
Synopsis
Browsers
Productivity
Document Viewers
Finance
Summary
Multimedia
Synopsis
Setting Up the Sound Card
MP3 Audio
Video Playback
Setting Up TV Cards
Image Scanners
Configuring the FreeBSD Kernel
Synopsis
Why Build a Custom Kernel?
Finding the System Hardware
Kernel Drivers, Subsystems, and Modules
Building and Installing a Custom Kernel
The Configuration File
If Something Goes Wrong
Printing
Synopsis
Introduction
Basic Setup
Advanced Printer Setup
Using Printers
Alternatives to the Standard Spooler
Troubleshooting
Linux Binary Compatibility
Synopsis
Installation
Installing Mathematica
Installing Maple
Installing MATLAB
Installing Oracle
Installing SAP R/3
Advanced Topics
System Administration
Configuration and Tuning
Synopsis
Initial Configuration
Core Configuration
Application Configuration
Starting Services
Configuring the cron Utility
Using rc under FreeBSD
Setting Up Network Interface Cards
Virtual Hosts
Configuration Files
Tuning with sysctl
Tuning Disks
Tuning Kernel Limits
Adding Swap Space
Power and Resource Management
Using and Debugging FreeBSD ACPI
The FreeBSD Booting Process
Synopsis
The Booting Problem
The Boot Manager and Boot Stages
Kernel Interaction During Boot
Device Hints
Init: Process Control Initialization
Shutdown Sequence
Users and Basic Account Management
Synopsis
Introduction
The Superuser Account
System Accounts
User Accounts
Modifying Accounts
Limiting Users
Groups
Security
Synopsis
Introduction
Securing FreeBSD
DES, Blowfish, MD5, and Crypt
One-time Passwords
TCP Wrappers
KerberosIV
Kerberos5
OpenSSL
VPN over IPsec
OpenSSH
File System Access Control Lists
Monitoring Third Party Security Issues
FreeBSD Security Advisories
Process Accounting
Jails
Synopsis
Terms Related to Jails
Introduction
Creating and Controlling Jails
Fine Tuning and Administration
Application of Jails
Mandatory Access Control
Synopsis
Key Terms in this Chapter
Explanation of MAC
Understanding MAC Labels
Planning the Security Configuration
Module Configuration
The MAC seeotheruids Module
The MAC bsdextended Module
The MAC ifoff Module
The MAC portacl Module
The MAC partition Module
The MAC Multi-Level Security Module
The MAC Biba Module
The MAC LOMAC Module
Nagios in a MAC Jail
User Lock Down
Troubleshooting the MAC Framework
Security Event Auditing
Synopsis
Key Terms in this Chapter
Installing Audit Support
Audit Configuration
Administering the Audit Subsystem
Storage
Synopsis
Device Names
Adding Disks
RAID
USB Storage Devices
Creating and Using Optical Media (CDs)
Creating and Using Optical Media (DVDs)
Creating and Using Floppy Disks
Creating and Using Data Tapes
Backups to Floppies
Backup Strategies
Backup Basics
Network, Memory, and File-Backed File Systems
File System Snapshots
File System Quotas
Encrypting Disk Partitions
Encrypting Swap Space
GEOM: Modular Disk Transformation Framework
Synopsis
GEOM Introduction
RAID0 - Striping
RAID1 - Mirroring
GEOM Gate Network Devices
Labeling Disk Devices
UFS Journaling Through GEOM
File Systems Support
Synopsis
The Z File System
The Vinum Volume Manager
Synopsis
Disks Are Too Small
Access Bottlenecks
Data Integrity
Vinum Objects
Some Examples
Object Naming
Configuring Vinum
Using Vinum for the Root Filesystem
Virtualization
Synopsis
FreeBSD as a Guest OS
FreeBSD as a Host OS
Localization - I18N/L10N Usage and Setup
Synopsis
The Basics
Using Localization
Compiling I18N Programs
Localizing FreeBSD to Specific Languages
Updating and Upgrading FreeBSD
Synopsis
FreeBSD Update
Portsnap: A Ports Collection Update Tool
Updating the Documentation Set
Tracking a Development Branch
Synchronizing Your Source
Rebuilding world
Tracking for Multiple Machines
DTrace
Synopsis
Implementation Differences
Enabling DTrace Support
Using DTrace
The D Language
Network Communication
Serial Communications
Synopsis
Introduction
Terminals
Dial-in Service
Dial-out Service
Setting Up the Serial Console
PPP and SLIP
Synopsis
Using User PPP
Using Kernel PPP
Troubleshooting PPP Connections
Using PPP over Ethernet (PPPoE)
Using PPP over ATM (PPPoA)
Using SLIP
Electronic Mail
Synopsis
Using Electronic Mail
sendmail Configuration
Changing Your Mail Transfer Agent
Troubleshooting
Advanced Topics
SMTP with UUCP
Setting Up to Send Only
Using Mail with a Dialup Connection
SMTP Authentication
Mail User Agents
Using fetchmail
Using procmail
Network Servers
Synopsis
The inetd Super-Server
Network File System (NFS)
Network Information System (NIS/YP)
Automatic Network Configuration (DHCP)
Domain Name System (DNS)
Apache HTTP Server
File Transfer Protocol (FTP)
File and Print Services for Microsoft Windows clients (Samba)
Clock Synchronization with NTP
Remote Host Logging with syslogd
Firewalls
Introduction
Firewall Concepts
Firewall Packages
The OpenBSD Packet Filter (PF) and ALTQ
The IPFILTER (IPF) Firewall
IPFW
Advanced Networking
Synopsis
Gateways and Routes
Wireless Networking
Bluetooth
Bridging
Link Aggregation and Failover
Diskless Operation
ISDN
Network Address Translation
Parallel Line IP (PLIP)
IPv6
Asynchronous Transfer Mode (ATM)
Common Access Redundancy Protocol (CARP)
Appendices
A. Obtaining FreeBSD
CDROM and DVD Publishers
FTP Sites
BitTorrent
Anonymous CVS
Using CTM
Using CVSup
CVS Tags
AFS Sites
rsync Sites
B. Bibliography
Books & Magazines Specific to FreeBSD
Users' Guides
Administrators' Guides
Programmers' Guides
Operating System Internals
Security Reference
Hardware Reference
UNIX History
Magazines and Journals
C. Resources on the Internet
Mailing Lists
Usenet Newsgroups
World Wide Web Servers
Email Addresses
D. PGP Keys
Officers
Core Team Members
Developers
FreeBSD Glossary
Index
Colophon
FreeBSD Developer's Handbook
Copyright
Table of Contents
Basics
Introduction
Developing on FreeBSD
The BSD Vision
Architectural Guidelines
The Layout of /usr/src
Programming Tools
Synopsis
Introduction
Introduction to Programming
Compiling with cc
Make
Debugging
Using Emacs as a Development Environment
Further Reading
Secure Programming
Synopsis
Secure Design Methodology
Buffer Overflows
SetUID issues
Limiting your program's environment
Trust
Race Conditions
Localization and Internationalization - L10N and I18N
Programming I18N Compliant Applications
Source Tree Guidelines and Policies
MAINTAINER on Makefiles
Contributed Software
Encumbered Files
Shared Libraries
Regression and Performance Testing
Micro Benchmark Checklist
Interprocess Communication
Sockets
Synopsis
Networking and Diversity
Protocols
The Sockets Model
Essential Socket Functions
Helper Functions
Concurrent Servers
IPv6 Internals
IPv6/IPsec Implementation
Kernel
Building and Installing a FreeBSD Kernel
Building a Kernel the Traditional Way
Building a Kernel the New Way
Kernel Debugging
Obtaining a Kernel Crash Dump
Debugging a Kernel Crash Dump with kgdb
Debugging a Crash Dump with DDD
Post-Mortem Analysis of a Dump
On-Line Kernel Debugging Using DDB
On-Line Kernel Debugging Using Remote GDB
Debugging Loadable Modules Using GDB
Debugging a Console Driver
Debugging Deadlocks
Glossary of Kernel Options for Debugging
Architectures
x86 Assembly Language Programming
Synopsis
The Tools
System Calls
Return Values
Creating Portable Code
Our First Program
Writing UNIX Filters
Buffered Input and Output
Command Line Arguments
UNIX Environment
Working with Files
One-Pointed Mind
Using the FPU
Caveats
Acknowledgements
Appendices
Bibliography
Index
FreeBSD Architecture Handbook
Copyright
Table of Contents
Kernel
Table of Contents
Bootstrapping and kernel initialization
Table of Contents
Synopsis
Overview
BIOS POST
boot0 stage
boot2 stage
loader stage
Kernel initialization
Locking Notes
Table of Contents
Mutexes
Shared Exclusive Locks
Atomically Protected Variables
Kernel Objects
Table of Contents
Terminology
Kobj Operation
Using Kobj
The Jail Subsystem
Table of Contents
Architecture
Restrictions
The Sysinit Framework
Table of Contents
Terminology
SYSINIT Operation
Using SYSINIT
The TrustedBSD MAC Framework
Table of Contents
MAC Documentation Copyright
Synopsis
Introduction
Policy Background
MAC Framework Kernel Architecture
MAC Policy Architecture
MAC Policy Entry Point Reference
Userland Architecture
Conclusion
Virtual Memory System
Table of Contents
Management of physical memory--vm_page_t
The unified buffer cache--vm_object_t
Filesystem I/O--struct buf
Mapping Page Tables--vm_map_t, vm_entry_t
KVM Memory Mapping
Tuning the FreeBSD VM system
SMPng Design Document
Table of Contents
Introduction
Basic Tools and Locking Fundamentals
General Architecture and Design
Specific Locking Strategies
Implementation Notes
Miscellaneous Topics
Glossary
Device Drivers
Table of Contents
Writing FreeBSD Device Drivers
Table of Contents
Introduction
Dynamic Kernel Linker Facility - KLD
Accessing a device driver
Character Devices
Block Devices (Are Gone)
Network Drivers
ISA device drivers
Table of Contents
Synopsis
Basic information
Device_t pointer
Configuration file and the order of identifying and probing during auto-configuration
Resources
Bus memory mapping
DMA
xxx_isa_probe
xxx_isa_attach
xxx_isa_detach
xxx_isa_shutdown
xxx_intr
PCI Devices
Table of Contents
Probe and Attach
Bus Resources
Common Access Method SCSI Controllers
Table of Contents
Synopsis
General architecture
Polling
Asynchronous Events
Interrupts
Errors Summary
Timeout Handling
USB Devices
Table of Contents
Introduction
Host Controllers
USB Device Information
Device probe and attach
USB Drivers Protocol Information
Newbus
Table of Contents
Device Drivers
Overview of Newbus
Newbus API
Sound subsystem
Table of Contents
Introduction
Files
Probing, attaching, etc.
Interfaces
PC Card
Adding a device
Appendices
Bibliography
Index
FreeBSD Porter's Handbook
Copyright
Table of Contents
Introduction
Making a port yourself
Quick Porting
Writing the Makefile
Writing the description files
pkg-descr
pkg-plist
Creating the checksum file
Testing the port
Checking your port with portlint
Submitting the port
Slow Porting
How things work
Getting the original sources
Modifying the port
Patching
Configuring
Handling user input
Configuring the Makefile
The original source
Naming
PORTNAME and PORTVERSION
PORTREVISION and PORTEPOCH
PKGNAMEPREFIX and PKGNAMESUFFIX
LATEST_LINK
Package Naming Conventions
Categorization
CATEGORIES
Current list of categories
Choosing the right category
Proposing a new category
Proposing reorganizing all the categories
The distribution files
DISTVERSION/DISTNAME
MASTER_SITES
EXTRACT_SUFX
DISTFILES
EXTRACT_ONLY
PATCHFILES
Multiple distribution files or patches from different sites and subdirectories (MASTER_SITES:n)
DIST_SUBDIR
ALWAYS_KEEP_DISTFILES
MAINTAINER
COMMENT
Dependencies
LIB_DEPENDS
RUN_DEPENDS
BUILD_DEPENDS
FETCH_DEPENDS
EXTRACT_DEPENDS
PATCH_DEPENDS
USE_*
Minimal version of a dependency
Notes on dependencies
Circular dependencies are fatal
MASTERDIR
Manpages
Info files
Makefile Options
Knobs
OPTIONS
Feature auto-activation
Specifying the working directory
WRKSRC
NO_WRKSUBDIR
CONFLICTS
Installing files
INSTALL_* macros
Stripping Binaries
Installing a whole tree of files
Install additional documentation
Subdirectories under PREFIX
Special considerations
Shared Libraries
Ports with distribution restrictions
NO_PACKAGE
NO_CDROM
NOFETCHFILES
RESTRICTED
RESTRICTED_FILES
Building mechanisms
make, gmake, and imake
configure script
Using scons
Using GNU autotools
Introduction
libtool
libltdl
autoconf and autoheader
automake and aclocal
Using GNU gettext
Basic usage
Optional usage
Handling message catalog directories
Using perl
Using X11
X.Org components
Ports that require Motif
X11 fonts
Getting fake DISPLAY using Xvfb
Desktop entries
Using GNOME
Using KDE
Variable definitions
Ports that require Qt
Component selection (Qt 4.x only)
Additional considerations
Using Java
Variable definitions
Building with Ant
Best practices
Web applications, Apache and PHP
Apache
Web applications
PHP
PEAR modules
Using Python
Using Tcl/Tk
Using Emacs
Using Ruby
Using SDL
Using wxWidgets
Introduction
Version selection
Component selection
Unicode
Detecting installed versions
Defined variables
Processing in bsd.port.pre.mk
Additional configure arguments
Using Lua
Introduction
Version selection
Component selection
Detecting installed versions
Defined variables
Processing in bsd.port.pre.mk
Using Xfce
Using databases
Starting and stopping services (rc scripts)
Stopping services at deinstall
Advanced pkg-plist practices
Changing pkg-plist based on make variables
Empty directories
Cleaning up empty directories
Creating empty directories
Configuration files
Dynamic vs. static package list
Automated package list creation
The pkg-* files
pkg-message
pkg-install
pkg-deinstall
pkg-req
Changing the names of pkg-* files
Making use of SUB_FILES and SUB_LIST
Testing your port
Running make describe
Portlint
Port Tools
PREFIX and DESTDIR
Tinderbox
Upgrading
Ports security
Why security is so important
Fixing security vulnerabilities
Keeping the community informed
The VuXML database
A short introduction to VuXML
Testing your changes to the VuXML database
Dos and Don'ts
Introduction
WRKDIR
WRKDIRPREFIX
Differentiating operating systems and OS versions
__FreeBSD_version values
Writing something after bsd.port.mk
Use the exec statement in wrapper scripts
UIDs and GIDs
Do things rationally
Respect both CC and CXX
Respect CFLAGS
Threading libraries
Feedback
README.html
Marking a port not installable with BROKEN, FORBIDDEN, or IGNORE
Variables
Implementation Notes
Marking a port for removal with DEPRECATED or EXPIRATION_DATE
Avoid use of the .error construct
Usage of sysctl
Rerolling distfiles
Necessary workarounds
Miscellanea
A Sample Makefile
Keeping Up
FreshPorts
The Web Interface to the Source Repository
The FreeBSD Ports Mailing List
The FreeBSD Port Building Cluster on pointyhat.FreeBSD.org
The FreeBSD Port Distfile Survey
The FreeBSD Ports Monitoring System
PMake -- A Tutorial
Copyright
Table of Contents
Introduction
The Basics of PMake
Dependency Lines
Shell Commands
Variables
Local Variables
Command-line Variables
Global Variables
Environment Variables
Comments
Parallelism
Writing and Debugging a Makefile
Invoking PMake
Summary
Short-cuts and Other Nice Things
Transformation Rules
Including Other Makefiles
Saving Commands
Target Attributes
Special Targets
Modifying Variable Expansion
More Exercises
PMake for Gods
Search Paths
Archives and Libraries
On the Condition...
A Shell is a Shell is a Shell
Compatibility
DEFCON 3 - Variable Expansion
DEFCON 2 - The Number of the Beast
DEFCON 1 - Imitation is the Not the Highest Form of Flattery
The Way Things Work
Answers to Exercises
Glossary of Jargon
Chapter 2 of "The Design and Implementation of the 4.4BSD Operating System"
Copyright
Table of Contents
Design Overview of 4.4BSD
Table of Contents
BSD Facilities and the Kernel
The Kernel
Kernel Organization
Kernel Services
Process Management
Signals
Process Groups and Sessions
Memory Management
BSD Memory-Management Design Decisions
Memory Management Inside the Kernel
I/O System
Descriptors and I/O
Descriptor Management
Devices
Socket IPC
Scatter/Gather I/O
Multiple Filesystem Support
Filesystems
Filestores
Network Filesystem
Terminals
Interprocess Communication
Network Communication
Network Implementation
System Operation
References
Chapter 8 of "The FreeBSD Corporate Networker's Guide"
Copyright
Table of Contents
Printserving
Table of Contents
PC printing history
Printer communication protocols and hardware
ASCII Printing Protocol
PostScript Printing Protocol
HPPCL Printing Protocol
Network Printing Basics
Printservers
Printspools
Setting up LPR on Windows clients
Windows 3.1/Windows for Workgroups 3.11
Installation of the Novell TCP/IP Winsock client
Installation of the LPR client on 16-bit Windows with a Winsock installed
Installation of LPR client on Windows 95/98
Installation of LPR client on Windows NT
Printing PostScript and DOS command files
Checking PostScript Printer capabilities
Setting up LPR/LPD on FreeBSD
Creating the spools
Additional spool capabilities
Printing to hardware print server boxes or remote print servers
Filters
Printer Accounting
Microsoft Networking Client printing with Samba
Client access issues
Printer entries in configuration files
Browsing output
Printing between NT Server/NetWare and FreeBSD.
Printing from UNIX
lp
lpr
Managing the UNIX Print Queue
Advanced Printing Topics
Ghostscript
a2ps filter
Miscellaneous
FreeBSD Documentation Project Primer for New Contributors
Copyright
Table of Contents
Preface
Shell Prompts
Typographic Conventions
Notes, Tips, Important Information, Warnings, and Examples
Acknowledgments
Overview
The FreeBSD Documentation Set
Before You Start
Quick Start
Tools
Mandatory Tools
Software
DTDs and Entities
Stylesheets
Optional Tools
Software
SGML Primer
Overview
Elements, Tags, and Attributes
For You to Do...
The DOCTYPE Declaration
Formal Public Identifiers (FPIs)
Alternatives to FPIs
Escaping Back to SGML
Comments
For You to Do...
Entities
General Entities
Parameter Entities
For You to Do...
Using Entities to Include Files
Using General Entities to Include Files
Using Parameter Entities to Include Files
For You to Do...
Marked Sections
Marked Section Keywords
For You to Do...
Conclusion
SGML Markup
HTML
Formal Public Identifier (FPI)
Sectional Elements
Block Elements
In-line Elements
Links
DocBook
FreeBSD Extensions
Formal Public Identifier (FPI)
Document Structure
Block Elements
In-line Elements
Images
Links
* Stylesheets
* DSSSL
CSS
The DocBook Documents
Structuring Documents Under doc/
The Top Level, doc/
The lang.encoding/Directories
Document Specific Information
The Handbook
The Documentation Build Process
The FreeBSD Documentation Build Toolset
Understanding Makefiles in the Documentation tree
Subdirectory Makefiles
Documentation Makefiles
FreeBSD Documentation Project make includes
doc.project.mk
doc.subdir.mk
The Website
Preparation
Simple Method: Using csup
Advanced Method: Maintaining a Local CVS doc/www Repository
Build the Web Pages from Scratch
Install the Web Pages into Your Web Server
Environment Variables
Translations
Writing Style
Style Guide
Letter Case
Acronyms
Indentation
Tag Style
White Space Changes
Non-Breaking Space
Word List
Using sgml-mode with Emacs
See Also
The FreeBSD Documentation Project
SGML
HTML
DocBook
The Linux Documentation Project
A.Examples
A.1 DocBook book
A.2 DocBook <article>
A.3 Producing Formatted Output
A.3.1 Using Jade
PPP - Pedantic PPP Primer
Table of Contents
Overview
Building the Local Area Network
Typical Network Topology
Assumptions about the Local Area Network
FreeBSD System Configuration
Table of Contents
Verifying the FreeBSD Host Name
Configuring the FreeBSD Host Name
Verifying the Ethernet Interface Configuration
Configuring your Ethernet Interface
Enabling Packet Forwarding
Creating the List of other LAN Hosts(/etc/hosts)
Testing the FreeBSD system
Verifying the operation of the loopback device
Verifying the operation of the Ethernet Device
Configuring the PPP Dial-Out Connection
Table of Contents
Backing up the original PPP configuration files
Create your own PPP configuration files
The '/etc/ppp/ppp.conf' file
The '/etc/ppp/ppp.linkup' file
IP Aliasing
Configuring Windows Systems
Configuring Windows 95
Configuring Windows NT
Configuring Windows for Workgroups
Testing the Network
Table of Contents
Testing the Dial-Up link
Testing the Ethernet LAN
Exercises for the Interested Student
Table of Contents
Creating a mini-DNS system
The /etc/namedb/named.boot file
The /etc/namedb/mydomain.db file
Starting the DNS Server
Playing with PPP filters
FreeBSD Installation Guide
Table of Contents
Home
0.1 Table of Contents
1.0 Limits of Liability and Disclaimer of Warranty
1.1 Copyright
1.1 Contact
Getting Started
1.2 Synopsis
1.3 Installer Prerequisites
1.4 Introduction
2.0 Preparing PC for FBSD
2.1 Incremental Install Method
2.2 Minimum Hardware Requirements
Installing
3.0 Installing FBSD
3.1 ISO CD images
3.2 Using MS/Windows to get ISO CD images
3.3 PC BIOS
3.4 Starting Award BIOS setup utility
3.5 First time changes to PC BIOS
3.6 Loading FBSD to the Hard drive
Post Install
4.0 Post Install Configuration
4.1 Root Account
4.2 Gracefully Stopping your System
4.3 Navigating the File System Directory Tree
4.4 Command Line Path Prefix
4.5 How to use the ee editor
4.6 User Login Announcement
4.7 Command Line History
4.8 Keyboard F1 - F8 Keys
4.9 FBSD Logs
4.10 Enabling clear tmp directory
4.11 Using mouse copy/paste function
4.11.1 Enabling 2 button mouse copy/paste function
4.11.3 Testing mouse copy/paste function
4.11.4 Further customizing the mouse arrow pointer
4.12 Scroll lock history
4.13 Assigning a Host name to your FBSD system.
4.14 Hosts File
4.15 Screen Saver
4.16 Basic EMAIL Information
4.17 Time Zone setup
Internet Access
5.0 Accessing the Internet
5.1 Cable TV access to the Internet
5.1.1 Installing a PCI NIC
5.1.2 Configuring a cable modem Internet connection
5.1.3 Test your cable modem connectivity
5.2 Products offered by the public telephone company
5.2.1 Analog voice dial up service to your ISP
5.2.2 Analog voice ISDN service
5.2.3 Digital DSL service
5.2.4 Digital leased lines
5.3 Enabling voice phone Modems
5.3.1 PCI Modem Types
5.3.2 How to determine if FBSD found my modem at boot time
5.3.4 External serial modems
5.3.5 Determining if your external serial modem is connected to FBSD
5.3.6 Internal PCI modem
5.3.7 PCI Modem found as <unknown card>
5.3.8 PCI Modem found and moved to sio4
5.3.9 Determining if your internal PCI modem is connected to FBSD
5.5 Internet access protocols
5.5.0 User PPP
5.5.1 User PPP NAT function
5.5.2 Configuring User PPP for modem dial out to ISP
5.5.3 Test User PPP dialisp
5.5.4 Enable Dial ISP at boot time
5.5.5 User PPP Filters
5.6 Configuring User PPP to accept inbound modem calls
5.6.1 Inbound ppp.conf statements
5.6.2 Configure Incoming services
5.6.3 Configure Modem to answer call using HAYES Commands
5.6.4 How the Incoming call process works
5.6.5 Testing Incoming call function
5.7 User PPP Callback Feature
5.7.1 Callback Feature on Incoming Calls
5.7.2 Summary of how Incoming callback works
5.7.3 ISP callback Feature
5.7.4 Summary of how ISP callback works
5.8 PPPoE ppp.conf statements for DSL connection
5.9 User PPP Logs
5.10 Stray irq 7 messages
Network Security
6.0 Network Security
6.0.1 Firewalls
6.0.2 Firewall Rule Set Types
6.0.3 Firewall Software Applications
6.1 IPFILTER (IPF) Firewall
6.1.1 Enabling IPF
6.1.2 Kernel options.
6.1.3 RC.CONF Options
6.2 IPF COMMAND
6.3 IPFSTAT Command
6.4 IPMON Command
6.4.1 IPMON Logging
6.4.2 Format of Logged Messages
6.5 Building Rule Script
6.6.IPF Rule Sets
6.6.1 Rule Syntax
6.6.2 Stateful Filtering
6.7 Inclusive Rule set Example
6.8 NAT Explanation
6.8.1 IPNAT Command
6.8.2 NAT Rules
6.8.3 How NAT works
6.8.4 Enabling Nat
6.8.5 Nat for very Large Lan
6.8.6 Directing traffic to Lan Servers
6.8.7 FTP Special Nat Handling
6.8.8 FTP Filter rules
6.9 IPFIREWALL (IPFW) Firewall
6.9.1 Enabling IPFW
6.9.2 Kernel Options
6.9.3 RC.CONF Options
6.9.4 IPFW Command
6.9.4 IPFW Rule Sets
6.9.5 Rule Syntax
6.9.6 Stateful Rule Option
6.9.7 Logging Firewall Messages
6.9.8 Building Rule Script
6.9.9 Stateful Rule Set
6.9.10 Example Inclusive Rule Set
6.10 Stateful + NATD Rule Set
6.11 OpenBSD's Packet Filter Firewall
6.11.1 Enabling PF
6.11.2 Kernel Options
6.11.3 RC.CONF Statements
6.11.4 PFCTL Command
6.11.5 PF Rule Sets
6.11.6 Rule Syntax
6.11.7 Stateful Filtering
6.11.8 Nat Explanation
6.11.9 Logging
6.12 Inclusive Rule set Example
6.13 Defending Against Attacks
6.13.1 Know Who Your Attacker is
6.13.2 Stopping Login Attacks
6.13.3 Stopping Web Server Attacks
6.14 Example SSH setup
6.14.1 Example Environment Description
6.14.2 Host Setup
6.14.3 FBSD-client Setup
6.14.4 Using Midnight Commander for SFTP
6.14.5 Win-client Setup
6.14.6 Putty Setup
6.14.7 WinSC3 Setup
6.14.8 Fraudulent SSH Login Attempts
Local Area Network
7.0 Setting up Local Area Network (LAN)
7.1 Home User LANs
7.2 Topography of a LAN
7.3 Installing the LAN
7.4 LAN private IP address
7.5 Manually Configuring the Gateway
7.6 Manually configuring FBSD LAN PCs
7.7 Manually configuring MS/Windows LAN PCs
DHCP Server
8.0 DHCP (Dynamic Host Configuration Protocol)
8.1 What function does DHCP perform?
8.2 DHCP Server
8.3 How DHCP Works
8.4 DHCP Configuration Instructions
8.5 Testing the DHCPD Daemon
8.6 FBSD as a DHCP Client
System Security
9.0 FBSD System Security
9.1 Network packet Security options
9.1.1 Sysctl.conf Security Knobs
9.1.2 Secure rc.conf
9.1.3 Secure Kernel Source
9.2 Security Paranoia
9.3 Highest Level of Security Paranoia
9.3.1 Jail facility
9.3.2 rc.conf securelevel option
9.3.3 Encrypting Disk Partitions
FBSD Basics
10.0 FBSD Basics
10.1 Introduction to the manual documentation
10.2 Basic FBSD Commands you will need to know
10.3 Controlling what messages go to what syslog files
10.3.1 LOG rotation and archiving
10.4 Setting System Date and Time
10.5 Capturing screen content to file
10.6 Cron Scheduling Application & System Management Reports
10.7 Using the Floppy drive
10.7.1 To format a FBSD file system floppy disk
10.7.2 To create /a floppy mount point
10.7.3 To mount floppy drive
10.7.4 To test floppy drive
10.7.5 To remove floppy from drive
10.7.6 To mount MS/Windows formatted floppy disk
10.7.7 Easier way to mount MS/Windows floppies
10.7.8 To test auto floppy drive mount
10.8 Mounting Cdrom
10.9 User Account Admin
10.9.1 Configure the pw Command
10.9.2 Examples of pw command usage
10.9.3 pw command embedded in a script
10.9.4 passwd command
10.9.5 chpass command
10.9.6 Super User
10.10 Permissions
10.10.1 Managing Permissions
10.10 2 Change file permissions
10.10.3 Change file owner
10.10.4 Change file group
10.11 Managing your configuration changes
10.11.1 Personal Scripts
10.11.2 Script to Backup /custom to floppy
10.11.3 Script to Restore floppy to /custom
10.12 Burncd and .iso files
10.12.1 ISO FTP download script
10.12.2 Burncd command
10.13 Technical Support
10.14 Boot Time Splash Screen
10.14.1 Splash Screen Function
10.14.2 Enabling the Splash Screen Function
10.14.3 Sample Splash Screen
Email Services
11.0 Email Service
11.1 Commercial, non-Commercial sendmail Users
11.2 Configure Sendmail to send enail through your ISP
11.3 POP3 Email Server
11.4 Qpopper Application
11.4.1 Qpopper Installation Instructions
11.5 Configuring Microsoft Outlook for FBSD mail service
11.6 Fetchmail / Getting your ISP mail to FBSD
11.6.1 Fetchmail Installation Instructions
11.6.2 Testing Fetchmail
11.6.3 Boot Time Enable
11.8 Email Reading
11.8.1 Using the mail command
11.8.2 Checking your mail
11.8.3 Creating / sending your mail
11.8.4 Mbox File
11.8.5 Mail sub-commands
11.8.6 Replying to or creating new mail
11.9 Email Vacation Auto Responder
11.9.1 How vacation process works
11.9.2 .vacation msg file
11.9.3 .vacation.db File
11.9.4 .forward File
11.9.5 SYNTAX of the command
11.9.6 Procedure to Activate
Ports & Packages
12.0 Ports & Packages
12.1 Determining what to install
12.2 Finding the Application Download Name
12.3 Package Benefits
12.4 Ports Benefits
12.5 Using the Package Collection
12.5.1 Alternate Access Method to package Collection
12.6 Using the Port Collection
12.6.1 Downloading make files for single port
12.6.2 Fetch Port Config Files Script
12.7 Ports/Package Install History Database Commands
12.8 Port Make Commands
Kernel Customizing
13.0 Kernel Customizing
13.1 Kernel Compile Steps
13.2 Managing Multiple Kernels
13.4 Replacing /kernel with saved /kernel
13.5 Fix System Boot problems
13.6 Single user mode
13.7 Forgot Root password
13.8 New Kernel won't boot
FTP & Telnet
14.0 FTP & Telnet
14.1 Inetd, FBSD's Super server
14.2 Configure Insecure FTP
14.3 Anonymous FTP Server
14.4 Quotas
14.5 Telnet
14.6 Secure FTP & Telnet
Masquerading as Commercial User
15.0 Masquerading as a Commercial User
15.2 Verifying ports 25 & 80 are open
15.3 Masquerading Using ZoneEdit
15.4 Configurating ZoneEdit
Articles
List of eBooks
The Roadmap for 5-STABLE
Table of Contents
Introduction and Background
Major issues
Requirements for 5-STABLE
Post RELENG_5 direction
Why you should use a BSD style license for your Open Source Project
Table of Contents
Introduction
Very Brief Open Source History
Unix from a BSD Licensing Perspective
The Current State of FreeBSD and BSD Licenses
The origins of the GPL
The origins of Linux and the LGPL
Open Source licenses and the Orphaning Problem
What a license cannot do
GPL Advantages and Disadvantages
BSD Advantages
Specific Recommendations for using a BSD license
Conclusion
Addenda
Building Products with FreeBSD
Table of Contents
Introduction
FreeBSD as a set of building blocks
Collaborating with FreeBSD
Conclusion
Bibliography
Argentina.com : A Case Study
Table of Contents
Overview
The Challenge
The FreeBSD solution
Results
Integration of Check Point VPN-1/Firewall-1 and FreeBSD IPsec
Table of Contents
Prerequisites
Firewall-1 Network Object Configuration
Firewall-1 VPN Rule Configuration
FreeBSD VPN Policy Configuration
FreeBSD Racoon Configuration
Starting the VPN
References
Committer's Guide
Table of Contents
Administrative Details
Commit Bit Types
CVS Operations
Conventions and Traditions
Preferred License for New Files
Developer Relations
GNATS
Who's Who
SSH Quick-Start Guide
The FreeBSD Committers' Big List of Rules
Support for Multiple Architectures
Ports Specific FAQ
Perks of the Job
Miscellaneous Questions
Console Server Tutorial
Table of Contents
The Problem
Possible Solutions
Our Solution
Setting Up The Server
Cabling
On Sun Systems And Break
Using a Serial Console on FreeBSD
Security Implications
On Conserver Versions
Links
Manual Pages
Contributing to FreeBSD
Table of Contents
What Is Needed
How to Contribute
Contributing to the FreeBSD Ports Collection
Table of Contents
Introduction
What you can do to help
Creating a new port
Adopting an unmaintained port
The challenge for port maintainers
Finding and fixing a broken port
When to call it quits
Resources for ports maintainers and contributors
Contributors to FreeBSD
Table of Contents
Donors Gallery
The FreeBSD Core Team
Other FreeBSD Teams
Miscellaneous Hats
FreeBSD Release Engineering Teams
The FreeBSD Developers
The FreeBSD Documentation Project
Who is Responsible for What
Core Team Alumni
Development Team Alumni
Derived Software Contributors
Additional FreeBSD Contributors
386BSD Patch Kit Patch Contributors
Setting up a CVS repository - the FreeBSD way
Introduction
First setup
FreeBSD specific setup
CVSup Advanced Points
Table of Contents
Preface
Introduction
A useful python script: cvsupchk
Examples of more advanced source management
Dialup firewalling with FreeBSD
Table of Contents
Preface
Kernel Options
Changing /etc/rc.conf to load the firewall
Enable PPP's network address translation
The rule set for the firewall
Questions
Diskless X Server: a how to guide
Table of Contents
Creating the boot floppy (On the diskless system)
Getting the network boot programs (On the server)
Determine which program to run (On the diskless system)
Booting across the network
Allowing systems to boot across the network (On the server)
The Euro symbol on FreeBSD
The Euro in a nutshell
A general remark
The console
Modifying X11
Open problems
Explaining BSD
What is BSD?
What, a real UNIX?
Why is BSD not better known?
Comparing BSD and Linux
FreeBSD From Scratch
Introduction
Why would I (not) want FreeBSD From Scratch?
Prerequisites
Stage One: System Installation
Stage Two: Ports Installation
Stage Three
Limitations
The Files
Filtering Bridges
Why use a filtering bridge?
How to Install
Final Preparation
Enabling the Bridge
Configuring The Firewall
Contributors
Fonts and FreeBSD
Introduction
Basic terminology
What font formats can I use?
Setting a virtual console to 80x60 line mode
Using type 1 fonts with X11
Using type 1 fonts with Ghostscript
Using type 1 fonts with Groff
Converting TrueType fonts to a groff/postscript format for groff
Can TrueType fonts be used with other programs?
Where can additional fonts be obtained?
Additional questions
Formatting Media For Use With FreeBSD
Introduction & Definitions
Formatting Disks in Dedicated Mode
Making Compatibility Mode Disks
Other Disk Operations
Credits
How to get best results from the FreeBSD-questions mailing list
Introduction
How to subscribe to FreeBSD-questions
How to unsubscribe from FreeBSD-questions
Should I ask -questions or -hackers?
Before submitting a question
How to submit a question
How to follow up to a question
How to answer a question
Working with Hats
Working with Hats
Mirroring FreeBSD
Contact Information
Requirements for FreeBSD mirrors
How to mirror FreeBSD
Where to mirror from
Official Mirrors
Some statistics from mirror sites
Independent Verification of IPsec Functionality in FreeBSD
The Problem
The Solution
The Experiment
Caveat
IPsec---Definition
Installing IPsec
src/sys/i386/conf/KERNELNAME
Maurer's Universal Statistical Test (for block size=8 bits)
Java and Jakarta Tomcat on FreeBSD
Introduction
The Java- Environment
Jakarta Tomcat Setup
Reference
FreeBSD on Laptops
Xorg
XFree86O
Modems
PCMCIA (PC Card) devices
Power management
FreeBSD: An Open Source Alternative to Linux
Table of Contents
Introduction
FreeBSD Features
Security
Support
Advantages to Choosing FreeBSD
Conclusion
Addenda
Frequently Asked Questions About The FreeBSD Mailing Lists
Introduction
Mailing List Etiquette
Recurring Topics On The Mailing Lists
What Is A 'Bikeshed'?
Acknowledgments
An MH Primer
Introduction
Reading Mail
Folders and Mail Searching
Sending Mail
Installing and Using FreeBSD With Other Operating Systems
Overview
Overview of Boot Managers
A Typical Installation
Special Considerations
Examples
Other Sources of Help
Technical Details
Introduction to NanoBSD
Table of Contents
Introduction to NanoBSD
NanoBSD Howto
For People New to Both FreeBSD and Unix
Logging in and Getting Out
Adding A User with Root Privileges
Looking Around
Getting Help and Information
Editing Text
Printing Files from DOS
Other Useful Commands
Next Steps
Your Working Environment
Other
Comments Welcome
Perforce in FreeBSD Development
Table of Contents
Introduction
Getting Started
Clients
Syncing
Branches
Integrations
Submit
Editing
Changes, Descriptions, and History
Diffs
Adding and Removing Files
Working with diffs
Renaming files
Interactions between FreeBSD CVS and Perforce
Offline Operation
Notes for Google Summer of Code
Pluggable Authentication Modules
Table of Contents
Introduction
Terms and conventions
PAM Essentials
PAM Configuration
FreeBSD PAM Modules
PAM Application Programming
PAM Module Programming
A. Sample PAM Application
B. Sample PAM Module
C. Sample PAM Conversation Function
Further Reading
Package Building Procedures
Copyright
Table of Contents
Introduction and Conventions
Build Client Management
Chroot Build Environment Setup
Starting the Build
Anatomy of a Build
Interrupting a Build
Monitoring the Build
Release Builds
Uploading Packages
Experimental Patches Builds
Problem Report Handling Guidelines
Table of Contents
Introduction
Problem Report Life-cycle
Problem Report State
Types of Problem Reports
Further Reading
Writing FreeBSD Problem Reports
Table of Contents
Introduction
When to submit a problem report
Preparations
Writing the problem report
Follow-up
If you are having problems
Further Reading
FreeBSD Jumpstart Guide
Introduction
Server Configuration
Bootstrap Setup
Install Setup
Custom Post-Install Package
Practical rc.d scripting in BSD
Table of Contents
Introduction
Outlining the task
A dummy script
A configurable dummy script
Startup and shutdown of a simple daemon
Startup and shutdown of an advanced daemon
Connecting a script to the rc.d framework
Further reading
Using Greylist with FreeBSD
Basic Configuration
FreeBSD Release Engineering
Table of Contents
Introduction
Release Process
Release Building
Distribution
Extensibility
Lessons Learned from FreeBSD 4.4
Future Directions
Acknowledgements
References
FreeBSD Release Engineering for Third Party Software Packages
Building packages from the Ports Collection
The Package Split
Serial and UART Tutorial
The UART: What it is and how it works
Configuring the sio driver
Configuring the cy driver
Configuring the si driver
FreeBSD and Solid State Devices
Table of Contents
Solid State Disk Devices
Kernel Options
rc.diskless and Read-Only Filesystems
Building a File System From Scratch
Building a kern.flp Installation Floppy with the fla Driver
System Strategies for Small and Read Only Environments
Storage Devices
Using ESDI hard disks
What is SCSI?
* Disk/tape controllers
Hard drives
Tape drives
CDROM drives
Choosing the FreeBSD Version That Is Right For You
Table of Contents
Background
Release Scheduling In The Past
Release Scheduling Goals Going Forward
How Do These Factors Affect My Decision?
Conclusion
Bootstrapping Vinum: A Foundation for Reliable Servers
Introduction
Bootstrapping Phases
Where to Go from Here?
Failure Scenarios
bootvinum Perl Script
Manual Vinum Bootstrapping
Acknowledgements
Design elements of the FreeBSD VM system
Introduction
VM Objects
SWAP Layers
When to free a page
Pre-Faulting and Zeroing Optimizations
Page Table Optimizations
Page Coloring
Conclusion
Bonus QA session by Allen Briggs briggs@ninthwonder.com
ZIP Drives
ZIP Drive Basics
Parallel ZIP: The vpo Driver
Mounting ZIP disks
Writing a GEOM Class
Table of Contents
Introduction
Preliminaries
On FreeBSD kernel programming
On GEOM programming
Creating a Software Testing Environment Using FreeBSD
Table of Contents
Overview
The Challenge
The FreeBSD Solution
Conclusion
FreeBSD Releases
FreeBSD 7.1-RELEASE Release Notes
Introduction
What's New
Security Advisories
Kernel Changes
Boot Loader Changes
Hardware Support
Network Protocols
Disks and Storage
File Systems
Userland Changes
/etc/rc.d Scripts
Contributed Software
Release Engineering and Integration
Upgrading from previous releases of FreeBSD
FreeBSD 7.1-RELEASE Hardware Notes
Introduction
Supported Processors and System Boards
amd64
i386
ia64
pc98
powerpc
sparc64
Supported Devices
Disk Controllers
Ethernet Interfaces
Token Ring Interfaces
FDDI Interfaces
ATM Interfaces
Wireless Network Interfaces
Miscellaneous Networks
ISDN Interfaces
Serial Interfaces
Sound Devices
Camera and Video Capture Devices
USB Devices
IEEE 1394 (Firewire) Devices
Bluetooth Devices
Cryptographic Accelerators
Miscellaneous
FreeBSD 7.1-RELEASE Errata
Linux Documentation
Guides
List of eBooks
Advanced Bash-Scripting Guide
Table of Contents
Introduction
Why Shell Programming?
Starting Off With a Sha-Bang
Basics
Special Characters
Introduction to Variables and Parameters
Quoting
Exit and Exit Status
Tests
Operations and Related Topics
Beyond the Basics
Variables Revisited
Loops and Branches
Command Substitution
Arithmetic Expansion
Recess Time
Commands
Internal Commands and Builtins
External Filters, Programs and Commands
System and Administrative Commands
Advanced Topics
Regular Expressions
Here Documents
I/O Redirection
Subshells
Restricted Shells
Process Substitution
Functions
Aliases
List Constructs
Arrays
/dev and /proc
Of Zeros and Nulls
Debugging
Options
Gotchas
Scripting With Style
Miscellany
Bash, versions 2 and 3
Endnotes
Author's Note
About the Author
Where to Go For Help
Tools Used to Produce This Book
Credits
Disclaimer
Bibliography
A. Contributed Scripts
B. Reference Cards
C. A Sed and Awk Micro-Primer
Sed
Awk
D. Exit Codes With Special Meanings
E. A Detailed Introduction to I/O and I/O Redirection
F. Command-Line Options
Standard Command-Line Options
Bash Command-Line Options
G. Important Files
H. Important System Directories
I. Localization
J. History Commands
K. A Sample .bashrc File
L. Converting DOS Batch Files to Shell Scripts
M Exercises
Analyzing Scripts
Writing Scripts
N. Revision History
O. Download and Mirror Sites
P. To Do List
Q. Copyright
R. ASCII Table
Index
Bash Guide for Beginners
Table of Contents
Introduction
Why this guide?
Who should read this book?
New versions, translations and availability
Revision History
Contributions
Feedback
Copyright information
What do you need?
Conventions used in this document
Organization of this document
Bash and Bash scripts
Common shell programs
Advantages of the Bourne Again SHell
Executing commands
Building blocks
Developing good scripts
Summary
Exercises
Writing and debugging scripts
Creating and running a script
Script basics
Debugging Bash scripts
Summary
Exercises
The Bash environment
Shell initialization files
Variables
Quoting characters
Shell expansion
Aliases
More Bash options
Summary
Exercises
Regular expressions
Regular expressions
Examples using grep
Pattern matching using Bash features
Summary
Exercises
The GNU sed stream editor
Introduction
Interactive editing
Non-interactive editing
Summary
Exercises
The GNU awk programming language
Getting started with gawk
The print program
Gawk variables
Summary
Exercises
Conditional statements
Introduction to if
More advanced if usage
Using case statements
Summary
Exercises
Writing interactive scripts
Displaying user messages
Catching user input
Summary
Exercises
Repetitive tasks
The for loop
The while loop
The until loop
I/O redirection and loops
Break and continue
Making menus with the select built-in
The shift built-in
Summary
Exercises
More on variables
Types of variables
Array variables
Operations on variables
Summary
Exercises
Functions
Introduction
Examples of functions in scripts
Summary
Exercises
Catching signals
Signals
Traps
Summary
Exercises
A. Shell Features
Common features
Differing features
Glossary
Index
Custom Linux: A Porting Guide
Table of Contents
Introduction
Who needs to read this ?
What do I need to know (why so much) ?
The tools
The hardware
Copyright & License
Bootcamp: How To Begin ?
Creating a development environment
Compiling the first kernel
Booting the machine
Booting In The Dark
Debugging with print_str()
Modifying code using compiler flags
Getting the console to work
Linux Still Isn't Booting
Memory probing, RTC and decrementors
Big-little endian (we should have known)
Ethernet: our first PCI device
Some Miscellaneous Issues
Linux Is Booting ... What Now ?
The 64 bit barrier
Booting from flash
Appendix A. GNU Free Documentation License
PREAMBLE
APPLICABILITY AND DEFINITIONS
VERBATIM COPYING
COPYING IN QUANTITY
MODIFICATIONS
COMBINING DOCUMENTS
COLLECTIONS OF DOCUMENTS
AGGREGATION WITH INDEPENDENT WORKS
TRANSLATION
TERMINATION
FUTURE REVISIONS OF THIS LICENSE
How to use this License for your documents
Appendix B. Trademarks
Emacspeak User's Guide
Table of Contents
Legal Notice
Introduction
What is Emacspeak?
About this tutorial
Before you begin
Getting started with Emacs and Emacspeak
Emacs Command Conventions
Getting Help
System Administration
Changing your password
Installing applications
Working with files
Downloading files
Finding a file
FTPing a file
Manipulating files
Working online
Browsing the Internet
Chatting online
Using e-mail
Productivity
Coding in Emacs
Customizing Emacspeak
Reading Adobe Acrobat files
Scheduling appointments and calendar events
Writing text in Emacs
Entertainment
Burning a CD
Playing CDs
Playing mp3s
Playing games
Acknowledgments
Wish list for version 2.0
EVMS User Guide
Table of Contents
Copyright information
Preface
What is EVMS?
Why choose EVMS?
The EVMS user interfaces
EVMS terminology
What makes EVMS so flexible?
Plug-in layer definitions
Using the EVMS interfaces
EVMS GUI
EVMS Ncurses interface
EVMS Command Line Interpreter
The EVMS log file and error data collection
About the EVMS log file
Log file logging levels
Specifying the logging levels
Viewing compatibility volumes after migrating
Using the EVMS GUI
Using Ncurses
Using the CLI
Obtaining interface display details
Using the EVMS GUI
Using Ncurses
Using the CLI
Adding and removing a segment manager
When to add a segment manager
Types of segment managers
Adding a segment manager to an existing disk
Adding a segment manager to a new disk
Example: add a segment manager
Removing a segment manager
Example: remove a segment manager
Creating segments
When to create a segment
Example: create a segment
Creating a container
When to create a container
Example: create a container
Creating regions
When to create regions
Example: create a region
Creating drive links
What is drive linking?
How drive linking is implemented
Creating a drive link
Example: create a drive link
Expanding a drive link
Shrinking a drive link
Deleting a drive link
Creating snapshots
What is a snapshot?
Creating snapshot objects
Example: create a snapshot
Reinitializing a snapshot
Expanding a snapshot
Deleting a snapshot
Rolling back a snapshot
Creating volumes
When to create a volume
Example: create an EVMS native volume
Example: create a compatibility volume
FSIMs and file system operations
The FSIMs supported by EVMS
Example: add a file system to a volume
Example: check a file system
Clustering operations
Rules and restrictions for creating cluster containers
Example: create a private cluster container
Example: create a shared cluster container
Example: convert a private container to a shared container
Example: convert a shared container to a private container
Example: deport a private or shared container
Deleting a cluster container
Failover and Failback of a private container on Linux-HA
Remote configuration management
Forcing a cluster container to be active
Converting volumes
When to convert volumes
Example: convert compatibility volumes to EVMS volumes
Example: convert EVMS volumes to compatibility volumes
Expanding and shrinking volumes
Why expand and shrink volumes?
Example: shrink a volume
Example: expand a volume
Adding features to an existing volume
Why add features to a volume?
Example: add drive linking to an existing volume
Selectively activating volumes and objects
Initial activation using /etc/evms.conf
Activating and deactivating volumes and objects
Mounting and unmounting volumes from within EVMS
Mounting a volume
Unmounting a volume
The SWAPFS file system
Plug-in operations tasks
What are plug-in tasks?
Example: complete a plug-in operations task
Deleting objects
How to delete objects: delete and delete recursive
Example: perform a delete recursive operation
Replacing objects
What is object-replace?
Replacing a drive-link child object
Moving segment storage objects
What is segment moving?
Why move a segment?
Which segment manager plug-ins implement the move function?
Example: move a DOS segment
Appendix A. The DOS plug-in
How the DOS plug-in is implemented
Assigning the DOS plug-in
Creating DOS partitions
Expanding DOS partitions
Shrinking DOS partitions
Deleting partitions
Appendix B. The MD region manager
Characteristics of Linux RAID levels
Creating an MD region
Active and spare objects
Faulty objects
Resizing MD regions
Replacing objects
Appendix C. The LVM plug-in
How LVM is implemented
Container operations
Region operations
Appendix D. The LVM2 plug-in
Container operations
Region operations
Appendix E. The CSM plug-in
Assigning the CSM plug-in
Unassigning the CSM plug-in
Deleting a CSM container
Appendix F. JFS file system interface module
Creating JFS file systems
Checking JFS file systems
Removing JFS file systems
Expanding JFS file systems
Shrinking JFS file systems
Appendix G. XFS file system interface module
Creating XFS file systems
Checking XFS file systems
Removing XFS file systems
Expanding XFS file systems
Shrinking XFS file systems
Appendix H. ReiserFS file system interface module
Creating ReiserFS file systems
Checking ReiserFS file systems
Removing ReiserFS file systems
Expanding ReiserFS file systems
Shrinking ReiserFS file systems
Appendix I. Ext-2/3 file system interface module
Creating Ext-2/3 file systems
Checking Ext-2/3 file systems
Removing Ext-2/3 file systems
Expanding and shrinking Ext-2/3 file systems
Appendix J. OpenGFS file system interface module
Creating OpenGFS file systems
Checking OpenGFS file systems
Removing OpenGFS file systems
Expanding and shrinking OpenGFS file systems
Appendix K. NTFS file system interface module
Creating NTFS file systems
Fixing NTFS file systems
Cloning NTFS file systems
Removing NTFS file systems
Expanding and shrinking NTFS file systems
GNU/Linux Command-Line Tools Summary
Table of Contents
Introduction
Who would want to read this guide?
Who would not want to read this guide?
Availability of sources
Conventions used in this guide
Resources used to create this document
Feedback
Contributors
Legal
Disclaimer
License
The Unix Tools Philosophy
Shell Tips
General Shell Tips
The command-line history
Other Key combinations
Virtual Terminals and screen
Help
Directing Input/Output
Concept Definitions
Usage
Command Substitution
Performing more than one command
Working with the file-system
Moving around the filesystem
Working with files and folders
Mass Rename/copy/link Tools
Finding information about the system
Date/Time/Calendars
Finding information about partitions
Controlling the system
Mounting and Unmounting (Floppy/CDROM/Hard-drive Partitions)
Shutting Down/Rebooting the System
Controlling Processes
Controlling services
Managing users
Users/Groups
Text Related Tools
Text Editors
Text Viewing Tools
Text Information Tools
Text manipulation tools
Text Conversion/Filter Tools
Finding Text Within Files
Mathematical tools
Network Commands
Network Configuration
Internet Specific Commands
Remote Administration Related
Security
Some basic Security Tools
File Permissions
Archiving Files
tar (tape archiver)
rsync
Compression
Graphics tools (command line based)
Working with MS-DOS files
Scheduling Commands to run in the background
Miscellaneous
Mini-Guides
RPM: Redhat Package Management System
Checking the Hard Disk for errors
Duplicating disks
Wildcards
Appendix A.
Finding Packages/Tools
Further Reading
GNU Free Documentation License
Bibliography
Index
Guide to Managing Media and Public Relations in the Linux Community
Table of Contents
Legal Notice
Introduction
Who Should Be Reading This Guide?
What is Public Relations?
How Public Relations Differs from Advertising
What Public Relations Can Do
The Benefits of a Public and Media Relations Program
Public and Media Relations Planning
What Do You Want to Accomplish?
Who Needs to Know About Your Organization?
What Do You Want to Say?
What Kind of Information is Newsworthy?
Contacting the News Media
Creating a Media Contact Database
Maintaining Your Database
Contacting the Editors
Making the Pitch
Pitching for Different Media
Working with the Media
Duties of an Editor
Targeting Other Medias
'Selling' Your Story to the Media
Do's and Don'ts When Dealing with the News Media
Monitoring Media Coverage
News Releases - the Major Communications Tool
Writing News Releases
What Makes a News Release Good (or Bad)
Top Ten Tips for Writing Releases
Distributing the News Release
Other Public Relations Tools
Feature Articles
Bylined Articles
Email Writing
Miscellaneous Communications Tools
Don't Forget Emphasizing Core Messages
Working the Trade Show
Arranging Speaking Opportunities
Getting Media Attention at Trade Shows
Planning for a Trade Show
Quick Tips for Maximizing Coverage
How to Maximize Media Coverage
Appendix A. Monitoring Media Coverage
Media Monitor Services and Clipping Services
Introduction to Linux
Table of Contents
Introduction
Why this guide?
Who should read this book?
New versions and availability
Revision History
Contributions
Feedback
Copyright information
What do you need?
Conventions used in this document
Organization of this document
What is Linux?
History
The user interface
Does Linux have a future?
Properties of Linux
Linux Flavors
Summary
Exercises
Quickstart
Logging in, activating the user interface and logging out
Absolute basics
Getting help
Summary
Exercises
About files and the file system
General overview of the Linux file system
Orientation in the file system
Manipulating files
File security
Summary
Exercises
Processes
Processes inside out
Boot process, Init and shutdown
Managing processes
Scheduling processes
Summary
Exercises
I/O redirection
Simple redirections
Advanced redirection features
Filters
Summary
Exercises
Text editors
Text editors
Using the Vim editor
Linux in the office
Summary
Exercises
Home sweet /home
General good housekeeping
Your text environment
The graphical environment
Region specific settings
Installing new software
Summary
Exercises
Printers and printing
Printing files
The server side
Print problems
Summary
Exercises
Fundamental Backup Techniques
Introduction
Moving your data to a backup device
Using rsync
Encryption
Summary
Exercises
Networking
Networking Overview
Network configuration and information
Internet/Intranet applications
Remote execution of applications
Security
Summary
Exercises
Sound and Video
Audio Basics
Sound and video playing
Video playing, streams and television watching
Internet Telephony
Summary
Exercises
A. Where to go from here?
Useful Books
Useful sites
B. DOS versus Linux commands
C. Shell Features
Common features
Differing features
Glossary
Index
LDP Author Guide
Table of Contents
About this Guide
About this Guide
About The LDP
Feedback
Copyrights and Trademarks
Acknowledgments and Thanks
Document Conventions
Authoring TLDP Documents: An Introduction
Summary of The LDP Process
Mailing Lists
Writing Your Proposal
Choosing a Subject
Scope of Your Document
Unmaintained and Out-of-date Documents
Developing an Outline
Research
Write
Writing the Text
Edit and Proofread the Text
Tools for Writing, Editing and Maintaining your Document
Markup
Markup: A General Overview
DocBook: What it is and why we use it
XML and SGML: Why we use XML
Markup Languages Accepted by TLDP
Distributing Your Documentation
Before Distributing Your Documentation
Licensing and Copyright
Acknowledgments
TLDP Review Process
Submission to LDP for publication
Maintaining Your HOWTO
Fixing Errors
References
A. Templates
Book Templates
Style Sheets
GNU Free Documentation License
B. System Setup: Editors, Validation and Transformations
Tools for your operating system
Editing tools
Validation
Transformations
DocBook DTD
Formatting Documents
C. Concurrent Version System (CVS)
Getting a CVS account
Using CVS
CVS Resources
D. DocBook: Sample Markup
General Tips and Tricks
<section> and <sectN>: what's the difference?
Command Prompts
Encoding Indexes
Inserting Pictures
Markup for Metadata
Bibliographies
Entities (shortcuts, text macros and re-usable text)
Customizing your HTML files
E. Converting Documents to DocBook XML
Text to DocBook
OpenOffice.org to DocBook
Microsoft Word to DocBook
LyX to DocBook
DocBook to DocBook Transformations
Glossary
F. GNU Free Documentation License
0. PREAMBLE
1. APPLICABILITY AND DEFINITIONS
2. VERBATIM COPYING
3. COPYING IN QUANTITY
4. MODIFICATIONS
5. COMBINING DOCUMENTS
6. COLLECTIONS OF DOCUMENTS
7. AGGREGATION WITH INDEPENDENT WORKS
8. TRANSLATION
9. TERMINATION
10. FUTURE REVISIONS OF THIS LICENSE
Addendum
Linux Administration Made Easy
Table of Contents
Preface
Table of Contents
Acknowledgements
Copyright Information and Legal Disclaimers
A Plea for Help
Introduction
Table of Contents
Scope
Choosing a Linux Distribution
Linux Overview
Table of Contents
What is Linux?
Breaking the Myths
One User's Perspective
Installation and Hardware Configuration
Table of Contents
Creating an Installation Diskette
Booting Linux Installation Program
Partitioning Hard Drive(s)
Setting up Swap Space
Choosing Partitions to Format
Choosing Desired Packages to Install
Hardware Configuration
Booting with LILO
Multi-boot with Other Operating Systems
Downloading and Installing Red Hat Updates
Configuring the X Window System
Table of Contents
Getting the X Window System Working with X-Configurator
Using the X Desktop Manager
Improving Font Appearance Under X
Choosing a Window Manager for X
GNOME Installation and Configuration
KDE Installation and Configuration
General System Administration Issues
Table of Contents
Root Account
Creating User Accounts
Changing User Passwords
Disabling User Accounts
Removing User Accounts
Linux Password & Shadow File Formats
System Shutdown and Restart
Custom Configuration and Administration Issues
Table of Contents
Web Server and HTTP Caching Proxy Administration
Domain Name Server (DNS) Configuration and Administration
Internet User Authentication with TACACS
Windows-style File and Print Services with Samba
Macintosh-style File and Print Services with Netatalk
Network File System (NFS) Services
Configuration from A-Z with Linuxconf
Backup and Restore Procedures
Table of Contents
Server Backup Procedures
Backing up with "tar''
Backing up with "KDat''
Server Restore Procedures
Restoring with "tar''
Restoring with "KDat''
Cisco Router Configuration Backups
Various & Sundry Administrative Tasks
Table of Contents
Checking Storage Space
Managing Processes
Starting and Stopping Processes
Automating Tasks with Cron and Crontab files
Upgrading Linux and Other Applications
Table of Contents
Using the Red Hat Package Manager (RPM)
Installing or Upgrading Without RPM
Strategies for Keeping an Up-to-date System
Linux Kernel Upgrades
Upgrading a Red Hat Stock Kernel
Building a Custom Kernel
Moving to the Linux 2.2.x Kernels
Configuring the Apache Web Server
Configuring the Squid HTTP Caching Proxy Daemon
Configuring the Sendmail E-mail Daemon
Enterprise Computing with Linux
Table of Contents
Performance Tuning
High Availability with RAID
Server Migration and Scalability Issues
Strategies for Keeping a Secure Server
Help! Trouble in Paradise!
Table of Contents
Getting Linux Installed on new, Unsupported Hardware
File System Corruption after Power Outage or System Crash
Where to Turn for Help
Pointers to Additional Documentation
Linux Dictionary
Table of Contents
Copyright information
Source and pre-formatted versions available
Linux Dictionary
Punctuation
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
Appendix A. About the Author
Appendix B. Contributors
Appendix C. Disclaimer
Appendix D. Donations
Appendix E. Feedback
Appendix F. References
Appendix G. GNU Free Documentation License
PREAMBLE
APPLICABILITY AND DEFINITIONS
VERBATIM COPYING
COPYING IN QUANTITY
MODIFICATIONS
COMBINING DOCUMENTS
COLLECTIONS OF DOCUMENTS
AGGREGATION WITH INDEPENDENT WORKS
TRANSLATION
TERMINATION
FUTURE REVISIONS OF THIS LICENSE
ADDENDUM: How to use this License for your documents
Linux Filesystem Hierarchy
Table of Contents
Copyright information
Source and pre-formatted versions available
Linux Filesystem Hierarchy
Foreward
The Root Directory
/bin
/boot
/dev
/etc
/home
/initrd
/lib
/lost+found
/media
/mnt
/opt
/proc
/root
/sbin
/usr
/var
/srv
/tmp
Glossary
Appendix A. UNIX System V Signals
Appendix B. Sources
Appendix C. About the Author
Appendix D. Contributors
Appendix E. Disclaimer
Appendix F. Donations
Appendix G. Feedback
Appendix H. GNU Free Documentation License
PREAMBLE
APPLICABILITY AND DEFINITIONS
VERBATIM COPYING
COPYING IN QUANTITY
MODIFICATIONS
COMBINING DOCUMENTS
COLLECTIONS OF DOCUMENTS
AGGREGATION WITH INDEPENDENT WORKS
TRANSLATION
TERMINATION
FUTURE REVISIONS OF THIS LICENSE
ADDENDUM: How to use this License for your documents
Linux From Scratch
Table of Contents
Copyright information
Preface
Table of Contents
Foreword
Audience
Who would want to read this book
Who would not want to read this book
Prerequisites
Structure
Part I - Introduction
Part II - Preparing for the build
Part III - Building the LFS system
Part IV - Appendices
Part I - Introduction
Table of Contents
Introduction
Table of Contents
How things are going to be done
Conventions used in this book
Book version
Changelog
Resources
FAQ
IRC
Mailing lists
News server
Mirror sites
Contact information
Acknowledgments
Current Project Team Members
Translators
Mirror Maintainers
Donators
Former Team Members and Contributors
Important information
Table of Contents
About $LFS
About SBUs
About the test suites
How to ask for help
Things to mention
Configure problems
Compile problems
Test suite problems
Part II - Installing the LFS system
Table of Contents
Preparing a new partition
Table of Contents
Introduction
Creating a new partition
Creating a file system on the new partition
Mounting the new partition
The materials: packages and patches
Table of Contents
Introduction
All the packages
Needed patches
Constructing a temporary system
Table of Contents
Introduction
Toolchain technical notes
Creating the $LFS/static directory
Adding the user lfs
Setting up the environment
Installing Binutils-2.14 - Pass 1
Contents of Binutils
Binutils Installation Dependencies
Installation of Binutils
Installing GCC-3.3.1 - Pass 1
Contents of GCC
GCC Installation Dependencies
Installation of GCC
Installing Linux-2.4.22 headers
Contents of Linux
Linux Installation Dependencies
Installation of the kernel headers
Installing Glibc-2.3.2
Contents of Glibc
Glibc Installation Dependencies
Glibc installation
"Locking in" Glibc
Installing Tcl-8.4.4
Contents of Tcl
Tcl Installation Dependencies
Installation of Tcl
Installing Expect-5.39.0
Contents of Expect
Expect Installation Dependencies
Installation of Expect
Installing DejaGnu-1.4.3
Contents of DejaGnu
DejaGnu Installation Dependencies
Installation of DejaGnu
Installing GCC-3.3.1 - Pass 2
Re-installation of GCC
Installing Binutils-2.14 - Pass 2
Re-installation of Binutils
Installing Gawk-3.1.3
Contents of Gawk
Gawk Installation Dependencies
Installation of Gawk
Installing Coreutils-5.0
Contents of Coreutils
Coreutils Installation Dependencies
Installation of Coreutils
Installing Bzip2-1.0.2
Contents of Bzip2
Bzip2 Installation Dependencies
Installation of Bzip2
Installing Gzip-1.3.5
Contents of Gzip
Gzip Installation Dependencies
Installation of Gzip
Installing Diffutils-2.8.1
Contents of Diffutils
Diffutils Installation Dependencies
Installation of Diffutils
Installing Findutils-4.1.20
Contents of Findutils
Findutils Installation Dependencies
Installing Findutils
Installing Make-3.80
Contents of Make
Make Installation Dependencies
Installation of Make
Installing Grep-2.5.1
Contents of Grep
Grep Installation Dependencies
Installation of Grep
Installing Sed-4.0.7
Contents of Sed
Sed Installation Dependencies
Installation of Sed
Installing Gettext-0.12.1
Contents of Gettext
Gettext Installation Dependencies
Installation of Gettext
Installing Ncurses-5.3
Contents of Ncurses
Ncurses Installation Dependencies
Installation of Ncurses
Installing Patch-2.5.4
Contents of Patch
Patch Installation Dependencies
Installation of Patch
Installing Tar-1.13.25
Contents of Tar
Tar Installation Dependencies
Installation of Tar
Installing Texinfo-4.6
Contents of Texinfo
Texinfo Installation Dependencies
Installation of Texinfo
Installing Bash-2.05b
Contents of Bash
Bash Installation Dependencies
Installation of Bash
Installing Util-linux-2.12
Contents of Util-linux
Util-linux Installation Dependencies
Installation of Util-linux
Installing Perl-5.8.0
Contents of Perl
Perl Installation Dependencies
Installation of Perl
Stripping
Part III - Building the LFS system
Table of Contents
Installing basic system software
Table of Contents
Introduction
About debugging symbols
Entering the chroot environment
Changing ownership
Creating directories
Mounting the proc and devpts file systems
Creating essential symlinks
Creating the passwd and group files
Creating devices (Makedev-1.7)
Contents of MAKEDEV
MAKEDEV Installation Dependencies
Creating devices
Installing Linux-2.4.22 headers
Contents of Linux
Linux Installation Dependencies
Installation of the kernel headers
Why we copy the kernel headers and don't symlink them
Installing Man-pages-1.60
Contents of Man-pages
Man-pages Installation Dependencies
Installation of Man-pages
Installing Glibc-2.3.2
Contents of Glibc
Glibc Installation Dependencies
Glibc installation
Configuring Glibc
Configuring Dynamic Loader
Re-adjusting the toolchain
Installing Binutils-2.14
Contents of Binutils
Binutils Installation Dependencies
Installation of Binutils
Installing GCC-3.3.1
Contents of GCC
GCC Installation Dependencies
Installation of GCC
Installing Coreutils-5.0
Contents of Coreutils
Coreutils Installation Dependencies
Installation of Coreutils
Installing Zlib-1.1.4
Contents of Zlib
Zlib Installation Dependencies
Installation of Zlib
Installing Lfs-Utils-0.3
Contents of Lfs-Utils
Lfs-Utils Installation Dependencies
Installation of Lfs-Utils
Installing Findutils-4.1.20
Contents of Findutils
Findutils Installation Dependencies
Installing Findutils
Installing Gawk-3.1.3
Contents of Gawk
Gawk Installation Dependencies
Installation of Gawk
Installing Ncurses-5.3
Contents of Ncurses
Ncurses Installation Dependencies
Installation of Ncurses
Installing Vim-6.2
Alternatives to Vim
Contents of Vim
Vim Installation Dependencies
Installation of Vim
Configuring Vim
Installing M4-1.4
Contents of M4
M4 Installation Dependencies
Installation of M4
Installing Bison-1.875
Contents of Bison
Bison Installation Dependencies
Installation of Bison
Installing Less-381
Contents of Less
Less Installation Dependencies
Installation of Less
Installing Groff-1.19
Installing Sed-4.0.7
Installing Flex-2.5.4a
Installing Gettext-0.12.1
Installing Net-tools-1.60
Installing Inetutils-1.4.2
Installing Perl-5.8.0
Installing Texinfo-4.6
Installing Autoconf-2.57
Installing Automake-1.7.6
Installing Bash-2.05a
Installing File-4.04
Installing Libtool-1.5
Installing Bzip2-1.0.2
Installing Diffutils-2.8.1
Installing Ed-0.2
Installing Kbd-1.08
Installing E2fsprogs-1.34
Installing Grep-2.5.1
Installing Grub-0.93
Installing Gzip-1.3.5
Installing Man-1.5m2
Installing Make-3.80
Installing Modutils-2.4.25
Installing Patch-2.5.4
Installing Procinfo-18
Installing Procps-3.1.11
Installing Psmisc-21.3
Installing Shadow-4.0.3
Installing Sysklogd-1.4.1
Installing Sysvinit-2.85
Installing Tar-1.13.25
Installing Util-linux-2.12
Installing GCC-2.95.3
Revised chroot command
Installing LFS-Bootscripts-1.12
Configuring system components
Setting up system boot scripts
Table of Contents
Introduction
How does the booting process with these scripts work?
Configuring the setclock script
Do I need the loadkeys script?
Configuring the sysklogd script
Configuring the localnet script
Creating the /etc/hosts file
Configuring the network script
Configuring default gateway
Creating network interface configuration files
Making the LFS system bootable
Table of Contents
Introduction
Creating the /etc/fstab file
Installing Linux-2.4.22
Contents of Linux
Linux Installation Dependencies
Installation of the kernel
Making the LFS system bootable
The End
Table of Contents
The End
Get Counted
Rebooting the system
What now?
Part IV - Appendices
Table of Contents
Appendix A. Package descriptions and dependencies
Table of Contents
Introduction
Autoconf
Automake
Bash
Binutils
Bison
Bzip2
Coreutils
DejaGnu
Diffutils
E2fsprogs
Ed
Expect
File
Findutils
Flex
Gawk
GCC
Gettext
Glibc
Grep
Groff
Grub
Gzip
Inetutils
Kbd
Less
LFS-Bootscripts
Lfs-Utils
Libtool
Linux (the kernel)
M4
Make
MAKEDEV
Man
Man-pages
Modutils
Ncurses
Net-tools
Patch
Perl
Procinfo
Procps
Psmisc
Sed
Shadow
Sysklogd
Sysvinit
Tar
Tcl
Texinfo
Util-linux
Vim
Zlib
Appendix B. Index of programs and library files
Linux Kernel 2.4 Internals
Table of Contents
Booting
Building the Linux Kernel Image
Booting: Overview
Booting: BIOS POST
Booting: bootsector and setup
Using LILO as a bootloader
High level initialisation
SMP Bootup on x86
Freeing initialisation data and code
Processing kernel command line
Process and Interrupt Management
Task Structure and Process Table
Creation and termination of tasks and kernel threads
Linux Scheduler
Linux linked list implementation
Wait Queues
Kernel Timers
Bottom Halves
Task Queues
Tasklets
Softirqs
How System Calls Are Implemented on i386 Architecture?
Atomic Operations
Spinlocks, Read-write Spinlocks and Big-Reader Spinlocks
Semaphores and read/write Semaphores
Kernel Support for Loading Modules
Virtual Filesystem (VFS)
Inode Caches and Interaction with Dcache
Filesystem Registration/Unregistration
File Descriptor Management
File Structure Management
Superblock and Mountpoint Management
Example Virtual Filesystem: pipefs
Example Disk Filesystem: BFS
Execution Domains and Binary Formats
Linux Page Cache
IPC mechanisms
Semaphores
Message queues
Shared Memory
Linux IPC Primitives
Linux on the Road
Table of Contents
Legal Notice
Preface
About the Author
Sponsoring
About the Document
Contact
Disclaimer and Trademarks
Laptops and Notebooks
Which Laptop to Buy?
Laptop Distributions
Installation
Handheld Devices - Personal Digital Assistants (PDAs)
Palmtops, Personal Digital Assistants - PDAs, Handheld PCs - HPCs
History of Linux on PDAs
Linux PDAs
Non-Linux PDAs - Ports and Tools
Connectivity
Tablet PCs / Pen PCs
Tablet PCs / Pen PCs
Mobile (Cellular) Phones, Pagers, Calculators, Digital Cameras, Wearable Computing
Mobile (Cellular) Phones, Pagers
Calculators, Digital Cameras, Wearable Computing
Mobile Hardware in Detail
Hardware in Detail: CPU, Display, Keyboard, Sound and More
Accessories: PCMCIA, USB and Other External Extensions
Kernel
Kernel History
On the Road
Different Environments
Solutions with Mobile Computers
Appendix
Other Operating Systems
Other Resources
Repairing the Hardware
Survey about Micro Linuxes
Dealing with Limited Resources or Tuning the System
Ecology and Laptops
NeoMagic Graphics Chipset Series NM20xx
Annotated Bibliography: Books For Linux Nomads
Resources for Specific Laptop Brands
Credits
Copyrights
Pocket Linux Guide
Table of Contents
Legal Information
Copyright and License
Disclaimer
Introduction
About Pocket Linux
Prerequisite Skills
Project Format
Help & Support
Feedback
Project Initiation
A Brief History of GNU/Linux
The Goal of Pocket Linux
Working Within The Constraints
A Simple Prototype
Analysis
Design
Construction
Implementation
Saving Space
Analysis
Design
Construction
Implementation
Some Basic Utilities
Analysis
Design
Construction
Implementation
Checking and Mounting Disks
Analysis
Design
Construction
Implementation
Automating Startup & Shutdown
Analysis
Design
Construction
Implementation
Enabling Multiple Users
Analysis
Design
Construction
Implementation
Filling in the Gaps
Analysis
Design
Construction
Implementation
Project Wrap Up
Celebrating Accomplishments
Planning Next Steps
Appendix A. Hosting Applications
Analysis
Design
Construction
Implementation
Appendix B. GNU Free Documentation License
PREAMBLE
APPLICABILITY AND DEFINITIONS
VERBATIM COPYING
COPYING IN QUANTITY
MODIFICATIONS
COMBINING DOCUMENTS
COLLECTIONS OF DOCUMENTS
AGGREGATION WITH INDEPENDENT WORKS
TRANSLATION
TERMINATION
FUTURE REVISIONS OF THIS LICENSE
ADDENDUM: How to use this License for your documents
The Bugzilla Guide
Table of Contents
About This Guide
Table of Contents
Copyright Information
Disclaimer
New Versions
Credits
Document Conventions
Introduction
Table of Contents
What is Bugzilla?
Why Should We Use Bugzilla?
Using Bugzilla
Table of Contents
How do I use Bugzilla?
Create a Bugzilla Account
Anatomy of a Bug
Searching for Bugs
Bug Lists
Filing Bugs
Hints and Tips
Autolinkification
Quicksearch
Comments
Attachments
Filing Bugs
User Preferences
Account Settings
Email Settings
Page Footer
Permissions
Installation
Table of Contents
Step-by-step Install
Introduction
Package List
MySQL
Perl
Perl Modules
HTTP Server
Bugzilla
Setting Up the MySQL Database
checksetup.pl
Configuring Bugzilla
Optional Additional Configuration
Dependency Charts
Bug Graphs
The Whining Cron
LDAP Authentication
Preventing untrusted Bugzilla content from executing malicious Javascript code
htaccess files and security
mod_throttle and Security
Win32 Installation Notes
Win32 Installation: Step-by-step
Additional Windows Tips
Mac OS X Installation Notes
Troubleshooting
Bundle::Bugzilla makes me upgrade to Perl 5.6.1
DBD::Sponge::db prepare failed
cannot chdir(/var/spool/mqueue)
Your vendor has not defined Fcntl macro O_NOINHERIT
Administering Bugzilla
Table of Contents
Bugzilla Configuration
User Administration
Creating the Default User
Managing Other Users
Product, Component, Milestone, and Version Administration
Products
Components
Versions
Milestones
Voting
Groups and Group Security
Bugzilla Security
TCP/IP Ports
MySQL
Daemon Accounts
Web Server Access Controls
Template Customisation
What to Edit
How To Edit Templates
Template Formats
Particular Templates
Upgrading to New Releases
Integrating Bugzilla with Third-Party Tools
Bonsai
CVS
Perforce SCM
Tinderbox/Tinderbox2
Appendix A. The Bugzilla FAQ
Table of Contents
General Questions
Managerial Questions
Bugzilla Security
Bugzilla Email
Bugzilla Database
Bugzilla and Win32
Bugzilla Usage
Bugzilla Hacking
Appendix B. The Bugzilla Database
Table of Contents
Database Schema Chart
MySQL Bugzilla Database Introduction
Appendix C. Useful Patches and Utilities for Bugzilla
Table of Contents
Apache mod_rewrite magic
Command-line Bugzilla Queries
Appendix D. Bugzilla Variants and Competitors
Table of Contents
Red Hat Bugzilla
Loki Bugzilla (Fenris)
Issuezilla
Scarab
Perforce SCM
SourceForge
Appendix E. GNU Free Documentation License
Table of Contents
PREAMBLE
APPLICABILITY AND DEFINITIONS
VERBATIM COPYING
COPYING IN QUANTITY
MODIFICATIONS
COMBINING DOCUMENTS
COLLECTIONS OF DOCUMENTS
AGGREGATION WITH INDEPENDENT WORKS
TRANSLATION
TERMINATION
FUTURE REVISIONS OF THIS LICENSE
How to use this License for your documents
Glossary
Index
The Linux Kernel Module Programming Guide (for Linux kernel 2.4)
Table of Contents
Copyright information
Foreword
Authorship
Versioning and Notes
Acknowledgements
Introduction
What Is A Kernel Module?
How Do Modules Get Into The Kernel?
Hello World
Hello, World (part 1): The Simplest Module
Compiling Kernel Modules
Hello World (part 2)
Hello World (part 3): The __init and __exit Macros
Hello World (part 4): Licensing and Module Documentation
Passing Command Line Arguments to a Module
Modules Spanning Multiple Files
Building modules for a precompiled kernel
Preliminaries
Modules vs Programs
Character Device Files
Character Device Drivers
The /proc File System
The /proc File System
Using /proc For Input
Using /proc For Input
Talking To Device Files
Talking to Device Files (writes and IOCTLs)}
System Calls
System Calls
Blocking Processes
Blocking Processes
Replacing Printks
Replacing printk
Flashing keyboard LEDs
Scheduling Tasks
Scheduling Tasks
Interrupt Handlers
Interrupt Handlers
Symmetric Multi Processing
Symmetrical Multi-Processing
Common Pitfalls
Common Pitfalls
Appendix A. Changes: 2.0 To 2.2
Changes between 2.0 and 2.2
Appendix B. Where To Go From Here
Where From Here?
Index
The Linux Kernel Module Programming Guide (for Linux kernel 2.6)
Table of Contents
Copyright information
Foreword
Authorship
Versioning and Notes
Acknowledgements
Introduction
What Is A Kernel Module?
How Do Modules Get Into The Kernel?
Hello World
Hello, World (part 1): The Simplest Module
Compiling Kernel Modules
Hello World (part 2)
Hello World (part 3): The __init and __exit Macros
Hello World (part 4): Licensing and Module Documentation
Passing Command Line Arguments to a Module
Modules Spanning Multiple Files
Building modules for a precompiled kernel
Preliminaries
Modules vs Programs
Character Device Files
Character Device Drivers
The /proc File System
The /proc File System
Read and Write a /proc File
Manage /proc file with standard filesystem
Manage /proc file with seq_file
Using /proc For Input
TODO: Write a chapter about sysfs
Talking To Device Files
Talking to Device Files (writes and IOCTLs)
System Calls
System Calls
Blocking Processes
Blocking Processes
Replacing Printks
Replacing printk
Flashing keyboard LEDs
Scheduling Tasks
Scheduling Tasks
Interrupt Handlers
Interrupt Handlers
Symmetric Multi Processing
Symmetrical Multi-Processing
Common Pitfalls
Common Pitfalls
A. Changes: 2.0 To 2.2
Changes between 2.4 and 2.6
B. Where To Go From Here
Where From Here?
Index
The Linux Network Administrator's Guide
Table of Contents
Preface
Table of Contents
Purpose and Audience for This Book
Sources of Information
Documentation Available via FTP
Documentation Available via WWW
Documentation Available Commercially
Linux Journal and Linux Magazine
Linux Usenet Newsgroups
Linux Mailing Lists
Online Linux Support
Linux User Groups
Obtaining Linux
File System Standards
Standard Linux Base
About This Book
The Official Printed Version
Overview
Conventions Used in This Book
Submitting Changes
Acknowledgments
Introduction to Networking
Table of Contents
History
TCP/IP Networks
Introduction to TCP/IP Networks
Ethernets
Other Types of Hardware
The Internet Protocol
IP Over Serial Lines
The Transmission Control Protocol
The User Datagram Protocol
More on Ports
The Socket Library
UUCP Networks
Linux Networking
Different Streaks of Development
Where to Get the Code
Maintaining Your System
Issues of TCP/IP Networking
Table of Contents
Networking Interfaces
IP Addresses
Address Resolution
IP Routing
IP Networks
Subnetworks
Gateways
The Routing Table
Metric Values
The Internet Control Message Protocol
Resolving Host Names
Configuring the Networking Hardware
Table of Contents
Kernel Configuration
Kernel Options in Linux 2.0 and Higher
Kernel Networking Options in Linux 2.0.0 and Higher
A Tour of Linux Network Devices
Ethernet Installation
The PLIP Driver
The PPP and SLIP Drivers
Other Network Types
Configuring the Serial Hardware
Table of Contents
Communications Software for Modem Links
Introduction to Serial Devices
Accessing Serial Devices
Serial Hardware
Using the Configuration Utilities
The setserial Command
The stty Command
Serial Devices and the login: Prompt
Configuring TCP/IP Networking
Table of Contents
Mounting the /proc Filesystem
Installing the Binaries
Setting the Hostname
Assigning IP Addresses
Creating Subnets
Writing hosts and networks Files
Interface Configuration for IP
The Loopback Interface
Ethernet Interfaces
Routing Through a Gateway
Configuring a Gateway
The PLIP Interface
The SLIP and PPP Interfaces
The Dummy Interface
IP Alias
All About ifconfig
The netstat Command
Displaying the Routing Table
Displaying Interface Statistics
Displaying Connections
Checking the ARP Tables
Name Service and Resolver Configuration
Table of Contents
The Resolver Library
The host.conf File
The nsswitch.conf File
Configuring Name Server Lookups Using resolv.conf
Resolver Robustness
How DNS Works
Name Lookups with DNS
Types of Name Servers
The DNS Database
Reverse Lookups
Running named
The named.boot File
The BIND 8 host.conf File
The DNS Database Files
Caching-only named Configuration
Writing the Master Files
Verifying the Name Server Setup
Other Useful Tools
Serial Line IP
Table of Contents
General Requirements
SLIP Operation
Dealing with Private IP Networks
Using dip
A Sample Script
A dip Reference
Running in Server Mode
The Point-to-Point Protocol
Table of Contents
PPP on Linux
Running pppd
Using Options Files
Using chat to Automate Dialing
IP Configuration Options
Choosing IP Addresses
Routing Through a PPP Link
Link Control Options
General Security Considerations
Authentication with PPP
PAP Versus CHAP
The CHAP Secrets File
The PAP Secrets File
Debugging Your PPP Setup
More Advanced PPP Configurations
PPP Server
Demand Dialing
Persistent Dialing
TCP/IP Firewall
Table of Contents
Methods of Attack
What Is a Firewall?
What Is IP Filtering?
Setting Up Linux for Firewalling
Kernel Configured with IP Firewall
The ipfwadm Utility
The ipchains Utility
The iptables Utility
Three Ways We Can Do Filtering
Original IP Firewall (2.0 Kernels)
Using ipfwadm
A More Complex Example
Summary of ipfwadm Arguments
IP Firewall Chains (2.2 Kernels)
Using ipchains
ipchains Command Syntax
Our Naive Example Revisited
Listing Our Rules with ipchains
Making Good Use of Chains
Netfilter and IP Tables (2.4 Kernels)
Backward Compatability with ipfwadmand ipchains
Using iptables
Our Naive Example Revisited, Yet Again
TOS Bit Manipulation
Setting the TOS Bits Using ipfwadm or ipchains
Setting the TOS Bits Using iptables
Testing a Firewall Configuration
A Sample Firewall Configuration
IP Accounting
Table of Contents
Configuring the Kernel for IP Accounting
Configuring IP Accounting
Accounting by Address
Accounting by Service Port
Accounting of ICMP Datagrams
Accounting by Protocol
Using IP Accounting Results
Listing Accounting Data with ipfwadm
Listing Accounting Data with ipchains
Listing Accounting Data with iptables
Resetting the Counters
Flushing the Ruleset
Passive Collection of Accounting Data
IP Masquerade and Network Address Translation
Table of Contents
Side Effects and Fringe Benefits
Configuring the Kernel for IP Masquerade
Configuring IP Masquerade
Handling Name Server Lookups
More About Network Address Translation
Important Network Features
Table of Contents
The inetd Super Server
The tcpd Access Control Facility
The Services and Protocols Files
Remote Procedure Call
Configuring Remote Loginand Execution
Disabling the r; Commands
Installing and Configuring ssh
The Network Information System
Table of Contents
Getting Acquainted with NIS
NIS Versus NIS+
The Client Side of NIS
Running an NIS Server
NIS Server Security
Setting Up an NIS Client with GNU libc
Choosing the Right Maps
Using the passwd and group Maps
Using NIS with Shadow Support
The Network File System
Table of Contents
Preparing NFS
Mounting an NFS Volume
The NFS Daemons
The exports File
Kernel-Based NFSv2 Server Support
Kernel-Based NFSv3 Server Support
IPX and the NCP Filesystem
Table of Contents
Xerox, Novell, and History
IPX and Linux
Caldera Support
More on NDS Support
Configuring the Kernel for IPXand NCPFS
Configuring IPX Interfaces
Network Devices Supporting IPX
IPX Interface Configuration Tools
The ipx_configure Command
The ipx_interface Command
Configuring an IPX Router
Static IPX Routing Using the ipx_route Command
Internal IPX Networks and Routing
Mounting a Remote NetWare Volume
A Simple ncpmount Example
The ncpmount Command in Detail
Hiding Your NetWare Login Password
A More Complex ncpmount Example
Exploring Some of the Other IPX Tools
Server List
Send Messages to NetWare Users
Browsing and Manipulating Bindery Data
Printing to a NetWare Print Queue
Using nprint with the Line Printer Daemon
Managing Print Queues
NetWare Server Emulation
ManagingTaylor UUCP
Table of Contents
UUCP Transfers and Remote Execution
The Inner Workings of uucico
uucico Command-line Options
UUCP Configuration Files
A Gentle Introduction to Taylor UUCP
What UUCP Needs to Know
Site Naming
Taylor Configuration Files
General Configuration Options Using the config File
How to Tell UUCP About Other Systems Using the sys File
Identifying Available Devices Through the port File
How to Dial a Number Using the dial File
UUCP Over TCP
Using a Direct Connection
Controlling Access to UUCP Features
Command Execution
File Transfers
Forwarding
Setting Up Your System for Dialing In
Providing UUCP Accounts
Protecting Yourself Against Swindlers
Be Paranoid: Call Sequence Checks
Anonymous UUCP
UUCP Low-Level Protocols
Protocol Overview
Tuning the Transmission Protocol
Selecting Specific Protocols
Troubleshooting
uucico Keeps Saying LWrong Time to CallL
uucico Complains That the Site Is Already Locked
You Can Connect to the Remote Site, but the Chat Script Fails
Your Modem Does Not Dial
Your Modem Tries to Dial but Doesn't Get Out
Login Succeeds, but the Handshake Fails
Log Files and Debugging
Electronic Mail
Table of Contents
What Is a Mail Message?
How Is Mail Delivered?
Email Addresses
RFC-822
Obsolete Mail Formats
Mixing Different Mail Formats
How Does Mail Routing Work?
Mail Routing on the Internet
Mail Routing in the UUCP World
Mixing UUCP and RFC-822
Configuring elm
Global elm Options
National Character Sets
Sendmail
Table of Contents
Introduction to sendmail
Installing sendmail
Overview of Configuration Files
The sendmail.cf and sendmail.mc Files
Two Example sendmail.mc Files
Typically Used sendmail.mc Parameters
Generating the sendmail.cf File
Interpreting and Writing Rewrite Rules
sendmail.cf R and S Commands
Some Useful Macro Definitions
The Lefthand Side
The Righthand Side
A Simple Rule Pattern Example
Ruleset Semantics
Configuring sendmail Options
Some Useful sendmail Configurations
Trusting Users to Set the From: Field
Managing Mail Aliases
Using a Smart Host
Managing Unwanted or Unsolicited Mail (Spam)
Configuring Virtual Email Hosting
Testing Your Configuration
Running sendmail
Tips and Tricks
Managing the Mail Spool
Forcing a Remote Host to Process its Mail Queue
Analyzing Mail Statistics
Getting EximUp and Running
Table of Contents
Running Exim
If Your Mail Doesn't Get Through
Compiling Exim
Mail Delivery Modes
Miscellaneous config Options
Message Routing and Delivery
Routing Messages
Delivering Messages to Local Addresses
Alias Files
Mailing Lists
Protecting Against Mail Spam
UUCP Setup
Netnews
Table of Contents
Usenet History
What Is Usenet, Anyway?
How Does Usenet Handle News?
C News
Table of Contents
Delivering News
Installation
The sys File
The active File
Article Batching
Expiring News
Miscellaneous Files
Control Messages
The cancel Message
newgroup and rmgroup
The checkgroups Message
sendsys, version, and senduuname
C News in an NFS Environment
Maintenance Tools and Tasks
NNTP and thenntpd Daemon
Table of Contents
Connecting to the News Server
Connecting to the News Server
Pushing a News Article onto a Server
Changing to NNRP Reader Mode
Listing Available Groups
Listing Active Groups
Posting an Article
Listing New Articles
Selecting a Group on Which to Operate
Listing Articles in a Group
Retrieving an Article Header Only
Retrieving an Article Body Only
Reading an Article from a Group
Installing the NNTP Server
Restricting NNTP Access
NNTP Authorization
nntpd Interaction with C News
Internet News
Table of Contents
Some INN Internals
Newsreaders and INN
Installing INN
Configuring INN: the Basic Setup
INN Configuration Files
Global Parameters
Configuring Newsgroups
Configuring Newsfeeds
Controlling Newsreader Access
Expiring News Articles
Handling Control Messages
Running INN
Managing INN: The ctlinnd Command
Add a New Group
Change a Group
Remove a Group
Renumber a Group
Allow/Disallow Newsreaders
Reject Newsfeed Connections
Allow Newsfeed Connections
Disable News Server
Restart News Server
Display Status of a Newsfeed
Drop a Newsfeed
Begin a Newsfeed
Cancel an Article
Newsreader Configuration
Table of Contents
tin Configuration
trn Configuration
nn Configuration
Appendix A. Example Network:The Virtual Brewery
Example Network:The Virtual Brewery
Connecting the Virtual Subsidiary Network
Appendix B. Useful Cable Configurations
Table of Contents
A PLIP Parallel Cable
A Serial NULL Modem Cable
Appendix C. Linux Network Administrator's Guide, Second Edition Copyright Information
Table of Contents
0. Preamble
1. Applicability and Definitions
2. Verbatim Copying
3. Copying in Quantity
4. Modifications
5. Combining Documents
6. Collections of Documents
7. Aggregation with Independent Works
8. Translation
9. Termination
10. Future Revisions of this License
Appendix D. SAGE: The SystemAdministrators Guild
Index
The Linux System Administrator's Guide
Table of Contents
Copyright information
About This Book
Acknowledgments
Revision History
Source and pre-formatted versions available
Typographical Conventions
Introduction
Linux or GNU/Linux, that is the question.
Trademarks
Overview of a Linux System
Various parts of an operating system
Important parts of the kernel
Major services in a UNIX system
Overview of the Directory Tree
Background
The root filesystem
The /etc directory
The /dev directory
The /usr filesystem.
The /var filesystem
The /proc filesystem
Hardware, Devices, and Tools
Hardware Utilities
Kernel Modules
Using Disks and Other Storage Media
Two kinds of devices
Hard disks
Storage Area Networks - Draft
Network Attached Storage - Draft
Floppies
CD-ROMs
Tapes
Formatting
Partitions
Filesystems
Disks without filesystems
Allocating disk space
Memory Management
What is virtual memory?
Creating a swap space
Using a swap space
Sharing swap spaces with other operating systems
Allocating swap space
The buffer cache
System Monitoring
System Resources
Filesystem Usage
Monitoring Users
Boots And Shutdowns
An overview of boots and shutdowns
The boot process in closer look
More about shutdowns
Rebooting
Single user mode
Emergency boot floppies
init
init comes first
Configuring init to start getty: the /etc/inittab file
Run levels
Special configuration in /etc/inittab
Booting in single user mode
Logging In And Out
Logins via terminals
Logins via the network
What login does
X and xdm
Access control
Shell startup
Managing user accounts
What's an account?
Creating a user
Changing user properties
Removing a user
Disabling a user temporarily
Backups
On the importance of being backed up
Selecting the backup medium
Selecting the backup tool
Simple backups
Multilevel backups
What to back up
Compressed backups
Task Automation --To Be Added
Keeping Time
The concept of localtime
The hardware and software clocks
Showing and setting time
When the clock is wrong
NTP - Network Time Protocol
Basic NTP configuration
NTP Toolkit
Some known NTP servers
NTP Links
System Logs --To Be Added
System Updates --To Be Added
The Linux Kernel Source
Finding Help
Newsgroups and Mailing Lists
IRC
A. GNU Free Documentation License
PREAMBLE
APPLICABILITY AND DEFINITIONS
VERBATIM COPYING
COPYING IN QUANTITY
MODIFICATIONS
COMBINING DOCUMENTS
COLLECTIONS OF DOCUMENTS
AGGREGATION WITH INDEPENDENT WORKS
TRANSLATION
TERMINATION
FUTURE REVISIONS OF THIS LICENSE
ADDENDUM: How to use this License for your documents
Glossary (DRAFT, but not for long hopefully)
Index-Draft
Windows+BSD+Linux Installation Guide
Table of Contents
Introduction
Purpose of this Guide
What is Multiple-booting?
Multi-booting Pros and Cons
List of Assumptions
Acknowledgements
Legalese
About the Author
FAQ
Organization
About the operating systems
Microsoft Windows
Linux
FreeBSD
OpenBSD
Installing Microsoft Windows
Table of Contents
Section A: Installing MS Windows 95
Section B: Installing MS Windows 98 (SE)
Section C: Installing MS Windows Millennium (ME)
Section D: Installing MS Windows NT (4.0)
Section E: Installing MS Windows 2000 (Professional)
Section F: Installing MS Windows XP (Home/Professional)
Summary of the actual steps
Installing FreeBSD 4.7-RELEASE
Table of Contents
Slicing in FreeBSD
Filesystems in FreeBSD
Summary of Installation Steps
Installing OpenBSD 3.2-RELEASE
Introduction
Summary of Installation Steps
Installing Red Hat Linux 7.3 (Valhalla)
Table of Contents
Disk drive and partition naming in Linux
Filesystems in Linux
Summary of Installation Steps
Installing Red Hat Linux 8.0
Table of Contents
Disk drive and partition naming in Linux
Filesystems in Linux
Summary of Installation Steps
Mounting Filesystems
Table of Contents
Mounting filesystems in FreeBSD
Mounting filesystems in Linux
Troubleshooting
Conclusion
Windows+OpenSolaris+CentOS Installation Guide
Table of Contents
1.Introduction
1.1 Purpose of this Guide
1.2 What is Multiple-booting?
1.3 Multi-booting Pros and Cons
1.4 List of Assumptions
1.5 Acknowledgements
1.6 Legalese
1.7 About the Author
2.FAQ
3.Organization
3.1 About the Operating Systems
3.2 Installing Microsoft Windows
3.3 Installing OpenSolaris
3.4 Installing CentOS
3.5 Configuring a Tri-boot with GRUB
4. Conclusion
Howtos
List of eBooks
LDP HOWTO-INDEX
Table of Contents
What Are Linux HOWTOs?
Where Can I Get Linux HOWTOs?
HOWTO Translations
Categorized List of HOWTOs
The Linux OS
Getting Started
Switching from Other Operating Systems
Distributions
Installation
Kernel
Boot Loaders and Booting the OS
Parallel Processing
Partitions and Filesystems
RAID
Printing
Shell
Using Linux
System Administration and Configuration
Configuration / Installation
Benchmarking
Clustering
Backup
Recovery
Security
Hardware
General
Platforms
Video Cards
CPUs / Architectures
CD-ROM / DVD-ROM Drives
Optical Disks
Keyboard and Console
Digital Cameras
Graphic Tablets
Diskettes
Hard Disks
Jaz and ZIP Drives
Mice
Modems
Printers / Scanners
Routers
SCSI
Serial Ports
Sound Cards
Tape Drives
Touchscreens
UPS
Wireless
Miscellaneous
Networking
General
Protocols
Dial-up
DNS
Virtual Private Networks
Bridging
Routing
Security
Telephony / Satellite
Miscellaneous
Applications / GUI / Multimedia
Installing Applications
User Applications
Server Applications
DBMS / Databases
Mail
Usenet Network News
HTTP / FTP
Miscellaneous
GUI / Window Managers
X Window System
Window Managers
Fonts
Multimedia
Audio
Video
Programming
General
Compilers
Languages
Libraries
Interfaces / API / Protocols
Security
Tools
Version Control
DBMS / Databases
Miscellaneous
Other (human) Languages
Language Support
Using Specific Languages
Miscellaneous
Authoring / Documentation
Linux Advocacy / Getting (and Staying) Involved
Hobbies and Special Interests
Archived Documents
Archived Documents
Single list of HOWTOs
Single list of mini-HOWTOs
Unmaintained HOWTOs
Writing and Submitting a HOWTO
Copyright Information
802.1X Port-Based Authentication HOWTO
Table of Contents
Introduction
What is 802.1X?
What is 802.11i?
What is EAP?
EAP authentication methods
What is RADIUS?
Obtaining Certificates
Authentication Server: Setting up FreeRADIUS
Installing FreeRADIUS
Configuring FreeRADIUS
Supplicant: Setting up Xsupplicant
Installing Xsupplicant
Configuring Xsupplicant
Authenticator: Setting up the Authenticator (Access Point)
Access Point
Linux Authenticator
Testbed
Testcase
Running some tests
Note about driver support and Xsupplicant
FAQ
Useful Resources
Copyright, acknowledgments and miscellaneous
Copyright and License
How this document was produced
Feedback
Acknowledgments
Appendix A. GNU Free Documentation License
PREAMBLE
APPLICABILITY AND DEFINITIONS
VERBATIM COPYING
COPYING IN QUANTITY
MODIFICATIONS
COMBINING DOCUMENTS
COLLECTIONS OF DOCUMENTS
AGGREGATION WITH INDEPENDENT WORKS
TRANSLATION
TERMINATION
FUTURE REVISIONS OF THIS LICENSE
ADDENDUM: How to use this License for your documents
ACPI: Advanced Configuration and Power Interface
Table of Contents
About this document
Copyright and License
Translations
About ACPI
Why switch?
DSDT: Differentiated System Description Table
Installing from scratch
Choosing a kernel
Backups
Download and Unpack the New Kernel
Required packages
Unpack
Configure the new kernel
Compile the new kernel
Install the new kernel
Reboot and test
Load related modules
Switching from APM to ACPI
Using ACPI
References and Resources
Thanks
Appendix A. Patching Old Kernels
Getting the Source Files
Appendix B. ACPI the Non-Debian Way
Compile the kernel
Install the new kernel
Software packages
Appendix C. GNU Free Documentation License
PREAMBLE
APPLICABILITY AND DEFINITIONS
VERBATIM COPYING
COPYING IN QUANTITY
MODIFICATIONS
COMBINING DOCUMENTS
COLLECTIONS OF DOCUMENTS
AGGREGATION WITH INDEPENDENT WORKS
TRANSLATION
TERMINATION
FUTURE REVISIONS OF THIS LICENSE
How to use this License for your documents
ADSL Bandwidth Management HOWTO
Table of Contents
Introduction
New Versions of This Document
Email Discussion List
Disclaimer
Copyright and License
Feedback and corrections
Background
Prerequisites
Layout
Packet Queues
How it Works
Throttling Outbound Traffic with Linux HTB
Priority Queuing with HTB
Classifying Outbound Packets with iptables
A few more tweaks...
Attempting to Throttle Inbound Traffic
Implementation
Caveats
Script: myshaper
Testing the New Queue
OK It Works!! Now What?
Related Links
Apache based WebDAV Server with LDAP and SSL
Table of Contents
Introduction
About this document
Contributions to the document
What is Apache?
What is WebDAV?
What is PHP?
What is mySQL?
What do we need?
Assumptions
Requirements
Basics
Apache 2.0.46
OpenSSL
iPlanet LDAP Library
mod_auth_ldap
mySQL DB Engine
PHP
Installation
Pre-requisites
mySQL
Apache 2.0
mod_auth_ldap
CERT DB for LDAPS://
PHP
Configuring and Setting up the WebDAV services
Modifications to the /usr/local/apache/conf/httpd.conf
Creating a directory for DAVLockDB
Enabling DAV
Create a Directory called DAVtest
Restart Apache
WebDAV server protocol compliance testing
WebDAV server management
Restricting access to DAV shares
Restricting write access to DAV shares
Implementing and using SSL to secure HTTP traffic
Introduction to SSL
Test Certificates
Certificates for Production use
How to generate a CSR
Installing Server Private Key, and Server Certificate
Removing passphrase from the RSA Private Key
SSL Performance Tuning
Appendix A. HTTP/HTTPS Benchmarking tools
Appendix B. Hardware based SSL encryption solutions
Appendix C. Certificate Authorities
Glossary of PKI Terms
Apache Compile HOWTO
Table of Contents
Introduction
Contributors and Contacts
Why I wrote this document
What this document is supposed to be
What this document doesn't do for you
Platforms
Copyright Information
Disclaimer
New Versions
Credits
Feedback
Translations
About the author
Prerequisites
General
OpenSSL
GNU Database System
MySQL
Building mm
Getting, build and install Apache with its basic modules
Get and untar the Apache Source
mod_ssl
mod_perl
Configure and build Apache
Additional modules
mod_dav
auth_ldap
mod_auth_mysql
mod_dynvhost
mod_roaming
Compressed delivery
mod_gzip
mod_gunzip
mod_php and its prerequisites
What is mod_php
Prerequisites
Building and installing PHP4
PHP extensions
APC (Alternative PHP-cache)
Zend-Optimizer (Do _NOT_ combine with APC-Cache!)
Jakarta Tomcat
What is Tomcat
Prerequisites
Download the binaries
mod_jk
Further Information
News groups
Mailing Lists
HOWTO
Local Resources
Web Sites
Questions and Answers
Athlon Powersaving HOWTO
Table of Contents
Introduction
Basics on the Athlon Power Saving Mode
Copyright and License
Disclaimer
Feedback/Questions/Support
New Versions of this Document
The Different Approaches
The Command-line Hack (recommended)
The coolrun shellscript (recommended)
The Athcool Program (recommended)
BIOS updates
Kernel Patch
The LVCool Solution
The FVCool Program
AMD 760MP Powersaving
What Else?
How to test whether it works
Known Bugs/Problems
Fix for sound skips and other problems
Another Fix for sound skips and other problems (on some Via-Chipsets)
ToDo
Translations
ATI R200 + XFree86 4.x mini-HOWTO
Table of Contents
Copyright & License
System Requirements
The alternatives
Table of Contents
Experiences with XFree86's driver
Experiences with ATI's own driver
Experiences with DRI's driver
Experiences with the GATOS project's driver
Thoughts on Schneider Digital's driver
Still Haven't Chosen One?
Step-by-step instructions
Table of Contents
Alternative 1: Using XFree86's Radeon driver
Alternative 2: Using ATI's own R200 Driver
Alternative 3: Using DRI's Latest Radeon Driver
Alternative 4: Using the GATOS Project's Latest Driver
Alternative 5: Using Schneider Digital's drivers
Links
Appendix A. GNU Free Documentation License
Table of Contents
PREAMBLE
APPLICABILITY AND DEFINITIONS
VERBATIM COPYING
COPYING IN QUANTITY
MODIFICATIONS
COMBINING DOCUMENTS
COLLECTIONS OF DOCUMENTS
AGGREGATION WITH INDEPENDENT WORKS
TRANSLATION
TERMINATION
FUTURE REVISIONS OF THIS LICENSE
How to use this License for your documents
Autodir HOWTO
Table of Contents
Introduction
Copyright and License
Disclaimer
Feedback
New Versions of this Document
Credits / Contributors
Before going into the details...
Why not pam_mkhomedir?
Where can Autodir be used?
What Autodir is not
Differences between Autodir and Autofs
How it works
Some definitions
Directory organization in the real base directory
Virtual directory expiration
Backup support
Backup program requirements
Module options
Autodir requirements
Autofs kernel module
Importing user and group accounts
Getting Autodir
Managing home directories
Base directories for autohome
Directory organization
Misc suboptions for autohome
Example
Managing group directories
Autodir options
Backup options
Examples
RPM specific
Further Information
Avr-Microcontrollers-in-Linux-Howto
Table of Contents
HOWTO
AVR Microcontrollers in Linux HOWTO
Licence
What Is a Microcontroller?
Software Required
Hello World
Author
Last version
Bangla in GNU/Linux HOWTO
Table of Contents
Introduction
Preface
Copyright Information
Disclaimer
New Versions
Credits
Feedback
Conventions used in this document
Purpose of this HOWTO
Users' Guide
Setting up the locale for Bengali
Installing the Bengali Fonts
Setting up the Bengali keyboard
Some "special" Bengali only applications
Developers' Guide
The general development process
Pre-requisites
Translators' Guide
Appendix A
Appendix
Related Websites
Volunteering for the Bangla in GNU/Linux project
Software which has Bangla rendering support
Bangla PDF HOWTO
Table of Contents
Introduction
Copyright & License
Minimum Requirements
Caution
Fonts
TrueType to Type1 Conversion
Font Installation
On Using TrueType
Keyboard
Using The Bijoy Keyboard
Writing Ligatures
Printing as PDF
RedHat Peculiarities
PDF from Unicode
Lekho
BSpeller
Other Resources
Useful tools
Useful Links and References
Acknowledgments
Bash Prompt HOWTO
Table of Contents
Copyright & License
Introduction and Administrivia
Table of Contents
Introduction
Revision History
Requirements
How To Use This Document
Document Versions, Comments and Suggestions
Problems
Credits/Bibliography
Disclaimer
Bash and Bash Prompts
Table of Contents
What is Bash?
What Can Tweaking Your Bash Prompt Do For You?
Why Bother?
The First Step
Bash Prompt Escape Sequences
Setting the PS? Strings Permanently
Bash Programming and Shell Scripts
Table of Contents
Variables
Quotes and Special Characters
Command Substitution
Non-Printing Characters in Prompts
Sourcing a File
Functions, Aliases, and the Environment
External Commands
Table of Contents
PROMPT_COMMAND
External Commands in the Prompt
What to Put in Your Prompt
Saving Complex Prompts
ANSI Escape Sequences: Colours and Cursor Movement
Table of Contents
Colours
Cursor Movement
Xterm Title Bar Manipulations
Xterm Title Bars and Screen
Colours and Cursor Movement With tput
Special Characters: Octal Escape Sequences
The Bash Prompt Package
Table of Contents
Availability
Xterm Fonts
Changing the Xterm Font
Line Draw Characters without VGA Fonts
Loading a Different Prompt
Table of Contents
Loading a Different Prompt, Later
Loading a Different Prompt, Immediately
Loading Different Prompts in Different X Terms
Loading Prompt Colours Dynamically
Table of Contents
A "Proof of Concept" Example
Prompt Code Snippets
Table of Contents
Built-in Escape Sequences
Date and Time
Counting Files in the Current Directory
Total Bytes in the Current Directory
Checking the Current TTY
Stopped Jobs Count
Load
Uptime
Number of Processes
Controlling the Size and Appearance of $PWD
Laptop Power
Having the Prompt Ignored on Cut and Paste
New Mail
Prompt Beeps After Long-Running Commands
Example Prompts
Table of Contents
Examples on the Web
A "Lightweight" Prompt
Dan's Prompt
Elite from Bashprompt Themes
A "Power User" Prompt
Prompt Depending on Connection Type
A Prompt the Width of Your Term
The Floating Clock Prompt
The Elegant Useless Clock Prompt
Appendix A. GNU Free Documentation License
Table of Contents
PREAMBLE
APPLICABILITY AND DEFINITIONS
VERBATIM COPYING
COPYING IN QUANTITY
MODIFICATIONS
COMBINING DOCUMENTS
COLLECTIONS OF DOCUMENTS
AGGREGATION WITH INDEPENDENT WORKS
TRANSLATION
TERMINATION
FUTURE REVISIONS OF THIS LICENSE
How to use this License for your documents
Battery Powered Linux Mini-HOWTO
Table of Contents
Power Management
Advanced Power Management (APM)
Advanced Configuration and Power Interface (ACPI)
APM vs. ACPI: Which one?