Linux Cookbook [Electronic resources] نسخه متنی

اینجــــا یک کتابخانه دیجیتالی است

با بیش از 100000 منبع الکترونیکی رایگان به زبان فارسی ، عربی و انگلیسی

Linux Cookbook [Electronic resources] - نسخه متنی

Carla Schroder

| نمايش فراداده ، افزودن یک نقد و بررسی
افزودن به کتابخانه شخصی
ارسال به دوستان
جستجو در متن کتاب
بیشتر
تنظیمات قلم

فونت

اندازه قلم

+ - پیش فرض

حالت نمایش

روز نیمروز شب
جستجو در لغت نامه
بیشتر
لیست موضوعات
توضیحات
افزودن یادداشت جدید

Table of Contents
Index
Cooking with Linux, Part 2
Cooking with Linux, Part 1
Linux Cookbook
By
Carla Schroder
Publisher: O'Reilly
Pub Date: November 2004
ISBN: 0-596-00640-3
Pages: 580

Copyright
Dedication
Preface

Recipe Audience

Recipe What Is Included/Omitted

Recipe Platforms

Recipe Conventions

Recipe Downloads and Feedback

Recipe Comments and Questions

Recipe Acknowledgments


Chapter 1.
Finding Documentation


Section 1.1.
Introduction

Recipe 1.2.
Understanding man Pages

Recipe 1.3.
Finding Appropriate man Pages

Recipe 1.4.
Finding Lost man Pages

Recipe 1.5.
Reading man Pages Without a man Viewer

Recipe 1.6.
Configuring Your manpath

Recipe 1.7.
Using info Pages

Recipe 1.8.
Printing man Pages

Recipe 1.9.
Printing info Pages

Recipe 1.10.
Printing Selected man or info Pages

Recipe 1.11.
Finding All of the Documentation for a Program


Chapter 2.
Installing and Managing Software on RPM-Based Systems


Section 2.1.
Introduction

Recipe 2.2.
Installing RPMs

Recipe 2.3.
Upgrading RPMs

Recipe 2.4.
Removing RPMs

Recipe 2.5.
Collecting Information on Installed RPMs

Recipe 2.6.
Collecting Information from RPMs That Are Not Installed

Recipe 2.7.
Finding Recently Installed RPMs

Recipe 2.8.
Rebuilding the RPM Database

Recipe 2.9.
Tracking Source-Built Libraries on an RPM-Based System

Recipe 2.10.
Fixing RPM Installation Problems

Recipe 2.11.
Installing Source RPMs

Recipe 2.12.
Customizing Build Options in a Source RPM

Recipe 2.13.
Installing Yum

Recipe 2.14.
Configuring Yum

Recipe 2.15.
Installing and Upgrading Packages with Yum

Recipe 2.16.
Removing Packages with Yum

Recipe 2.17.
Getting Information on Installed Packages with Yum

Recipe 2.18.
Maintaining Yum


Chapter 3.
Installing and Managing Software on Debian-Based Systems


Section 3.1.
Introduction

Recipe 3.2.
Getting Software for a Debian System

Recipe 3.3.
Installing Debian Packages from CD-ROM

Recipe 3.4.
Installing Packages on Debian-Based Systems

Recipe 3.5.
Removing Packages from a Debian System

Recipe 3.6.
Installing from Sources on a Debian System

Recipe 3.7.
Upgrading Packages on Debian

Recipe 3.8.
Upgrading a Debian System

Recipe 3.9.
Upgrading to a Newer Debian Release

Recipe 3.10.
Running a Mixed Debian System

Recipe 3.11.
Finding Out What Is Installed on a Debian System

Recipe 3.12.
Maintaining the Debian Package Cache

Recipe 3.13.
Resolving Debian Dependency Conflicts

Recipe 3.14.
Building a Local Debian Repository

Recipe 3.15.
Selecting Package Mirrors for apt-proxy.conf

Recipe 3.16.
Adding Your Existing Package Cache to apt-proxy.conf


Chapter 4.
Installing Programs from Source Code


Section 4.1.
Introduction

Recipe 4.2.
Preparing Your System for Compiling Programs from Sources

Recipe 4.3.
Generating a List of Files from a Source Install for Easy Uninstalls

Recipe 4.4.
Installing Programs from Source Code

Recipe 4.5.
Using CheckInstall to Create Packages from Sources


Chapter 5.
Discovering Hardware from Outside the Box


Section 5.1.
Introduction

Recipe 5.2.
Detecting Hardware with lspci

Recipe 5.3.
Using dmesg to Collect Hardware Information

Recipe 5.4.
Getting Live Hardware Snapshots with /proc

Recipe 5.5.
Viewing Drive Partitions with fdisk

Recipe 5.6.
Calculating Hard Drive Capacity


Chapter 6.
Editing Text Files with JOE and Vim


Section 6.1.
Introduction

Recipe 6.2.
Finding JOE Commands

Recipe 6.3.
Customizing JOE

Recipe 6.4.
Organizing JOE's Preferences in a Separate File

Recipe 6.5.
Copying Between Two Files in JOE

Recipe 6.6.
Searching and Replacing in JOE

Recipe 6.7.
Selecting Text Vertically in JOE

Recipe 6.8.
Finding and Opening Files in JOE

Recipe 6.9.
Learning Vim Quickly

Recipe 6.10.
Creating Autotext with Vim's Abbreviations

Recipe 6.11.
Mapping Commands to Keystrokes

Recipe 6.12.
Customizing Vim

Recipe 6.13.
Navigating Quickly in Vim with Marks

Recipe 6.14.
Picking Up Where You Left Off: Using Vim's Sessions

Recipe 6.15.
Setting Your Default Editor

Recipe 6.16.
Discovering Vim's Compile-Time Options


Chapter 7.
Starting and Stopping Linux


Section 7.1.
Introduction

Recipe 7.2.
Changing Runlevels After Bootup

Recipe 7.3.
Changing the Default Runlevel

Recipe 7.4.
Starting and Stopping X

Recipe 7.5.
Managing Debian's Runlevels

Recipe 7.6.
Creating Both Text and Graphical Login Runlevels on Debian

Recipe 7.7.
Managing Red Hat's Runlevels

Recipe 7.8.
Manually Configuring Startup Services

Recipe 7.9.
Manually Starting and Stopping Services

Recipe 7.10.
Shutting Down or Rebooting Linux

Recipe 7.11.
Disabling or Limiting Access to Ctrl-Alt-Delete

Recipe 7.12.
Shutting Down Automatically


Chapter 8.
Managing Users and Groups


Section 8.1.
Introduction

Recipe 8.2.
Sorting Human Users from System Users

Recipe 8.3.
Finding a User's UID and GID

Recipe 8.4.
Adding Users with useradd

Recipe 8.5.
Adding Users with adduser

Recipe 8.6.
Modifying User Accounts

Recipe 8.7.
Deleting a User

Recipe 8.8.
Killing User Processes the Easy, Fun Way

Recipe 8.9.
Disabling Accounts

Recipe 8.10.
Managing Passwords

Recipe 8.11.
Adding Groups with groupadd

Recipe 8.12.
Deleting Groups with groupdel

Recipe 8.13.
Creating a System User

Recipe 8.14.
Creating System Groups with addgroup

Recipe 8.15.
Adding and Deleting Group Members

Recipe 8.16.
Checking Password File Integrity

Recipe 8.17.
Adding New Users in Batches

Recipe 8.18.
Changing Masses of Passwords

Recipe 8.19.
Adding Batches of Users to Groups

Recipe 8.20.
Using su to Be Root Temporarily

Recipe 8.21.
Granting Limited Rootly Powers with sudo

Recipe 8.22.
Using Disk Quotas


Chapter 9.
Managing Files and Partitions


Section 9.1.
Introduction

Recipe 9.2.
Setting File and Directory Permissions with chmod's Numeric Notation

Recipe 9.3.
Doing Batch Operations with chmod

Recipe 9.4.
Setting File and Directory Permissions with chmod's Symbolic Notation

Recipe 9.5.
Setting File Ownership with chown

Recipe 9.6.
Doing Batch Operations with chown

Recipe 9.7.
Setting Up a Shared Directory with setgid and the Sticky Bit

Recipe 9.8.
Setting Permissions Defaults with umask

Recipe 9.9.
Mounting and Unmounting Removable Disks

Recipe 9.10.
Configuring Filesystem Mounts with /etc/fstab

Recipe 9.11.
Mounting and Unmounting Filesystems on Hard Drives

Recipe 9.12.
Finding Device Names for mount and fstab

Recipe 9.13.
Creating Files and Directories

Recipe 9.14.
Deleting Files and Directories

Recipe 9.15.
Copying, Moving, and Renaming Files and Directories

Recipe 9.16.
Creating Linux Disk Partitions with fdisk

Recipe 9.17.
Creating a Filesystem on a New Partition


Chapter 10.
Patching, Customizing, and Upgrading Kernels


Section 10.1.
Introduction

Recipe 10.2.
Adding New Features to the 2.4 Kernel

Recipe 10.3.
Slimming a Stock 2.4 Kernel

Recipe 10.4.
Upgrading to the Latest Stable Version of the 2.4 Kernel

Recipe 10.5.
Building the 2.6 Kernel

Recipe 10.6.
Adding New Features to the 2.6 Kernel

Recipe 10.7.
Adding a New Loadable Kernel Module

Recipe 10.8.
Patching a Kernel

Recipe 10.9.
Removing a Kernel Patch

Recipe 10.10.
Creating an initrd Image

Recipe 10.11.
Creating a Boot Disk on Debian

Recipe 10.12.
Creating a Boot Disk on Red Hat


Chapter 11.
CD and DVD Recording


Section 11.1.
Introduction

Recipe 11.2.
Finding the SCSI Address for CD and DVD Writers

Recipe 11.3.
Enabling SCSI Emulation for IDE/Atapi CD and DVD Writers

Recipe 11.4.
Making a Data CD for General Distribution

Recipe 11.5.
Building File Trees on a Data CD

Recipe 11.6.
Copying a CD or DVD

Recipe 11.7.
Erasing a CD-RW

Recipe 11.8.
Recording a Multisession Data CD

Recipe 11.9.
Creating a Bootable CD

Recipe 11.10.
Spanning a Large File over Several CDs

Recipe 11.11.
Recording Data DVDs

Recipe 11.12.
Recording an Audio CD for Standard CD Players


Chapter 12.
Managing the Bootloader and Multi-Booting


Section 12.1.
Introduction

Recipe 12.2.
Migrating from LILO to GRUB

Recipe 12.3.
Installing GRUB Without a Floppy Disk

Recipe 12.4.
Installing GRUB with grub-install

Recipe 12.5.
Preparing a System for Multibooting Linux

Recipe 12.6.
Adding More Linuxes to a Multiboot System

Recipe 12.7.
Discovering Boot Parameters from the GRUB Command Shell

Recipe 12.8.
Configuring the Boot Partition

Recipe 12.9.
Creating the GRUB Boot Menu

Recipe 12.10.
Customizing menu.lst

Recipe 12.11.
Adding Windows 95/98/ME to a Linux System

Recipe 12.12.
Adding Windows NT/2000/XP to a Multiboot System

Recipe 12.13.
Restoring GRUB to the MBR with a Knoppix CD

Recipe 12.14.
Protecting System Files with a GRUB Password

Recipe 12.15.
Locking Out Users from Individual GRUB Menu Entries

Recipe 12.16.
Creating a GRUB Splash Image

Recipe 12.17.
Booting Linux with LILO

Recipe 12.18.
Multibooting Linuxes with LILO

Recipe 12.19.
Multibooting Windows and Linux with LILO

Recipe 12.20.
Creating a LILO Boot Diskette

Recipe 12.21.
Password-Protecting LILO

Recipe 12.22.
Backing Up the MBR


Chapter 13.
System Rescue and Recovery with Knoppix


Section 13.1.
Introduction

Recipe 13.2.
Booting Knoppix

Recipe 13.3.
Creating a Knoppix Boot Diskette

Recipe 13.4.
Saving Your Knoppix Configuration on a USB Memory Stick

Recipe 13.5.
Creating a Persistent, Encrypted Knoppix Home Directory

Recipe 13.6.
Copying Files to Another Linux PC

Recipe 13.7.
Copying Files to a Samba Share

Recipe 13.8.
Copying Files to a CD-R/RW

Recipe 13.9.
Editing Configuration Files from Knoppix

Recipe 13.10.
Installing Software from Knoppix

Recipe 13.11.
Repairing a Lost Root Password

Recipe 13.12.
Installing Knoppix to a Hard Disk

Recipe 13.13.
Virus-Scanning Windows PCs with Knoppix


Chapter 14.
Printing with CUPS


Section 14.1.
Introduction

Recipe 14.2.
Installing a Printer on a Standalone Linux PC

Recipe 14.3.
Serving Linux Clients

Recipe 14.4.
Sharing a Printer Without Using Name Resolution

Recipe 14.5.
Serving Windows Clients Without Samba

Recipe 14.6.
Sharing Printers on a Mixed LAN with Samba

Recipe 14.7.
Building a Dedicated CUPS Printer Server

Recipe 14.8.
Distributed Printing with Classes

Recipe 14.9.
Restricting Users from Printers and Classes

Recipe 14.10.
Troubleshooting


Chapter 15.
Configuring Video and Managing X Windows


Section 15.1.
Introduction

Recipe 15.2.
Using Both X Windows and Consoles

Recipe 15.3.
Installing a New Video Adapter

Recipe 15.4.
Editing XF86Config

Recipe 15.5.
Enabling 3D Hardware Acceleration with XFree86/DRI

Recipe 15.6.
Troubleshooting 3D Acceleration Problems

Recipe 15.7.
Configuring a Multihead Display

Recipe 15.8.
Choosing Different ServerLayouts at Startup

Recipe 15.9.
Setting a Default ServerLayout

Recipe 15.10.
Configuring startx

Recipe 15.11.
Changing Your Login Display Manager

Recipe 15.12.
Running Different Window Managers Simultaneously with Xnest


Chapter 16.
Backup and Recovery


Section 16.1.
Introduction

Recipe 16.2.
Using rsync for Local File Transfers and Synchronization

Recipe 16.3.
Making Secure Transfers with rsync and ssh

Recipe 16.4.
Building an rsync Backup Server

Recipe 16.5.
Securing rsync Modules

Recipe 16.6.
Building an Anonymous Public rsync Server

Recipe 16.7.
Launching the rsync Daemon at Startup

Recipe 16.8.
Fine-Tuning File Selection

Recipe 16.9.
Automating rsync over ssh Backups

Recipe 16.10.
Limiting rsync's Bandwidth Requirements

Recipe 16.11.
Customizing Filepaths in rsync

Recipe 16.12.
Installing rsync on Windows Clients

Recipe 16.13.
Creating a Message of the Day for rsync

Recipe 16.14.
Creating a Bootable System Restore CD with Mondo Rescue

Recipe 16.15.
Verifying the Mondo Backup

Recipe 16.16.
Creating a Bootable System Restore DVD with Mondo Rescue

Recipe 16.17.
Using Mondo Rescue to Clone Linux Systems

Recipe 16.18.
Using the mindi-kernel for a "Sane" Backup

Recipe 16.19.
Restoring a System from a Mondo Rescue Disk

Recipe 16.20.
Restoring Selected Files from a Mondo Disk


Chapter 17.
Remote Access


Section 17.1.
Introduction

Recipe 17.2.
Setting Up OpenSSH the First Time

Recipe 17.3.
Generating New Host Keys

Recipe 17.4.
Authenticating Via Public Keys

Recipe 17.5.
Using Multiple Key Pairs

Recipe 17.6.
Passwordless Logins with ssh-agent

Recipe 17.7.
Better Passwordless Logins with keychain

Recipe 17.8.
Passwordless Logins for cron Jobs

Recipe 17.9.
Shutting Down ssh-agent Automatically at Logout

Recipe 17.10.
Customizing the Bash Prompt for ssh

Recipe 17.11.
Tunneling X over SSH

Recipe 17.12.
Connecting from a Windows PC

Recipe 17.13.
Setting File Permissions on ssh Files


Chapter 18.
Version Control


Section 18.1.
Introduction

Recipe 18.2.
Building a Simple Local RCS Repository

Recipe 18.3.
Retrieving Older File Revisions from RCS

Recipe 18.4.
Comparing File Versions in RCS

Recipe 18.5.
Managing System Configuration Files with RCS

Recipe 18.6.
Using CVS for a Single-User Local Repository

Recipe 18.7.
Adding New Files to a CVS Repository

Recipe 18.8.
Deleting Files from a CVS Repository

Recipe 18.9.
Creating a Shared CVS Repository

Recipe 18.10.
Sharing a Single Repository Between Several Groups

Recipe 18.11.
Accessing a Remote CVS Repository

Recipe 18.12.
Updating Your Working Files in CVS

Recipe 18.13.
Retrieving Specific Older Revisions from CVS

Recipe 18.14.
Building an Anonymous Read-Only CVS Repository with Pserver

Recipe 18.15.
Mirroring a CVS Repository

Recipe 18.16.
Storing Binary Files in CVS

Recipe 18.17.
Creating Release Snapshots with Tags

Recipe 18.18.
Creating Stable and Development Branches for a Project

Recipe 18.19.
Customizing Your CVS Environment

Recipe 18.20.
Calculating Storage Size for a CVS Repository


Chapter 19.
Keeping Time with NTP


Section 19.1.
Introduction

Recipe 19.2.
Building a Local Time Server

Recipe 19.3.
Connecting to a Local Time Server

Recipe 19.4.
Adding Access Controls

Recipe 19.5.
Deciding Which NTP Pools to Use

Recipe 19.6.
Connecting to a Time Server from an Intermittent Connection

Recipe 19.7.
Setting Up Multiple Local Time Servers

Recipe 19.8.
Using NTP Keys for Authentication


Chapter 20.
Building a Postfix Mail Server


Section 20.1.
Introduction

Recipe 20.2.
Building a POP3 Mail Server

Recipe 20.3.
Building a POP3 Mail Server on Debian

Recipe 20.4.
Testing the SMTP/POP3 Mail Server

Recipe 20.5.
Sending Internet Mail

Recipe 20.6.
Receiving Internet Mail

Recipe 20.7.
Installing Cyrus-SASL for SMTP Authorization

Recipe 20.8.
Installing Cyrus-SASL on Debian

Recipe 20.9.
Setting Up smtp-auth to Authenticate Users

Recipe 20.10.
Using smtp-auth to Authenticate Postfix to Another Server

Recipe 20.11.
Configuring a Fully Qualified Domain Name

Recipe 20.12.
Building an IMAP Mail Server

Recipe 20.13.
Connecting Your Users

Recipe 20.14.
Sharing IMAP Folders

Recipe 20.15.
Using Postfix's Virtual Mailbox Domains

Recipe 20.16.
Creating a Mail List with couriermlm

Recipe 20.17.
Administering a couriermlm List

Recipe 20.18.
Squirreling Around with Webmail

Recipe 20.19.
Table of SMTP Response Codes and SMTP Commands


Chapter 21.
Managing Spam and Malware


Section 21.1.
Introduction

Recipe 21.2.
Basic Checklist: Preparing to Build Spam Malware Defenses

Recipe 21.3.
Safely Testing New UBE Controls in Postfix

Recipe 21.4.
Basic UBE Configurations for Postfix

Recipe 21.5.
Creating Whitelists

Recipe 21.6.
Using DNS Blackhole Lists

Recipe 21.7.
Rejecting Messages with Attachments

Recipe 21.8.
Setting Up Clam Anti-Virus on a Postfix Server

Recipe 21.9.
Setting Up SpamAssassin on Postfix with Amavisd-new

Recipe 21.10.
Setting Up SpamAssassin Without Amavisd-new


Chapter 22.
Running an Apache Web Server


Section 22.1.
Introduction

Recipe 22.2.
Installing Apache 2.0 from Sources

Recipe 22.3.
Adding New Modules After Installation

Recipe 22.4.
Setting Apache File Permissions and Ownership

Recipe 22.5.
Accessing the Apache User's Manual Locally

Recipe 22.6.
Setting Up a Simple Public Web Server

Recipe 22.7.
Redirecting URLs to a New Directory

Recipe 22.8.
Giving Users Individual Web Directories

Recipe 22.9.
Starting Apache at Boot

Recipe 22.10.
Hosting Multiple Domains with Apache

Recipe 22.11.
Using Individual Log Files for Virtual Hosts

Recipe 22.12.
Keeping LAN Web Sites Off the Internet

Recipe 22.13.
Password-Protecting Individual Directories

Recipe 22.14.
Using robots.txt to Control Web Crawlers

Recipe 22.15.
Blocking Obnoxious Visitors

Recipe 22.16.
Making Custom Error Pages

Recipe 22.17.
Customizing Apache's Default Error Pages

Recipe 22.18.
Making Full-Length Directory Indexes

Recipe 22.19.
Using Content Negotiation to Deliver Pages in Different Languages

Recipe 22.20.
Using Favicons

Recipe 22.21.
Viewing Apache Access Logs with Webalizer


Chapter 23.
File and Printer Sharing, and Domain Authentication with Samba


Section 23.1.
Introduction

Recipe 23.2.
Building a Simple Anonymous Samba File Server for Windows

Recipe 23.3.
Building a Windows/Linux Peer Network

Recipe 23.4.
Enabling File Sharing on Windows PCs

Recipe 23.5.
Adding Authentication to a Samba Server

Recipe 23.6.
Batch-Converting System Users to Samba Users

Recipe 23.7.
Managing Samba Logins from Windows 95/98/ME

Recipe 23.8.
Dealing with Windows Encrypted Password Confusion

Recipe 23.9.
Controlling Share Access with Access Control Lists

Recipe 23.10.
Creating Public Shares for Users

Recipe 23.11.
Accessing Users' Home Directories in Samba

Recipe 23.12.
Building a Primary Domain Controller with Samba

Recipe 23.13.
Connecting Windows 95/98/ME to a Samba Domain

Recipe 23.14.
Connecting Windows NT/2000 Clients to a Samba Domain

Recipe 23.15.
Connecting Windows XP Clients to a Samba Domain

Recipe 23.16.
Enabling Roaming Profiles

Recipe 23.17.
Connecting Linux Clients to a Samba File Server or Peer Network

Recipe 23.18.
Connecting Linux Clients to Samba Workgroups with Command-Line Tools

Recipe 23.19.
Connecting Linux Clients to a Samba Domain with GUI LAN Browsers

Recipe 23.20.
Connecting Linux Clients to a Samba Domain with Command-Line Tools

Recipe 23.21.
Keeping Samba and Linux Passwords in Sync

Recipe 23.22.
Sharing Linux Printers with Windows

Recipe 23.23.
Sharing Windows Printers with Linux

Recipe 23.24.
Running Windows Applications on Linux with CrossOver Office


Chapter 24.
Managing Name Resolution


Section 24.1.
Introduction

Recipe 24.2.
Enabling Local Name Resolution with hosts Files

Recipe 24.3.
Setting Up a DHCP Server

Recipe 24.4.
Configuring dhcp Clients

Recipe 24.5.
Adding Static Hosts to dhcp

Recipe 24.6.
Running a Public DNS Server

Recipe 24.7.
Installing djbdns

Recipe 24.8.
Moving tinydns's and dnscache's Logfiles

Recipe 24.9.
Running a Local Caching Name Server with djbdns

Recipe 24.10.
Configuring Linux and Windows Clients to Use Your Caching DNS Server

Recipe 24.11.
Building a Public DNS Server with tinydns

Recipe 24.12.
Building a Private tinydns Server

Recipe 24.13.
Enabling Simple Load Balancing with tinydns

Recipe 24.14.
Synchronizing with a Second tinydns Server

Recipe 24.15.
Running a Local Caching Name Server with BIND

Recipe 24.16.
Running a Private BIND DNS Server

Recipe 24.17.
Checking Syntax

Recipe 24.18.
Configuring a Public BIND DNS Server

Recipe 24.19.
Building a BIND Secondary Server

Recipe 24.20.
Simple Load Balancing with BIND

Recipe 24.21.
Testing Your tinydns Server

Recipe 24.22.
Testing and Querying DNS Servers with dig and dnstrace


Appendix A.
Finding Linux Documentation

Recipe A.1.
Linux Documentation on the Web

Recipe A.2.
Books and Magazines


Appendix B.
Online References

Recipe B.1.
Hardware Web Sites

Recipe B.2.
Usenet


Appendix C.
Microsoft File Types


Appendix D.
Init Script for CVSD
Colophon
Index

/ 435