Introduction. Linux Today. A Word About Hardware. About This Book. Who Should Use This Book? Who Should Not Use This Book? Conventions Used in This Book.
I. INTRODUCTION TO LINUX.
1. What Is Linux? What Is Linux? Linux Distributions.
Caldera OpenLinux. Red Hat. Debian. SuSE. TurboLinux. Mandrake. SLS. Slackware. Yes, There Are Others.
The Linux Standard Base Project (LSB). The Linux Professional Institute and Linux Certification. How Does Linux Fit In with Other Networked Environments?
TCP/IP Networks. Intranets. NetWare Networks. Microsoft Windows Networks.
2. Introduction to the Desktop. What Is a Desktop?
Window Managers. CDE. KDE. GNOME. XFce.
Common Desktop Features.
Desktop. Panel. Pager. Dock. Themes. User-Friendly Configuration. Programming API. International Support.
Case Study: KDE Versus GNOME.
3. KDE. What Is KDE?
KDE Is a Graphical Desktop. KDE Applications. KDE Is a Project.
Installing KDE.
RPM-Based Distributions. Debian.
Selecting KDE.
Using the Display Manager. Using Switchdesk. Selecting KDE Manually.
Basic Desktop Elements.
The Desktop. The Panel.
Running Programs.
Launching an Application. Essential Programs.
Stopping KDE. KDE Capabilities. Configuring KDE with the Control Center.
Information. Look & Feel. Personalizing KDE. Configuring Email.
Configuring the Panel.
Panel Configuration Dialog Box. Adjusting Items on the Panel. Adding Items to the Panel. Using the Menu Editor. Restart Option.
Manipulating Files and Directories.
Introduction to the File Manager. Navigating the Filesystem with konqueror. Performing Management Tasks. Navigating the Web. Looking Inside Archives. Special Features or Tips.
Project: Setting Up a Development Environment.
4. GNOME. What Is GNOME?
GNOME Is a Graphical Desktop. GNOME Applications and gtk+. GNOME Is a Philosophy.
Installing GNOME. Selecting GNOME.
Using the Display Manager. Using switchdesk. Selecting GNOME Manually.
Basic Desktop Elements.
The Desktop. The Panel.
Running Programs.
Launching an Application. Essential Programs.
Logging Out of GNOME. GNOME Capabilities. Configuring GNOME with the Control Center.
Desktop. Configuring the Window Manager.
Configuring the Panel.
Global Panel Configuration. Adjusting Items on a Panel. Adding Items to the Panel. Using the Menu Editor. Configuring a Panel. Creating and Removing Panels.
Updating Helix GNOME. Project: Installing Enlightenment.
II. SIGHT AND SOUND.
5. Configuring. What Is the X Window System? Understanding the X Window System.
What Is a Client/Server System? Output Capabilities. User Interface Capabilities. Input Capabilities.
Installing the XFree86 System.
Choosing a Version of XFree86. Ensuring Hardware Support for XFree86. Installing from RPMs. Installing from deb Packages. Installing from tgz packages.
Configuring XFree86.
Using Xconfigurator. Using XF86Setup. Using lizardx. Running the SuperProbe Program. Using xf86config. Using xvidtune.
Dissecting the XF86Config File.
The Modules Section. The Files Section. The ServerFlags Section. The InputDevice Sections. The Monitor Section. The Device Section. The Screen Section. The ServerLayout Section.
X Window System Startup.
Example: X Window System Startup on OpenLinux. Exploring Startup of the X Window System. The Display Manager. Xsession. Desktop or Window Manager Startup. Variation: startx.
Troubleshooting. Case Study: The X Window System Across a Network.
6. Customizing X and Controlling X Resources. Navigating the X Window System.
Getting Focus. Using Menus. Using Virtual Terminals in XFree86.
Using Window Managers for Linux.
twm. fvwm2. AfterStep. Window Maker. Blackbox. Enlightenment. Sawfish. kwin.
Choosing a Window Manager. Themes. X Resources.
Nodes and Values. Loose Binding. Classes. Other Resource File Issues. Font Definitions. Loading and Querying Resources.
Project: Auto-Shrinking xterm.
7. Multimedia. Open Sound System for Linux.
Getting and Installing Open Sound System for Linux.
RealPlayer.
Getting and Installing RealPlayer. Using RealPlayer.
Adobe Acrobat Reader.
Using Acrobat Reader. Creating PDF Files.
Troubleshooting.
III. LINUX SYSTEM ADMINISTRATION.
8. System Administration Tools. Differences in Linux Distributions. Caldera OpenLinux/COAS.
Kernel Modules. Peripherals Administration. Network Administration. System Administration. Install/Remove Software Packages.
Autonomous LIZARD Modules. Debian System Administration Tools. Red Hat System Administration Tools.
Config. Control. Quitting and Applying Your Changes. Accessing Linuxconf Remotely.
Project: Familiarize Yourself.
9. Disk Drives and Filesystems. Hard Drive Installation. Partitioning the Hard Drive.
Step. Step. Step. Step. Step. Step. Step. Step. Step.
Linux Filesystems. Mounting Filesystems.
Manually Mounting Filesystems.
Unmounting Filesystems. Automating the Mounting Process. Troubleshooting.
10. Understanding the Linux Filesystem. The Linux Filesystem Structure. The Linux Filesystem Standard (FHS).
FHS Overview. FHS Specifications for the Root Directory.
Default Directory Layout.
/NetWare. /auto. /bin. /boot. /bru. /dev. /etc. /home. /initrd. install@. /lib. /lost+found. /mnt. /opt. /proc. /root. /sbin. /tmp. /usr. /var. /dev/shm.
Distribution Differences. Examining Key Directories.
The /etc Directory. The /dev Directory. The /devfs Directory. The /proc Directory.
Checking Filesystems. Projects.
Creating a Swap File. Using the file Command.
11. Users, Groups, and Permissions. User Accounts.
Root User/Superuser. Normal Users. Virtual Consoles. Serial Connections. Network Logins.
Account Setup.
Key Configuration File. Passwords. Adding Users. Deleting or Disabling Users.
Groups.
Creating a Group. Adding User Accounts to a Group. Removing User Accounts from a Group. Other Utilities.
Permissions.
Changing Permissions. SUID/SGID and the Sticky Bit. Changing User or Group Ownership. Other Permissions.
Troubleshooting.
12. Boot Loaders. What Is LILO? Boot Stages. How Does LILO Work?
Disk Organization. LILO Locations. Booting Basics.
Basic Configuration. How to Install LILO.
Installing LILO. Uninstalling LILO.
Dual Booting. Parameters. Debugging LILO.
Map Installer. Boot Loader Messages.
Other Boot Loader Options. GRUB.
Using GRUB. /boot/grub.
Author Recommendations. Troubleshooting.
13. System Initialization. About Initialization. init: Where It All Begins. inittab Specifics.
Hands-On init. init Obscurities. The inittab File from Top to Bottom.
The rc Scripts.
The Startup Scripts.
Emergencies. Troubleshooting.
14. Customizing Your Shell Environment. Beyond the Login Prompt. What Is a Shell? Types of Shells.
The Bourne Shell. The C Shell.
Interactive Shell Use. Default Shell Environment.
Variables. Aliases and Functions.
Customizing Your Environment. Shell Programming (Scripts).
Solving the Script Command Dilemma. Addressing the Script Environment Quandary. Redirection. Debugging.
Case Study: Scripting Suggestions.
15. Understanding PAM. Encryption and Authentication. Using PAM.
Reading the /etc/pam.d Files. Understanding the Modules. Stacking Modules. Modifying Your PAM Configuration.
Troubleshooting.
16. Software Package Management. Introduction to Package Management.
What Is Package Management? What Is a Package? Where to Find Packages. Working with rpm.
Installing New Software.
Finding the Package You Want to Install. Deciding Which Utility to Use. Security Concerns. Steps Performed During an Installation. The Actual Install.
Removing a Package.
Dealing with a Dependency Problem. Other Types of Removal Problems.
Upgrading a Package.
How Are Configuration Files Dealt With?
Verifying Packages. Verifying Package Signatures. Troubleshooting.
17. Building/Rebuilding a Package. Working with TAR Files.
Installation Steps. Common Installation Aids.
Library Compatibility.
How Shared Libraries Are Versioned. Using ldd to Discover Required Shared Libraries.
Advanced RPM Package Querying.
Extracting the Contents of an rpm (rpm2cpio). Finding Out Which RPM Package Owns a File. Customizing the Format of RPM Package Queries. Analyzing Disk Space Used by Packages.
Building from Source RPMs.
Why Would You Want to Rebuild an RPM Package? Steps in the Build Process. Directories Involved in the Build Process. Locating and Installing Source RPMs. Rebuilding the Package. The spec File. Building a Package. Packaging Miscellany.
Project: Modifying a Package.
18. Building a Custom Kernel. The Linux Kernel. Building a New Kernel.
Obtaining the Kernel Source (Step 1). Preparing the Source Tree (Step 2) Configuring the Source (Step 3). Building the Source and Installing the Modules (Step 4). Moving the Kernel (Step 5). Configuring and Running LILO (Step 6). Verifying Module Support (Step 7). Rebooting the System (Step 8).
Patching a Kernel. Troubleshooting.
19. Kernel Modules. The Linux Kernel, Modules, and Drivers. Module Versions. Module Management.
Manual Loading. Automatic Loading.
Modules Available Outside the Kernel Sources.
Upgrading pcmcia-cs.
Troubleshooting.
20. Building a VPN (FreeS/WAN). Getting Started. Building the FreeS/WAN Kernel. VPN Planning. VPN Configuration.
ipsec.conf.
Troubleshooting.
21. System Auditing and System Logging. syslog.
syslogd. syslog.conf.
klogd. Tripwire. Toubleshooting.
IV. NETWORKING WITH LINUX.
22. Networking. IP.
IP Addressing. IP Networks and CIDR. VLSM.
Ports. TCP. UDP. ICMP. Network Startup Under OpenLinux. Network Startup Under Debian. Network Startup Under Red Hat. ifconfig. route. Checking Your Network.
ping. traceroute. netstat. fuser. Name Resolution.
Troubleshooting.
23. Using DHCP. Background. ARP. BOOTP. DHCP. Configuring DHCPD. Global Parameters. Subnet Statement. Shared Network Statement. Group Statement. Configuring DHCPD for BOOTP. DNS and DHCP. Configuring DHCP Clients. DHCP Messages and Overview of the DHCP Process. New DHCP Clients. Continuing Leases. Troubleshooting.
24. Connecting to an ISP. ISP Connections. Dial-Up Connections with PPP.
Getting Started with PPP. PPP Setup Steps.
Using ksaferppp.
ksaferppp Setup.
Setting Up Automatic Demand Dialing. Distribution-Specific Information. Troubleshooting.
25. Email Clients and Servers. Email-What Is It? How Does Email Work? User Agents.
Character-Based Email Clients. Netscape Messenger. KMail.
Mail Transport Agent Configuration.
sendmail Configuration Files. Aliases. Notes on Debian Systems. Notes on Red Hat Systems.
Delivery Agents.
A POP Server. An IMAP Server. Enabling POP and IMAP Services. fetchmail. mbox.
Encryption and Pretty Good Privacy (PGP).
Setting Up GPG for Use. Using GPG.
Troubleshooting.
26. DNS and BIND. About DNS. What Is BIND?
About Domains. Root Name Servers. Types of DNS Servers.
BIND Files.
Caldera OpenLinux. Debian. Red Hat. ndc: Name Server Daemon Control. Configuration Files and DNS Terms.
Name Server Tools.
nslookup. dig. dnsquery. host. whois.
Troubleshooting.
27. Sharing Files with NFS. Why Share? Preparation for NFS.
Planning NFS Mounts. Preparing the Filesystems.
Required Configuration Files and Programs.
Programs for NFS. Configuration Files.
Defining the Method of Sharing.
Restricting Mount Access.
Troubleshooting.
28. Using NetWare. NetWare Client Utilities.
Configuring NetWare Client Settings. Logging In to NetWare. Viewing Current NetWare Connections. Logging Out. The NetWare Automounter. Printing to NetWare Print Queues. Checking Print Job Status. Deleting Jobs from a Print Queue. Changing NetWare Passwords. NetWare Client Message Options.
Administration Utilities for NDS.
Making File and Directory Trustee Assignments. Viewing NetWare Directory and File Trustee Assignments. Viewing Attributes of an NDS Object. Viewing Values for NDS Object Attributes. Creating an NDS Object. Modifying NDS Object Attribute Values. Changing NDS User Passwords. Deleting NDS Objects. Setting Directory Size Restrictions. Viewing Directory Size Restrictions.
Bindery-Based Administrative Utilities.
Assigning NetWare Filesystem Rights to Bindery Objects. Viewing NetWare Filesystem Trustees Assignments and Rights. Viewing NetWare Bindery Object Properties. Viewing NetWare Bindery Object Property Values. Creating a NetWare Bindery Object. Modifying Bindery Object Property Values. Changing Bindery User Passwords. Deleting Bindery Objects. Setting Directory Size Restrictions. Viewing Directory Size Restrictions. Granting NetWare Filesystem Rights Bindery Objects.
Project: Using the ncpfs Package.
29. Sharing Resources with Samba. Sharing Information. Samba.
Samba Programs. The Samba Web Administration Tool.
Network Environments.
NT Server as PDC on a Local Network. Peer Network with Microsoft Hosts (NT and Windows 95/98).
Sharing Directories.
Base Options. Security Options. Logging Options. Tuning Options. Filename Handling. Browse Options. Locking Options. Miscellaneous Options. Homes Share.
Sharing Printers Across the Network.
The Printers Share. Base Options. Security Options. Logging Options. Tuning Options. Printing Options. Browse Options. Miscellaneous Options.
Restricting Access to Services. Variables Available to Samba. Troubleshooting.
30. Setting Up a Network. About Networking. Hardware.
Network Cards Cabling. Hubs.
Assumptions. The Individual Systems.
Debian Differences.
The Server. Miscellany. Troubleshooting.
V. SERVICES AND SPECIAL APPLICATIONS.
31. Printing. Printing in Linux. Printing with lpr. Setting Up Printers.
Local Printers. Remote/Networked Printers. Raw Printers.
Managing Print Queues.
Peeking into Queues with lpq. Deleting Print Jobs with lprm. Taking Control with lpc.
Final Words. Troubleshooting.
32. File Transfer Protocol (FTP). FTP Overview. FTP Client. Downloading Files Using an FTP Session. Serving Files Using FTP.
FTP Server Overview. Anonymous FTP. Controlling Access. Shutting Down the FTP Server. File Placement.
Troubleshooting.
33. Apache and khttpd. Introduction to Apache. Overview of Operation. Basic Configuration.
Introduction to Configuration. Global Server Options. Defining the Document Name Space File Processing Directives. Directory Indexing Options. Customizing Error Messages. Configuring Settings on a Per Directory Basis. All About Logging.
Adding Security to Your Web Site.
Host-Based Authorization. User-Based Authorization.
Virtual Hosting.
Running a Single Server on Multiple IP Addresses. Running a Single Server with Multiple DNS Names. Running More Than One Web Server on the Same Machine.
Dynamic Shared Objects (DSO). Using Apache with SSL.
Overview of Secure Communications Concepts. Creating a Secure Web Server Using mod_ssl. Preparing Special Files Required for Security. Special Security Directives. Making Sure You Are Legal.
Case Study: Boosting Apache with khttpd.
34. TCP Wrappers. What Are TCP Wrappers? How TCP Wrappers Work. Implementing TCP Wrappers.
Daemons and Wildcards. Clients, Patterns, and Hostnames. Forms and Operators. Rules. Character Expansion. Miscellaneous Concerns.
tcpdchk. tcpdmatch. Case Study: Site Construction.
35. IP Masquerading. IP Masquerading, Network Address Translation, and Port Forwarding. Required Kernel Components. Setup. SNAT. DNAT. Project: Building a NAT System.
36. IP Firewalling. Introduction to Firewalls.
Packet Filters. Proxy Firewalls. Which to Use?
Physical Configurations.
The Firewall Host.
The Firewall Kernel.
Networking Options.
Software Considerations. Other Considerations. iptables General Information.
Chains. iptables Tables.
User-Defined Chains. Simple Firewall Policies.
What to Filter and Where. What Not to Filter.
Monitoring. Under Attack. Network Security Policy. Project: A Simple Packet-Filtering Firewall.
Planning. Loading the Modules. Implementing the Policies.
37. Remote Administration. Encryption. OpenSSL. OpenSSH.
OpenSSH and.
Net_SSLeay. Webmin.
Webmin Overview.
Troubleshooting.
VI. APPENDIXES.
Appendix A. Commonly Used Commands. Working with Commands. OPTIONS. Working with Directories. Working with Files. Networking Utilities. System Utilities.
Appendix B. Finding More Information on Linux. OpenLinux-Specific. Debian-Specific. Red Hat-Specific. Linux General.
Linux Standard Base. Linux International. XFree86. Glide. 3D Games. The K Desktop Environment. Themes.org. Open Source Organization. Linux Laptop Page. Linux Professional Institute (LPI). Metalab (formerly Sunsite). TSX-11. The Linux Kernel Archives. Kernel Notes. Linux Journal. Linux Magazine. Specialized Systems Consultants. Linux Resources. Linux Weekly News. Linux World. Freshmeat.net. Linuxberg. Download.com. Source Forge. Slashdot. Linsider and Linsight. Linux News. Linux.com.
Specific Components Support.
The Linux Kernel Archive. The Linux Kernel. Linux SMP. Linux USB Site. Linux Links. Linux FAT32 Support. Linux/Microcontroller Home Page. Linux at CESDIS. Linux in Business Settings. Multicast and MBONE on Linux-Overview. The Linux Programmer's BouncePoint. SSH-Products. OpenSSL. OpenSSH. FreeSSH. mgetty + sendfax Documentation Centre. Consistent Backspace and Delete Configuration. ISDN for Linux. Ghostscript, Ghostview, and Gsview. Sound Blaster AWE 32/64 HOWTO. ALSA Project Page. Linux Parallel Port Home Page. NSBD: Not-So-Bad Distribution. Linux PCMCIA Information. BIND, DHCP, INN Home Page (ISConsortium). Lin Modems. Linux IP Masquerade Resource. DNS tools. Netatalk-Essential for Apple Connectivity. Anders: Netatalk: Linux Netatalk-HOWTO. Samba. Linux Plug-Ins for Netscape. XFree86 Servers by SuSE. Third-Party Quickcam Software Page. The Mesa 3D Graphics Library. WhirlGIF 2.01. BTTV Page Frame Grabber for Linux. XVidCap-X Video Capture for Linux. kwintv.
Index