SlideShare uma empresa Scribd logo
1 de 495
Baixar para ler offline
The Debian Administrator's Handbook
     Debian Squeeze from Discovery to Mastery



         Raphaël Hertzog and Roland Mas

                   May 9, 2012
The Debian Administrator's Handbook
by Raphaël Hertzog and Roland Mas

Copyright © 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Raphaël Hertzog
Copyright © 2006, 2007, 2008, 2009, 2010, 2011, 2012 Roland Mas
Copyright © 2012 Freexian SARL




ISBN: 979-10-91414-00-5 (paperback)
ISBN: 979-10-91414-01-2 (ebook)
This book is available under the terms of two licenses compatible with the Debian Free Software Guide-
lines.
Creative Commons License Notice: This book is licensed under a Creative Commons Attribution-
ShareAlike 3.0 Unported License.
² http://creativecommons.org/licenses/by-sa/3.0/
GNU General Public License Notice: This book is free documentation: you can redistribute it and/or
modify it under the terms of the GNU General Public License as published by the Free Software Founda-
tion, either version 2 of the License, or (at your option) any later version.
This book is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Gen-
eral Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see
http://www.gnu.org/licenses/.


 Show your appreciation
          This book is published under a free license because we want everybody to
          benefit from it. That said maintaining it takes time and lots of efforts, and
          we appreciate being thanked for this. If you find this book valuable, please
          consider contributing to its continued maintenance either by buying a pa-
          perback copy or by making a donation through the book's official website:
          ² http://debian-handbook.info
Contents
1. The Debian Project                                                                                                                                                                        1
  1.1 What Is Debian? . . . . . . . . . . . . . . . . . . . . . .                               .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    2
         1.1.1 A Multi-Platform Operating System . . . . . . . . . .                            .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    2
         1.1.2 The ality of Free Soware . . . . . . . . . . . . . .                           .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    4
         1.1.3 The Legal Framework: A Non-Profit Organization . . .                             .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    4
  1.2 The Foundation Documents . . . . . . . . . . . . . . .                                    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    5
         1.2.1 The Commitment towards Users . . . . . . . . . . . .                             .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    5
         1.2.2 The Debian Free Soware Guidelines . . . . . . . . .                             .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    7
  1.3 The Inner Workings of the Debian Project . . . . . .                                      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    9
         1.3.1 The Debian Developers . . . . . . . . . . . . . . . . .                          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   10
         1.3.2 The Active Role of Users . . . . . . . . . . . . . . . .                         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   14
         1.3.3 Teams and Sub-Projects . . . . . . . . . . . . . . . .                           .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   16
                    1.3.3.1 Existing Debian Sub-Projects . . . . . . . . . .                    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   16
                    1.3.3.2 Administrative Teams . . . . . . . . . . . . . .                    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   18
                    1.3.3.3 Development Teams, Transversal Teams . . . . . .                    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   20
  1.4 The Role of Distributions . . . . . . . . . . . . . . . . .                               .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   21
         1.4.1 The Installer: debian-installer . . . . . . . . . . . .                          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   21
         1.4.2 The Soware Library . . . . . . . . . . . . . . . . . .                          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   22
  1.5 Lifecycle of a Release . . . . . . . . . . . . . . . . . . .                              .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   22
         1.5.1 The Experimental Status . . . . . . . . . . . . . . . .                          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   22
         1.5.2 The Unstable Status . . . . . . . . . . . . . . . . . . .                        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   23
         1.5.3 Migration to Testing . . . . . . . . . . . . . . . . . .                         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   24
         1.5.4 The Promotion from Testing to Stable . . . . . . . . .                           .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   25
2. Presenting the Case Study                                                                                                                                                                31
  2.1 Fast Growing IT Needs . . . . . .             .   .  ..   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   32
  2.2 Master Plan . . . . . . . . . . . . .         .   .  ..   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   32
  2.3 Why a GNU/Linux Distribution?                 .   .  ..   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   33
  2.4 Why the Debian Distribution? .                .   .  ..   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   35
       2.4.1 Commercial and Community Driven Distributions .                                .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   35
  2.5 Why Debian Squeeze? . . . . . . . . . . . . . . . . .                                 .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   36
3. Analyzing the Existing Setup and Migrating                                                                                                                                               39
  3.1 Coexistence in Heterogeneous Environments . . . . . . . . . . . . . . . . . . . . . . . . . . .                                                                                       40
        3.1.1 Integration with Windows Machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                                                           40
        3.1.2 Integration with Mac OS machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                                                            40
3.1.3 Integration with Other Linux/Unix Machines                    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   40
          3.2 How To Migrate . . . . . . . . . . . .             . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   41
                3.2.1 Survey and Identify Services . . .         . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   41
                           3.2.1.1 Network and Processes . .     . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   41
                3.2.2 Backing up the Configuration . .           . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   42
                   3.2.3 Taking Over an Existing Debian Server .           .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   43
                   3.2.4 Installing Debian . . . . . . . . . . . .         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   44
                   3.2.5 Installing and Configuring the Selected Services                  .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   45
     4. Installation                                                                                                                                                                                   49
          4.1 Installation Methods            ...........                  .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   50
                4.1.1 Installing from a CD-ROM/DVD-ROM .                   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   50
                4.1.2 Booting from a USB Key . . . . . . . .               .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   51
                4.1.3 Installing through Network Booting . .               .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   52
                4.1.4 Other Installation Methods . . . . . . .             .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   52
          4.2 Installing, Step by Step . . . . . . . . . .                 .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   52
                4.2.1 Booting and Starting the Installer . . .             .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   52
                4.2.2 Selecting the language . . . . . . . . .             .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   54
                4.2.3 Selecting the country . . . . . . . . . .            .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   55
                4.2.4 Selecting the keyboard layout . . . . .              .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   56
                4.2.5 Detecting Hardware . . . . . . . . . .               .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   56
                4.2.6 Loading Components . . . . . . . . . .               .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   57
                4.2.7 Detecting Network Hardware . . . . .                 .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   57
                4.2.8 Configuring the Network . . . . . . . .              .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   57
                4.2.9 Configuring the Clock . . . . . . . . .              .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   58
                4.2.10 Administrator Password . . . . . . . .              .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   58
                4.2.11 Creating the First User . . . . . . . .             .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   59
                4.2.12 Detecting Disks and Other Devices . .               .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   59
                4.2.13 Starting the Partitioning Tool . . . . .            .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   59
                           4.2.13.1 Guided partitioning . . . . . .        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   61
                           4.2.13.2 Manual Partitioning . . . . . .        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   63
                               4.2.13.3 Configuring Multidisk Devices (Soware RAID)               .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   65
                               4.2.13.4 Configuring the Logical Volume Manager (LVM)                   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   65
                                                              ...
                               4.2.13.5 Seing Up Encrypted Partitions             .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   66
                   4.2.14 Installing the Base System ........                      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   67
                4.2.15 Configuring the Package Manager (apt) .                     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   67
                4.2.16 Debian Package Popularity Contest . . . .                   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   68
                4.2.17 Selecting Packages for Installation . . . .                 .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   69
                4.2.18 Installing the GRUB Bootloader . . . . . .                  .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   69
                4.2.19 Finishing the Installation and Rebooting .                  .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   70
          4.3 Aer the First Boot . . . . . . . . . . . . . .                      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   70
                4.3.1 Installing Additional Soware . . . . . . .                  .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   71
                4.3.2 Upgrading the System . . . . . . . . . . .                   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   72



IV   The Debian Administrator's Handbook
5. Packaging System: Tools and Fundamental Principles                                                                                                                                           75
  5.1 Structure of a Binary Package . . . . .                  ...             .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    76
  5.2 Package Meta-Information . . . . . . .                   ...             .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    78
        5.2.1 Description: the control File . . . . . .        ...             .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    78
                  5.2.1.1 Dependencies: the Depends Field .    ...             .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    79
                  5.2.1.2 Conflicts: the Conflicts field . . . ...             .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    81
                   5.2.1.3 Incompatibilities: the Breaks Field . . .           .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    81
                   5.2.1.4 Provided Items: the Provides Field . . .            .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    81
                   5.2.1.5 Replacing Files: The Replaces Field . . .           .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    84
        5.2.2 Configuration Scripts . . . . . . . . . . . . .                  .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    84
                   5.2.2.1 Installation and Upgrade . . . . . . .              .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    85
                   5.2.2.2 Package Removal . . . . . . . . . . .               .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    86
        5.2.3 Checksums, List of Configuration Files . . .                     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    87
  5.3 Structure of a Source Package . . . . . . . .                            .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    88
        5.3.1 Format . . . . . . . . . . . . . . . . . . . .                   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    88
        5.3.2 Usage within Debian . . . . . . . . . . . . .                    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    91
  5.4 Manipulating Packages with dpkg . . . . . .                              .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    92
        5.4.1 Installing Packages . . . . . . . . . . . . . .                  .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    92
        5.4.2 Package Removal . . . . . . . . . . . . . . .                    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    94
        5.4.3 Other dpkg Features . . . . . . . . . . . . .                    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    94
        5.4.4 dpkg's Log File . . . . . . . . . . . . . . . .                  .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    97
  5.5 Coexistence with Other Packaging Systems                                     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    98
6. Maintenance and Updates: The APT Tools                                                                                                                                                      101
  6.1 Filling in the sources.list File . . . . . . . . . .                             .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   102
         6.1.1 Other Available Official Repositories . . . . . . .                      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   104
                   6.1.1.1 Stable Updates . . . . . . . . . . . . . .                  .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   104
                   6.1.1.2 The Backports From backports.debian.org . .                 .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   105
                   6.1.1.3 The Experimental Repository . . . . . . .                   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   105
          6.1.2 Non-Official Resources: apt-get.org and mentors.debian.net                                      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   105
  6.2 aptitude and apt-get Commands                        .   .   .   .  ..   .   .   .   .   .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   106
        6.2.1 Initialization . . . . . . . . . . .      .  .   .   .   .  ..   .   .   .   .   .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   107
        6.2.2 Installing and Removing . . . . .         .  .   .   .   .  ..   .   .   .   .   .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   107
        6.2.3 System Upgrade . . . . . . . . .          .  .   .   .   .  ..   .   .   .   .   .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   109
        6.2.4 Configuration Options . . . . . .         .  .   .   .   .  ..   .   .   .   .   .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   110
        6.2.5 Managing Package Priorities . . .         .  .   .   .   .  ..   .   .   .   .   .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   111
        6.2.6 Working with Several Distributions           .   .   .   .  ..   .   .   .   .   .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   113
  6.3 The apt-cache Command . . . . . .                    .   .   .   .  ..   .   .   .   .   .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   114
  6.4 Frontends: aptitude, synaptic . . .                  .   .   .   .  ..   .   .   .   .   .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   115
        6.4.1 aptitude . . . . . . . . . . . . . .         .   .   .   .  ..   .   .   .   .   .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   115
                  6.4.1.1 Tracking Automatically Installed Packages       .    .   .   .   .   .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   116
                  6.4.1.2 Managing Recommendations, Suggestions and Tasks .                            .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   117
                  6.4.1.3 Beer Solver Algorithms . . . . . . . . . . . . .                            .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   118
        6.4.2 synaptic . . . . . . . . . . . . . . . . . . . . . . . . .                               .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   119


                                                                                                                                                                                           Contents   V
6.5 Checking Package Authenticity . . . . . . . . . . . . .                                          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   119
          6.6 Upgrading from One Stable Distribution to the Next                                               .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   121
                6.6.1 Recommended Procedure . . . . . . . . . . . . . . . .                                    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   121
                6.6.2 Handling Problems aer an Upgrade . . . . . . . . . . .                                  .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   122
          6.7 Keeping a System Up to Date . . . . . . . . . . . . . . .                                        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   123
          6.8 Automatic Upgrades . . . . . . . . . . . . . . . . . . . . .                                     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   125
                6.8.1 Configuring dpkg . . . . . . . . . . . . . . . . . . . . .                               .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   125
                6.8.2 Configuring APT . . . . . . . . . . . . . . . . . . . . .                                .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   126
                6.8.3 Configuring debconf . . . . . . . . . . . . . . . . . . .                                .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   126
                6.8.4 Handling Command Line Interactions . . . . . . . . . .                                   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   126
                6.8.5 The Miracle Combination . . . . . . . . . . . . . . . .                                  .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   126
          6.9 Searching for Packages . . . . . . . . . . . . . . . . . . .                                     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   127
     7. Solving Problems and Finding Relevant Information                                                                                                                                              131
          7.1 Documentation Sources . . .              .   .   .
                                                               .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   132
                7.1.1 Manual Pages . . . . . . . .     .   .   .
                                                               .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   132
                7.1.2 info Documents . . . . . . .     .   .   .
                                                               .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   134
                7.1.3 Specific Documentation . .       .   .   .
                                                               .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   135
                7.1.4 Websites . . . . . . . . . .     .   .   .
                                                               .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   135
                7.1.5 Tutorials (HOWTO) . . . . .      .   .   .
                                                               .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   136
          7.2 Common Procedures . . . . .              .   .   .
                                                               .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   137
                7.2.1 Configuring a Program . . .      .   .   .
                                                               .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   137
                   7.2.2 Monitoring What Daemons Are Doing .               .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   138
                   7.2.3 Asking for Help on a Mailing List . . .           .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   139
                   7.2.4 Reporting a Bug When a Problem Is Too Difficult                        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   139
     8. Basic Configuration: Network, Accounts, Printing…                                                                                                                                              143
          8.1 Configuring the System for Another Language                        .....             .                       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   144
                8.1.1 Seing the Default Language . . . . . . . . . . .      . .....               .                       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   144
                8.1.2 Configuring the Keyboard . . . . . . . . . . . .       . .....               .                       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   145
                8.1.3 Migrating to UTF-8 . . . . . . . . . . . . . . . .     . .....               .                       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   146
          8.2 Configuring the Network . . . . . . . . . . . . . .            . .....               .                       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   147
                8.2.1 Ethernet Interface . . . . . . . . . . . . . . . .     . .....               .                       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   149
                8.2.2 Connecting with PPP through a PSTN Modem .             . .....               .                       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   149
                8.2.3 Connecting through an ADSL Modem . . . . . .           . .....               .                       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   150
                           8.2.3.1 Modems Supporting PPPOE . . . . . . . .   . .....               .                       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   150
                           8.2.3.2 Modems Supporting PPTP . . . . . . . . .  . .....               .                       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   151
                           8.2.3.3 Modems Supporting DHCP . . . . . . . .    . .....               .                       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   151
                8.2.4 Automatic Network Configuration for Roaming Users . . . . .                                          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   151
          8.3 Seing the Hostname and Configuring the Name Service                                                             .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   152
                8.3.1 Name Resolution . . . . . . . . . . . . . . . . . . . . . . . .                                      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   153
                           8.3.1.1 Configuring DNS Servers . . . . . . . . . . . . . . . .                                 .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   153
                           8.3.1.2 The /etc/hosts file . . . . . . . . . . . . . . . . . .                                 .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   153
          8.4 User and Group Databases . . . . . . . . . . . . . . . . . . .                                               .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   154
                8.4.1 User List: /etc/passwd . . . . . . . . . . . . . . . . . . . . .                                     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   154


VI   The Debian Administrator's Handbook
8.4.2 The Hidden and Encrypted Password File:                           ..........
                                                                          /etc/shadow             .   .                                           .   .   .   .   .   .   .   .   .   .   .   155
        8.4.3 Modifying an Existing Account or Password . . . . . .              ..........       .   .                                           .   .   .   .   .   .   .   .   .   .   .   156
        8.4.4 Disabling an Account . . . . . . . . . . . . . . . . . .           ..........       .   .                                           .   .   .   .   .   .   .   .   .   .   .   156
        8.4.5 Group List: /etc/group . . . . . . . . . . . . . . . . .           ..........       .   .                                           .   .   .   .   .   .   .   .   .   .   .   156
  8.5 Creating Accounts . . . . . . . . . . . . . . . . . . . . .                ..........       .   .                                           .   .   .   .   .   .   .   .   .   .   .   157
  8.6 Shell Environment . . . . . . . . . . . . . . . . . . . . .                ..........       .   .                                           .   .   .   .   .   .   .   .   .   .   .   158
  8.7 Printer Configuration . . . . . . . . . . . . . . . . . . .                ..........       .   .                                           .   .   .   .   .   .   .   .   .   .   .   160
  8.8 Configuring the Bootloader . . . . . . . . . . . . . . .                   ..........       .   .                                           .   .   .   .   .   .   .   .   .   .   .   160
        8.8.1 Identifying the Disks . . . . . . . . . . . . . . . . . .          ..........       .   .                                           .   .   .   .   .   .   .   .   .   .   .   161
        8.8.2 Configuring LILO . . . . . . . . . . . . . . . . . . . .           ..........       .   .                                           .   .   .   .   .   .   .   .   .   .   .   163
        8.8.3 GRUB 2 Configuration . . . . . . . . . . . . . . . . .             ..........       .   .                                           .   .   .   .   .   .   .   .   .   .   .   164
        8.8.4 GRUB Legacy Configuration . . . . . . . . . . . . . .              ..........       .   .                                           .   .   .   .   .   .   .   .   .   .   .   165
        8.8.5 For Macintosh Computers (PowerPC): Configuring Yaboot . . . . . . . . . .                                                           .   .   .   .   .   .   .   .   .   .   .   166
  8.9 Other Configurations: Time Synchronization, Logs, Sharing Access…                                                                           .   .   .   .   .   .   .   .   .   .   .   167
        8.9.1 Timezone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                                    .   .   .   .   .   .   .   .   .   .   .   167
        8.9.2 Time Synchronization . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                                      .   .   .   .   .   .   .   .   .   .   .   169
                    8.9.2.1 For Workstations . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                              .   .   .   .   .   .   .   .   .   .   .   169
                    8.9.2.2 For Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                               .   .   .   .   .   .   .   .   .   .   .   169
        8.9.3 Rotating Log Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                                    .   .   .   .   .   .   .   .   .   .   .   170
        8.9.4 Sharing Administrator Rights . . . . . . . . . . . . . . . . . . . . . . . . .                                                      .   .   .   .   .   .   .   .   .   .   .   170
        8.9.5 List of Mount Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                                    .   .   .   .   .   .   .   .   .   .   .   171
        8.9.6 locate and updatedb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                                     .   .   .   .   .   .   .   .   .   .   .   173
  8.10 Compiling a Kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                                         .   .   .   .   .   .   .   .   .   .   .   173
        8.10.1 Introduction and Prerequisites . . . . . . . . . . . . . . . . . . . . . . . .                                                     .   .   .   .   .   .   .   .   .   .   .   174
        8.10.2 Geing the Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                                     .   .   .   .   .   .   .   .   .   .   .   174
        8.10.3 Configuring the Kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                                     .   .   .   .   .   .   .   .   .   .   .   175
        8.10.4 Compiling and Building the Package . . . . . . . . . . . . . . . . . . . . .                                                       .   .   .   .   .   .   .   .   .   .   .   176
        8.10.5 Compiling External Modules . . . . . . . . . . . . . . . . . . . . . . . . .                                                       .   .   .   .   .   .   .   .   .   .   .   177
        8.10.6 Applying a Kernel Patch . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                                    .   .   .   .   .   .   .   .   .   .   .   178
  8.11 Installing a Kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                                        .   .   .   .   .   .   .   .   .   .   .   179
        8.11.1 Features of a Debian Kernel Package . . . . . . . . . . . . . . . . . . . . .                                                      .   .   .   .   .   .   .   .   .   .   .   179
        8.11.2 Installing with dpkg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                                   .   .   .   .   .   .   .   .   .   .   .   180
9. Unix Services                                                                                                                                                                              183
  9.1 System Boot . . . . . . . . . . . .         .   .   .   .   .   .   .
                                                                          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   184
  9.2 Remote Login . . . . . . . . . . .          .   .   .   .   .   .   .
                                                                          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   188
        9.2.1 Remote Login: telnet . . . .        .   .   .   .   .   .   .
                                                                          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   189
        9.2.2 Secure Remote Login: SSH . .        .   .   .   .   .   .   .
                                                                          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   189
                  9.2.2.1 Key-Based Authentication    .   .   .   .   .   .
                                                                          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   190
                  9.2.2.2 Using Remote X11 Applications           .   .   .
                                                                          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   192
                  9.2.2.3 Creating Encrypted Tunnels with Port Forwarding .                       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   192
        9.2.3 Using Remote Graphical Desktops . . . . . . . . . . .                               .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   194
  9.3 Managing Rights . . . . . . . . . . . . . . . . . . . . . .                                 .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   195
  9.4 Administration Interfaces . . . . . . . . . . . . . . . .                                   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   198


                                                                                                                                                                                          Contents   VII
9.4.1 Administrating On a Web Interface:     webmin    .   .   .   .   .   ..  .   .   .   .   .   .   .   .   .   .   .   .       .   .   .   .   .   .   .   .   .   .   198
                  9.4.2 Configuring Packages: debconf . . . . . .           .   .   .   .   .   ..  .   .   .   .   .   .   .   .   .   .   .   .       .   .   .   .   .   .   .   .   .   .   199
            9.5 syslog System Events . . . . . . . . . . . . .              .   .   .   .   .   ..  .   .   .   .   .   .   .   .   .   .   .   .       .   .   .   .   .   .   .   .   .   .   200
                  9.5.1 Principle and Mechanism . . . . . . . . . .         .   .   .   .   .   ..  .   .   .   .   .   .   .   .   .   .   .   .       .   .   .   .   .   .   .   .   .   .   200
                  9.5.2 The Configuration File . . . . . . . . . . .        .   .   .   .   .   ..  .   .   .   .   .   .   .   .   .   .   .   .       .   .   .   .   .   .   .   .   .   .   201
                             9.5.2.1 Syntax of the Selector . . . . . . . . .   .   .   .   .   ..  .   .   .   .   .   .   .   .   .   .   .   .       .   .   .   .   .   .   .   .   .   .   201
                             9.5.2.2 Syntax of Actions . . . . . . . . . .  .   .   .   .   .   ..  .   .   .   .   .   .   .   .   .   .   .   .       .   .   .   .   .   .   .   .   .   .   202
            9.6 The inetd Super-Server . . . . . . . . . . . .              .   .   .   .   .   ..  .   .   .   .   .   .   .   .   .   .   .   .       .   .   .   .   .   .   .   .   .   .   203
            9.7 Scheduling Tasks with cron and atd . . .                    .   .   .   .   .   ..  .   .   .   .   .   .   .   .   .   .   .   .       .   .   .   .   .   .   .   .   .   .   204
                  9.7.1 Format of a crontab File . . . . . . . . . .        .   .   .   .   .   ..  .   .   .   .   .   .   .   .   .   .   .   .       .   .   .   .   .   .   .   .   .   .   205
                  9.7.2 Using the at Command . . . . . . . . . .            .   .   .   .   .   ..  .   .   .   .   .   .   .   .   .   .   .   .       .   .   .   .   .   .   .   .   .   .   207
            9.8 Scheduling Asynchronous Tasks: anacron                      .   .   .   .   .   ..  .   .   .   .   .   .   .   .   .   .   .   .       .   .   .   .   .   .   .   .   .   .   208
            9.9 otas . . . . . . . . . . . . . . . . . . . . . . .         .   .   .   .   .   ..  .   .   .   .   .   .   .   .   .   .   .   .       .   .   .   .   .   .   .   .   .   .   208
            9.10 Backup . . . . . . . . . . . . . . . . . . . . . .         .   .   .   .   .   ..  .   .   .   .   .   .   .   .   .   .   .   .       .   .   .   .   .   .   .   .   .   .   210
                  9.10.1 Backing Up with rsync . . . . . . . . . .          .   .   .   .   .   ..  .   .   .   .   .   .   .   .   .   .   .   .       .   .   .   .   .   .   .   .   .   .   210
                  9.10.2 Restoring Machines without Backups . . .           .   .   .   .   .   ..  .   .   .   .   .   .   .   .   .   .   .   .       .   .   .   .   .   .   .   .   .   .   212
            9.11 Hot Plugging: hotplug . . . . . . . . . . . .              .   .   .   .   .   ..  .   .   .   .   .   .   .   .   .   .   .   .       .   .   .   .   .   .   .   .   .   .   213
                  9.11.1 Introduction . . . . . . . . . . . . . . . .       .   .   .   .   .   ..  .   .   .   .   .   .   .   .   .   .   .   .       .   .   .   .   .   .   .   .   .   .   213
                  9.11.2 The Naming Problem . . . . . . . . . . .           .   .   .   .   .   ..  .   .   .   .   .   .   .   .   .   .   .   .       .   .   .   .   .   .   .   .   .   .   213
                  9.11.3 How udev Works . . . . . . . . . . . . .           .   .   .   .   .   ..  .   .   .   .   .   .   .   .   .   .   .   .       .   .   .   .   .   .   .   .   .   .   214
                  9.11.4 A concrete example . . . . . . . . . . . .         .   .   .   .   .   ..  .   .   .   .   .   .   .   .   .   .   .   .       .   .   .   .   .   .   .   .   .   .   216
            9.12 Power Management . . . . . . . . . . . . .                 .   .   .   .   .   ..  .   .   .   .   .   .   .   .   .   .   .   .       .   .   .   .   .   .   .   .   .   .   218
                  9.12.1 Advanced Power Management (APM) . . .              .   .   .   .   .   ..  .   .   .   .   .   .   .   .   .   .   .   .       .   .   .   .   .   .   .   .   .   .   218
                  9.12.2 Modern power savings: Advanced Configuration and Power Interface (ACPI) .                                                      .   .   .   .   .   .   .   .   .   .   218
            9.13 Laptop Extension Cards: PCMCIA . . . . . . . . . . . . . . . . . . . . . . .                                                           .   .   .   .   .   .   .   .   .   .   219
       10. Network Infrastructure                                                                                                                                                               221
            10.1 Gateway . . . . . . . . . . . . . . . . . . . . . .            .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   222
            10.2 Virtual Private Network . . . . . . . . . . . .                .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   224
                  10.2.1 OpenVPN . . . . . . . . . . . . . . . . . .            .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   224
                             10.2.1.1 Public Key Infrastructure: easy-rsa . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   225
                             10.2.1.2 Configuring the OpenVPN Server . . .      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   229
                             10.2.1.3 Configuring the OpenVPN Client . . .      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   229
                  10.2.2 Virtual Private Network with SSH . . . . . .           .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   230
                  10.2.3 IPsec . . . . . . . . . . . . . . . . . . . . .        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   230
                  10.2.4 PPTP . . . . . . . . . . . . . . . . . . . . .         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   231
                             10.2.4.1 Configuring the Client . . . . . . . .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   231
                             10.2.4.2 Configuring the Server . . . . . . . .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   232
            10.3 ality of Service . . . . . . . . . . . . . . . .              .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   235
                  10.3.1 Principle and Mechanism . . . . . . . . . .            .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   235
                  10.3.2 Configuring and Implementing . . . . . . .             .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   236
                             10.3.2.1 Reducing Latencies: wondershaper . .      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   236
                             10.3.2.2 Standard Configuration . . . . . . .      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   237
            10.4 Dynamic Routing . . . . . . . . . . . . . . . .                .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   237


VIII   The Debian Administrator's Handbook
10.5 IPv6 . . . . . . . . . . . . . . . . .        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   238
  10.6 Domain Name Servers (DNS)                     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   240
        10.6.1 Principle and Mechanism . .           .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   240
        10.6.2 Configuring . . . . . . . . .         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   241
  10.7 DHCP . . . . . . . . . . . . . . .            .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   244
        10.7.1 Presentation . . . . . . . . .        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   244
        10.7.2 Configuring . . . . . . . . .         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   244
        10.7.3 DHCP and DNS . . . . . . .            .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   245
  10.8 Network Diagnosis Tools . . .                 .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   246
        10.8.1 Local Diagnosis: netstat . .          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   246
        10.8.2 Remote Diagnosis: nmap . . .          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   247
         10.8.3 Sniffers:   tcpdump   and wireshark           .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   248
11. Network Services: Postfix, Apache, NFS, Samba, Squid,
  LDAP                                                    251
  11.1 Mail Server . . . . . . . . . . . . . .               .
                                                             .   .   .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   252
        11.1.1 Installing Postfix . . . . . . . . .          .
                                                             .   .   .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   252
        11.1.2 Configuring Virtual Domains . .               .
                                                             .   .   .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   255
                   11.1.2.1 Virtual Alias Domains . .        .
                                                             .   .   .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   255
                   11.1.2.2 Virtual Mailbox Domains .        .
                                                             .   .   .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   256
         11.1.3 Restrictions for Receiving and Sending .                     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   257
                   11.1.3.1 IP-Based Access Restrictions . . .               .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   258
                    11.1.3.2 Checking the Validity of the EHLO or HELO Commands                                  .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   259
                    11.1.3.3 Accepting or Refusing Based on the Announced Sender                                 .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   260
                    11.1.3.4 Accepting or Refusing Based on the Recipient                    ...         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   260
                    11.1.3.5 Restrictions Associated with the DATA Command                     .         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   261
                    11.1.3.6 Applying Restrictions .........                             .   ...         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   261
                                                                   .
                    11.1.3.7 Filtering Based on the Message Contents                     .   ...         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   261
        11.1.4 Seing Up greylisting . . . . . . . . . . . . .                           .   ...         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   262
        11.1.5 Customizing Filters Based On the Recipient .                              .   ...         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   264
        11.1.6 Integrating an Antivirus . . . . . . . . . . . .                          .   ...         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   265
        11.1.7 Authenticated SMTP . . . . . . . . . . . . .                              .   ...         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   266
  11.2 Web Server (HTTP) . . . . . . . . . . . . . . . .                                 .   ...         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   268
        11.2.1 Installing Apache . . . . . . . . . . . . . . .                           .   ...         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   268
        11.2.2 Configuring Virtual Hosts . . . . . . . . . . .                           .   ...         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   269
        11.2.3 Common Directives . . . . . . . . . . . . . .                             .   ...         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   271
                   11.2.3.1 Requiring an Authentication . . . . . .                      .   ...         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   272
                   11.2.3.2 Restricting Access . . . . . . . . . . .                     .   ...         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   273
        11.2.4 Log Analyzers . . . . . . . . . . . . . . . . .                           .   ...         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   273
  11.3 FTP File Server . . . . . . . . . . . . . . . . . . .                             .   ...         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   275
  11.4 NFS File Server . . . . . . . . . . . . . . . . . .                               .   ...         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   276
        11.4.1 Securing NFS . . . . . . . . . . . . . . . . .                            .   ...         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   276
        11.4.2 NFS Server . . . . . . . . . . . . . . . . . . .                          .   ...         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   278
        11.4.3 NFS Client . . . . . . . . . . . . . . . . . . .                          .   ...         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   279


                                                                                                                                                                                                 Contents   IX
11.5 Seing Up Windows Shares with Samba                               .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   279
               11.5.1 Samba Server . . . . . . . . . . . . . . .                .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   280
                           11.5.1.1 Configuring with debconf . . . . .          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   280
                           11.5.1.2 Configuring Manually . . . . . . .          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   281
               11.5.2 Samba Client . . . . . . . . . . . . . . .                .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   284
                           11.5.2.1 The smbclient Program . . . . . .           .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   284
                           11.5.2.2 Mounting Windows Shares . . . . .           .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   284
                           11.5.2.3 Printing on a Shared Printer . . . .        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   285
         11.6 HTTP/FTP Proxy . . . . . . . . . . . . . . .                      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   286
               11.6.1 Installing . . . . . . . . . . . . . . . . . .            .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   286
               11.6.2 Configuring a Cache . . . . . . . . . . .                 .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   286
               11.6.3 Configuring a Filter . . . . . . . . . . . .              .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   287
         11.7 LDAP Directory . . . . . . . . . . . . . . . .                    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   287
               11.7.1 Installing . . . . . . . . . . . . . . . . . .            .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   288
               11.7.2 Filling in the Directory . . . . . . . . . .              .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   289
               11.7.3 Managing Accounts with LDAP . . . . . .                   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   290
                           11.7.3.1 Configuring NSS . . . . . . . . .           .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   290
                           11.7.3.2 Configuring PAM . . . . . . . . .           .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   292
                           11.7.3.3 Securing LDAP Data Exchanges . . .          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   292
    12. Advanced Administration                                                                                                                                                                     297
         12.1 RAID and LVM . . . . . . . . . . .            .   . . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   298
               12.1.1 Soware RAID . . . . . . . . .        .   . . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   298
                         12.1.1.1 Different RAID Levels .    .   . . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   299
                         12.1.1.2 Seing up RAID . . . .    .   . . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   301
                          12.1.1.3 Backing up the Configuration   . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   307
               12.1.2 LVM . . . . . . . . . . . . . . . .         . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   309
                          12.1.2.1 LVM Concepts . . . . . .       . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   309
                          12.1.2.2 Seing up LVM . . . . . .      . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   310
                          12.1.2.3 LVM Over Time . . . . . .      . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   315
               12.1.3 RAID or LVM? . . . . . . . . . . .          . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   317
         12.2 Virtualization . . . . . . . . . . . . .            . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   320
               12.2.1 Xen . . . . . . . . . . . . . . . . .       . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   320
               12.2.2 LXC . . . . . . . . . . . . . . . .         . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   326
                          12.2.2.1 Preliminary Steps . . . . .    . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   327
                          12.2.2.2 Network Configuration . . .    . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   328
                          12.2.2.3 Seing Up the System . . .     . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   329
                          12.2.2.4 Starting the Container . . .   . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   330
               12.2.3 Virtualization with KVM . . . . .           . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   332
                          12.2.3.1 Preliminary Steps . . . . .    . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   332
                          12.2.3.2 Network Configuration . . .    . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   333
                          12.2.3.3 Installation with virt-install .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   333
                          12.2.3.4 Managing Machines with virsh   .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   335
         12.3 Automated Installation . . . . . . . . .                  .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   336


X   The Debian Administrator's Handbook
12.3.1 Fully Automatic Installer (FAI)        .   .  ..   .   .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   337
         12.3.2 Preseeding Debian-Installer . . .          .  ..   .   .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   338
                    12.3.2.1 Using a Preseed File . . .    .  ..   .   .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   338
                    12.3.2.2 Creating a Preseed File . .   .  ..   .   .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   339
                   12.3.2.3 Creating a Customized Boot Media .                 .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   339
         12.3.3 Simple-CDD: The All-In-One Solution . .                        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   341
                   12.3.3.1 Creating Profiles . . . . . . . . .                .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   341
                    12.3.3.2 Configuring and Using build-simple-cdd                    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   342
                  12.3.3.3 Generating an ISO Image . . . . .               .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   342
  12.4 Monitoring . . . . . . . . . . . . . . . . . .                      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   343
        12.4.1 Seing Up Munin . . . . . . . . . . . .                     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   343
                  12.4.1.1 Configuring Hosts To Monitor . .                .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   343
                  12.4.1.2 Configuring the Grapher . . . . .               .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   345
        12.4.2 Seing Up Nagios . . . . . . . . . . . .                    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   345
                  12.4.2.1 Installing . . . . . . . . . . . .              .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   345
                  12.4.2.2 Configuring . . . . . . . . . .                 .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   346
13. Workstation                                                                                                                                                                                    353
  13.1 Configuring the X11 Server . . . . . .              ..  .           .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   354
  13.2 Customizing the Graphical Interface                   . .           .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   355
        13.2.1 Choosing a Display Manager . . . .          ..  .           .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   355
        13.2.2 Choosing a Window Manager . . . .           ..  .           .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   356
        13.2.3 Menu Management . . . . . . . . .           ..  .           .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   357
  13.3 Graphical Desktops . . . . . . . . . .              ..  .           .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   358
        13.3.1 GNOME . . . . . . . . . . . . . . .         ..  .           .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   358
        13.3.2 KDE . . . . . . . . . . . . . . . . .       ..  .           .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   359
        13.3.3 Xfce and Others . . . . . . . . . . .       ..  .           .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   360
  13.4 Tools . . . . . . . . . . . . . . . . . . . .       ..  .           .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   361
        13.4.1 Email . . . . . . . . . . . . . . . .       ..  .           .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   361
                   13.4.1.1 Evolution . . . . . . . . . .  ..  .           .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   361
                   13.4.1.2 KMail . . . . . . . . . . .    ..  .           .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   362
                   13.4.1.3 Thunderbird and Icedove . . .  ..  .           .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   363
        13.4.2 Web Browsers . . . . . . . . . . . .        ..  .           .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   364
        13.4.3 Development . . . . . . . . . . . .         ..  .           .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   365
                   13.4.3.1 Tools for GTK+ on GNOME .      ..  .           .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   365
                   13.4.3.2 Tools for Qt on KDE . . . . .  ..  .           .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   365
        13.4.4 Collaborative Work . . . . . . . . .        ..  .           .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   366
                    13.4.4.1 Working in Groups: groupware . .  .           .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   366
                    13.4.4.2 Instant Messaging Systems . . . . .           .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   366
                  13.4.4.3 Collaborative Work With FusionForge .                   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   368
        13.4.5 Office Suites . . . . . . . . . . . . . . . . .                      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   368
  13.5 Emulating Windows: Wine . . . . . . . . . .                                 .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   369
14. Security                                                                                                  373
  14.1 Defining a Security Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374


                                                                                                                                                                                               Contents   XI
14.2 Firewall or Packet Filtering . . . . . . . . . . . . .               .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   376
                 14.2.1 Netfilter Behavior . . . . . . . . . . . . . . . . .         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   376
                 14.2.2 Syntax of iptables and ip6tables . . . . . . . .             .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   379
                            14.2.2.1 Commands . . . . . . . . . . . . . . . .        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   379
                            14.2.2.2 Rules . . . . . . . . . . . . . . . . . .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   379
                 14.2.3 Creating Rules . . . . . . . . . . . . . . . . . . .         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   380
                 14.2.4 Installing the Rules at Each Boot . . . . . . . . .          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   381
           14.3 Supervision: Prevention, Detection, Deterrence                           .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   382
                 14.3.1 Monitoring Logs with logcheck . . . . . . . . . .            .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   382
                 14.3.2 Monitoring Activity . . . . . . . . . . . . . . . .          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   383
                            14.3.2.1 In Real Time . . . . . . . . . . . . . . .      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   383
                            14.3.2.2 History . . . . . . . . . . . . . . . . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   384
                 14.3.3 Detecting Changes . . . . . . . . . . . . . . . .            .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   384
                            14.3.3.1 Auditing Packages: debsums and its Limits . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   385
                            14.3.3.2 Monitoring Files: AIDE . . . . . . . . . .      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   386
                 14.3.4 Detecting Intrusion (IDS/NIDS) . . . . . . . . . .           .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   387
           14.4 Introduction to SELinux . . . . . . . . . . . . . . .                .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   388
                 14.4.1 Principles . . . . . . . . . . . . . . . . . . . . .         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   388
                 14.4.2 Seing Up SELinux . . . . . . . . . . . . . . . .            .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   390
                 14.4.3 Managing an SELinux System . . . . . . . . . . .             .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   391
                            14.4.3.1 Managing SELinux Modules . . . . . . . .        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   392
                            14.4.3.2 Managing Identities . . . . . . . . . . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   392
                            14.4.3.3 Managing File Contexts, Ports and Booleans .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   393
                 14.4.4 Adapting the Rules . . . . . . . . . . . . . . . .           .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   394
                            14.4.4.1 Writing a .fc file . . . . . . . . . . . . .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   394
                            14.4.4.2 Writing a .if File . . . . . . . . . . . . .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   395
                            14.4.4.3 Writing a .te File . . . . . . . . . . . . .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   396
                            14.4.4.4 Compiling the Files . . . . . . . . . . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   400
           14.5 Other Security-Related Considerations . . . . .                      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   400
                 14.5.1 Inherent Risks of Web Applications . . . . . . . .           .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   400
                 14.5.2 Knowing What To Expect . . . . . . . . . . . . .             .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   401
                 14.5.3 Choosing the Soware Wisely . . . . . . . . . .              .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   402
                 14.5.4 Managing a Machine as a Whole . . . . . . . . .              .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   403
                 14.5.5 Users Are Players . . . . . . . . . . . . . . . . .          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   403
                 14.5.6 Physical Security . . . . . . . . . . . . . . . . .          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   404
                 14.5.7 Legal Liability . . . . . . . . . . . . . . . . . . .        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   404
           14.6 Dealing with a Compromised Machine . . . . .                         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   404
                 14.6.1 Detecting and Seeing the Cracker's Intrusion . . .           .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   405
                 14.6.2 Puing the Server Off-Line . . . . . . . . . . . .            .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   405
                    14.6.3 Keeping Everything that Could Be Used as Evidence             .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   406
                    14.6.4 Re-installing .....................                           .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   406
                    14.6.5 Forensic Analysis . . . . . . . . . . . . . . . . . .         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   407
                    14.6.6 Reconstituting the Aack Scenario . . . . . . . . .           .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   407



XII   The Debian Administrator's Handbook
15. Creating a Debian Package                                                                                                                                                                          411
  15.1 Rebuilding a Package from its Sources                                   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   412
        15.1.1 Geing the Sources . . . . . . . . . . .                        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   412
        15.1.2 Making Changes . . . . . . . . . . . .                          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   412
        15.1.3 Starting the Rebuild . . . . . . . . . . .                      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   413
  15.2 Building your First Package . . . . . . .                               .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   415
        15.2.1 Meta-Packages or Fake Packages . . . .                          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   415
        15.2.2 Simple File Archive . . . . . . . . . . .                       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   416
  15.3 Creating a Package Repository for APT                                   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   420
  15.4 Becoming a Package Maintainer . . . .                                   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   422
        15.4.1 Learning to Make Packages . . . . . . .                         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   422
                   15.4.1.1 Rules . . . . . . . . . . . . .                    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   422
                   15.4.1.2 Procedures . . . . . . . . . . .                   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   423
                   15.4.1.3 Tools . . . . . . . . . . . . . .                  .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   423
        15.4.2 Acceptance Process . . . . . . . . . . .                        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   424
                   15.4.2.1 Prerequisites . . . . . . . . . .                  .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   425
                   15.4.2.2 Registration . . . . . . . . . .                   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   425
                   15.4.2.3 Accepting the Principles . . . . .                 .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   426
                   15.4.2.4 Checking Skills . . . . . . . . .                  .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   426
                   15.4.2.5 Final Approval . . . . . . . . .                   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   427
16. Conclusion: Debian's Future                                                                                  429
  16.1 Upcoming Developments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
  16.2 Debian's Future . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
  16.3 Future of this Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
A. Derivative Distributions                                                                                                                                                                            433
  A.1 Census and Cooperation              ..   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   433
  A.2 Ubuntu . . . . . . . . . . .        ..   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   433
  A.3 Knoppix . . . . . . . . . . .       ..   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   434
  A.4 Linux Mint . . . . . . . . .        ..   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   435
  A.5 SimplyMEPIS . . . . . . .           ..   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   435
  A.6 Aptosid (Formerly Sidux)             .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   435
  A.7 Damn Small Linux . . . .            ..   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   436
  A.8 And Many More . . . . .             ..   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   436
B. Short Remedial Course                                                                                                                                                                               437
  B.1 Shell and Basic Commands . . . . . . . . . . . . .          .                                    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   437
        B.1.1 Browsing the Directory Tree and Managing Files .    .                                    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   437
        B.1.2 Displaying and Modifying Text Files . . . . . . . . .                                    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   438
        B.1.3 Searching for Files and within Files . . . . . . . ..                                    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   439
        B.1.4 Managing Processes . . . . . . . . . . . . . . . .  .                                    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   439
       B.1.5 System Information: Memory, Disk Space, Identity .                                        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   439
  B.2 Organization of the Filesystem Hierarchy . . . . .                                               .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   440
       B.2.1 The Root Directory . . . . . . . . . . . . . . . . . .                                    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   440


                                                                                                                                                                                                   Contents   XIII
B.2.2 The User's Home Directory......................                        ..   .   .   .   .   .   .   .   .   .   .   .   .   .   .   441
           B.3 Inner Workings of a Computer: the Different Layers Involved                         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   441
                 B.3.1 The Deepest Layer: the Hardware . . . . . . . . . . . . . . . . . .       ..   .   .   .   .   .   .   .   .   .   .   .   .   .   .   442
                 B.3.2 The Starter: the BIOS . . . . . . . . . . . . . . . . . . . . . . . .     ..   .   .   .   .   .   .   .   .   .   .   .   .   .   .   442
                 B.3.3 The Kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    ..   .   .   .   .   .   .   .   .   .   .   .   .   .   .   443
                 B.3.4 The User Space . . . . . . . . . . . . . . . . . . . . . . . . . . . .    ..   .   .   .   .   .   .   .   .   .   .   .   .   .   .   443
           B.4 Some Tasks Handled by the Kernel . . . . . . . . . . . . . . . . .                ..   .   .   .   .   .   .   .   .   .   .   .   .   .   .   444
                 B.4.1 Driving the Hardware . . . . . . . . . . . . . . . . . . . . . . . .      ..   .   .   .   .   .   .   .   .   .   .   .   .   .   .   444
                 B.4.2 Filesystems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   ..   .   .   .   .   .   .   .   .   .   .   .   .   .   .   445
                 B.4.3 Shared Functions . . . . . . . . . . . . . . . . . . . . . . . . . . .    ..   .   .   .   .   .   .   .   .   .   .   .   .   .   .   446
                 B.4.4 Managing Processes . . . . . . . . . . . . . . . . . . . . . . . . .      ..   .   .   .   .   .   .   .   .   .   .   .   .   .   .   446
                 B.4.5 Rights Management . . . . . . . . . . . . . . . . . . . . . . . . .       ..   .   .   .   .   .   .   .   .   .   .   .   .   .   .   447
           B.5 The User Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .        ..   .   .   .   .   .   .   .   .   .   .   .   .   .   .   447
                 B.5.1 Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   ..   .   .   .   .   .   .   .   .   .   .   .   .   .   .   447
                 B.5.2 Daemons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     ..   .   .   .   .   .   .   .   .   .   .   .   .   .   .   448
                 B.5.3 Inter-Process Communications . . . . . . . . . . . . . . . . . . .        ..   .   .   .   .   .   .   .   .   .   .   .   .   .   .   448
                 B.5.4 Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   ..   .   .   .   .   .   .   .   .   .   .   .   .   .   .   449
      Index                                                                                                                                                   451




XIV   The Debian Administrator's Handbook
Preface
Many professionals are increasingly embracing Debian GNU/Linux, whose goal to create a rich
and flexible distribution that does not require too much maintenance fits their expectations.
They generally appreciate its robustness and reliability, its automation of secondary tasks, as
well as the coherence brought by the strict application of specifications and therefore the dura-
bility of achievements and skills.
At the same time, many influential actors in the computing industry have now come to under-
stand the strategic interest of using an elaborate distribution that is not managed by a commer-
cial entity. Some of their customers also understand — following the same logic — that a soft-
ware platform that does not depend on agreements between suppliers reduces the constraints
they will have after the purchase.
Finally, many beginners discover Debian through the Knoppix and Ubuntu projects, while oth-
ers “look under the hood” because they want to avoid empiricism.
Debian — which used to be low-profile — was first adopted by passionate users, who were often
attracted by the spirit it embodies. They found a project with clear goals and visible achieve-
ments, whose developers focus on creating a good design before building — thereby rejecting
the deadlines that often compromise the quality of so many other software projects. Debian is
led by its very actors. In other words, Debian users join a project that fully benefits from the
advantages of free software… so as to produce free software themselves.
The Debian Administrator's Handbook will guide you on your way to autonomy. It could only be
written by authors who master both the technical aspects and the inner workings of the De-
bian project, and who know the needs of seasoned professionals as well as enthusiasts. Raphaël
Hertzog and Roland Mas had the required qualities and managed to create and update this book.
I thank them very much for their work and have no doubt that reading this book will be both
helpful and pleasant.
Nat Makarevitch (PGP/GPG fingerprint: 2010 4A02 9C0E 7D1F 5631 ADF0 453C 4549 0230
D602)
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook
Debian handbook

Mais conteúdo relacionado

Mais procurados

Tivoli data warehouse version 1.3 planning and implementation sg246343
Tivoli data warehouse version 1.3 planning and implementation sg246343Tivoli data warehouse version 1.3 planning and implementation sg246343
Tivoli data warehouse version 1.3 planning and implementation sg246343Banking at Ho Chi Minh city
 
Climb – Chaining Operators - Report
Climb – Chaining Operators - ReportClimb – Chaining Operators - Report
Climb – Chaining Operators - ReportChristopher Chedeau
 
Hello, android introducing google’s mobile development platform, 2nd editio...
Hello, android   introducing google’s mobile development platform, 2nd editio...Hello, android   introducing google’s mobile development platform, 2nd editio...
Hello, android introducing google’s mobile development platform, 2nd editio...Kwanzoo Dev
 
Solution deployment guide for ibm tivoli composite application manager for we...
Solution deployment guide for ibm tivoli composite application manager for we...Solution deployment guide for ibm tivoli composite application manager for we...
Solution deployment guide for ibm tivoli composite application manager for we...Banking at Ho Chi Minh city
 
Deployment guide series ibm total storage productivity center for data sg247140
Deployment guide series ibm total storage productivity center for data sg247140Deployment guide series ibm total storage productivity center for data sg247140
Deployment guide series ibm total storage productivity center for data sg247140Banking at Ho Chi Minh city
 
Pragmatic Agile Web Development With Rails.3rd Edition.2009
Pragmatic   Agile Web Development With Rails.3rd Edition.2009Pragmatic   Agile Web Development With Rails.3rd Edition.2009
Pragmatic Agile Web Development With Rails.3rd Edition.2009SHC
 
Getting started with tivoli dynamic workload broker version 1.1 sg247442
Getting started with tivoli dynamic workload broker version 1.1 sg247442Getting started with tivoli dynamic workload broker version 1.1 sg247442
Getting started with tivoli dynamic workload broker version 1.1 sg247442Banking at Ho Chi Minh city
 
Managing storage management tivoli enterprise integration with tivoli storage...
Managing storage management tivoli enterprise integration with tivoli storage...Managing storage management tivoli enterprise integration with tivoli storage...
Managing storage management tivoli enterprise integration with tivoli storage...Banking at Ho Chi Minh city
 
Ibm system storage productivity center deployment guide sg247560
Ibm system storage productivity center deployment guide sg247560Ibm system storage productivity center deployment guide sg247560
Ibm system storage productivity center deployment guide sg247560Banking at Ho Chi Minh city
 
WebHost Manager 7 User Guide
WebHost Manager 7 User GuideWebHost Manager 7 User Guide
WebHost Manager 7 User Guidewebhostingguy
 

Mais procurados (16)

Kernel
KernelKernel
Kernel
 
Assembly
AssemblyAssembly
Assembly
 
Tivoli data warehouse version 1.3 planning and implementation sg246343
Tivoli data warehouse version 1.3 planning and implementation sg246343Tivoli data warehouse version 1.3 planning and implementation sg246343
Tivoli data warehouse version 1.3 planning and implementation sg246343
 
Supplemental pack ddk
Supplemental pack ddkSupplemental pack ddk
Supplemental pack ddk
 
Climb – Chaining Operators - Report
Climb – Chaining Operators - ReportClimb – Chaining Operators - Report
Climb – Chaining Operators - Report
 
A practical guide to tivoli sa nergy sg246146
A practical guide to tivoli sa nergy sg246146A practical guide to tivoli sa nergy sg246146
A practical guide to tivoli sa nergy sg246146
 
Hello, android introducing google’s mobile development platform, 2nd editio...
Hello, android   introducing google’s mobile development platform, 2nd editio...Hello, android   introducing google’s mobile development platform, 2nd editio...
Hello, android introducing google’s mobile development platform, 2nd editio...
 
Solution deployment guide for ibm tivoli composite application manager for we...
Solution deployment guide for ibm tivoli composite application manager for we...Solution deployment guide for ibm tivoli composite application manager for we...
Solution deployment guide for ibm tivoli composite application manager for we...
 
Deployment guide series ibm total storage productivity center for data sg247140
Deployment guide series ibm total storage productivity center for data sg247140Deployment guide series ibm total storage productivity center for data sg247140
Deployment guide series ibm total storage productivity center for data sg247140
 
Pragmatic Agile Web Development With Rails.3rd Edition.2009
Pragmatic   Agile Web Development With Rails.3rd Edition.2009Pragmatic   Agile Web Development With Rails.3rd Edition.2009
Pragmatic Agile Web Development With Rails.3rd Edition.2009
 
Getting started with tivoli dynamic workload broker version 1.1 sg247442
Getting started with tivoli dynamic workload broker version 1.1 sg247442Getting started with tivoli dynamic workload broker version 1.1 sg247442
Getting started with tivoli dynamic workload broker version 1.1 sg247442
 
Managing storage management tivoli enterprise integration with tivoli storage...
Managing storage management tivoli enterprise integration with tivoli storage...Managing storage management tivoli enterprise integration with tivoli storage...
Managing storage management tivoli enterprise integration with tivoli storage...
 
Rfb
RfbRfb
Rfb
 
Ibm system storage productivity center deployment guide sg247560
Ibm system storage productivity center deployment guide sg247560Ibm system storage productivity center deployment guide sg247560
Ibm system storage productivity center deployment guide sg247560
 
WebHost Manager 7 User Guide
WebHost Manager 7 User GuideWebHost Manager 7 User Guide
WebHost Manager 7 User Guide
 
Sdd 2
Sdd 2Sdd 2
Sdd 2
 

Semelhante a Debian handbook

Implementing tws extended agent for tivoli storage manager sg246030
Implementing tws extended agent for tivoli storage manager   sg246030Implementing tws extended agent for tivoli storage manager   sg246030
Implementing tws extended agent for tivoli storage manager sg246030Banking at Ho Chi Minh city
 
My cool new Slideshow!
My cool new Slideshow!My cool new Slideshow!
My cool new Slideshow!Kislay Raj
 
My cool new Slideshow!
My cool new Slideshow!My cool new Slideshow!
My cool new Slideshow!Kislay Raj
 
Ibm total storage tape selection and differentiation guide sg246946
Ibm total storage tape selection and differentiation guide sg246946Ibm total storage tape selection and differentiation guide sg246946
Ibm total storage tape selection and differentiation guide sg246946Banking at Ho Chi Minh city
 
Ibm total storage tape selection and differentiation guide sg246946
Ibm total storage tape selection and differentiation guide sg246946Ibm total storage tape selection and differentiation guide sg246946
Ibm total storage tape selection and differentiation guide sg246946Banking at Ho Chi Minh city
 
Ibm tivoli usage accounting manager v7.1 handbook sg247404
Ibm tivoli usage accounting manager v7.1 handbook sg247404Ibm tivoli usage accounting manager v7.1 handbook sg247404
Ibm tivoli usage accounting manager v7.1 handbook sg247404Banking at Ho Chi Minh city
 
Deploying rational applications with ibm tivoli configuration manager redp4171
Deploying rational applications with ibm tivoli configuration manager redp4171Deploying rational applications with ibm tivoli configuration manager redp4171
Deploying rational applications with ibm tivoli configuration manager redp4171Banking at Ho Chi Minh city
 
Deploying rational applications with ibm tivoli configuration manager redp4171
Deploying rational applications with ibm tivoli configuration manager redp4171Deploying rational applications with ibm tivoli configuration manager redp4171
Deploying rational applications with ibm tivoli configuration manager redp4171Banking at Ho Chi Minh city
 
Deployment guide series ibm tivoli compliance insight manager sg247531
Deployment guide series ibm tivoli compliance insight manager sg247531Deployment guide series ibm tivoli compliance insight manager sg247531
Deployment guide series ibm tivoli compliance insight manager sg247531Banking at Ho Chi Minh city
 
Deployment guide series ibm tivoli compliance insight manager sg247531
Deployment guide series ibm tivoli compliance insight manager sg247531Deployment guide series ibm tivoli compliance insight manager sg247531
Deployment guide series ibm tivoli compliance insight manager sg247531Banking at Ho Chi Minh city
 

Semelhante a Debian handbook (20)

Pylons
PylonsPylons
Pylons
 
Implementing tws extended agent for tivoli storage manager sg246030
Implementing tws extended agent for tivoli storage manager   sg246030Implementing tws extended agent for tivoli storage manager   sg246030
Implementing tws extended agent for tivoli storage manager sg246030
 
My cool new Slideshow!
My cool new Slideshow!My cool new Slideshow!
My cool new Slideshow!
 
My cool new Slideshow!
My cool new Slideshow!My cool new Slideshow!
My cool new Slideshow!
 
test5
test5test5
test5
 
test5
test5test5
test5
 
test6
test6test6
test6
 
test6
test6test6
test6
 
test4
test4test4
test4
 
Manual doctrine jog
Manual doctrine jogManual doctrine jog
Manual doctrine jog
 
XORP manual
XORP manualXORP manual
XORP manual
 
Ibm total storage tape selection and differentiation guide sg246946
Ibm total storage tape selection and differentiation guide sg246946Ibm total storage tape selection and differentiation guide sg246946
Ibm total storage tape selection and differentiation guide sg246946
 
Ibm total storage tape selection and differentiation guide sg246946
Ibm total storage tape selection and differentiation guide sg246946Ibm total storage tape selection and differentiation guide sg246946
Ibm total storage tape selection and differentiation guide sg246946
 
Ibm tivoli usage accounting manager v7.1 handbook sg247404
Ibm tivoli usage accounting manager v7.1 handbook sg247404Ibm tivoli usage accounting manager v7.1 handbook sg247404
Ibm tivoli usage accounting manager v7.1 handbook sg247404
 
Learn c++
Learn c++Learn c++
Learn c++
 
Deploying rational applications with ibm tivoli configuration manager redp4171
Deploying rational applications with ibm tivoli configuration manager redp4171Deploying rational applications with ibm tivoli configuration manager redp4171
Deploying rational applications with ibm tivoli configuration manager redp4171
 
Deploying rational applications with ibm tivoli configuration manager redp4171
Deploying rational applications with ibm tivoli configuration manager redp4171Deploying rational applications with ibm tivoli configuration manager redp4171
Deploying rational applications with ibm tivoli configuration manager redp4171
 
Deployment guide series ibm tivoli compliance insight manager sg247531
Deployment guide series ibm tivoli compliance insight manager sg247531Deployment guide series ibm tivoli compliance insight manager sg247531
Deployment guide series ibm tivoli compliance insight manager sg247531
 
Deployment guide series ibm tivoli compliance insight manager sg247531
Deployment guide series ibm tivoli compliance insight manager sg247531Deployment guide series ibm tivoli compliance insight manager sg247531
Deployment guide series ibm tivoli compliance insight manager sg247531
 
Tortoise svn 1.7-en
Tortoise svn 1.7-enTortoise svn 1.7-en
Tortoise svn 1.7-en
 

Debian handbook

  • 1. The Debian Administrator's Handbook Debian Squeeze from Discovery to Mastery Raphaël Hertzog and Roland Mas May 9, 2012
  • 2. The Debian Administrator's Handbook by Raphaël Hertzog and Roland Mas Copyright © 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Raphaël Hertzog Copyright © 2006, 2007, 2008, 2009, 2010, 2011, 2012 Roland Mas Copyright © 2012 Freexian SARL ISBN: 979-10-91414-00-5 (paperback) ISBN: 979-10-91414-01-2 (ebook) This book is available under the terms of two licenses compatible with the Debian Free Software Guide- lines. Creative Commons License Notice: This book is licensed under a Creative Commons Attribution- ShareAlike 3.0 Unported License. ² http://creativecommons.org/licenses/by-sa/3.0/ GNU General Public License Notice: This book is free documentation: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Founda- tion, either version 2 of the License, or (at your option) any later version. This book is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Gen- eral Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/. Show your appreciation This book is published under a free license because we want everybody to benefit from it. That said maintaining it takes time and lots of efforts, and we appreciate being thanked for this. If you find this book valuable, please consider contributing to its continued maintenance either by buying a pa- perback copy or by making a donation through the book's official website: ² http://debian-handbook.info
  • 3. Contents 1. The Debian Project 1 1.1 What Is Debian? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1.1 A Multi-Platform Operating System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1.2 The ality of Free Soware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.1.3 The Legal Framework: A Non-Profit Organization . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2 The Foundation Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.2.1 The Commitment towards Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.2.2 The Debian Free Soware Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.3 The Inner Workings of the Debian Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.3.1 The Debian Developers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.3.2 The Active Role of Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 1.3.3 Teams and Sub-Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.3.3.1 Existing Debian Sub-Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.3.3.2 Administrative Teams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 1.3.3.3 Development Teams, Transversal Teams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 1.4 The Role of Distributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 1.4.1 The Installer: debian-installer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 1.4.2 The Soware Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 1.5 Lifecycle of a Release . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 1.5.1 The Experimental Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 1.5.2 The Unstable Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 1.5.3 Migration to Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 1.5.4 The Promotion from Testing to Stable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2. Presenting the Case Study 31 2.1 Fast Growing IT Needs . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 2.2 Master Plan . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 2.3 Why a GNU/Linux Distribution? . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.4 Why the Debian Distribution? . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 2.4.1 Commercial and Community Driven Distributions . . . . . . . . . . . . . . . . . . . . . . . . . 35 2.5 Why Debian Squeeze? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3. Analyzing the Existing Setup and Migrating 39 3.1 Coexistence in Heterogeneous Environments . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 3.1.1 Integration with Windows Machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 3.1.2 Integration with Mac OS machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
  • 4. 3.1.3 Integration with Other Linux/Unix Machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 3.2 How To Migrate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 3.2.1 Survey and Identify Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 3.2.1.1 Network and Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 3.2.2 Backing up the Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 3.2.3 Taking Over an Existing Debian Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 3.2.4 Installing Debian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 3.2.5 Installing and Configuring the Selected Services . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4. Installation 49 4.1 Installation Methods ........... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 4.1.1 Installing from a CD-ROM/DVD-ROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 4.1.2 Booting from a USB Key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 4.1.3 Installing through Network Booting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 4.1.4 Other Installation Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 4.2 Installing, Step by Step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 4.2.1 Booting and Starting the Installer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 4.2.2 Selecting the language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4.2.3 Selecting the country . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.2.4 Selecting the keyboard layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 4.2.5 Detecting Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 4.2.6 Loading Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 4.2.7 Detecting Network Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 4.2.8 Configuring the Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 4.2.9 Configuring the Clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 4.2.10 Administrator Password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 4.2.11 Creating the First User . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 4.2.12 Detecting Disks and Other Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 4.2.13 Starting the Partitioning Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 4.2.13.1 Guided partitioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 4.2.13.2 Manual Partitioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 4.2.13.3 Configuring Multidisk Devices (Soware RAID) . . . . . . . . . . . . . . . . . . . . . . . . . 65 4.2.13.4 Configuring the Logical Volume Manager (LVM) . . . . . . . . . . . . . . . . . . . . . . . . 65 ... 4.2.13.5 Seing Up Encrypted Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 4.2.14 Installing the Base System ........ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 4.2.15 Configuring the Package Manager (apt) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 4.2.16 Debian Package Popularity Contest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 4.2.17 Selecting Packages for Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 4.2.18 Installing the GRUB Bootloader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 4.2.19 Finishing the Installation and Rebooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 4.3 Aer the First Boot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 4.3.1 Installing Additional Soware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 4.3.2 Upgrading the System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 IV The Debian Administrator's Handbook
  • 5. 5. Packaging System: Tools and Fundamental Principles 75 5.1 Structure of a Binary Package . . . . . ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 5.2 Package Meta-Information . . . . . . . ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 5.2.1 Description: the control File . . . . . . ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 5.2.1.1 Dependencies: the Depends Field . ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 5.2.1.2 Conflicts: the Conflicts field . . . ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 5.2.1.3 Incompatibilities: the Breaks Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 5.2.1.4 Provided Items: the Provides Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 5.2.1.5 Replacing Files: The Replaces Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 5.2.2 Configuration Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 5.2.2.1 Installation and Upgrade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 5.2.2.2 Package Removal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 5.2.3 Checksums, List of Configuration Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 5.3 Structure of a Source Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 5.3.1 Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 5.3.2 Usage within Debian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 5.4 Manipulating Packages with dpkg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 5.4.1 Installing Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 5.4.2 Package Removal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 5.4.3 Other dpkg Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 5.4.4 dpkg's Log File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 5.5 Coexistence with Other Packaging Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 6. Maintenance and Updates: The APT Tools 101 6.1 Filling in the sources.list File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 6.1.1 Other Available Official Repositories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 6.1.1.1 Stable Updates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 6.1.1.2 The Backports From backports.debian.org . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 6.1.1.3 The Experimental Repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 6.1.2 Non-Official Resources: apt-get.org and mentors.debian.net . . . . . . . . . . . . . . . . . . . . 105 6.2 aptitude and apt-get Commands . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 6.2.1 Initialization . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 6.2.2 Installing and Removing . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 6.2.3 System Upgrade . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 6.2.4 Configuration Options . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 6.2.5 Managing Package Priorities . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 6.2.6 Working with Several Distributions . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 6.3 The apt-cache Command . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 6.4 Frontends: aptitude, synaptic . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 6.4.1 aptitude . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 6.4.1.1 Tracking Automatically Installed Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 6.4.1.2 Managing Recommendations, Suggestions and Tasks . . . . . . . . . . . . . . . . . . . . . . . 117 6.4.1.3 Beer Solver Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 6.4.2 synaptic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 Contents V
  • 6. 6.5 Checking Package Authenticity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 6.6 Upgrading from One Stable Distribution to the Next . . . . . . . . . . . . . . . . . . . . . . 121 6.6.1 Recommended Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 6.6.2 Handling Problems aer an Upgrade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 6.7 Keeping a System Up to Date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 6.8 Automatic Upgrades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 6.8.1 Configuring dpkg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 6.8.2 Configuring APT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 6.8.3 Configuring debconf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 6.8.4 Handling Command Line Interactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 6.8.5 The Miracle Combination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 6.9 Searching for Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 7. Solving Problems and Finding Relevant Information 131 7.1 Documentation Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 7.1.1 Manual Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 7.1.2 info Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 7.1.3 Specific Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 7.1.4 Websites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 7.1.5 Tutorials (HOWTO) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 7.2 Common Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 7.2.1 Configuring a Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 7.2.2 Monitoring What Daemons Are Doing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 7.2.3 Asking for Help on a Mailing List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 7.2.4 Reporting a Bug When a Problem Is Too Difficult . . . . . . . . . . . . . . . . . . . . . . . . . . 139 8. Basic Configuration: Network, Accounts, Printing… 143 8.1 Configuring the System for Another Language ..... . . . . . . . . . . . . . . . . . . . . 144 8.1.1 Seing the Default Language . . . . . . . . . . . . ..... . . . . . . . . . . . . . . . . . . . . 144 8.1.2 Configuring the Keyboard . . . . . . . . . . . . . ..... . . . . . . . . . . . . . . . . . . . . 145 8.1.3 Migrating to UTF-8 . . . . . . . . . . . . . . . . . ..... . . . . . . . . . . . . . . . . . . . . 146 8.2 Configuring the Network . . . . . . . . . . . . . . . ..... . . . . . . . . . . . . . . . . . . . . 147 8.2.1 Ethernet Interface . . . . . . . . . . . . . . . . . ..... . . . . . . . . . . . . . . . . . . . . 149 8.2.2 Connecting with PPP through a PSTN Modem . . ..... . . . . . . . . . . . . . . . . . . . . 149 8.2.3 Connecting through an ADSL Modem . . . . . . . ..... . . . . . . . . . . . . . . . . . . . . 150 8.2.3.1 Modems Supporting PPPOE . . . . . . . . . ..... . . . . . . . . . . . . . . . . . . . . 150 8.2.3.2 Modems Supporting PPTP . . . . . . . . . . ..... . . . . . . . . . . . . . . . . . . . . 151 8.2.3.3 Modems Supporting DHCP . . . . . . . . . ..... . . . . . . . . . . . . . . . . . . . . 151 8.2.4 Automatic Network Configuration for Roaming Users . . . . . . . . . . . . . . . . . . . . . . . . 151 8.3 Seing the Hostname and Configuring the Name Service . . . . . . . . . . . . . . . . . . 152 8.3.1 Name Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 8.3.1.1 Configuring DNS Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 8.3.1.2 The /etc/hosts file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 8.4 User and Group Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 8.4.1 User List: /etc/passwd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 VI The Debian Administrator's Handbook
  • 7. 8.4.2 The Hidden and Encrypted Password File: .......... /etc/shadow . . . . . . . . . . . . . 155 8.4.3 Modifying an Existing Account or Password . . . . . . .......... . . . . . . . . . . . . . 156 8.4.4 Disabling an Account . . . . . . . . . . . . . . . . . . .......... . . . . . . . . . . . . . 156 8.4.5 Group List: /etc/group . . . . . . . . . . . . . . . . . .......... . . . . . . . . . . . . . 156 8.5 Creating Accounts . . . . . . . . . . . . . . . . . . . . . .......... . . . . . . . . . . . . . 157 8.6 Shell Environment . . . . . . . . . . . . . . . . . . . . . .......... . . . . . . . . . . . . . 158 8.7 Printer Configuration . . . . . . . . . . . . . . . . . . . .......... . . . . . . . . . . . . . 160 8.8 Configuring the Bootloader . . . . . . . . . . . . . . . .......... . . . . . . . . . . . . . 160 8.8.1 Identifying the Disks . . . . . . . . . . . . . . . . . . .......... . . . . . . . . . . . . . 161 8.8.2 Configuring LILO . . . . . . . . . . . . . . . . . . . . .......... . . . . . . . . . . . . . 163 8.8.3 GRUB 2 Configuration . . . . . . . . . . . . . . . . . .......... . . . . . . . . . . . . . 164 8.8.4 GRUB Legacy Configuration . . . . . . . . . . . . . . .......... . . . . . . . . . . . . . 165 8.8.5 For Macintosh Computers (PowerPC): Configuring Yaboot . . . . . . . . . . . . . . . . . . . . . 166 8.9 Other Configurations: Time Synchronization, Logs, Sharing Access… . . . . . . . . . . . 167 8.9.1 Timezone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 8.9.2 Time Synchronization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 8.9.2.1 For Workstations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 8.9.2.2 For Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 8.9.3 Rotating Log Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 8.9.4 Sharing Administrator Rights . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 8.9.5 List of Mount Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 8.9.6 locate and updatedb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 8.10 Compiling a Kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 8.10.1 Introduction and Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 8.10.2 Geing the Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 8.10.3 Configuring the Kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 8.10.4 Compiling and Building the Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 8.10.5 Compiling External Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 8.10.6 Applying a Kernel Patch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 8.11 Installing a Kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 8.11.1 Features of a Debian Kernel Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 8.11.2 Installing with dpkg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 9. Unix Services 183 9.1 System Boot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 9.2 Remote Login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 9.2.1 Remote Login: telnet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 9.2.2 Secure Remote Login: SSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 9.2.2.1 Key-Based Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 9.2.2.2 Using Remote X11 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 9.2.2.3 Creating Encrypted Tunnels with Port Forwarding . . . . . . . . . . . . . . . . . . . . . . . . 192 9.2.3 Using Remote Graphical Desktops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 9.3 Managing Rights . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 9.4 Administration Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 Contents VII
  • 8. 9.4.1 Administrating On a Web Interface: webmin . . . . . .. . . . . . . . . . . . . . . . . . . . . . . 198 9.4.2 Configuring Packages: debconf . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . 199 9.5 syslog System Events . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . 200 9.5.1 Principle and Mechanism . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . 200 9.5.2 The Configuration File . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . 201 9.5.2.1 Syntax of the Selector . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . 201 9.5.2.2 Syntax of Actions . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . 202 9.6 The inetd Super-Server . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . 203 9.7 Scheduling Tasks with cron and atd . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . 204 9.7.1 Format of a crontab File . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . 205 9.7.2 Using the at Command . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . 207 9.8 Scheduling Asynchronous Tasks: anacron . . . . . .. . . . . . . . . . . . . . . . . . . . . . . 208 9.9 otas . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . 208 9.10 Backup . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . 210 9.10.1 Backing Up with rsync . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . 210 9.10.2 Restoring Machines without Backups . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . 212 9.11 Hot Plugging: hotplug . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . 213 9.11.1 Introduction . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . 213 9.11.2 The Naming Problem . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . 213 9.11.3 How udev Works . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . 214 9.11.4 A concrete example . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . 216 9.12 Power Management . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . 218 9.12.1 Advanced Power Management (APM) . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . 218 9.12.2 Modern power savings: Advanced Configuration and Power Interface (ACPI) . . . . . . . . . . . 218 9.13 Laptop Extension Cards: PCMCIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 10. Network Infrastructure 221 10.1 Gateway . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 10.2 Virtual Private Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 10.2.1 OpenVPN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 10.2.1.1 Public Key Infrastructure: easy-rsa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 10.2.1.2 Configuring the OpenVPN Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 10.2.1.3 Configuring the OpenVPN Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 10.2.2 Virtual Private Network with SSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 10.2.3 IPsec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 10.2.4 PPTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 10.2.4.1 Configuring the Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 10.2.4.2 Configuring the Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 10.3 ality of Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 10.3.1 Principle and Mechanism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 10.3.2 Configuring and Implementing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 10.3.2.1 Reducing Latencies: wondershaper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 10.3.2.2 Standard Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 10.4 Dynamic Routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 VIII The Debian Administrator's Handbook
  • 9. 10.5 IPv6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 10.6 Domain Name Servers (DNS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 10.6.1 Principle and Mechanism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 10.6.2 Configuring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 10.7 DHCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 10.7.1 Presentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 10.7.2 Configuring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 10.7.3 DHCP and DNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 10.8 Network Diagnosis Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 10.8.1 Local Diagnosis: netstat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 10.8.2 Remote Diagnosis: nmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 10.8.3 Sniffers: tcpdump and wireshark . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 11. Network Services: Postfix, Apache, NFS, Samba, Squid, LDAP 251 11.1 Mail Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 11.1.1 Installing Postfix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 11.1.2 Configuring Virtual Domains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 11.1.2.1 Virtual Alias Domains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 11.1.2.2 Virtual Mailbox Domains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 11.1.3 Restrictions for Receiving and Sending . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 11.1.3.1 IP-Based Access Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 11.1.3.2 Checking the Validity of the EHLO or HELO Commands . . . . . . . . . . . . . . . . . . . . . 259 11.1.3.3 Accepting or Refusing Based on the Announced Sender . . . . . . . . . . . . . . . . . . . . . 260 11.1.3.4 Accepting or Refusing Based on the Recipient ... . . . . . . . . . . . . . . . . . . . . . . . 260 11.1.3.5 Restrictions Associated with the DATA Command . . . . . . . . . . . . . . . . . . . . . . . . 261 11.1.3.6 Applying Restrictions ......... . ... . . . . . . . . . . . . . . . . . . . . . . . 261 . 11.1.3.7 Filtering Based on the Message Contents . ... . . . . . . . . . . . . . . . . . . . . . . . 261 11.1.4 Seing Up greylisting . . . . . . . . . . . . . . ... . . . . . . . . . . . . . . . . . . . . . . . 262 11.1.5 Customizing Filters Based On the Recipient . . ... . . . . . . . . . . . . . . . . . . . . . . . 264 11.1.6 Integrating an Antivirus . . . . . . . . . . . . . ... . . . . . . . . . . . . . . . . . . . . . . . 265 11.1.7 Authenticated SMTP . . . . . . . . . . . . . . ... . . . . . . . . . . . . . . . . . . . . . . . 266 11.2 Web Server (HTTP) . . . . . . . . . . . . . . . . . ... . . . . . . . . . . . . . . . . . . . . . . . 268 11.2.1 Installing Apache . . . . . . . . . . . . . . . . ... . . . . . . . . . . . . . . . . . . . . . . . 268 11.2.2 Configuring Virtual Hosts . . . . . . . . . . . . ... . . . . . . . . . . . . . . . . . . . . . . . 269 11.2.3 Common Directives . . . . . . . . . . . . . . . ... . . . . . . . . . . . . . . . . . . . . . . . 271 11.2.3.1 Requiring an Authentication . . . . . . . ... . . . . . . . . . . . . . . . . . . . . . . . 272 11.2.3.2 Restricting Access . . . . . . . . . . . . ... . . . . . . . . . . . . . . . . . . . . . . . 273 11.2.4 Log Analyzers . . . . . . . . . . . . . . . . . . ... . . . . . . . . . . . . . . . . . . . . . . . 273 11.3 FTP File Server . . . . . . . . . . . . . . . . . . . . ... . . . . . . . . . . . . . . . . . . . . . . . 275 11.4 NFS File Server . . . . . . . . . . . . . . . . . . . ... . . . . . . . . . . . . . . . . . . . . . . . 276 11.4.1 Securing NFS . . . . . . . . . . . . . . . . . . ... . . . . . . . . . . . . . . . . . . . . . . . 276 11.4.2 NFS Server . . . . . . . . . . . . . . . . . . . . ... . . . . . . . . . . . . . . . . . . . . . . . 278 11.4.3 NFS Client . . . . . . . . . . . . . . . . . . . . ... . . . . . . . . . . . . . . . . . . . . . . . 279 Contents IX
  • 10. 11.5 Seing Up Windows Shares with Samba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 11.5.1 Samba Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 11.5.1.1 Configuring with debconf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 11.5.1.2 Configuring Manually . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 11.5.2 Samba Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 11.5.2.1 The smbclient Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 11.5.2.2 Mounting Windows Shares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 11.5.2.3 Printing on a Shared Printer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 11.6 HTTP/FTP Proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 11.6.1 Installing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 11.6.2 Configuring a Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 11.6.3 Configuring a Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 11.7 LDAP Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 11.7.1 Installing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 11.7.2 Filling in the Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 11.7.3 Managing Accounts with LDAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 11.7.3.1 Configuring NSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 11.7.3.2 Configuring PAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 11.7.3.3 Securing LDAP Data Exchanges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 12. Advanced Administration 297 12.1 RAID and LVM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 12.1.1 Soware RAID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 12.1.1.1 Different RAID Levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 12.1.1.2 Seing up RAID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 12.1.1.3 Backing up the Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 12.1.2 LVM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309 12.1.2.1 LVM Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309 12.1.2.2 Seing up LVM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310 12.1.2.3 LVM Over Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315 12.1.3 RAID or LVM? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317 12.2 Virtualization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320 12.2.1 Xen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320 12.2.2 LXC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326 12.2.2.1 Preliminary Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327 12.2.2.2 Network Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328 12.2.2.3 Seing Up the System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329 12.2.2.4 Starting the Container . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330 12.2.3 Virtualization with KVM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332 12.2.3.1 Preliminary Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332 12.2.3.2 Network Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 12.2.3.3 Installation with virt-install . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 12.2.3.4 Managing Machines with virsh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335 12.3 Automated Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 X The Debian Administrator's Handbook
  • 11. 12.3.1 Fully Automatic Installer (FAI) . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337 12.3.2 Preseeding Debian-Installer . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338 12.3.2.1 Using a Preseed File . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338 12.3.2.2 Creating a Preseed File . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339 12.3.2.3 Creating a Customized Boot Media . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339 12.3.3 Simple-CDD: The All-In-One Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341 12.3.3.1 Creating Profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341 12.3.3.2 Configuring and Using build-simple-cdd . . . . . . . . . . . . . . . . . . . . . . . . . . . 342 12.3.3.3 Generating an ISO Image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342 12.4 Monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343 12.4.1 Seing Up Munin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343 12.4.1.1 Configuring Hosts To Monitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343 12.4.1.2 Configuring the Grapher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345 12.4.2 Seing Up Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345 12.4.2.1 Installing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345 12.4.2.2 Configuring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346 13. Workstation 353 13.1 Configuring the X11 Server . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354 13.2 Customizing the Graphical Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355 13.2.1 Choosing a Display Manager . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355 13.2.2 Choosing a Window Manager . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356 13.2.3 Menu Management . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357 13.3 Graphical Desktops . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358 13.3.1 GNOME . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358 13.3.2 KDE . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359 13.3.3 Xfce and Others . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360 13.4 Tools . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361 13.4.1 Email . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361 13.4.1.1 Evolution . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361 13.4.1.2 KMail . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362 13.4.1.3 Thunderbird and Icedove . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363 13.4.2 Web Browsers . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364 13.4.3 Development . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365 13.4.3.1 Tools for GTK+ on GNOME . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365 13.4.3.2 Tools for Qt on KDE . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365 13.4.4 Collaborative Work . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366 13.4.4.1 Working in Groups: groupware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366 13.4.4.2 Instant Messaging Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366 13.4.4.3 Collaborative Work With FusionForge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368 13.4.5 Office Suites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368 13.5 Emulating Windows: Wine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369 14. Security 373 14.1 Defining a Security Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374 Contents XI
  • 12. 14.2 Firewall or Packet Filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376 14.2.1 Netfilter Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376 14.2.2 Syntax of iptables and ip6tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379 14.2.2.1 Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379 14.2.2.2 Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379 14.2.3 Creating Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380 14.2.4 Installing the Rules at Each Boot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381 14.3 Supervision: Prevention, Detection, Deterrence . . . . . . . . . . . . . . . . . . . . . . . . 382 14.3.1 Monitoring Logs with logcheck . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382 14.3.2 Monitoring Activity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383 14.3.2.1 In Real Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383 14.3.2.2 History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384 14.3.3 Detecting Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384 14.3.3.1 Auditing Packages: debsums and its Limits . . . . . . . . . . . . . . . . . . . . . . . . . . . 385 14.3.3.2 Monitoring Files: AIDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386 14.3.4 Detecting Intrusion (IDS/NIDS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387 14.4 Introduction to SELinux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388 14.4.1 Principles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388 14.4.2 Seing Up SELinux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390 14.4.3 Managing an SELinux System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391 14.4.3.1 Managing SELinux Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392 14.4.3.2 Managing Identities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392 14.4.3.3 Managing File Contexts, Ports and Booleans . . . . . . . . . . . . . . . . . . . . . . . . . . 393 14.4.4 Adapting the Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394 14.4.4.1 Writing a .fc file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394 14.4.4.2 Writing a .if File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395 14.4.4.3 Writing a .te File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396 14.4.4.4 Compiling the Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400 14.5 Other Security-Related Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400 14.5.1 Inherent Risks of Web Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400 14.5.2 Knowing What To Expect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401 14.5.3 Choosing the Soware Wisely . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402 14.5.4 Managing a Machine as a Whole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403 14.5.5 Users Are Players . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403 14.5.6 Physical Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404 14.5.7 Legal Liability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404 14.6 Dealing with a Compromised Machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404 14.6.1 Detecting and Seeing the Cracker's Intrusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405 14.6.2 Puing the Server Off-Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405 14.6.3 Keeping Everything that Could Be Used as Evidence . . . . . . . . . . . . . . . . . . . . . . . . 406 14.6.4 Re-installing ..................... . . . . . . . . . . . . . . . . . . . . . . . . 406 14.6.5 Forensic Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407 14.6.6 Reconstituting the Aack Scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407 XII The Debian Administrator's Handbook
  • 13. 15. Creating a Debian Package 411 15.1 Rebuilding a Package from its Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412 15.1.1 Geing the Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412 15.1.2 Making Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412 15.1.3 Starting the Rebuild . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413 15.2 Building your First Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415 15.2.1 Meta-Packages or Fake Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415 15.2.2 Simple File Archive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416 15.3 Creating a Package Repository for APT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420 15.4 Becoming a Package Maintainer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422 15.4.1 Learning to Make Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422 15.4.1.1 Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422 15.4.1.2 Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423 15.4.1.3 Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423 15.4.2 Acceptance Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424 15.4.2.1 Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425 15.4.2.2 Registration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425 15.4.2.3 Accepting the Principles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426 15.4.2.4 Checking Skills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426 15.4.2.5 Final Approval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427 16. Conclusion: Debian's Future 429 16.1 Upcoming Developments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430 16.2 Debian's Future . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430 16.3 Future of this Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431 A. Derivative Distributions 433 A.1 Census and Cooperation .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433 A.2 Ubuntu . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433 A.3 Knoppix . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434 A.4 Linux Mint . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435 A.5 SimplyMEPIS . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435 A.6 Aptosid (Formerly Sidux) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435 A.7 Damn Small Linux . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436 A.8 And Many More . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436 B. Short Remedial Course 437 B.1 Shell and Basic Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437 B.1.1 Browsing the Directory Tree and Managing Files . . . . . . . . . . . . . . . . . . . . . . . . . . 437 B.1.2 Displaying and Modifying Text Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438 B.1.3 Searching for Files and within Files . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . 439 B.1.4 Managing Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439 B.1.5 System Information: Memory, Disk Space, Identity . . . . . . . . . . . . . . . . . . . . . . . . . 439 B.2 Organization of the Filesystem Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440 B.2.1 The Root Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440 Contents XIII
  • 14. B.2.2 The User's Home Directory...................... .. . . . . . . . . . . . . . . 441 B.3 Inner Workings of a Computer: the Different Layers Involved . . . . . . . . . . . . . . . 441 B.3.1 The Deepest Layer: the Hardware . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 442 B.3.2 The Starter: the BIOS . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 442 B.3.3 The Kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 443 B.3.4 The User Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 443 B.4 Some Tasks Handled by the Kernel . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 444 B.4.1 Driving the Hardware . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 444 B.4.2 Filesystems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 445 B.4.3 Shared Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 446 B.4.4 Managing Processes . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 446 B.4.5 Rights Management . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 447 B.5 The User Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 447 B.5.1 Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 447 B.5.2 Daemons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 448 B.5.3 Inter-Process Communications . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 448 B.5.4 Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 449 Index 451 XIV The Debian Administrator's Handbook
  • 15. Preface Many professionals are increasingly embracing Debian GNU/Linux, whose goal to create a rich and flexible distribution that does not require too much maintenance fits their expectations. They generally appreciate its robustness and reliability, its automation of secondary tasks, as well as the coherence brought by the strict application of specifications and therefore the dura- bility of achievements and skills. At the same time, many influential actors in the computing industry have now come to under- stand the strategic interest of using an elaborate distribution that is not managed by a commer- cial entity. Some of their customers also understand — following the same logic — that a soft- ware platform that does not depend on agreements between suppliers reduces the constraints they will have after the purchase. Finally, many beginners discover Debian through the Knoppix and Ubuntu projects, while oth- ers “look under the hood” because they want to avoid empiricism. Debian — which used to be low-profile — was first adopted by passionate users, who were often attracted by the spirit it embodies. They found a project with clear goals and visible achieve- ments, whose developers focus on creating a good design before building — thereby rejecting the deadlines that often compromise the quality of so many other software projects. Debian is led by its very actors. In other words, Debian users join a project that fully benefits from the advantages of free software… so as to produce free software themselves. The Debian Administrator's Handbook will guide you on your way to autonomy. It could only be written by authors who master both the technical aspects and the inner workings of the De- bian project, and who know the needs of seasoned professionals as well as enthusiasts. Raphaël Hertzog and Roland Mas had the required qualities and managed to create and update this book. I thank them very much for their work and have no doubt that reading this book will be both helpful and pleasant. Nat Makarevitch (PGP/GPG fingerprint: 2010 4A02 9C0E 7D1F 5631 ADF0 453C 4549 0230 D602)