The Debian System: Concepts and Techniques

Martin F. Krafft

  • 出版商: No Starch Press
  • 出版日期: 2005-09-29
  • 售價: $1,670
  • 貴賓價: 9.5$1,587
  • 語言: 英文
  • 頁數: 608
  • 裝訂: Paperback
  • ISBN: 1593270690
  • ISBN-13: 9781593270698
  • 已過版

買這商品的人也買了...

商品描述

Description:

Despite its reputation as an operating system exclusively for professionals and hardcore computer hobbyists, Debian's open development cycle and strict quality control have helped it to gain popularity. With an installed base thats growing annually by an estimated 25 percent, Debian clearly has its fair share of fans (not to mention the newsmaking Debian-based Linux distributions such as Knoppix, Ubuntu, and Xandros).

Unlike other popular Linux distributions, the Debian GNU/Linux operating system favors text-based configuration over graphical user interfaces (GUIs). In The Debian System, author Martin Krafft, an experienced Debian developer, introduces the concept of the Debian operating system, and explains how to use its various tools and techniques as well as the pitfalls and the thinking behind each. Debian may appear simplistic, but it is actually quite robust, scalable, and secure. After reading The Debian System, youll see that strict adherence to standards, highly experienced developers, a clear vision and goals, and a certain degree of academic perfection make Debian the exceptional system that it is today.

This is a fascinating, must-have volume that UNIX and Linux administrators will find complements the standard Linux references and will quickly orient you to Debian's unique philosophy and structure. Co-published with Open Source Press, an independent publisher based in Munich that specializes in the field of free and open source software.

 

 

Table of Contents:

1 Introduction
1.1 About this book
1.2 Target audience
1.2.1 The Linux administrator
1.2.2 The Unix administrator
1.2.3 The Debian user
1.2.4 The Linux apprentice
1.3 How to use this book
1.4 Final notes
1.4.1 Conventions
1.4.2 Keeping up to date
1.4.3 An urgent plea for feedback
1.5 About the author
1.6 Acknowledgements

2 The Debian project in a nutshell
2.1 A history lesson
2.2 The Debian philosophy
2.2.1 Debian and its users
2.2.2 Free beer and free speech
2.2.3 Debian and the market
2.3 Licensing issues
2.4 The Debian community
2.4.1 Organization of the project
2.4.2 Social aspects of the community
2.4.3 Social aspects of the group of developers
2.5 Helping the Debian project
2.5.1 Contributing to the project
2.5.2 Becoming a Debian developer
2.6 The Debian swirl

3 Installing Debian the right way
3.1 The Debian installer
3.1.1 Features of the new installer
3.1.2 System requirements
3.2 The minimalistic approach to installation
3.2.1 Installing the base system
3.2.2 Configuring the base system
3.3 Configuring the X server
3.3.1 An overview of X in Debian
3.3.2 Integrating automatic hardware detection
3.3.3 Dealing with unsupported hardware
3.3.4 Customizing the X session

4 Debian releases and archives
4.1 Structure of the Debian archive
4.1.1 The package pool
4.1.2 Package indices
4.1.3 The Release files
4.2 The package upload
4.3 The official releases
4.3.1 The unstable release
4.3.2 The testing release
4.3.3 The stable release
4.4 Unofficial APT archives
4.4.1 The experimental archive
4.4.2 The volatile archive
4.4.3 The amd64 archive
4.4.4 The *計roposed赴pdates archives
4.4.5 The backports.org archive
4.4.6 The apt茆et.org directory
4.4.7 Christian Marillat's multimedia archive
4.5 Architecture support
4.5.1 80386 ?the processor
4.5.2 The amd64 architecture
4.5.3 Multi苔rch

5 The Debian package management system
5.1 Requirements
5.2 Introducing Debian packages
5.2.1 Package categories
5.2.2 Package priorities
5.2.3 Anatomy of binary packages
5.2.4 The control files
5.3 Dealing with packages: dpkg
5.3.1 Handling binary packages
5.3.2 Installing packages
5.3.3 Configuration file handling
5.3.4 Interacting with the package database
5.3.5 Deinstalling packages
5.3.6 Overriding dpkg's sanity and policy checks
5.3.7 Dealing with errors in packages
5.3.8 dpkg configuration
5.3.9 dselect
5.4 Managing packages: APT
5.4.1 Specifying repositories
5.4.2 APT configuration
5.4.3 Installing packages
5.4.4 Searching the APT database
5.4.5 Inquiring about package dependencies
5.4.6 Deinstalling and purging packages
5.4.7 Seamless upgrades
5.4.8 Enacting requests with APT
5.4.9 APT housekeeping
5.4.10 Resolving problems with APT
5.4.11 aptitude
5.4.12 synaptic
5.5 Debian tasks
5.6 Package management compared
5.7 Power from within: the Debian policy
5.7.1 The sacred configuration files
5.7.2 Mediating between packages
5.7.3 Package relations
5.7.4 The Filesystem Hierarchy Standard
5.7.5 Version numbers
5.7.6 Upgrading packages
5.8 debconf: configuration of Debian packages
5.8.1 An overview of debconf
5.8.2 Priority levels
5.8.3 debconf front苟nds
5.8.4 Reconfiguring packages
5.8.5 debconf in action
5.8.6 Using a remote database back苟nd
5.8.7 Problems and shortcomings
5.9 Modifying packages
5.9.1 Recompiling packages
5.9.2 Repacking packages
5.10 Integrating non胖ebian software
5.10.1 alien
5.10.2 checkinstall
5.10.3 equivs
5.11 Miscellaneous package tools
5.11.1 debsums
5.11.2 apt衍istchanges
5.11.3 apt衍istbugs
5.11.4 cron苔pt
5.11.5 deborphan
5.11.6 Keeping a clean system: debfoster
5.11.7 Caching APT archives
5.11.8 Mirroring the Debian archive: debmirror
5.11.9 Enhanced queries of the package database
5.11.10 Package popularity contest
5.11.11 Purposely omitted tools
5.12 Debian kernels
5.12.1 Kernel support
5.12.2 Anatomy of the kernel packages
5.12.3 Sources, headers, and documentation
5.12.4 Kernel modules and patches

6 Debian system administration
6.1 Fundamentals
6.1.1 Using directories instead of configuration files
6.1.2 Overriding permissions
6.1.3 Overriding files
6.1.4 The alternatives system
6.1.5 The Debian menu system
6.2 Users and authentication
6.2.1 System users and groups
6.2.2 User and group management
6.2.3 PAM . Pluggable Authentication Modules
6.3 System initialization and automatic processes
6.3.1 The system initialization process
6.3.2 Regular maintenance processes
6.3.3 Backups
6.4 Device management
6.4.1 discover and hotplug
6.4.2 kmod, the kernel autoloader
6.4.3 Loading modules during startup
6.5 Configuring kernel parameters
6.6 Log file management
6.6.1 Monitoring logs with logcheck
6.7 Network configuration management
6.7.1 Network configuration with ifupdown
6.7.2 Using DHCP to obtain a network address
6.7.3 Managing /etc/resolv.conf
6.7.4 Connectivity via PPP
6.7.5 Integrating PCMCIA network cards
6.7.6 Integrating wireless network interfaces
6.7.7 Miscellaneous network options
6.8 Administering inetd, the Internet superserver
6.9 Integrated management tools
6.9.1 wajig
6.9.2 feta
6.10 System administration resources

7 Security of the Debian system

7.1 Handling security problems
7.2 Security updates
7.3 Security out of the box
7.4 Package quality
7.5 Package integrity
7.5.1 Manual verification of package integrity
7.5.2 Secure APT
7.5.3 debsigs and dpkg貞ig

8 Advanced concepts
8.1 Building kernel packages with make虺pkg
8.1.1 Using initial ramdisks
8.1.2 Patching the kernel
8.1.3 Compiling modules
8.1.4 Cross苞ompiling for other architectures
8.1.5 Symlink farming
8.1.6 Configuring make虺pkg
8.2 Mixing releases
8.2.1 Pinning releases with APT
8.2.2 Selecting target releases
8.2.3 Extending APT's internal cache
8.2.4 Mixing releases and security updates
8.2.5 aptitude and multiple releases
8.3 Alternative approaches to installing a Debian system
8.3.1 Bootstrapping an installation
8.3.2 Booting the installation from the network (PXE)
8.3.3 Customizing the installer
8.3.4 Preseeding the installer
8.3.5 FAI: Fully automatic installations

9 Creating Debian packages
9.1 Manual packaging
9.2 Debianising with the package maintainer tools
9.2.1 A closer look at source packages
9.2.2 Investigating the upstream source tree
9.2.3 dhfimake
9.2.4 Building source packages
9.2.5 Jumpstarting with dhfimake
9.2.6 Writing debian/rules
9.2.7 Modifying the debian/* files
9.2.8 Creating the DEB file
9.2.9 Cleaning the source tree
9.2.10 Splitting and updating a package
9.2.11 The debhelper suite
9.2.12 The changes file
9.2.13 Verifying new packages
9.2.14 Signing the package files
9.2.15 Checking packages
9.2.16 Automating the package build
9.3 Local APT repositories
9.3.1 Anatomy of a personal repository
9.3.2 Upload tools
9.3.3 Automated repository management
9.4 Advanced package concepts
9.4.1 Package hook scripts
9.4.2 Using debconf
9.4.3 Library packages
9.5 Alternative build tools
9.5.1 cdbs
9.5.2 yada
9.6 Automating clean builds with pbuilder
9.6.1 Setting up a base tarball
9.6.2 Building packages with pbuilder
9.6.3 Using pbuilder to set up test systems
9.6.4 Mounting host directories inside the chroot
9.6.5 Modifying the tarball

10 Documentation and resources
10.1 Local documentation
10.2 Online resources
10.2.1 Official documentation and manuals
10.2.2 Semi觔fficial resources
10.2.3 Unofficial resources
10.3 Printed resources
10.4 Discussion forums
10.4.1 Mailing lists
10.4.2 Web forums
10.4.3 IRC . Internet Relay Chat
10.5 Contacting people
10.6 The bug tracking system
10.6.1 Querying the BTS
10.6.2 Querying bugs from the command line
10.6.3 Bug severities
10.6.4 Bug tags
10.6.5 Reporting bugs
10.6.6 Mail traffic following a bug report
10.6.7 Interacting with the BTS
10.6.8 Bugs against pseudo計ackages
10.6.9 Subscribing to a package's bug reports
10.6.10 Fixing bugs

Appendix
A Debian flavours and other Debian苑ased operating systems 559
A.1 CDDs . Custom Debian Distributions
A.2 Debian derivatives
A.2.1 Knoppix
A.2.2 Ubuntu
A.2.3 Gnoppix
A.2.4 MEPIS
A.2.5 MNIS
A.2.6 Quantian
A.2.7 Skolelinux
A.2.8 Adamantix
A.2.9 SELinux

B When is Debian the right choice?
B.1 You should run Debian if
B.2 You should probably choose something else, if

C Miscellaneous
C.1 Important GPG keys related to Debian
C.1.1 Official Debian archive signing keys
C.1.2 Other relevant signing keys
C.2 Setting up the filesystems
C.2.1 A sensible partition table
C.2.2 Supported filesystems
C.3 Extra packages
C.4 Configuring a local packet filter
C.5 Dual苑ooting with other operating systems
C.5.1 Chain衍oading other bootloaders
C.5.2 Dealing with Windows peculiarities

D The Debian Linux Manifesto

E Debian Social Contract
E.1 The current Social Contract
E.2 The future Social Contract

F The Debian Free Software Guidelines