Previous Section  < Day Day Up >  Next Section

   
  
• Table of Contents
• Index
• Reviews
• Reader Reviews
• Errata
• Academic
• 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
Previous Section  < Day Day Up >  Next Section