Synopses & Reviews
How Linux Works describes the inside of the Linux system for systems administrators, whether they maintain an extensive network in the office or one Linux box at home. Some books try to give you copy-and-paste instructions for how to deal with every single system issue that may arise, but How Linux Works actually shows you how the Linux system functions so that you can come up with your own solutions. After a guided tour of filesystems, the boot sequence, system management basics, and networking, author Brian Ward delves into open-ended topics such as development tools, custom kernels, and buying hardware, all from an administrator's point of view. With a mixture of background theory and real-world examples, this book shows both "how" to administer Linux, and "why" each particular technique works, so that you will know how to make Linux work for you.
How Linux Works describes the inside of the Linux system for systems administrators, whether they maintain an extensive network in the office or one Linux box at home. Some books try to give you copy-and-paste instructions
About the Author
Brian Ward has been working with Linux since 1993, when he scraped together enough pennies for a secondhand 386. He has a Ph.D. in computer science from the University of Chicago, and currently works in San Francisco as a consultant and instructor. He is author of the Linux Kernel-HOWTO, The Book of VMware and The Linux Problem Solver.
Table of Contents
; PREFACE; Prerequisites; Kernel Chapter; Acknowledgments; Chapter 1: THE BASICS; 1.1 About /bin/sh; 1.2 Using the Shell; 1.3 Basic Commands; 1.4 Using Directory Commands; 1.5 Intermediate Commands; 1.6 Changing Your Password and Shell; 1.7 Dot Files; 1.8 Environment and Shell Variables; 1.9 The Command Path; 1.10 Special Characters; 1.11 Command-Line Editing; 1.12 Text Editors; 1.13 Getting Online Help; 1.14 Shell Input and Output; 1.15 Understanding Error Messages; 1.16 Processes; 1.17 File Modes and Permissions; 1.18 Archiving and Compressing Files; Chapter 2: DEVICES, DISKS, FILESYSTEMS, AND THE KERNEL; 2.1 Directory Hierarchy; 2.2 The Kernel; 2.3 Devices; 2.4 Filesystems; 2.5 Swap and Virtual Memory; Chapter 3: HOW LINUX BOOTS; 3.1 init; 3.2 Boot Loaders; 3.3 Virtual Consoles; Chapter 4: ESSENTIAL SYSTEM FILES, SERVERS, AND UTILITIES; 4.1 System Logging; 4.2 A Glance at /etc; 4.3 User Management Files; 4.4 getty and login; 4.5 Setting the Time; 4.6 Scheduling Recurring Tasks with cron; 4.7 Scheduling One-Time Tasks with at; 4.8 Tracking Individual Processes; 4.9 Adjusting Process Priorities; 4.10 Monitoring System Performance; 4.11 Running Commands as the Superuser; Chapter 5: CONFIGURING YOUR NETWORK; 5.1 Network Layers; 5.2 The Internet Layer; 5.3 Basic ICMP Tools; 5.4 Configuring Interfaces and the Host-to-Network Layer; 5.5 Configuring a Default Gateway; 5.6 Resolving Hostnames; 5.7 Using DHCP Clients; 5.8 PPP Connections; 5.9 Broadband Connections; 5.10 Ethernet Networks; 5.11 Configuring Routes; 5.12 The Transport Layer: TCP, UDP, and Services; 5.13 Firewalls; 5.14 Network Address Translation (IP Masquerading); 5.15 Wireless Ethernet; Chapter 6: NETWORK SERVICES; 6.1 The Basics of Services; 6.2 Stand-Alone Servers; 6.3 The inetd Daemon; 6.4 Secure Shell (SSH); 6.5 Diagnostic Tools; 6.6 Remote Procedure Call (RPC); 6.7 Network Security; Chapter 7: INTRODUCTION TO SHELL SCRIPTS; 7.1 Shell Script Basics; 7.2 Quoting; 7.3 Special Variables; 7.4 Exit Codes; 7.5 Conditionals; 7.6 Loops; 7.7 Command Substitution; 7.8 Temporary File Management; 7.9 Here Documents; 7.10 Important Shell Script Utilities; 7.11 Subshells; 7.12 Including Other Files in Scripts; 7.13 Reading User Input; 7.14 Too Much?; Chapter 8: DEVELOPMENT TOOLS; 8.1 The C Compiler; 8.2 Debuggers; 8.3 Lex and Yacc; 8.4 Scripting Languages; 8.5 Java; 8.6 Assembly Code and How a Compiler Works; Chapter 9: COMPILING SOFTWARE FROM SOURCE CODE; 9.1 Unpacking Source Packages; 9.2 GNU Autoconf; 9.3 Other Systems; 9.4 Installation Practice; 9.5 Applying a Patch; 9.6 Troubleshooting Compiles and Installations; Chapter 10: MAINTAINING THE KERNEL; 10.1 Do You Need to Build Your Own Kernel?; 10.2 What You Need to Build a Kernel; 10.3 Getting the Source Code; 10.4 Configuring and Compiling the Kernel; 10.5 Installing Your Kernel with a Boot Loader; 10.6 Testing the Kernel; 10.7 Boot Floppies; 10.8 Working with Loadable Kernel Modules; Chapter 11: CONFIGURING AND MANIPULATING PERIPHERAL DEVICES; 11.1 Floppy Drives; 11.2 CD Writers; 11.3 Introduction to USB; 11.4 IEEE 1394/FireWire Disks; 11.5 Hotplug Support; 11.6 PC Cards (PCMCIA); 11.7 Approaching Other Devices; Chapter 12: PRINTING; 12.1 PostScript; 12.2 Print Servers; 12.3 Print Filters; 12.4 Print Clients; 12.5 CUPS; 12.6 Ghostscript; 12.7 Further Printing Topics; Chapter 13: BACKUPS; 13.1 What Should You Back Up?; 13.2 Backup Hardware; 13.3 Full and Incremental Backups; 13.4 Using tar for Backups and Restores; 13.5 Backups to Non-Traditional Media; 13.6 Tape Drive Devices; 13.7 Other Archivers; 13.8 Further Backup Topics; Chapter 14: SHARING FILES WITH SAMBA; 14.1 Configuring the Server; 14.2 Starting the Server; 14.3 Diagnostics and Log Files; 14.4 Sharing Files; 14.5 Sharing Printers; 14.6 Using the Samba Client; Chapter 15: NETWORK FILE TRANSFER; 15.1 rsync Basics; 15.2 Checksums and Verbose Transfers; 15.3 Compression; 15.4 Limiting Bandwidth; 15.5 Transferring Files to Your Computer; 15.6 Further rsync Topics; Chapter 16: USER ENVIRONMENTS; 16.1 Appropriate Startup Files; 16.2 Shell Startup File Elements; Chapter 17: BUYING HARDWARE FOR LINUX; 17.1 Core Components; 17.2 Other Hardware Components; 17.3 A Word About Hardware Upgrades; 17.4 Saving Money; 17.5 Notebooks; 17.6 Smaller Designs; Chapter 18: FURTHER DIRECTIONS; 18.1 Additional Topics; 18.2 Final Thoughts; Command Classification; BIBLIOGRAPHY;