Cover image for Linux Server Hacks, Volume Two

Book description

Today's system administrators deal with a vast number of situations, operating systems, software packages, and problems. Those who are in the know have kept their copy of Linux Server Hacks close at hand to ease their burden. And while this helps, it's not enough: any sys admin knows there are many more hacks, cool tips, and ways of solving problems than can fit in a single volume (one that mere mortals can lift, that is).

Which is why we created Linux Server Hacks, Volume Two, a second collection of incredibly useful tips and tricks for finding and using dozens of open source tools you can apply to solve your sys admin problems. The power and flexibility of Linux and Open Source means that there is an astounding amount of great software out there waiting to be applied to your sys admin problems -- if only you knew about it and had enough information to get started. Hence, Linux Server Hacks, Volume Two.

This handy reference offers 100 completely new server management tips and techniques designed to improve your productivity and sharpen your administrative skills. Each hack represents a clever way to accomplish a specific task, saving you countless hours of searching for the right answer. No more sifting through man pages, HOWTO websites, or source code comments -- the only resource you need is right here. And you don't have to be a system administrator with hundreds of boxen to get something useful from this book as many of the hacks apply equally well to a single system or a home network.

Compiled by experts, these hacks not only give you the step-by-step instructions necessary to implement the software, but they also provide the context to truly enable you to learn the technology. Topics include:

  • Authentication

  • Remote GUI connectivity

  • Storage management

  • File sharing and synchronizing resources

  • Security/lockdown instruction

  • Log files and monitoring

  • Troubleshooting

  • System rescue, recovery, and repair

Whether they help you recover lost data, collect information from distributed clients, or synchronize administrative environments, the solutions found in Linux Server Hacks, Volume Two will simplify your life as a system administrator.

Table of Contents

  1. Linux Server Hacks, Volume Two
  2. Credits
    1. About the Authors
    2. Contributors
    3. Acknowledgments
  3. Preface
    1. Why Linux Server Hacks, Volume Two?
    2. How to Use This Book
    3. How This Book Is Organized
    4. Conventions Used in This Book
    5. Using Code Examples
    6. How to Contact Us
    7. Safari® Enabled
    8. Got a Hack?
  4. 1. Linux Authentication
    1. 1.1. Hacks 1–9: Introduction
    2. Hack #1. Disable User Accounts Instantly
      1. 1.2.1. Disabling Accounts on Systems That Use Local Authentication
      2. 1.2.2. Disabling Accounts on Systems That Use Distributed Authentication
    3. Hack #2. Edit Your Password File for Greater Access Control
    4. Hack #3. Deny All Access in One Second or Less
      1. 1.4.1. See Also
    5. Hack #4. Customize Authentication with PAMs
      1. 1.5.1. PAM Overview
      2. 1.5.2. Per-Application/Service PAM Configuration Files
      3. 1.5.3. PAMs Used by the login Process
      4. 1.5.4. Configuration and More Configuration
      5. 1.5.5. What if PAM Configuration Files Are Missing?
      6. 1.5.6. See Also
    6. Hack #5. Authenticate Linux Users with a Windows Domain Controller
      1. 1.6.1. Software Requirements
      2. 1.6.2. Critical Samba Configuration for Using Windows Authentication
      3. 1.6.3. Updating /etc/nsswitch.conf
      4. 1.6.4. Integrating the pam_winbind.so PAM into System Authentication
      5. 1.6.5. Starting the winbindd Daemon
      6. 1.6.6. Joining the Domain
      7. 1.6.7. Testing Windows Authentication
      8. 1.6.8. Debugging Windows Authentication Problems
      9. 1.6.9. See Also
    7. Hack #6. Centralize Logins with LDAP
      1. 1.7.1. Installing LDAP Clients and Servers
      2. 1.7.2. Configuring an OpenLDAP Server
      3. 1.7.3. Migrating User, Password, and Group Entries to an LDAP Server
      4. 1.7.4. Updating Client Systems to Use LDAP Authentication
      5. 1.7.5. See Also
    8. Hack #7. Secure Your System with Kerberos
      1. 1.8.1. Installing Kerberos
      2. 1.8.2. Installing and Configuring a Kerberos Server
      3. 1.8.3. Installing and Configuring Kerberos Clients and Applications
      4. 1.8.4. Using Kerberos for Login Authentication
      5. 1.8.5. See Also
    9. Hack #8. Authenticate NFS-Lovers with NIS
      1. 1.9.1. Installing NIS Clients and Servers
      2. 1.9.2. Setting Up an NIS Server
      3. 1.9.3. Setting Up an NIS Client
      4. 1.9.4. See Also
    10. Hack #9. Sync LDAP Data with NIS
      1. 1.10.1. The Code
      2. 1.10.2. Running the Code
      3. 1.10.3. See Also
  5. 2. Remote GUI Connectivity
    1. 2.1. Hacks 10–19: Introduction
    2. Hack #10. Access Systems Remotely with VNC
      1. 2.2.1. Understanding the VNC Server Startup Process
      2. 2.2.2. Starting Your VNC Server
      3. 2.2.3. Connecting to a VNC Server
      4. 2.2.4. Customizing Your VNC Server's X Window System Environment
      5. 2.2.5. Stopping Your VNC Server
      6. 2.2.6. Optimizing VNC Performance
      7. 2.2.7. See Also
    3. Hack #11. Access VNC Servers over the Web
      1. 2.3.1. Installing Java Classes and Associated Files for the VNC Server
      2. 2.3.2. See Also
    4. Hack #12. Secure VNC via SSH
      1. 2.4.1. Forwarding Remote VNC Ports to Your Current Host
      2. 2.4.2. Public or Private VNC Forwarding
      3. 2.4.3. Forwarding Ports Without Remote Login
      4. 2.4.4. Improving Performance with Compression
      5. 2.4.5. Optimizing Graphical Updates Between Server and Viewer
      6. 2.4.6. See Also
    5. Hack #13. Autostart VNC Servers on Demand
      1. 2.5.1. Integrating Xvnc with inetd or xinetd
      2. 2.5.2. Activating XDMCP
      3. 2.5.3. Starting the Viewer
      4. 2.5.4. Troubleshooting Xvnc Startup
      5. 2.5.5. See Also
    6. Hack #14. Put Your Desktops on a Thin Client Diet
      1. 2.6.1. Understanding the LTSP Client Boot Process
      2. 2.6.2. Downloading and Installing the LTSP Software
      3. 2.6.3. Configuring and Starting the LTSP Server
      4. 2.6.4. Preparing LTSP Client Boot Media
      5. 2.6.5. Booting an LTSP Client
      6. 2.6.6. See Also
    7. Hack #15. Run Windows over the Network
      1. 2.7.1. Opening Your Connection
      2. 2.7.2. Mapping Local Devices to Your Remote Session
      3. 2.7.3. See Also
    8. Hack #16. Secure, Lightweight X Connections with FreeNX
      1. 2.8.1. Installing the FreeNX Server
      2. 2.8.2. Installing the NX Client
      3. 2.8.3. Configuring and Starting Your NX Client
      4. 2.8.4. See Also
    9. Hack #17. Secure VNC Connections with FreeNX
      1. 2.9.1. Creating an NX Client Configuration for VNC
      2. 2.9.2. See Also
    10. Hack #18. Secure Windows Terminal Connections with FreeNX
      1. 2.10.1. Creating an NX Client Configuration for a Windows Terminal Server
      2. 2.10.2. See Also
    11. Hack #19. Remote Administration with Webmin
      1. 2.11.1. Installation
      2. 2.11.2. Configure Away!
      3. 2.11.3. See Also
  6. 3. System Services
    1. 3.1. Hacks 20–28: Introduction
    2. Hack #20. Quick and Easy DHCP Setup
      1. 3.2.1. Installing a DHCP Server
      2. 3.2.2. Configuring Simple DHCP Services
      3. 3.2.3. Fire It Up!
      4. 3.2.4. See Also
    3. Hack #21. Integrate DHCP and DNS with Dynamic DNS Updates
      1. 3.3.1. Configuring the BIND 9 Name Server
      2. 3.3.2. Configuring the ISC DHCP Server
      3. 3.3.3. Starting the Services and Troubleshooting
      4. 3.3.4. See Also
    4. Hack #22. Synchronize Your Watches!
      1. 3.4.1. Hey! My Servers Are Gone!
      2. 3.4.2. See Also
    5. Hack #23. Centralize X Window System Font Resources
      1. 3.5.1. Billions and Billions of Fonts…
      2. 3.5.2. Setting Up an X Font Server
      3. 3.5.3. Copying Fonts to a Font Server
      4. 3.5.4. Starting or Restarting the X Font Server
      5. 3.5.5. Updating Desktop Systems to Use an X Font Server
      6. 3.5.6. Troubleshooting
      7. 3.5.7. Summary
      8. 3.5.8. See Also
    6. Hack #24. Create a CUPS Print Server
      1. 3.6.1. Defining a New Printer in CUPS
      2. 3.6.2. Testing CUPS Printing
      3. 3.6.3. Fine-Tuning Printer Configuration in CUPS
      4. 3.6.4. Enabling Remote Printing on the CUPS Server
      5. 3.6.5. Troubleshooting CUPS Printing
      6. 3.6.6. Summary
      7. 3.6.7. See Also
    7. Hack #25. Configure Linux Connections to Remote CUPS Printers
      1. 3.7.1. Defining a Remote Printer in CUPS
      2. 3.7.2. Summary
      3. 3.7.3. See Also
    8. Hack #26. Integrate Windows Printing with CUPS
      1. 3.8.1. Configuring Printing from Windows 2000/XP Systems
      2. 3.8.2. Server-Side Configuration for HTTP Printing
      3. 3.8.3. Troubleshooting Windows Printing to CUPS Servers
      4. 3.8.4. See Also
    9. Hack #27. Centralize Macintosh Printing with CUPS
      1. 3.9.1. Configuring Access to a Remote CUPS Server
      2. 3.9.2. Server-Side Configuration for HTTP Printing
      3. 3.9.3. Testing Printing from Mac OS X to Your CUPS Server
      4. 3.9.4. Troubleshooting Mac OS X Printing to CUPS Servers
      5. 3.9.5. See Also
    10. Hack #28. Define a Secure CUPS Printer
      1. 3.10.1. Enabling Remote Printing on a CUPS Server
      2. 3.10.2. Restricting Printer Access to Specific IP Addresses
      3. 3.10.3. Restricting Printer Access to Specific Users
      4. 3.10.4. Summary
      5. 3.10.5. See Also
  7. 4. Cool Sysadmin Tools and Tips
    1. 4.1. Hacks 29–45: Introduction
    2. Hack #29. Execute Commands Simultaneously on Multiple Servers
      1. 4.2.1. See Also
    3. Hack #30. Collaborate Safely with a Secured Wiki
      1. 4.3.1. Installing MediaWiki
      2. 4.3.2. Configuring MediaWiki
      3. 4.3.3. Getting Started: Data Structure
    4. Hack #31. Edit Your GRUB Configuration with grubby
    5. Hack #32. Give Your Tab Key a Workout
      1. 4.5.1. See Also
    6. Hack #33. Keep Processes Running After a Shell Exits
      1. 4.6.1. Using nohup to Execute Commands
      2. 4.6.2. Using disown with Background Jobs
      3. 4.6.3. See Also
    7. Hack #34. Disconnect Your Console Without Ending Your Session
      1. 4.7.1. screen Scripting
      2. 4.7.2. See Also
    8. Hack #35. Use script to Save Yourself Time and Train Others
      1. 4.8.1. See Also
    9. Hack #36. Install Linux Simply by Booting
      1. 4.9.1. Preparatory Steps
        1. 4.9.1.1. Configuring DHCP.
        2. 4.9.1.2. Configuring a TFTP server.
      2. 4.9.2. Getting It Working
      3. 4.9.3. Quick Troubleshooting
    10. Hack #37. Turn Your Laptop into a Makeshift Console
      1. 4.10.1. Introducing minicom
      2. 4.10.2. Testing It
      3. 4.10.3. Troubleshooting
    11. Hack #38. Usable Documentation for the Inherently Lazy
    12. Hack #39. Exploit the Power of Vim
      1. 4.12.1. Recording a Vim Macro
      2. 4.12.2. Creating Vim Shortcut Keys
    13. Hack #40. Move Your PHP Web Scripting Skills to the Command Line
      1. 4.13.1. The Code
      2. 4.13.2. Running the Code
    14. Hack #41. Enable Quick telnet/SSH Connections from the Desktop
      1. 4.14.1. See Also
    15. Hack #42. Speed Up Compiles
      1. 4.15.1. Using distcc
      2. 4.15.2. Distribute Compiles to Windows Machines
    16. Hack #43. Avoid Common Junior Mistakes
      1. 4.16.1. Don't Take the root Name in Vain
      2. 4.16.2. Don't Get Too Comfortable
      3. 4.16.3. Don't Perform Production Commands "Off the Cuff"
      4. 4.16.4. Ask Questions
    17. Hack #44. Get Linux Past the Gatekeeper
      1. 4.17.1. Don't Talk Money
      2. 4.17.2. Don't Talk About Linux in a Vacuum
      3. 4.17.3. Don't Pitch Linux for Something It's Not Well Suited For
      4. 4.17.4. Don't Be Impatient
    18. Hack #45. Prioritize Your Work
      1. 4.18.1. Prioritizing Tasks
        1. 4.18.1.1. Doing tasks in list order.
        2. 4.18.1.2. Prioritizing based on customer expectations.
      2. 4.18.2. Prioritizing Projects
        1. 4.18.2.1. Prioritization for impact.
        2. 4.18.2.2. Prioritizing requests from your boss.
      3. 4.18.3. Summary
  8. 5. Storage Management and Backups
    1. 5.1. Hacks 46–55: Introduction
    2. Hack #46. Create Flexible Storage with LVM
      1. 5.2.1. Logical Volume Buzzwords
      2. 5.2.2. Allocating Physical Volumes
      3. 5.2.3. Assigning Physical Volumes to Volume Groups
      4. 5.2.4. Creating a Logical Volume from a Volume Group
      5. 5.2.5. Suggestions
      6. 5.2.6. See Also
    3. Hack #47. Combine LVM and Software RAID
      1. 5.3.1. Mirroring and Redundancy
      2. 5.3.2. Overview of RAID Levels
      3. 5.3.3. Combining Software RAID and LVM
      4. 5.3.4. Creating RAID Devices
      5. 5.3.5. Combining RAID and LVM
      6. 5.3.6. See Also
    4. Hack #48. Create a Copy-on-Write Snapshot of an LVM Volume
      1. 5.4.1. Kernel Support for Snapshots
      2. 5.4.2. Creating a Snapshot
      3. 5.4.3. Mounting a Snapshot
      4. 5.4.4. See Also
    5. Hack #49. Clone Systems Quickly and Easily
      1. 5.5.1. Building partimage
      2. 5.5.2. Cloning Partitions Using partimage
      3. 5.5.3. Restoring Partitions Using partimage
      4. 5.5.4. Summary
      5. 5.5.5. See Also
    6. Hack #50. Make Disk-to-Disk Backups for Large Drives
      1. 5.6.1. Convenient Removable Media Technologies for Backups
      2. 5.6.2. Choosing the Right Backup Command
      3. 5.6.3. The Code
      4. 5.6.4. Running the Code
      5. 5.6.5. Choosing What to Back Up
      6. 5.6.6. Summary and Tips
    7. Hack #51. Free Up Disk Space Now
    8. Hack #52. Share Files Using Linux Groups
      1. 5.8.1. Linux Protections 101
      2. 5.8.2. Setting the umask to Create Sharable Files
      3. 5.8.3. Using Directory Permissions to Set Group Membership
      4. 5.8.4. See Also
    9. Hack #53. Refine Permissions with ACLs
      1. 5.9.1. Installing and Activating ACL Support
        1. 5.9.1.1. Kernel ACL support.
        2. 5.9.1.2. fstab ACL support.
        3. 5.9.1.3. User-space ACL support.
      2. 5.9.2. Overview of Linux ACLs and Utilities
      3. 5.9.3. Displaying Current ACLs
      4. 5.9.4. Setting ACLs
      5. 5.9.5. See Also
    10. Hack #54. Make Files Easier to Find with Extended Attributes
      1. 5.10.1. Getting and Installing Extended Attribute Support
        1. 5.10.1.1. Configuring your kernel for extended attributes.
        2. 5.10.1.2. Configuring fstab for extended attributes.
        3. 5.10.1.3. Installing user-space applications for extended attributes.
      2. 5.10.2. Displaying Extended Attributes and Their Values
      3. 5.10.3. Setting Extended Attributes
      4. 5.10.4. Removing Extended Attributes
      5. 5.10.5. Searching Using Extended Attributes
    11. Hack #55. Prevent Disk Hogs with Quotas
      1. 5.11.1. Setting Up Disk Quotas
      2. 5.11.2. Installing the Quota Software
      3. 5.11.3. Entering Single-User Mode
      4. 5.11.4. Editing /etc/fstab
      5. 5.11.5. Initializing the Quota Configuration Files
      6. 5.11.6. Configuring Your Quotas
      7. 5.11.7. See Also
  9. 6. Standardizing, Sharing, and Synchronizing Resources
    1. 6.1. Hacks 56–62: Introduction
    2. Hack #56. Centralize Resources Using NFS
      1. 6.2.1. Configuring the NFS Server
      2. 6.2.2. Configuring the NFS Clients
      3. 6.2.3. Configuring the Service
      4. 6.2.4. A Final Consideration
    3. Hack #57. Automount NFS Home Directories with autofs
    4. Hack #58. Keep Filesystems Handy, but Out of Your Way
      1. 6.4.1. amd Configuration in a Nutshell
    5. Hack #59. Synchronize root Environments with rsync
      1. 6.5.1. See Also
    6. Hack #60. Share Files Across Platforms Using Samba
      1. 6.6.1. Setting Up Simple Samba Shares
    7. Hack #61. Quick and Dirty NAS
      1. 6.7.1. Selecting the Hardware
      2. 6.7.2. Installing and Configuring Linux
      3. 6.7.3. Configuring User Storage
      4. 6.7.4. Configuring System Services
      5. 6.7.5. Deploying NAS Storage
      6. 6.7.6. Summary
      7. 6.7.7. See Also
    8. Hack #62. Share Files and Directories over the Web
      1. 6.8.1. Installing and Configuring Apache's WebDAV Support
      2. 6.8.2. Creating WebDAV Users and Directories
      3. 6.8.3. See Also
  10. 7. Security
    1. 7.1. Hacks 63–68: Introduction
    2. Hack #63. Increase Security by Disabling Unnecessary Services
      1. 7.2.1. Examining /etc/inittab
      2. 7.2.2. Optimizing Per-Runlevel Startup Scripts
      3. 7.2.3. Streamlining Services Run by the Internet Daemon
      4. 7.2.4. Summary
    3. Hack #64. Allow or Deny Access by IP Address
      1. 7.3.1. Protecting Your Machine with hosts.allow and hosts.deny
      2. 7.3.2. Configuring hosts.allow and hosts.deny for Use
      3. 7.3.3. Hacking the Hack
      4. 7.3.4. See Also
    4. Hack #65. Detect Network Intruders with snort
      1. 7.4.1. Installing snort
      2. 7.4.2. Configuring snort
      3. 7.4.3. Starting snort
      4. 7.4.4. Advanced snort
      5. 7.4.5. Summary
      6. 7.4.6. See Also
    5. Hack #66. Tame Tripwire
      1. 7.5.1. Installing Tripwire
      2. 7.5.2. Tripwire's Execution Configuration File
      3. 7.5.3. Tripwire's Policy Configuration File
      4. 7.5.4. Preparing Tripwire for Use
      5. 7.5.5. Running Your First Filesystem Integrity Check
      6. 7.5.6. TripWire Tips
    6. Hack #67. Verify Fileystem Integrity with Afick
      1. 7.6.1. Installing Afick
      2. 7.6.2. Configuring Afick to Match Your System
      3. 7.6.3. Running Afick
      4. 7.6.4. Securing Afick
      5. 7.6.5. Updating Your Database
      6. 7.6.6. Conclusion
      7. 7.6.7. See Also
    7. Hack #68. Check for Rootkits and Other Attacks
      1. 7.7.1. Types of Rootkits
      2. 7.7.2. Obtaining, Building, and Installing chkrootkit
      3. 7.7.3. Running chkrootkit
      4. 7.7.4. Automating chkrootkit
      5. 7.7.5. Summary
      6. 7.7.6. See Also
  11. 8. Troubleshooting and Performance
    1. 8.1. Hacks 69–77: Introduction
    2. Hack #69. Find Resource Hogs with Standard Commands
      1. 8.2.1. What About Disk Hogs?
      2. 8.2.2. Bandwidth Hogging
    3. Hack #70. Reduce Restart Times with Journaling Filesystems
      1. 8.3.1. Journaling Filesystems 101
      2. 8.3.2. Journaling Filesystems Under Linux
      3. 8.3.3. Converting Existing Filesystems to Journaling Filesystems
      4. 8.3.4. Summary
      5. 8.3.5. See Also
    4. Hack #71. Grok and Optimize Your System with sysctl
    5. Hack #72. Get the Big Picture with Multiple Displays
      1. 8.5.1. See Also
    6. Hack #73. Maximize Resources with a Minimalist Window Manager
      1. 8.6.1. Getting and Installing Fluxbox
      2. 8.6.2. Start Me Up, Scotty!
      3. 8.6.3. Configure Fluxbox
      4. 8.6.4. The Slit
      5. 8.6.5. Make It Pretty!
      6. 8.6.6. Minimal Hassle
      7. 8.6.7. See Also
    7. Hack #74. Profile Your Systems Using /proc
      1. 8.7.1. The Code
    8. Hack #75. Kill Processes the Right Way
      1. 8.8.1. Killing Processes in the Right Order
      2. 8.8.2. Stopping and Restarting a Process
      3. 8.8.3. The Last Resort
      4. 8.8.4. See Also
    9. Hack #76. Use a Serial Console for Centralized Access to Your Systems
      1. 8.9.1. The Options
      2. 8.9.2. Start at the Beginning: The Bootloader
      3. 8.9.3. Putting It All Together
      4. 8.9.4. Where to Go from Here
      5. 8.9.5. See Also
    10. Hack #77. Clean Up NIS After Users Depart
      1. 8.10.1. The Code
      2. 8.10.2. Running the Code
  12. 9. Logfiles and Monitoring
    1. 9.1. Hacks 78–88: Introduction
    2. Hack #78. Avoid Catastrophic Disk Failure
    3. Hack #79. Monitor Network Traffic with MRTG
      1. 9.3.1. Requirements
      2. 9.3.2. Installation
      3. 9.3.3. Automating MRTG
      4. 9.3.4. See Also
    4. Hack #80. Keep a Constant Watch on Hosts
    5. Hack #81. Remotely Monitor and Configure a Variety of Networked Equipment
      1. 9.5.1. The Code
      2. 9.5.2. Running the Code
    6. Hack #82. Force Standalone Apps to Use syslog
    7. Hack #83. Monitor Your Logfiles
      1. 9.7.1. Using log-guardian
      2. 9.7.2. Using logcheck
    8. Hack #84. Send Log Messages to Your Jabber Client
      1. 9.8.1. The Code
      2. 9.8.2. Running the Code
    9. Hack #85. Monitor Service Availability with Zabbix
      1. 9.9.1. Dependencies
      2. 9.9.2. Installing Zabbix
      3. 9.9.3. Monitoring Hosts
      4. 9.9.4. Mapping the Network
      5. 9.9.5. The Details
    10. Hack #86. Fine-Tune the syslog Daemon
      1. 9.10.1. Making Sense of syslog.conf
      2. 9.10.2. Real-Time Alerts from the System Log
      3. 9.10.3. Centralizing Logs for Convenient Access
      4. 9.10.4. See Also
    11. Hack #87. Centralize System Logs Securely
      1. 9.11.1. Getting Started
      2. 9.11.2. Creating Your Encryption Certificates
      3. 9.11.3. Configuring stunnel
      4. 9.11.4. Configuring syslog-ng
      5. 9.11.5. Testing
      6. 9.11.6. Where Next?
      7. 9.11.7. See Also
    12. Hack #88. Keep Tabs on Systems and Services
      1. 9.12.1. Enter Nagios
      2. 9.12.2. Hosts, Services, and Contacts, Oh My!
      3. 9.12.3. See Also
  13. 10. System Rescue, Recovery, and Repair
    1. 10.1. Hacks 89–100: Introduction
    2. Hack #89. Resolve Common Boot and Startup Problems
      1. 10.2.1. Check BIOS Settings
      2. 10.2.2. Fixing Runlevel or X Window System Problems
      3. 10.2.3. Regenerating a Default X Window System Configuration File
      4. 10.2.4. Booting to Single-User Mode
      5. 10.2.5. Resolving Filesystem Consistency Problems
      6. 10.2.6. See Also
    3. Hack #90. Rescue Me!
      1. 10.3.1. Downloading and Burning the Rescue Disk
      2. 10.3.2. Using the Rescue CD
      3. 10.3.3. See Also
    4. Hack #91. Bypass the Standard Init Sequence for Quick Repairs
    5. Hack #92. Find Out Why You Can't Unmount a Partition
      1. 10.5.1. Background
      2. 10.5.2. Finding Processes That Are Using a Filesystem
      3. 10.5.3. Listing Open Files
      4. 10.5.4. Summary
      5. 10.5.5. See Also
    6. Hack #93. Recover Lost Partitions
      1. 10.6.1. Looking for Partitions
      2. 10.6.2. Writing the Partition Table
      3. 10.6.3. See Also
    7. Hack #94. Recover Data from Crashed Disks
      1. 10.7.1. Popular Disk Failure Modes
      2. 10.7.2. Attempt to Read Block from Filesystem Resulted in Short Read…
      3. 10.7.3. Standard Filesystem Diagnostics and Repair
      4. 10.7.4. Removing an ext3 Filesystem's Journal
      5. 10.7.5. Cloning a Bad Disk Using ddrescue
      6. 10.7.6. Checking the Restored Disk
      7. 10.7.7. See Also
    8. Hack #95. Repair and Recover ReiserFS Filesystems
      1. 10.8.1. Correcting a Damaged ReiserFS Filesystem
      2. 10.8.2. Identifying Files and Directories in the ReiserFS lost+found
      3. 10.8.3. See Also
    9. Hack #96. Piece Together Data from the lost+found
      1. 10.9.1. Exploring the lost+found
      2. 10.9.2. Recovering Directories from the lost+found
      3. 10.9.3. Recovering Recognizable Groups of Files
      4. 10.9.4. Examining Individual Files
      5. 10.9.5. Summary
      6. 10.9.6. See Also
    10. Hack #97. Recover Deleted Files
      1. 10.10.1. Preventing Additional Changes to the Partition
      2. 10.10.2. Looking for the Missing Data
      3. 10.10.3. See Also
    11. Hack #98. Permanently Delete Files
      1. 10.11.1. Using the shred Utility
      2. 10.11.2. See Also
    12. Hack #99. Permanently Erase Hard Disks
      1. 10.12.1. Using shred to Wipe Hard Drives
      2. 10.12.2. Using Darik's Boot and Nuke
      3. 10.12.3. Summary
      4. 10.12.4. See Also
    13. Hack #100. Recover Lost Files and Perform Forensic Analysis
      1. 10.13.1. Building and Installing The Sleuth Kit
      2. 10.13.2. Building and Installing Autopsy and Related Software
      3. 10.13.3. Using The Sleuth Kit to Recover Deleted Files
      4. 10.13.4. Summary
      5. 10.13.5. See Also
  14. About the Authors
  15. Colophon
  16. Copyright