/[ddp]/manuals/trunk/quick-reference/debian-reference.raw.xml
ViewVC logotype

Diff of /manuals/trunk/quick-reference/debian-reference.raw.xml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 7355 by osamu, Tue May 18 15:35:25 2010 UTC revision 7629 by osamu, Thu Sep 23 12:57:52 2010 UTC
# Line 12  Line 12 
12        <para>This book is free; you may redistribute it and/or modify it under the terms of the GNU General Public License of any version compliant to the Debian Free Software Guidelines (DFSG).</para>        <para>This book is free; you may redistribute it and/or modify it under the terms of the GNU General Public License of any version compliant to the Debian Free Software Guidelines (DFSG).</para>
13      </abstract>      </abstract>
14      <copyright>      <copyright>
15        <year>2007-2009</year>        <year>2007-2010</year>
16        <holder>Osamu Aoki</holder>        <holder>Osamu Aoki</holder>
17      </copyright>      </copyright>
18      <legalnotice>      <legalnotice>
# Line 249  $ sensible-browse "http://www.debian.org Line 249  $ sensible-browse "http://www.debian.org
249      <simpara>I think learning a computer system is like learning a new foreign language.  Although tutorial books and documentation are helpful, you have to practice it yourself.  In order to help you get started smoothly, I elaborate a few basic points.</simpara>      <simpara>I think learning a computer system is like learning a new foreign language.  Although tutorial books and documentation are helpful, you have to practice it yourself.  In order to help you get started smoothly, I elaborate a few basic points.</simpara>
250      <simpara>The powerful design of <ulink url="http://www.debian.org">Debian</ulink> <ulink url="http://en.wikipedia.org/wiki/GNU">GNU</ulink>/<ulink url="http://en.wikipedia.org/wiki/Linux">Linux</ulink> comes from the <ulink url="http://en.wikipedia.org/wiki/Unix">Unix</ulink> operating system, i.e., a <ulink url="http://en.wikipedia.org/wiki/Multi-user">multiuser</ulink>, <ulink url="http://en.wikipedia.org/wiki/Computer_multitasking">multitasking</ulink> operating system.  You must learn to take advantage of the power of these features and similarities between Unix and GNU/Linux.</simpara>      <simpara>The powerful design of <ulink url="http://www.debian.org">Debian</ulink> <ulink url="http://en.wikipedia.org/wiki/GNU">GNU</ulink>/<ulink url="http://en.wikipedia.org/wiki/Linux">Linux</ulink> comes from the <ulink url="http://en.wikipedia.org/wiki/Unix">Unix</ulink> operating system, i.e., a <ulink url="http://en.wikipedia.org/wiki/Multi-user">multiuser</ulink>, <ulink url="http://en.wikipedia.org/wiki/Computer_multitasking">multitasking</ulink> operating system.  You must learn to take advantage of the power of these features and similarities between Unix and GNU/Linux.</simpara>
251      <simpara>Don't shy away from Unix oriented texts and don't rely solely on GNU/Linux texts, as this robs you of much useful information.</simpara>      <simpara>Don't shy away from Unix oriented texts and don't rely solely on GNU/Linux texts, as this robs you of much useful information.</simpara>
     <simpara>"<ulink url="http://packages.debian.org/search?keywords=rutebook">Rute User's Tutorial and Exposition</ulink>", in the Debian non-free archive as the <literal>rutebook</literal> package (popcon: @-@pop-rutebook@-@), provides a good online resource to the generic system administration.</simpara>  
252      <note>      <note>
253        <simpara>If you have been using any <ulink url="http://en.wikipedia.org/wiki/Unix-like">Unix-like</ulink> system for a while with command line tools, you probably know everything I explain here.  Please use this as a reality check and refresher.</simpara>        <simpara>If you have been using any <ulink url="http://en.wikipedia.org/wiki/Unix-like">Unix-like</ulink> system for a while with command line tools, you probably know everything I explain here.  Please use this as a reality check and refresher.</simpara>
254      </note>      </note>
# Line 399  This preserves some of the environment o Line 398  This preserves some of the environment o
398        </section>        </section>
399        <section id="_additional_package_suggestions_for_the_newbie">        <section id="_additional_package_suggestions_for_the_newbie">
400          <title>Additional package suggestions for the newbie</title>          <title>Additional package suggestions for the newbie</title>
401          <simpara>Although even the minimal installation of the Debian system without any desktop environment tasks provides the basic Unix functionality, it is a good idea to install few additional commandline and curses based character terminal packages such as <literal>mc</literal> and <literal>vim</literal> with <literal>aptitude</literal>(8) for beginners to get started by the following.</simpara>          <simpara>Although even the minimal installation of the Debian system without any desktop environment tasks provides the basic Unix functionality, it is a good idea to install few additional commandline and curses based character terminal packages such as <literal>mc</literal> and <literal>vim</literal> with <literal>apt-get</literal>(8) for beginners to get started by the following.</simpara>
402          <screen># aptitude update          <screen># apt-get update
403   ...   ...
404  # aptitude install mc vim sudo  # apt-get install mc vim sudo
405   ...</screen>   ...</screen>
406          <simpara>If you already had these packages installed, no new packages are installed.</simpara>          <simpara>If you already had these packages installed, no new packages are installed.</simpara>
407          <table pgwide="0" frame="topbot" rowsep="1" colsep="1">          <table pgwide="0" frame="topbot" rowsep="1" colsep="1">
# Line 695  This preserves some of the environment o Line 694  This preserves some of the environment o
694      The Linux System Administrators' Guide      The Linux System Administrators' Guide
695      </entry>      </entry>
696                </row>                </row>
               <row>  
                 <entry>  
                   <literal>rutebook</literal>  
                 </entry>  
                 <entry>  
     @-@popcon1@-@  
     </entry>  
                 <entry>  
     @-@psize1@-@  
     </entry>  
                 <entry>  
     Linux: Rute User's Tutorial and Exposition (non-free)  
     </entry>  
               </row>  
697              </tbody>              </tbody>
698            </tgroup>            </tgroup>
699          </table>          </table>
700          <simpara>You can install some of these packages by the following.</simpara>          <simpara>You can install some of these packages by the following.</simpara>
701          <screen># aptitude install package_name</screen>          <screen># apt-get install package_name</screen>
702        </section>        </section>
703        <section id="_an_extra_user_account">        <section id="_an_extra_user_account">
704          <title>An extra user account</title>          <title>An extra user account</title>
# Line 727  This preserves some of the environment o Line 712  This preserves some of the environment o
712          <title>sudo configuration</title>          <title>sudo configuration</title>
713          <simpara>For the typical single user workstation such as the desktop Debian system on the laptop PC, it is common to deploy simple configuration of <literal>sudo</literal>(8) as follows to let the non-privileged user, e.g. <literal>penguin</literal>, to gain administrative privilege just with his user password but without the root password.</simpara>          <simpara>For the typical single user workstation such as the desktop Debian system on the laptop PC, it is common to deploy simple configuration of <literal>sudo</literal>(8) as follows to let the non-privileged user, e.g. <literal>penguin</literal>, to gain administrative privilege just with his user password but without the root password.</simpara>
714          <screen># echo "penguin  ALL=(ALL) ALL" &gt;&gt; /etc/sudoers</screen>          <screen># echo "penguin  ALL=(ALL) ALL" &gt;&gt; /etc/sudoers</screen>
715            <simpara>Alternatively, it is also common to do as follows to let the non-privileged user, e.g. <literal>penguin</literal>, to gain administrative privilege without any password.</simpara>
716            <screen># echo "penguin  ALL=(ALL) NOPASSWD:ALL" &gt;&gt; /etc/sudoers</screen>
717          <simpara>This trick should only be used for the single user workstation which you administer and where you are the only user.</simpara>          <simpara>This trick should only be used for the single user workstation which you administer and where you are the only user.</simpara>
718          <warning>          <warning>
719            <simpara>Do not set up accounts of regular users on multiuser workstation like this because it would be very bad for system security.</simpara>            <simpara>Do not set up accounts of regular users on multiuser workstation like this because it would be very bad for system security.</simpara>
# Line 1729  crw-rw-rw- 1 root root    1,  5 2007-04- Line 1716  crw-rw-rw- 1 root root    1,  5 2007-04-
1716        <title>Midnight Commander (MC)</title>        <title>Midnight Commander (MC)</title>
1717        <simpara><ulink url="http://en.wikipedia.org/wiki/Midnight_Commander">Midnight Commander (MC)</ulink> is a GNU "Swiss army knife" for the Linux console and other terminal environments.  This gives newbie a menu driven console experience which is much easier to learn than standard Unix commands.</simpara>        <simpara><ulink url="http://en.wikipedia.org/wiki/Midnight_Commander">Midnight Commander (MC)</ulink> is a GNU "Swiss army knife" for the Linux console and other terminal environments.  This gives newbie a menu driven console experience which is much easier to learn than standard Unix commands.</simpara>
1718        <simpara>You may need to install the Midnight Commander package which is titled "<literal>mc</literal>" by the following.</simpara>        <simpara>You may need to install the Midnight Commander package which is titled "<literal>mc</literal>" by the following.</simpara>
1719        <screen>$ sudo aptitude install mc</screen>        <screen>$ sudo apt-get install mc</screen>
1720        <simpara>Use the <literal>mc</literal>(1) command to explore the Debian system.  This is the best way to learn.  Please explore few interesting locations just using the cursor keys and Enter key.</simpara>        <simpara>Use the <literal>mc</literal>(1) command to explore the Debian system.  This is the best way to learn.  Please explore few interesting locations just using the cursor keys and Enter key.</simpara>
1721        <itemizedlist>        <itemizedlist>
1722          <listitem>          <listitem>
# Line 2188  export VISUAL=mcedit</screen> Line 2175  export VISUAL=mcedit</screen>
2175  . /usr/share/mc/bin/mc.sh  . /usr/share/mc/bin/mc.sh
2176    
2177  # set CDPATH to good one  # set CDPATH to good one
2178  CDPATH=.:/usr/share/doc:~/Desktop/src:~/Desktop:~  CDPATH=.:/usr/share/doc:~:~/Desktop:~
2179  export CDPATH  export CDPATH
2180    
2181  PATH="${PATH}":/usr/sbin:/sbin  PATH="${PATH}":/usr/sbin:/sbin
# Line 2910  Script started, file is typescript</scre Line 2897  Script started, file is typescript</scre
2897                </row>                </row>
2898                <row>                <row>
2899                  <entry>                  <entry>
2900                    <literal>tar -xvf -j &lt;foo&gt;.tar.bz2</literal>                    <literal>tar -xvjf &lt;foo&gt;.tar.bz2</literal>
2901                  </entry>                  </entry>
2902                  <entry>                  <entry>
2903      extract files from "<literal>&lt;foo&gt;.tar.bz2</literal>" archive      extract files from "<literal>&lt;foo&gt;.tar.bz2</literal>" archive
# Line 2974  Script started, file is typescript</scre Line 2961  Script started, file is typescript</scre
2961            <simpara>For <literal>cd</literal> command, see <literal>builtins</literal>(7).</simpara>            <simpara>For <literal>cd</literal> command, see <literal>builtins</literal>(7).</simpara>
2962          </note>          </note>
2963          <note>          <note>
2964            <simpara>The default pager of the bare bone Debian system is <literal>more</literal>(1) which cannot scroll back.  By installing the <literal>less</literal> package using command line "<literal>aptitude install less</literal>", <literal>less</literal>(1) becomes default pager and you can scroll back with cursor keys.</simpara>            <simpara>The default pager of the bare bone Debian system is <literal>more</literal>(1) which cannot scroll back.  By installing the <literal>less</literal> package using command line "<literal>apt-get install less</literal>", <literal>less</literal>(1) becomes default pager and you can scroll back with cursor keys.</simpara>
2965          </note>          </note>
2966          <note>          <note>
2967            <simpara>The "<literal>[</literal>" and "<literal>]</literal>" in the regular expression of the "<literal>ps aux | grep -e "[e]xim4*"</literal>" command above enable <literal>grep</literal> to avoid matching itself.  The "<literal>4*</literal>" in the regular expression means 0 or more repeats of character "<literal>4</literal>" thus enables <literal>grep</literal> to match both "<literal>exim</literal>" and "<literal>exim4</literal>".  Although "<literal>*</literal>" is used in the shell filename glob and the regular expression, their meanings are different.  Learn the regular expression from <literal>grep</literal>(1).</simpara>            <simpara>The "<literal>[</literal>" and "<literal>]</literal>" in the regular expression of the "<literal>ps aux | grep -e "[e]xim4*"</literal>" command above enable <literal>grep</literal> to avoid matching itself.  The "<literal>4*</literal>" in the regular expression means 0 or more repeats of character "<literal>4</literal>" thus enables <literal>grep</literal> to match both "<literal>exim</literal>" and "<literal>exim4</literal>".  Although "<literal>*</literal>" is used in the shell filename glob and the regular expression, their meanings are different.  Learn the regular expression from <literal>grep</literal>(1).</simpara>
# Line 3340  dimanche 3 juin 2007, 10:27:33 (UTC+0900 Line 3327  dimanche 3 juin 2007, 10:27:33 (UTC+0900
3327            </tgroup>            </tgroup>
3328          </table>          </table>
3329          <tip>          <tip>
3330            <simpara>Shell expands "<literal>~/</literal>" to current user’s home directory, i.e., "<literal>$HOME/</literal>". Shell expands "<literal>~foo/</literal>" to <literal>foo</literal>'s home directory, i.e., "<literal>/home/foo/</literal>".</simpara>            <simpara>Shell expands "<literal>~/</literal>" to current user's home directory, i.e., "<literal>$HOME/</literal>". Shell expands "<literal>~foo/</literal>" to <literal>foo</literal>'s home directory, i.e., "<literal>/home/foo/</literal>".</simpara>
3331          </tip>          </tip>
3332        </section>        </section>
3333        <section id="_command_line_options">        <section id="_command_line_options">
# Line 4427  Sat, 23 Aug 2003 08:30:50 +0200</screen> Line 4414  Sat, 23 Aug 2003 08:30:50 +0200</screen>
4414      <simpara><ulink url="http://www.debian.org">Debian</ulink> is a volunteer organization which builds <emphasis role="strong">consistent</emphasis> distributions of pre-compiled binary packages of free software and distributes them from its archive.</simpara>      <simpara><ulink url="http://www.debian.org">Debian</ulink> is a volunteer organization which builds <emphasis role="strong">consistent</emphasis> distributions of pre-compiled binary packages of free software and distributes them from its archive.</simpara>
4415      <simpara><ulink url="http://ftp.us.debian.org/debian/">The Debian archive</ulink> is offered by <ulink url="http://www.debian.org/mirror/">many remote mirror sites</ulink> for access through HTTP and FTP methods. It is also available as <ulink url="http://www.debian.org/CD/">CD-ROM/DVD</ulink>.</simpara>      <simpara><ulink url="http://ftp.us.debian.org/debian/">The Debian archive</ulink> is offered by <ulink url="http://www.debian.org/mirror/">many remote mirror sites</ulink> for access through HTTP and FTP methods. It is also available as <ulink url="http://www.debian.org/CD/">CD-ROM/DVD</ulink>.</simpara>
4416      <simpara>The Debian package management system, <emphasis role="strong">when used properly</emphasis>, offers the user to install <emphasis role="strong">consistent sets of binary packages</emphasis> to the system from the archive.  Currently, there are @-@all-packages@-@ packages available for the @-@arch@-@ architecture.</simpara>      <simpara>The Debian package management system, <emphasis role="strong">when used properly</emphasis>, offers the user to install <emphasis role="strong">consistent sets of binary packages</emphasis> to the system from the archive.  Currently, there are @-@all-packages@-@ packages available for the @-@arch@-@ architecture.</simpara>
4417      <simpara>The Debian package management system has a rich history and many choices for the front end user program and back end archive access method to be used.  Currently, we recommend <literal>aptitude</literal>(8) as the main front end program for the Debian package management activity.</simpara>      <simpara>The Debian package management system has a rich history and many choices for the front end user program and back end archive access method to be used.  Currently, we recommend the following.</simpara>
4418        <itemizedlist>
4419          <listitem>
4420            <simpara><literal>apt-get</literal>(8) for all commandline operations, including package installation and removal, and dist-upgrades.
4421    </simpara>
4422          </listitem>
4423          <listitem>
4424            <simpara><literal>aptitude</literal>(8) for an interactive text interface to manage the installed packages and to search the available packages.
4425    </simpara>
4426          </listitem>
4427          <listitem>
4428            <simpara><literal>update-manager</literal>(8) for keeping your system up-to-date if you're running the default GNOME desktop.
4429    </simpara>
4430          </listitem>
4431        </itemizedlist>
4432      <table pgwide="0" frame="topbot" rowsep="1" colsep="1">      <table pgwide="0" frame="topbot" rowsep="1" colsep="1">
4433        <title>List of Debian package management tools</title>        <title>List of Debian package management tools</title>
4434        <tgroup cols="4">        <tgroup cols="4">
4435          <colspec colwidth="119pt" align="left"/>          <colspec colwidth="124pt" align="left"/>
4436          <colspec colwidth="76pt" align="left"/>          <colspec colwidth="76pt" align="left"/>
4437          <colspec colwidth="70pt" align="left"/>          <colspec colwidth="70pt" align="left"/>
4438          <colspec colwidth="483pt" align="left"/>          <colspec colwidth="483pt" align="left"/>
# Line 4454  Sat, 23 Aug 2003 08:30:50 +0200</screen> Line 4455  Sat, 23 Aug 2003 08:30:50 +0200</screen>
4455          <tbody>          <tbody>
4456            <row>            <row>
4457              <entry>              <entry>
4458                <literal>aptitude</literal>                <literal>apt</literal>
4459              </entry>              </entry>
4460              <entry>              <entry>
4461      @-@popcon1@-@      @-@popcon1@-@
# Line 4463  Sat, 23 Aug 2003 08:30:50 +0200</screen> Line 4464  Sat, 23 Aug 2003 08:30:50 +0200</screen>
4464      @-@psize1@-@      @-@psize1@-@
4465      </entry>      </entry>
4466              <entry>              <entry>
4467      terminal-based package manager (current standard, front-end for <literal>apt</literal>)      Advanced Packaging Tool (APT), front-end for <literal>dpkg</literal> providing "<literal>http</literal>", "<literal>ftp</literal>", and "<literal>file</literal>" archive access methods (<literal>apt-get</literal>/<literal>apt-cache</literal> commands included)
4468      </entry>      </entry>
4469            </row>            </row>
4470            <row>            <row>
4471              <entry>              <entry>
4472                <literal>apt</literal>                <literal>aptitude</literal>
4473              </entry>              </entry>
4474              <entry>              <entry>
4475      @-@popcon1@-@      @-@popcon1@-@
# Line 4477  Sat, 23 Aug 2003 08:30:50 +0200</screen> Line 4478  Sat, 23 Aug 2003 08:30:50 +0200</screen>
4478      @-@psize1@-@      @-@psize1@-@
4479      </entry>      </entry>
4480              <entry>              <entry>
4481      Advanced Packaging Tool (APT), front-end for <literal>dpkg</literal> providing "<literal>http</literal>", "<literal>ftp</literal>", and "<literal>file</literal>" archive access methods (<literal>apt-get</literal>/<literal>apt-cache</literal> commands included)      interactive terminal-based package manager with <literal>aptitude</literal>(8)
4482      </entry>      </entry>
4483            </row>            </row>
4484            <row>            <row>
4485              <entry>              <entry>
4486                <literal>tasksel</literal>                <literal>update-manager-gnome</literal>
4487              </entry>              </entry>
4488              <entry>              <entry>
4489      @-@popcon1@-@      @-@popcon1@-@
# Line 4491  Sat, 23 Aug 2003 08:30:50 +0200</screen> Line 4492  Sat, 23 Aug 2003 08:30:50 +0200</screen>
4492      @-@psize1@-@      @-@psize1@-@
4493      </entry>      </entry>
4494              <entry>              <entry>
4495      tool for selecting tasks for installation on Debian system (front-end for APT)      GNOME application that manages software updates with <literal>update-manager</literal>(8)
4496      </entry>      </entry>
4497            </row>            </row>
4498            <row>            <row>
4499              <entry>              <entry>
4500                <literal>unattended-upgrades</literal>                <literal>tasksel</literal>
4501              </entry>              </entry>
4502              <entry>              <entry>
4503      @-@popcon1@-@      @-@popcon1@-@
# Line 4505  Sat, 23 Aug 2003 08:30:50 +0200</screen> Line 4506  Sat, 23 Aug 2003 08:30:50 +0200</screen>
4506      @-@psize1@-@      @-@psize1@-@
4507      </entry>      </entry>
4508              <entry>              <entry>
4509      enhancement package for APT to enable automatic installation of security upgrades      tool for selecting tasks for installation on Debian system (front-end for APT)
4510      </entry>      </entry>
4511            </row>            </row>
4512            <row>            <row>
4513              <entry>              <entry>
4514                <literal>dselect</literal>                <literal>unattended-upgrades</literal>
4515              </entry>              </entry>
4516              <entry>              <entry>
4517      @-@popcon1@-@      @-@popcon1@-@
# Line 4519  Sat, 23 Aug 2003 08:30:50 +0200</screen> Line 4520  Sat, 23 Aug 2003 08:30:50 +0200</screen>
4520      @-@psize1@-@      @-@psize1@-@
4521      </entry>      </entry>
4522              <entry>              <entry>
4523      terminal-based package manager (previous standard, front-end for APT and other old access methods)      enhancement package for APT to enable automatic installation of security upgrades
4524      </entry>      </entry>
4525            </row>            </row>
4526            <row>            <row>
4527              <entry>              <entry>
4528                <literal>dpkg</literal>                <literal>dselect</literal>
4529              </entry>              </entry>
4530              <entry>              <entry>
4531      @-@popcon1@-@      @-@popcon1@-@
# Line 4533  Sat, 23 Aug 2003 08:30:50 +0200</screen> Line 4534  Sat, 23 Aug 2003 08:30:50 +0200</screen>
4534      @-@psize1@-@      @-@psize1@-@
4535      </entry>      </entry>
4536              <entry>              <entry>
4537      package management system for Debian      terminal-based package manager (previous standard, front-end for APT and other old access methods)
4538      </entry>      </entry>
4539            </row>            </row>
4540            <row>            <row>
4541              <entry>              <entry>
4542                <literal>synaptic</literal>                <literal>dpkg</literal>
4543              </entry>              </entry>
4544              <entry>              <entry>
4545      @-@popcon1@-@      @-@popcon1@-@
# Line 4547  Sat, 23 Aug 2003 08:30:50 +0200</screen> Line 4548  Sat, 23 Aug 2003 08:30:50 +0200</screen>
4548      @-@psize1@-@      @-@psize1@-@
4549      </entry>      </entry>
4550              <entry>              <entry>
4551      graphical package manager (GNOME front-end for APT)      package management system for Debian
4552      </entry>      </entry>
4553            </row>            </row>
4554            <row>            <row>
4555              <entry>              <entry>
4556                <literal>kpackage</literal>                <literal>synaptic</literal>
4557              </entry>              </entry>
4558              <entry>              <entry>
4559      @-@popcon1@-@      @-@popcon1@-@
# Line 4561  Sat, 23 Aug 2003 08:30:50 +0200</screen> Line 4562  Sat, 23 Aug 2003 08:30:50 +0200</screen>
4562      @-@psize1@-@      @-@psize1@-@
4563      </entry>      </entry>
4564              <entry>              <entry>
4565      graphical package manager (KDE front-end for APT)      graphical package manager (GNOME front-end for APT)
4566      </entry>      </entry>
4567            </row>            </row>
4568            <row>            <row>
# Line 4637  Sat, 23 Aug 2003 08:30:50 +0200</screen> Line 4638  Sat, 23 Aug 2003 08:30:50 +0200</screen>
4638          </tbody>          </tbody>
4639        </tgroup>        </tgroup>
4640      </table>      </table>
     <note>  
       <simpara>The annoying <ulink url="http://bugs.debian.org/411123">bug #411123</ulink> for the mixed use of <literal>aptitude</literal>(8) and <literal>apt-get</literal>(8) commands has been resolved.  If this kept you from using <literal>aptitude</literal>, please reconsider.</simpara>  
     </note>  
4641      <section id="_debian_package_management_prerequisites">      <section id="_debian_package_management_prerequisites">
4642        <title>Debian package management prerequisites</title>        <title>Debian package management prerequisites</title>
4643        <section id="_package_configuration">        <section id="_package_configuration">
# Line 4832  The 2nd argument is the distribution nam Line 4830  The 2nd argument is the distribution nam
4830            </listitem>            </listitem>
4831            <listitem>            <listitem>
4832              <simpara>              <simpara>
4833  The 3rd and following arguments are the list of valid archive component names of the Debian archive.  The 3rd and following arguments are the list of valid archive area names of the Debian archive.
4834  </simpara>  </simpara>
4835            </listitem>            </listitem>
4836          </itemizedlist>          </itemizedlist>
4837          <simpara>The "<literal>deb-src</literal>" lines can safely be omitted (or commented out by placing "#" at the start of the line) if it is just for <literal>aptitude</literal> which does not access source related meta data. It speeds up the updates of the archive meta data. The URL can be "<literal>http://</literal>", "<literal>ftp://</literal>", "<literal>file://</literal>", ….</simpara>          <simpara>The "<literal>deb-src</literal>" lines can safely be omitted (or commented out by placing "#" at the start of the line) if it is just for <literal>aptitude</literal> which does not access source related meta data. It speeds up the updates of the archive meta data. The URL can be "<literal>http://</literal>", "<literal>ftp://</literal>", "<literal>file://</literal>", ….</simpara>
4838          <tip>          <tip>
4839            <simpara>If "<literal>sid</literal>" is used in the above example instead of "<literal>@-@codename-stable@-@</literal>", the "<literal>deb: <ulink url="http://security.debian.org/">http://security.debian.org/</ulink> …</literal>" line for security updates in the "<literal>/etc/apt/sources.list</literal>" is not required.   This is because "<literal>sid</literal>" (<literal>unstable</literal>) is always updated whenever security issues are fixed.  There is no need to have a separate security update archive for "<literal>sid</literal>".</simpara>            <simpara>If "<literal>sid</literal>" is used in the above example instead of "<literal>@-@codename-stable@-@</literal>", the "<literal>deb: <ulink url="http://security.debian.org/">http://security.debian.org/</ulink> …</literal>" line for security updates in the "<literal>/etc/apt/sources.list</literal>" is not required.   This is because there is no security update archive for "<literal>sid</literal>" (<literal>unstable</literal>).</simpara>
4840          </tip>          </tip>
4841          <simpara>Here is the list of URL of the Debian archive sites and suite name or codename used in the configuration file.</simpara>          <simpara>Here is the list of URL of the Debian archive sites and suite name or codename used in the configuration file.</simpara>
4842          <table pgwide="0" frame="topbot" rowsep="1" colsep="1">          <table pgwide="0" frame="topbot" rowsep="1" colsep="1">
4843            <title>List of Debian archive sites</title>            <title>List of Debian archive sites</title>
4844            <tgroup cols="3">            <tgroup cols="3">
4845              <colspec colwidth="483pt" align="left"/>              <colspec colwidth="504pt" align="left"/>
4846              <colspec colwidth="211pt" align="left"/>              <colspec colwidth="211pt" align="left"/>
4847              <colspec colwidth="103pt" align="left"/>              <colspec colwidth="103pt" align="left"/>
4848              <thead>              <thead>
# Line 4959  The 3rd and following arguments are the Line 4957  The 3rd and following arguments are the
4957                </row>                </row>
4958                <row>                <row>
4959                  <entry>                  <entry>
4960                    <ulink url="http://backports.org/debian/">http://backports.org/debian/</ulink>                    <ulink url="http://backports.debian.org/debian-backports/">http://backports.debian.org/debian-backports/</ulink>
4961                  </entry>                  </entry>
4962                  <entry>                  <entry>
4963                    <literal>@-@codename-stable@-@-backports</literal>                    <literal>@-@codename-stable@-@-backports</literal>
4964                  </entry>                  </entry>
4965                  <entry>                  <entry>
4966      newer backported packages for @-@codename-stable@-@ (non-official, optional)      newer backported packages for @-@codename-stable@-@ (official, optional)
4967      </entry>      </entry>
4968                </row>                </row>
4969              </tbody>              </tbody>
4970            </tgroup>            </tgroup>
4971          </table>          </table>
4972          <caution>          <caution>
4973            <simpara>Only pure <emphasis role="strong"><literal>stable</literal></emphasis> release with security updates provides the best stability. Running mostly <emphasis role="strong"><literal>stable</literal></emphasis> release mixed with some packages from <emphasis role="strong"><literal>testing</literal></emphasis> or <emphasis role="strong"><literal>unstable</literal></emphasis> release is riskier than running pure <emphasis role="strong"><literal>unstable</literal></emphasis> release.  If you really need the latest version of some programs under <emphasis role="strong"><literal>stable</literal></emphasis> release, please use packages from <ulink url="http://www.debian.org/volatile/">the debian-volatile project</ulink> and <ulink url="http://backports.org">backports.org</ulink> (see <xref linkend="_volatile_and_backports_org"/>) services.  These services must be used with extra care.</simpara>            <simpara>Only pure <emphasis role="strong"><literal>stable</literal></emphasis> release with security updates provides the best stability. Running mostly <emphasis role="strong"><literal>stable</literal></emphasis> release mixed with some packages from <emphasis role="strong"><literal>testing</literal></emphasis> or <emphasis role="strong"><literal>unstable</literal></emphasis> release is riskier than running pure <emphasis role="strong"><literal>unstable</literal></emphasis> release for library version mismatch etc.  If you really need the latest version of some programs under <emphasis role="strong"><literal>stable</literal></emphasis> release, please use packages from <ulink url="http://www.debian.org/volatile/">the debian-volatile project</ulink> and <ulink url="http://backports.debian.org">http://backports.debian.org</ulink> (see <xref linkend="_volatile_and_backports"/>) services.  These services must be used with extra care.</simpara>
4974          </caution>          </caution>
4975          <caution>          <caution>
4976            <simpara>You should basically list only one of <literal>stable</literal>, <literal>testing</literal>, or <literal>unstable</literal> suites in the "<literal>deb</literal>" line.  If you list any combination of <literal>stable</literal>, <literal>testing</literal>, and <literal>unstable</literal> suites in the "<literal>deb</literal>" line, APT programs slow down while only the latest archive is effective.  Multiple listing makes sense for these when the "<literal>/etc/apt/preferences</literal>" file is used with clear objectives (see <xref linkend="_tweaking_candidate_version"/>).</simpara>            <simpara>You should basically list only one of <literal>stable</literal>, <literal>testing</literal>, or <literal>unstable</literal> suites in the "<literal>deb</literal>" line.  If you list any combination of <literal>stable</literal>, <literal>testing</literal>, and <literal>unstable</literal> suites in the "<literal>deb</literal>" line, APT programs slow down while only the latest archive is effective.  Multiple listing makes sense for these when the "<literal>/etc/apt/preferences</literal>" file is used with clear objectives (see <xref linkend="_tweaking_candidate_version"/>).</simpara>
4977          </caution>          </caution>
4978          <note>          <tip>
4979            <simpara>For the Debian system with the <literal>stable</literal> and <literal>testing</literal> suites, it is a good idea to include lines with "<literal>http://security.debian.org/</literal>" in the "<literal>/etc/apt/sources.list</literal>" to enable security updates as in the example above.</simpara>            <simpara>For the Debian system with the <literal>stable</literal> and <literal>testing</literal> suites, it is a good idea to include lines with "<literal>http://security.debian.org/</literal>" in the "<literal>/etc/apt/sources.list</literal>" to enable security updates as in the example above.</simpara>
4980            </tip>
4981            <note>
4982              <simpara>The security bugs for the <literal>stable</literal> archive are fixed by the Debian security team.  This activity has been quite rigorous and reliable.  Those for the <literal>testing</literal> archive may be fixed by the Debian testing security team.  For <ulink url="http://lists.debian.org/debian-testing-security-announce/2008/12/msg00019.html">several</ulink> <ulink url="http://lists.debian.org/debian-testing-security-announce/2010/01/msg00000.html">reasons</ulink>, this activity is not as rigorous as that for <literal>stable</literal> and you may need to wait for the migration of fixed <literal>unstable</literal> packages.  Those for the <literal>unstable</literal> archive are fixed by the individual maintainer.  Actively maintained <literal>unstable</literal> packages are usually in a fairly good shape by leveraging latest upstream security fixes.  See <ulink url="http://www.debian.org/security/faq">Debian security FAQ</ulink> for how Debian handles security bugs.</simpara>
4983          </note>          </note>
         <simpara>Each Debian archive consists of 3 components. Components are alternatively called <ulink url="http://www.debian.org/doc/debian-policy/ch-archive#s-sections">categories in "Debian Policy"</ulink> or areas in <ulink url="http://www.debian.org/social_contract">"Debian Social Contract"</ulink>.  The component is grouped by the compliance to <ulink url="http://www.debian.org/social_contract#guidelines">"The Debian Free Software Guidelines" (DFSG)</ulink>.</simpara>  
4984          <table pgwide="0" frame="topbot" rowsep="1" colsep="1">          <table pgwide="0" frame="topbot" rowsep="1" colsep="1">
4985            <title>List of Debian archive components</title>            <title>List of Debian archive area</title>
4986            <tgroup cols="3">            <tgroup cols="3">
4987              <colspec colwidth="59pt" align="left"/>              <colspec colwidth="59pt" align="left"/>
4988              <colspec colwidth="130pt" align="left"/>              <colspec colwidth="130pt" align="left"/>
# Line 4990  The 3rd and following arguments are the Line 4990  The 3rd and following arguments are the
4990              <thead>              <thead>
4991                <row>                <row>
4992                  <entry>                  <entry>
4993      component      area
4994      </entry>      </entry>
4995                  <entry>                  <entry>
4996      number of packages      number of packages
4997      </entry>      </entry>
4998                  <entry>                  <entry>
4999      criteria of package      criteria of package component
5000      </entry>      </entry>
5001                </row>                </row>
5002              </thead>              </thead>
# Line 5037  The 3rd and following arguments are the Line 5037  The 3rd and following arguments are the
5037              </tbody>              </tbody>
5038            </tgroup>            </tgroup>
5039          </table>          </table>
5040          <simpara>Here the number of packages in the above is for the @-@arch@-@ architecture.  Strictly speaking, only the <literal>main</literal> component archive shall be considered as the Debian system.</simpara>          <simpara>Here the number of packages in the above is for the @-@arch@-@ architecture.  Strictly speaking, only the <literal>main</literal> area archive shall be considered as the Debian system.</simpara>
5041          <simpara>The Debian archive organization can be studied best by pointing your browser to the each archive URL appended with <literal>dists</literal> or <literal>pool</literal>.</simpara>          <simpara>The Debian archive organization can be studied best by pointing your browser to the each archive URL appended with <literal>dists</literal> or <literal>pool</literal>.</simpara>
5042          <simpara>The distribution is referred by two ways, the suite or <ulink url="http://www.debian.org/doc/manuals/developers-reference/resources.html#codenames">codename</ulink>. The word distribution is alternatively used as the synonym to the suite in many documentations. The relationship between the suite and the codename can be summarized as the following.</simpara>          <simpara>The distribution is referred by two ways, the suite or <ulink url="http://www.debian.org/doc/manuals/developers-reference/resources.html#codenames">codename</ulink>. The word distribution is alternatively used as the synonym to the suite in many documentations. The relationship between the suite and the codename can be summarized as the following.</simpara>
5043          <table pgwide="0" frame="topbot" rowsep="1" colsep="1">          <table pgwide="0" frame="topbot" rowsep="1" colsep="1">
# Line 5096  The 3rd and following arguments are the Line 5096  The 3rd and following arguments are the
5096            </tgroup>            </tgroup>
5097          </table>          </table>
5098          <simpara>The history of codenames are described in <ulink url="http://www.debian.org/doc/manuals/debian-faq/ch-ftparchives#s-oldcodenames">Debian FAQ: 6.3.1 Which other codenames have been used in the past?</ulink></simpara>          <simpara>The history of codenames are described in <ulink url="http://www.debian.org/doc/manuals/debian-faq/ch-ftparchives#s-oldcodenames">Debian FAQ: 6.3.1 Which other codenames have been used in the past?</ulink></simpara>
5099          <simpara>In the stricter Debian archive terminology, the word "section" is specifically used for the categorization of packages by the application area.  (Although, the word "main section" may sometimes be used to describe the Debian archive section which provides the main component.)</simpara>          <simpara>In the stricter Debian archive terminology, the word "section" is specifically used for the categorization of packages by the application area.  (Although, the word "main section" may sometimes be used to describe the Debian archive area named as "main".)</simpara>
5100          <simpara>Every time a new upload is done by the Debian developer (DD) to the <literal>unstable</literal> archive (via <ulink url="http://incoming.debian.org/">incoming</ulink> processing), DD is required to ensure uploaded packages to be compatible with the latest set of packages in the latest <literal>unstable</literal> archive.</simpara>          <simpara>Every time a new upload is done by the Debian developer (DD) to the <literal>unstable</literal> archive (via <ulink url="http://incoming.debian.org/">incoming</ulink> processing), DD is required to ensure uploaded packages to be compatible with the latest set of packages in the latest <literal>unstable</literal> archive.</simpara>
5101          <simpara>If DD breaks this compatibility intentionally for important library upgrade etc, there is usually announcement to <ulink url="http://lists.debian.org/debian-devel/">the debian-devel mailing list</ulink> etc.</simpara>          <simpara>If DD breaks this compatibility intentionally for important library upgrade etc, there is usually announcement to <ulink url="http://lists.debian.org/debian-devel/">the debian-devel mailing list</ulink> etc.</simpara>
5102          <simpara>Before a set of packages are moved by the Debian archive maintenance script from the <literal>unstable</literal> archive to the <literal>testing</literal> archive, the archive maintenance script not only checks the maturity (about 10 days old) and the status of the RC bug reports for the packages but also tries to ensure them to be compatible with the latest set of packages in the <literal>testing</literal> archive. This process makes the <literal>testing</literal> archive very current and usable.</simpara>          <simpara>Before a set of packages are moved by the Debian archive maintenance script from the <literal>unstable</literal> archive to the <literal>testing</literal> archive, the archive maintenance script not only checks the maturity (about 10 days old) and the status of the RC bug reports for the packages but also tries to ensure them to be compatible with the latest set of packages in the <literal>testing</literal> archive. This process makes the <literal>testing</literal> archive very current and usable.</simpara>
# Line 5221  This declares a week dependency like Sug Line 5221  This declares a week dependency like Sug
5221            </listitem>            </listitem>
5222            <listitem>            <listitem>
5223              <simpara>              <simpara>
5224    "Breaks"
5225    </simpara>
5226                <itemizedlist>
5227                  <listitem>
5228                    <simpara>
5229    This declares a package incompatibility usually with some version specification.  Generally the resolution is to upgrade all of the packages listed in this field.
5230    </simpara>
5231                  </listitem>
5232                </itemizedlist>
5233              </listitem>
5234              <listitem>
5235                <simpara>
5236  "Conflicts"  "Conflicts"
5237  </simpara>  </simpara>
5238              <itemizedlist>              <itemizedlist>
# Line 5485  $ mc</screen> Line 5497  $ mc</screen>
5497      </section>      </section>
5498      <section id="_basic_package_management_operations">      <section id="_basic_package_management_operations">
5499        <title>Basic package management operations</title>        <title>Basic package management operations</title>
5500        <simpara>Aptitude is the current preferred package management tool for the Debian system.  It can be used as the commandline alternative to <literal>apt-get</literal> / <literal>apt-cache</literal> and also as the full screen interactive package management tool.</simpara>        <simpara>Basic package management operations on the Debian system can be performed by any package management tools available on the Debian system.  Here, we explain basic package management tools: <literal>apt-get</literal> / <literal>apt-cache</literal> and <literal>aptitude</literal>.</simpara>
5501        <simpara>For the package management operation which involves package installation or updates package metadata, you need to have root privilege.</simpara>        <simpara>For the package management operation which involves package installation or updates package metadata, you need to have root privilege.</simpara>
5502        <section id="_basic_package_management_operations_with_commandline">        <section id="_literal_apt_get_literal_literal_apt_cache_literal_vs_literal_aptitude_literal">
5503          <title>Basic package management operations with commandline</title>          <title><literal>apt-get</literal> / <literal>apt-cache</literal> vs. <literal>aptitude</literal></title>
5504          <simpara>Here are basic package management operations with commandline using <literal>aptitude</literal>(8) and <literal>apt-get</literal>(8) /<literal>apt-cache</literal>(8).</simpara>          <simpara>The <literal>apt-get</literal> and <literal>apt-cache</literal> commands are the most <emphasis role="strong">basic</emphasis> package management tool.</simpara>
5505            <itemizedlist>
5506              <listitem>
5507                <simpara><literal>apt-get</literal> and <literal>apt-cache</literal> offer only the commandline user interface.
5508    </simpara>
5509              </listitem>
5510              <listitem>
5511                <simpara><literal>apt-get</literal> is most suitable for the <emphasis role="strong">major system upgrade</emphasis> between releases, etc.
5512    </simpara>
5513              </listitem>
5514              <listitem>
5515                <simpara><literal>apt-get</literal> offers a <emphasis role="strong">robust and stable</emphasis> package resolver which uses the common package state data.
5516    </simpara>
5517              </listitem>
5518              <listitem>
5519                <simpara><literal>apt-get</literal> has been updated to support autoinstall and autoremove of recommended packages.
5520    </simpara>
5521              </listitem>
5522              <listitem>
5523                <simpara><literal>apt-get</literal> has been updated to support logging of package activities.
5524    </simpara>
5525              </listitem>
5526              <listitem>
5527                <simpara><literal>apt-cache</literal> offers a <emphasis role="strong">standard</emphasis> regex based search on the package name and description.
5528    </simpara>
5529              </listitem>
5530              <listitem>
5531                <simpara><literal>apt-get</literal> and <literal>apt-cache</literal> can manage multiple versions of packages using <literal>/etc/apt/preferences</literal> but it is quite cumbersome.
5532    </simpara>
5533              </listitem>
5534            </itemizedlist>
5535            <simpara>The <literal>aptitude</literal> command is the most <emphasis role="strong">versatile</emphasis> package management tool.</simpara>
5536            <itemizedlist>
5537              <listitem>
5538                <simpara><literal>aptitude</literal> offers the fullscreen interactive text user interface.
5539    </simpara>
5540              </listitem>
5541              <listitem>
5542                <simpara><literal>aptitude</literal> offers the commandline user interface, too.
5543    </simpara>
5544              </listitem>
5545              <listitem>
5546                <simpara><literal>aptitude</literal> is most suitable for the <emphasis role="strong">daily interactive package management</emphasis> such as inspecting installed packages and searching available packages.
5547    </simpara>
5548              </listitem>
5549              <listitem>
5550                <simpara><literal>aptitude</literal> offers an <emphasis role="strong">enhanced</emphasis> package resolver which also uses an extra package state data used only by <literal>aptitude</literal>.
5551    </simpara>
5552              </listitem>
5553              <listitem>
5554                <simpara><literal>aptitude</literal> supports autoinstall and autoremove of recommended packages.
5555    </simpara>
5556              </listitem>
5557              <listitem>
5558                <simpara><literal>aptitude</literal> supports logging of package activities.
5559    </simpara>
5560              </listitem>
5561              <listitem>
5562                <simpara><literal>aptitude</literal> offers an <emphasis role="strong">enhanced</emphasis> regex based search on all of the package metadata.
5563    </simpara>
5564              </listitem>
5565              <listitem>
5566                <simpara><literal>aptitude</literal> can manage multiple versions of packages without using <literal>/etc/apt/preferences</literal> and it is quite intuitive.
5567    </simpara>
5568              </listitem>
5569            </itemizedlist>
5570            <note>
5571              <simpara>Although the <literal>aptitude</literal> command comes with rich features such as its enhanced package resolver, this complexity has caused (or may still causes) some regressions such as <ulink url="http://bugs.debian.org/411123">Bug #411123</ulink>, <ulink url="http://bugs.debian.org/514930">Bug #514930</ulink>, and <ulink url="http://bugs.debian.org/570377">Bug #570377</ulink>.  In case of doubt, please use the <literal>apt-get</literal> and <literal>apt-cache</literal> commands over the <literal>aptitude</literal> command.</simpara>
5572            </note>
5573          </section>
5574          <section id="_basic_package_management_operations_with_the_commandline">
5575            <title>Basic package management operations with the commandline</title>
5576            <simpara>Here are basic package management operations with the commandline using <literal>aptitude</literal>(8) and <literal>apt-get</literal>(8) /<literal>apt-cache</literal>(8).</simpara>
5577          <table pgwide="0" frame="topbot" rowsep="1" colsep="1">          <table pgwide="0" frame="topbot" rowsep="1" colsep="1">
5578            <title>Basic package management operations with commandline using <literal>aptitude</literal>(8) and <literal>apt-get</literal>(8) /<literal>apt-cache</literal>(8)</title>            <title>Basic package management operations with the commandline using <literal>aptitude</literal>(8) and <literal>apt-get</literal>(8) /<literal>apt-cache</literal>(8)</title>
5579            <tgroup cols="3">            <tgroup cols="3">
5580              <colspec colwidth="146pt" align="left"/>              <colspec colwidth="146pt" align="left"/>
5581              <colspec colwidth="179pt" align="left"/>              <colspec colwidth="179pt" align="left"/>
# Line 5654  $ mc</screen> Line 5738  $ mc</screen>
5738              </tbody>              </tbody>
5739            </tgroup>            </tgroup>
5740          </table>          </table>
5741          <simpara>Although it is now safe to mix different package tools on the Debian system, it is best to continue using <literal>aptitude</literal> as much as possible.</simpara>          <note>
5742              <simpara>Since <literal>apt-get</literal> and <literal>aptitude</literal> share auto-installed package status (see <xref linkend="_the_package_state_for_apt"/>) after <literal>lenny</literal>, you can mix these tools without major troubles (see <ulink url="http://bugs.debian.org/594490">Bug #594490</ulink>).</simpara>
5743            </note>
5744          <simpara>The difference between "<literal>safe-upgrade</literal>"/"<literal>upgrade</literal>" and "<literal>full-upgrade</literal>"/"<literal>dist-upgrade</literal>" only appears when new versions of packages stand in different dependency relationships from old versions of those packages.  The "<literal>aptitude safe-upgrade</literal>" command does not install new packages nor remove installed packages.</simpara>          <simpara>The difference between "<literal>safe-upgrade</literal>"/"<literal>upgrade</literal>" and "<literal>full-upgrade</literal>"/"<literal>dist-upgrade</literal>" only appears when new versions of packages stand in different dependency relationships from old versions of those packages.  The "<literal>aptitude safe-upgrade</literal>" command does not install new packages nor remove installed packages.</simpara>
5745          <simpara>The "<literal>aptitude why &lt;regex&gt;</literal>" can list more information by "<literal>aptitude -v why &lt;regex&gt;</literal>".  Similar information can be obtained by "<literal>apt-cache rdepends &lt;package&gt;</literal>".</simpara>          <simpara>The "<literal>aptitude why &lt;regex&gt;</literal>" can list more information by "<literal>aptitude -v why &lt;regex&gt;</literal>".  Similar information can be obtained by "<literal>apt-cache rdepends &lt;package&gt;</literal>".</simpara>
5746          <simpara>When <literal>aptitude</literal> command is started in the commandline mode and faces some issues such as package conflicts, you can switch to the full screen interactive mode by pressing "<literal>e</literal>"-key later at the prompt.</simpara>          <simpara>When <literal>aptitude</literal> command is started in the commandline mode and faces some issues such as package conflicts, you can switch to the full screen interactive mode by pressing "<literal>e</literal>"-key later at the prompt.</simpara>
# Line 6031  The candidate version of the package Line 6117  The candidate version of the package
6117                    <literal>Upgradable Packages</literal>                    <literal>Upgradable Packages</literal>
6118                  </entry>                  </entry>
6119                  <entry>                  <entry>
6120      list packages organized as <literal>section</literal> → <literal>component</literal> → <literal>package</literal>      list packages organized as <literal>section</literal> → <literal>area</literal> → <literal>package</literal>
6121      </entry>      </entry>
6122                </row>                </row>
6123                <row>                <row>
# Line 6519  The default relation type is "depends". Line 6605  The default relation type is "depends".
6605          </table>          </table>
6606          <simpara>In reality, it is not so easy to get meaningful understanding quickly out from these logs.  See <xref linkend="_recording_changes_in_configuration_files"/> for easier way.</simpara>          <simpara>In reality, it is not so easy to get meaningful understanding quickly out from these logs.  See <xref linkend="_recording_changes_in_configuration_files"/> for easier way.</simpara>
6607        </section>        </section>
       <section id="_aptitude_advantages">  
         <title>Aptitude advantages</title>  
         <simpara>Aptitude has advantages over other APT based packaging systems (apt-get, apt-cache, synaptic, …).</simpara>  
         <itemizedlist>  
           <listitem>  
             <simpara><literal>aptitude</literal> removes unused auto installed packages automatically using its own extra layer of package state file (<literal>/var/lib/aptitude/pkgstates</literal>). (For new "<literal>lenny</literal>", other APT does the same.)  
 </simpara>  
           </listitem>  
           <listitem>  
             <simpara><literal>aptitude</literal> makes it easy to resolve package conflicts and to add recommended packages.  
 </simpara>  
           </listitem>  
           <listitem>  
             <simpara><literal>aptitude</literal> makes it easy to keep track of obsolete software by listing under "Obsolete and Locally Created Packages".  
 </simpara>  
           </listitem>  
           <listitem>  
             <simpara><literal>aptitude</literal> gives a log of its history in "<literal>/var/log/aptitude</literal>".  
 </simpara>  
           </listitem>  
           <listitem>  
             <simpara><literal>aptitude</literal> offers access to all versions of the package if available.  
 </simpara>  
           </listitem>  
           <listitem>  
             <simpara><literal>aptitude</literal> includes a fairly powerful regex based system for searching particular packages and limiting the package display.  
 </simpara>  
           </listitem>  
           <listitem>  
             <simpara><literal>aptitude</literal> in the full screen mode has <literal>su</literal> functionality embedded and can be run from normal user until you really need administrative privileges.  
 </simpara>  
           </listitem>  
         </itemizedlist>  
         <simpara>For the old <literal>etch</literal> release version, <literal>synaptic</literal> also gives you the history log; <literal>apt-get</literal> did not but you can rely on the log of <literal>dpkg</literal>.</simpara>  
         <simpara>Anyway, <literal>aptitude</literal> is nice for interactive console use.</simpara>  
       </section>  
6608      </section>      </section>
6609      <section id="_examples_of_aptitude_operations">      <section id="_examples_of_aptitude_operations">
6610        <title>Examples of aptitude operations</title>        <title>Examples of aptitude operations</title>
# Line 6645  Start "<literal>apt-get autoremove|less< Line 6695  Start "<literal>apt-get autoremove|less<
6695          </orderedlist>          </orderedlist>
6696          <simpara>The "<literal>m</literal>" action over "<literal>Tasks</literal>" is an optional one to prevent mass package removal situation in future.</simpara>          <simpara>The "<literal>m</literal>" action over "<literal>Tasks</literal>" is an optional one to prevent mass package removal situation in future.</simpara>
6697        </section>        </section>
6698        <section id="_system_wide_upgrade_with_aptitude">        <section id="_system_wide_upgrade">
6699          <title>System wide upgrade with aptitude</title>          <title>System wide upgrade</title>
6700          <note>          <note>
6701            <simpara>When moving to a new release etc, you should consider to perform a clean installation of new system even though Debian is upgradable as described below.  This provides you a chance to remove garbages collected and exposes you to the best combination of latest packages.  Of course, you should make a full backup of system to a safe place (see <xref linkend="_backup_and_recovery"/>) before doing this. I recommend to make a dual boot configuration using different partition to have the smoothest transition.</simpara>            <simpara>When moving to a new release etc, you should consider to perform a clean installation of new system even though Debian is upgradable as described below.  This provides you a chance to remove garbages collected and exposes you to the best combination of latest packages.  Of course, you should make a full backup of system to a safe place (see <xref linkend="_backup_and_recovery"/>) before doing this. I recommend to make a dual boot configuration using different partition to have the smoothest transition.</simpara>
6702          </note>          </note>
6703          <simpara>You can perform system wide upgrade to a newer release by changing contents of the "<literal>/etc/apt/sources.list</literal>" file pointing to a new release and running the "<literal>aptitude update; aptitude full-upgrade</literal>" command.</simpara>          <simpara>You can perform system wide upgrade to a newer release by changing contents of the "<literal>/etc/apt/sources.list</literal>" file pointing to a new release and running the "<literal>apt-get update; apt-get dist-upgrade</literal>" command.</simpara>
6704          <simpara>To upgrade from <literal>stable</literal> to <literal>testing</literal> or <literal>unstable</literal>, you replace "<literal>@-@codename-stable@-@</literal>" in the "<literal>/etc/apt/sources.list</literal>" example of <xref linkend="_debian_archive_basics"/> with "<literal>@-@codename-testing@-@</literal>" or "<literal>sid</literal>".</simpara>          <simpara>To upgrade from <literal>stable</literal> to <literal>testing</literal> or <literal>unstable</literal>, you replace "<literal>@-@codename-stable@-@</literal>" in the "<literal>/etc/apt/sources.list</literal>" example of <xref linkend="_debian_archive_basics"/> with "<literal>@-@codename-testing@-@</literal>" or "<literal>sid</literal>".</simpara>
6705          <simpara>In reality, you may face some complications due to some package transition issues, mostly due to package dependencies.  The larger the difference of the upgrade, the more likely you face larger troubles.  For the transition from the old <literal>stable</literal> to the new <literal>stable</literal> after its release, you can read its new <ulink url="http://www.debian.org/releases/stable/releasenotes">Release Notes</ulink> and follow the exact procedure described in it to minimize troubles.</simpara>          <simpara>In reality, you may face some complications due to some package transition issues, mostly due to package dependencies.  The larger the difference of the upgrade, the more likely you face larger troubles.  For the transition from the old <literal>stable</literal> to the new <literal>stable</literal> after its release, you can read its new <ulink url="http://www.debian.org/releases/stable/releasenotes">Release Notes</ulink> and follow the exact procedure described in it to minimize troubles.</simpara>
6706          <simpara>When you decide to move from <literal>stable</literal> to <literal>testing</literal> before its formal release, there are no <ulink url="http://www.debian.org/releases/stable/releasenotes">Release Notes</ulink> to help you. The difference between <literal>stable</literal> and <literal>testing</literal> could have grown quite large after the previous <literal>stable</literal> release and makes upgrade situation complicated.</simpara>          <simpara>When you decide to move from <literal>stable</literal> to <literal>testing</literal> before its formal release, there are no <ulink url="http://www.debian.org/releases/stable/releasenotes">Release Notes</ulink> to help you. The difference between <literal>stable</literal> and <literal>testing</literal> could have grown quite large after the previous <literal>stable</literal> release and makes upgrade situation complicated.</simpara>
# Line 6713  Install, optionally, new <emphasis role= Line 6763  Install, optionally, new <emphasis role=
6763            </listitem>            </listitem>
6764            <listitem>            <listitem>
6765              <simpara>              <simpara>
6766  Run the "<literal>aptitude full-upgrade -s</literal>" command to assess impact.  Run the "<literal>apt-get -s dist-upgrade</literal>" command to assess impact.
6767  </simpara>  </simpara>
6768            </listitem>            </listitem>
6769            <listitem>            <listitem>
6770              <simpara>              <simpara>
6771  Run the "<literal>aptitude full-upgrade</literal>" command at last.  Run the "<literal>apt-get dist-upgrade</literal>" command at last.
6772  </simpara>  </simpara>
6773            </listitem>            </listitem>
6774          </orderedlist>          </orderedlist>
# Line 6893  Run the "<literal>aptitude full-upgrade< Line 6943  Run the "<literal>aptitude full-upgrade<
6943                    <literal>dpkg-source -x &lt;package_name&gt;_&lt;version&gt;-&lt;debian_version&gt;.dsc</literal>                    <literal>dpkg-source -x &lt;package_name&gt;_&lt;version&gt;-&lt;debian_version&gt;.dsc</literal>
6944                  </entry>                  </entry>
6945                  <entry>                  <entry>
6946      build a source tree from a set of source packages ("<literal>*.tar.gz</literal>" and "<literal>*.diff.gz</literal>")      build a source tree from a set of source packages ("<literal>*.orig.tar.gz</literal>" and "<literal>*.debian.tar.gz</literal>"/"<literal>*.diff.gz</literal>")
6947      </entry>      </entry>
6948                </row>                </row>
6949                <row>                <row>
# Line 6952  Run the "<literal>aptitude full-upgrade< Line 7002  Run the "<literal>aptitude full-upgrade<
7002      set <literal>dpkg</literal> level package selection state information      set <literal>dpkg</literal> level package selection state information
7003      </entry>      </entry>
7004                </row>                </row>
7005                  <row>
7006                    <entry>
7007                      <literal>echo &lt;package_name&gt; hold | dpkg --set-selection</literal>
7008                    </entry>
7009                    <entry>
7010        set <literal>dpkg</literal> level package selection state for a package to <emphasis role="strong">hold</emphasis>  (equivalent to "<literal>aptitude hold &lt;package_name&gt;</literal>")
7011        </entry>
7012                  </row>
7013              </tbody>              </tbody>
7014            </tgroup>            </tgroup>
7015          </table>          </table>
# Line 7006  See <xref linkend="_making_debian_packag Line 7064  See <xref linkend="_making_debian_packag
7064  </simpara>  </simpara>
7065            </listitem>            </listitem>
7066          </itemizedlist>          </itemizedlist>
         <tip>  
           <simpara>The source package format described here as a set of source packages ("<literal>*.tar.gz</literal>" and "<literal>*.diff.gz</literal>") is format 1.0 which is still popular.  See more on <literal>dpkg-source</literal>(1) for other newer formats.</simpara>  
         </tip>  
7067        </section>        </section>
7068        <section id="_verification_of_installed_package_files">        <section id="_verification_of_installed_package_files">
7069          <title>Verification of installed package files</title>          <title>Verification of installed package files</title>
# Line 7042  See <xref linkend="_making_debian_packag Line 7097  See <xref linkend="_making_debian_packag
7097            <title>The content of the Debian archive meta data</title>            <title>The content of the Debian archive meta data</title>
7098            <tgroup cols="3">            <tgroup cols="3">
7099              <colspec colwidth="141pt" align="left"/>              <colspec colwidth="141pt" align="left"/>
7100              <colspec colwidth="363pt" align="left"/>              <colspec colwidth="336pt" align="left"/>
7101              <colspec colwidth="244pt" align="left"/>              <colspec colwidth="244pt" align="left"/>
7102              <thead>              <thead>
7103                <row>                <row>
# Line 7096  See <xref linkend="_making_debian_packag Line 7151  See <xref linkend="_making_debian_packag
7151                    <literal>Release</literal>                    <literal>Release</literal>
7152                  </entry>                  </entry>
7153                  <entry>                  <entry>
7154      top of each distribution/component/architecture combination      top of each distribution/area/architecture combination
7155      </entry>      </entry>
7156                  <entry>                  <entry>
7157      archive description used for the rule of <literal>apt_preferences</literal>(5)      archive description used for the rule of <literal>apt_preferences</literal>(5)
# Line 7107  See <xref linkend="_making_debian_packag Line 7162  See <xref linkend="_making_debian_packag
7162                    <literal>Packages</literal>                    <literal>Packages</literal>
7163                  </entry>                  </entry>
7164                  <entry>                  <entry>
7165      top of each distribution/component/binary-architecture combination      top of each distribution/area/binary-architecture combination
7166      </entry>      </entry>
7167                  <entry>                  <entry>
7168      concatenated <literal>debian/control</literal> for binary packages      concatenated <literal>debian/control</literal> for binary packages
# Line 7118  See <xref linkend="_making_debian_packag Line 7173  See <xref linkend="_making_debian_packag
7173                    <literal>Sources</literal>                    <literal>Sources</literal>
7174                  </entry>                  </entry>
7175                  <entry>                  <entry>
7176      top of each distribution/component/source combination      top of each distribution/area/source combination
7177      </entry>      </entry>
7178                  <entry>                  <entry>
7179      concatenated <literal>debian/control</literal> for source packages      concatenated <literal>debian/control</literal> for source packages
# Line 7148  MD5Sum: Line 7203  MD5Sum:
7203   43524d07f7fa21b10f472c426db66168  6561398 main/binary-alpha/Packages.gz   43524d07f7fa21b10f472c426db66168  6561398 main/binary-alpha/Packages.gz
7204  ...</screen>  ...</screen>
7205          <note>          <note>
7206            <simpara>Here, you can find my rationale to use the "suite", "codeneme", and "components" in <xref linkend="_debian_archive_basics"/>.  The "distribution" is used when referring to both "suite" and "codeneme".</simpara>            <simpara>Here, you can find my rationale to use the "suite", and "codeneme" in <xref linkend="_debian_archive_basics"/>.  The "distribution" is used when referring to both "suite" and "codeneme".  All archive "area" names offered by the archive are listed under "Component".</simpara>
7207          </note>          </note>
7208          <simpara>The integrity of the top level "<literal>Release</literal>" file is verified by cryptographic infrastructure called the <ulink url="http://wiki.debian.org/SecureApt">secure apt</ulink>.</simpara>          <simpara>The integrity of the top level "<literal>Release</literal>" file is verified by cryptographic infrastructure called the <ulink url="http://wiki.debian.org/SecureApt">secure apt</ulink>.</simpara>
7209          <itemizedlist>          <itemizedlist>
# Line 7208  Architecture: amd64</screen> Line 7263  Architecture: amd64</screen>
7263        </section>        </section>
7264        <section id="_fetching_of_the_meta_data_for_the_package">        <section id="_fetching_of_the_meta_data_for_the_package">
7265          <title>Fetching of the meta data for the package</title>          <title>Fetching of the meta data for the package</title>
7266          <simpara>When APT tools, such as <literal>aptitude</literal>, <literal>apt-get</literal>, <literal>synaptic</literal>, <literal>apt-file</literal>, <literal>auto-apt</literal>…, are used, we need to update the local copies of the meta data containing the Debian archive information. These local copies have following file names corresponding to the specified <literal>distribution</literal>, <literal>component</literal>, and <literal>architecture</literal> names in the "<literal>/etc/apt/sources.list</literal>" (see <xref linkend="_debian_archive_basics"/>).</simpara>          <simpara>When APT tools, such as <literal>aptitude</literal>, <literal>apt-get</literal>, <literal>synaptic</literal>, <literal>apt-file</literal>, <literal>auto-apt</literal>…, are used, we need to update the local copies of the meta data containing the Debian archive information. These local copies have following file names corresponding to the specified <literal>distribution</literal>, <literal>area</literal>, and <literal>architecture</literal> names in the "<literal>/etc/apt/sources.list</literal>" (see <xref linkend="_debian_archive_basics"/>).</simpara>
7267          <itemizedlist>          <itemizedlist>
7268            <listitem>            <listitem>
7269              <simpara>              <simpara>
# Line 7222  Architecture: amd64</screen> Line 7277  Architecture: amd64</screen>
7277            </listitem>            </listitem>
7278            <listitem>            <listitem>
7279              <simpara>              <simpara>
7280  "<literal>/var/lib/apt/lists/ftp.us.debian.org_debian_dists_&lt;distribution&gt;_&lt;component&gt;_binary-&lt;architecture&gt;_Packages</literal>"  "<literal>/var/lib/apt/lists/ftp.us.debian.org_debian_dists_&lt;distribution&gt;_&lt;area&gt;_binary-&lt;architecture&gt;_Packages</literal>"
7281  </simpara>  </simpara>
7282            </listitem>            </listitem>
7283            <listitem>            <listitem>
7284              <simpara>              <simpara>
7285  "<literal>/var/lib/apt/lists/ftp.us.debian.org_debian_dists_&lt;distribution&gt;_&lt;component&gt;_source_Sources</literal>"  "<literal>/var/lib/apt/lists/ftp.us.debian.org_debian_dists_&lt;distribution&gt;_&lt;area&gt;_source_Sources</literal>"
7286  </simpara>  </simpara>
7287            </listitem>            </listitem>
7288            <listitem>            <listitem>
# Line 7259  Architecture: amd64</screen> Line 7314  Architecture: amd64</screen>
7314          <table pgwide="0" frame="topbot" rowsep="1" colsep="1">          <table pgwide="0" frame="topbot" rowsep="1" colsep="1">
7315            <title>The name structure of Debian packages</title>            <title>The name structure of Debian packages</title>
7316            <tgroup cols="2">            <tgroup cols="2">
7317              <colspec colwidth="309pt" align="left"/>              <colspec colwidth="271pt" align="left"/>
7318              <colspec colwidth="439pt" align="left"/>              <colspec colwidth="401pt" align="left"/>
7319              <thead>              <thead>
7320                <row>                <row>
7321                  <entry>                  <entry>
# Line 7274  Architecture: amd64</screen> Line 7329  Architecture: amd64</screen>
7329              <tbody>              <tbody>
7330                <row>                <row>
7331                  <entry>                  <entry>
7332      The binary package (a.k.a deb)      The binary package (a.k.a <literal>deb</literal>)
7333      </entry>      </entry>
7334                  <entry>                  <entry>
7335                    <literal>&lt;package-name&gt;_&lt;epoch&gt;:&lt;upstream-version&gt;-&lt;debian.version&gt;-&lt;architecture&gt;.deb</literal>                    <literal>&lt;package-name&gt;_&lt;epoch&gt;:&lt;upstream-version&gt;-&lt;debian.version&gt;-&lt;architecture&gt;.deb</literal>
# Line 7282  Architecture: amd64</screen> Line 7337  Architecture: amd64</screen>
7337                </row>                </row>
7338                <row>                <row>
7339                  <entry>                  <entry>
7340      The binary package for the debian-installer (a.k.a udeb)      The binary package (a.k.a <literal>udeb</literal>)
7341      </entry>      </entry>
7342                  <entry>                  <entry>
7343                    <literal>&lt;package-name&gt;_&lt;epoch&gt;:&lt;upstream-version&gt;-&lt;debian.version&gt;-&lt;architecture&gt;.udeb</literal>                    <literal>&lt;package-name&gt;_&lt;epoch&gt;:&lt;upstream-version&gt;-&lt;debian.version&gt;-&lt;architecture&gt;.udeb</literal>
# Line 7293  Architecture: amd64</screen> Line 7348  Architecture: amd64</screen>
7348      The source package (upstream source)      The source package (upstream source)
7349      </entry>      </entry>
7350                  <entry>                  <entry>
7351                    <literal>&lt;package-name&gt;_&lt;epoch&gt;:&lt;upstream-version&gt;-&lt;debian.version&gt;.tar.gz</literal>                    <literal>&lt;package-name&gt;_&lt;epoch&gt;:&lt;upstream-version&gt;-&lt;debian.version&gt;.orig.tar.gz</literal>
7352                  </entry>                  </entry>
7353                </row>                </row>
7354                <row>                <row>
7355                  <entry>                  <entry>
7356      The source package (Debian changes)      The <literal>1.0</literal> source package (Debian changes)
7357      </entry>      </entry>
7358                  <entry>                  <entry>
7359                    <literal>&lt;package-name&gt;_&lt;epoch&gt;:&lt;upstream-version&gt;-&lt;debian.version&gt;.diff.gz</literal>                    <literal>&lt;package-name&gt;_&lt;epoch&gt;:&lt;upstream-version&gt;-&lt;debian.version&gt;.diff.gz</literal>
# Line 7306  Architecture: amd64</screen> Line 7361  Architecture: amd64</screen>
7361                </row>                </row>
7362                <row>                <row>
7363                  <entry>                  <entry>
7364        The <literal>3.0 (quilt)</literal> source package (Debian changes)
7365        </entry>
7366                    <entry>
7367                      <literal>&lt;package-name&gt;_&lt;epoch&gt;:&lt;upstream-version&gt;-&lt;debian.version&gt;.debian.tar.gz</literal>
7368                    </entry>
7369                  </row>
7370                  <row>
7371                    <entry>
7372      The source package (description)      The source package (description)
7373      </entry>      </entry>
7374                  <entry>                  <entry>
# Line 7315  Architecture: amd64</screen> Line 7378  Architecture: amd64</screen>
7378              </tbody>              </tbody>
7379            </tgroup>            </tgroup>
7380          </table>          </table>
7381            <tip>
7382              <simpara>Here only the basic source package formats are described.  See more on <literal>dpkg-source</literal>(1).</simpara>
7383            </tip>
7384          <table pgwide="0" frame="topbot" rowsep="1" colsep="1">          <table pgwide="0" frame="topbot" rowsep="1" colsep="1">
7385            <title>The usable characters for each component in the Debian package names</title>            <title>The usable characters for each component in the Debian package names</title>
7386            <tgroup cols="3">            <tgroup cols="3">
# Line 7872  C++ <ulink url="http://en.wikipedia.org/ Line 7938  C++ <ulink url="http://en.wikipedia.org/
7938        </section>        </section>
7939        <section id="_tweaking_candidate_version">        <section id="_tweaking_candidate_version">
7940          <title>Tweaking candidate version</title>          <title>Tweaking candidate version</title>
         <warning>  
           <simpara>In <literal>lenny</literal>, <literal>aptitude</literal>(8) has a bug for handling "<literal>/etc/apt/preferences</literal>" file. (<ulink url="http://bugs.debian.org/514930">Bug#514930</ulink>)</simpara>  
         </warning>  
7941          <simpara>Without the "<literal>/etc/apt/preferences</literal>" file, APT system choses the latest available version as the <emphasis role="strong">candidate version</emphasis> using the version string.  This is the normal state and most recommended usage of APT system.  All officially supported combinations of archives do not require the "<literal>/etc/apt/preferences</literal>" file since some archives which should not be used as the automatic source of upgrades are marked as <emphasis role="strong">NotAutomatic</emphasis> and dealt properly.</simpara>          <simpara>Without the "<literal>/etc/apt/preferences</literal>" file, APT system choses the latest available version as the <emphasis role="strong">candidate version</emphasis> using the version string.  This is the normal state and most recommended usage of APT system.  All officially supported combinations of archives do not require the "<literal>/etc/apt/preferences</literal>" file since some archives which should not be used as the automatic source of upgrades are marked as <emphasis role="strong">NotAutomatic</emphasis> and dealt properly.</simpara>
7942          <tip>          <tip>
7943            <simpara>The version string comparison rule can be verified with, e.g., "<literal>dpkg  --compare-versions ver1.1 gt ver1.1~1; echo $?</literal>" (see <literal>dpkg</literal>(1)).</simpara>            <simpara>The version string comparison rule can be verified with, e.g., "<literal>dpkg  --compare-versions ver1.1 gt ver1.1~1; echo $?</literal>" (see <literal>dpkg</literal>(1)).</simpara>
# Line 7983  The Pin-Priority value associated just w Line 8046  The Pin-Priority value associated just w
8046            </listitem>            </listitem>
8047            <listitem>            <listitem>
8048              <simpara>              <simpara>
8049  The Pin-Priority values of archives (defined as "<literal>Package: *</literal>" in the "<literal>/etc/apt/preferences</literal>" file) are listed left side of all archive paths, e.g., "<literal>200 http://backports.org etch-backports/main Packages</literal>".  The Pin-Priority values of archives (defined as "<literal>Package: *</literal>" in the "<literal>/etc/apt/preferences</literal>" file) are listed left side of all archive paths, e.g., "<literal>200 http://backports.debian.org/debian-backports/ @-@codename-stable@-@-backports/main Packages</literal>".
8050  </simpara>  </simpara>
8051            </listitem>            </listitem>
8052          </itemizedlist>          </itemizedlist>
# Line 8001  Pin: release a=unstable Line 8064  Pin: release a=unstable
8064  Pin-Priority: 200</screen>  Pin-Priority: 200</screen>
8065          <simpara>When you wish to install a package named "<literal>&lt;package-name&gt;</literal>" with its dependencies from <literal>unstable</literal> archive under this configuration, you issue the following command which switches target release with "<literal>-t</literal>" option (Pin-Priority of <literal>unstable</literal> becomes 990.).</simpara>          <simpara>When you wish to install a package named "<literal>&lt;package-name&gt;</literal>" with its dependencies from <literal>unstable</literal> archive under this configuration, you issue the following command which switches target release with "<literal>-t</literal>" option (Pin-Priority of <literal>unstable</literal> becomes 990.).</simpara>
8066          <screen>$ sudo apt-get install -t unstable &lt;package-name&gt;</screen>          <screen>$ sudo apt-get install -t unstable &lt;package-name&gt;</screen>
8067          <simpara>With this configuration, usual execution of "<literal>apt-get upgrade</literal>" and "<literal>apt-get dist-upgrade</literal>" (or "<literal>aptitude safe-upgrade</literal>" and "<literal>aptitude full-upgrade</literal>" for <literal>squeeze</literal>) upgrades packages which were installed from <literal>testing</literal> archive using current <literal>testing</literal> archive and packages which were installed from <literal>unstable</literal> archive using current <literal>unstable</literal> archive.</simpara>          <simpara>With this configuration, usual execution of "<literal>apt-get upgrade</literal>" and "<literal>apt-get dist-upgrade</literal>" (or "<literal>aptitude safe-upgrade</literal>" and "<literal>aptitude full-upgrade</literal>") upgrades packages which were installed from <literal>testing</literal> archive using current <literal>testing</literal> archive and packages which were installed from <literal>unstable</literal> archive using current <literal>unstable</literal> archive.</simpara>
8068          <caution>          <caution>
8069            <simpara>Be careful not to remove "<literal>testing</literal>" entry from the "<literal>/etc/apt/sources.list</literal>" file.  Without "<literal>testing</literal>" entry in it, APT system upgrades packages using newer <literal>unstable</literal> archive.</simpara>            <simpara>Be careful not to remove "<literal>testing</literal>" entry from the "<literal>/etc/apt/sources.list</literal>" file.  Without "<literal>testing</literal>" entry in it, APT system upgrades packages using newer <literal>unstable</literal> archive.</simpara>
8070          </caution>          </caution>
# Line 8036  deb http://ftp.us.debian.org/debian/ exp Line 8099  deb http://ftp.us.debian.org/debian/ exp
8099  deb http://security.debian.org/ testing/updates main contrib</screen>  deb http://security.debian.org/ testing/updates main contrib</screen>
8100          <simpara>The default Pin-Priority value for <literal>experimental</literal> archive is always 1 (&lt;&lt;100) since it is <emphasis role="strong">NotAutomatic</emphasis> archive (see <xref linkend="_archive_level_release_files"/>).  There is no need to set Pin-Priority value explicitly in the "<literal>/etc/apt/preferences</literal>" file just to use <literal>experimental</literal> archive unless you wish to track particular packages in it automatically for next upgrading.</simpara>          <simpara>The default Pin-Priority value for <literal>experimental</literal> archive is always 1 (&lt;&lt;100) since it is <emphasis role="strong">NotAutomatic</emphasis> archive (see <xref linkend="_archive_level_release_files"/>).  There is no need to set Pin-Priority value explicitly in the "<literal>/etc/apt/preferences</literal>" file just to use <literal>experimental</literal> archive unless you wish to track particular packages in it automatically for next upgrading.</simpara>
8101        </section>        </section>
8102        <section id="_volatile_and_backports_org">        <section id="_volatile_and_backports">
8103          <title>Volatile and Backports.org</title>          <title>Volatile and Backports</title>
8104          <simpara>There are <ulink url="http://www.debian.org/volatile/">debian-volatile project</ulink> and <ulink url="http://backports.org">backports.org</ulink> archives which provide updgrade packages for <literal>stable</literal>.</simpara>          <simpara>There are <ulink url="http://www.debian.org/volatile/">debian-volatile project</ulink> and <ulink url="http://backports.debian.org">backports.debian.org</ulink> archives which provide updgrade packages for <literal>stable</literal>.</simpara>
8105          <warning>          <warning>
8106            <simpara>Do not use all packages available in the <emphasis role="strong">NotAutomatic</emphasis> archives such as <literal>@-@codename-stable@-@-backports</literal> and <literal>volatile-sloppy</literal>.  Use only selected packages which fits your needs.</simpara>            <simpara>Do not use all packages available in the <emphasis role="strong">NotAutomatic</emphasis> archives such as <literal>@-@codename-stable@-@-backports</literal> and <literal>volatile-sloppy</literal>.  Use only selected packages which fits your needs.</simpara>
8107          </warning>          </warning>
8108          <caution>          <caution>
           <simpara><ulink url="http://backports.org">backports.org</ulink> is a non-Debian archive, although its packages are signed by Debian developers.</simpara>  
         </caution>  
         <caution>  
8109            <simpara>Archive level Release files (see <xref linkend="_archive_level_release_files"/>) are used for the rule of <literal>apt_preferences</literal>(5).  Thus apt-pinning works only with "code" name for <ulink url="http://volatile.debian.org/debian-volatile/dists/">volatile Debian archives</ulink>. This is different from other Debian archives.  For example, you can do "<literal>Pin: release a=@-@codename-stable@-@</literal>" but can not do "<literal>Pin: release a=stable</literal>" in the "<literal>/etc/apt/preferences</literal>" file for volatile Debian archives.</simpara>            <simpara>Archive level Release files (see <xref linkend="_archive_level_release_files"/>) are used for the rule of <literal>apt_preferences</literal>(5).  Thus apt-pinning works only with "code" name for <ulink url="http://volatile.debian.org/debian-volatile/dists/">volatile Debian archives</ulink>. This is different from other Debian archives.  For example, you can do "<literal>Pin: release a=@-@codename-stable@-@</literal>" but can not do "<literal>Pin: release a=stable</literal>" in the "<literal>/etc/apt/preferences</literal>" file for volatile Debian archives.</simpara>
8110          </caution>          </caution>
8111          <simpara>Here is an example of <emphasis role="strong">apt-pinning</emphasis> technique to include specific newer upstream version packages found in <literal>@-@codename-stable@-@-backports</literal> while tracking <literal>@-@codename-stable@-@</literal> and <literal>volatile</literal>.  You list all required archives in the "<literal>/etc/apt/sources.list</literal>" file as the following.</simpara>          <simpara>Here is an example of <emphasis role="strong">apt-pinning</emphasis> technique to include specific newer upstream version packages found in <literal>@-@codename-stable@-@-backports</literal> while tracking <literal>@-@codename-stable@-@</literal> and <literal>volatile</literal>.  You list all required archives in the "<literal>/etc/apt/sources.list</literal>" file as the following.</simpara>
# Line 8053  deb http://security.debian.org/ testing/ Line 8113  deb http://security.debian.org/ testing/
8113  deb http://security.debian.org/ @-@codename-stable@-@/updates main contrib  deb http://security.debian.org/ @-@codename-stable@-@/updates main contrib
8114  deb http://volatile.debian.org/debian-volatile/ @-@codename-stable@-@/volatile main contrib non-free  deb http://volatile.debian.org/debian-volatile/ @-@codename-stable@-@/volatile main contrib non-free
8115  deb http://volatile.debian.org/debian-volatile/ @-@codename-stable@-@/volatile-sloppy main contrib non-free  deb http://volatile.debian.org/debian-volatile/ @-@codename-stable@-@/volatile-sloppy main contrib non-free
8116  deb http://backports.org/debian/ @-@codename-stable@-@-backports main contrib non-free</screen>  deb http://backports.debian.org/debian-backports/ @-@codename-stable@-@-backports main contrib non-free</screen>
8117          <simpara>The default Pin-Priority value for <ulink url="http://backports.org">backports.org</ulink> and <literal>volatile-sloppy</literal> archives are always 1 (&lt;&lt;100) since they are <emphasis role="strong">NotAutomatic</emphasis> archive (see <xref linkend="_archive_level_release_files"/>).  There is no need to set Pin-Priority value explicitly in the "<literal>/etc/apt/preferences</literal>" file just to use for <ulink url="http://backports.org">backports.org</ulink> and <literal>volatile-sloppy</literal> archive unless you wish to track packages automatically for next upgrading.</simpara>          <simpara>The default Pin-Priority value for <ulink url="http://backports.debian.org">backports.debian.org</ulink> and <literal>volatile-sloppy</literal> archives are always 1 (&lt;&lt;100) since they are <emphasis role="strong">NotAutomatic</emphasis> archive (see <xref linkend="_archive_level_release_files"/>).  There is no need to set Pin-Priority value explicitly in the "<literal>/etc/apt/preferences</literal>" file just to use for <ulink url="http://backports.debian.org">backports.debian.org</ulink> and <literal>volatile-sloppy</literal> archive unless you wish to track packages automatically for next upgrading.</simpara>
8118          <simpara>So whenever you wish to install a package named "<literal>&lt;package-name&gt;</literal>" with its dependency from <literal>@-@codename-stable@-@-backports</literal> archive, you use following command while switching target release with "<literal>-t</literal>" option.</simpara>          <simpara>So whenever you wish to install a package named "<literal>&lt;package-name&gt;</literal>" with its dependency from <literal>@-@codename-stable@-@-backports</literal> archive, you use following command while switching target release with "<literal>-t</literal>" option.</simpara>
8119          <screen>$ sudo apt-get install -t @-@codename-stable@-@-backports &lt;package-name&gt;</screen>          <screen>$ sudo apt-get install -t @-@codename-stable@-@-backports &lt;package-name&gt;</screen>
8120          <simpara>If you wish to upgrade particular packages, you must create the "<literal>/etc/apt/preferences</literal>" file and explicitly lists all packages in it as the following.</simpara>          <simpara>If you wish to upgrade particular packages, you must create the "<literal>/etc/apt/preferences</literal>" file and explicitly lists all packages in it as the following.</simpara>
# Line 8081  Pin-Priority: 200 Line 8141  Pin-Priority: 200
8141  Package: *  Package: *
8142  Pin: release a=@-@codename-stable@-@-sloppy, o=volatile.debian.org  Pin: release a=@-@codename-stable@-@-sloppy, o=volatile.debian.org
8143  Pin-Priority: 200</screen>  Pin-Priority: 200</screen>
8144          <simpara>Execution of "<literal>apt-get upgrade</literal>" and "<literal>apt-get dist-upgrade</literal>" (or "<literal>aptitude safe-upgrade</literal>" and "<literal>aptitude full-upgrade</literal>" for <literal>squeeze</literal>) upgrades packages which were installed from <literal>stable</literal> archive using current <literal>stable</literal> archive and packages which were installed from other archives using current corresponding archive for all archives in the "<literal>/etc/apt/sources.list</literal>" file.</simpara>          <simpara>Execution of "<literal>apt-get upgrade</literal>" and "<literal>apt-get dist-upgrade</literal>" (or "<literal>aptitude safe-upgrade</literal>" and "<literal>aptitude full-upgrade</literal>") upgrades packages which were installed from <literal>stable</literal> archive using current <literal>stable</literal> archive and packages which were installed from other archives using current corresponding archive for all archives in the "<literal>/etc/apt/sources.list</literal>" file.</simpara>
8145        </section>        </section>
8146        <section id="_automatic_download_and_upgrade_of_packages">        <section id="_automatic_download_and_upgrade_of_packages">
8147          <title>Automatic download and upgrade of packages</title>          <title>Automatic download and upgrade of packages</title>
# Line 8567  The kernel code of the target OS if it f Line 8627  The kernel code of the target OS if it f
8627                  <ulink url="http://en.wikipedia.org/wiki/GNU_GRUB">GRUB Legacy</ulink>                  <ulink url="http://en.wikipedia.org/wiki/GNU_GRUB">GRUB Legacy</ulink>
8628                </entry>                </entry>
8629                <entry>                <entry>
8630      grub      grub-legacy
8631      </entry>      </entry>
8632                <entry>                <entry>
8633      @-@popcon2@-@      @-@popcon2@-@
# Line 9224  The Debian system goes into one of the s Line 9284  The Debian system goes into one of the s
9284            <simpara><emphasis role="strong">The Debian system does not pre-assign any special meaning differences among the <ulink url="http://en.wikipedia.org/wiki/Runlevel">runlevels</ulink> between 2 and 5.</emphasis> The system administrator on the Debian system may change this.  (I.e., Debian is not <ulink url="http://en.wikipedia.org/wiki/Red_Hat_Linux">Red Hat Linux</ulink> nor <ulink url="http://en.wikipedia.org/wiki/Solaris_(operating_system)">Solaris by Sun Microsystems</ulink> nor <ulink url="http://en.wikipedia.org/wiki/HP-UX">HP-UX by Hewlett Packard</ulink> nor <ulink url="http://en.wikipedia.org/wiki/IBM_AIX">AIX by IBM</ulink> nor …)</simpara>            <simpara><emphasis role="strong">The Debian system does not pre-assign any special meaning differences among the <ulink url="http://en.wikipedia.org/wiki/Runlevel">runlevels</ulink> between 2 and 5.</emphasis> The system administrator on the Debian system may change this.  (I.e., Debian is not <ulink url="http://en.wikipedia.org/wiki/Red_Hat_Linux">Red Hat Linux</ulink> nor <ulink url="http://en.wikipedia.org/wiki/Solaris_(operating_system)">Solaris by Sun Microsystems</ulink> nor <ulink url="http://en.wikipedia.org/wiki/HP-UX">HP-UX by Hewlett Packard</ulink> nor <ulink url="http://en.wikipedia.org/wiki/IBM_AIX">AIX by IBM</ulink> nor …)</simpara>
9285          </caution>          </caution>
9286          <caution>          <caution>
9287            <simpara>The Debian system does not populate directories for the <ulink url="http://en.wikipedia.org/wiki/Runlevel">runlevels</ulink> between 7 and 9 when the package is installed.  Traditional <ulink url="http://en.wikipedia.org/wiki/Unix-like">Unix variants</ulink> don’t use these <ulink url="http://en.wikipedia.org/wiki/Runlevel">runlevels</ulink>.</simpara>            <simpara>The Debian system does not populate directories for the <ulink url="http://en.wikipedia.org/wiki/Runlevel">runlevels</ulink> between 7 and 9 when the package is installed.  Traditional <ulink url="http://en.wikipedia.org/wiki/Unix-like">Unix variants</ulink> don't use these <ulink url="http://en.wikipedia.org/wiki/Runlevel">runlevels</ulink>.</simpara>
9288          </caution>          </caution>
9289        </section>        </section>
9290        <section id="_the_configuration_of_the_runlevel">        <section id="_the_configuration_of_the_runlevel">
9291          <title>The configuration of the runlevel</title>          <title>The configuration of the runlevel</title>
9292            <note>
9293              <simpara>In Debian <literal>squeeze</literal>, dependency based boot order provided by the <literal>insserv</literal> package is used instead of classical alphabetical one.  The "<literal>CONCURRENCY</literal>" value in "<literal>/etc/default/rcS</literal>" controls its concurrency: "<literal>none</literal>" for no concurrency, "<literal>startpar</literal>" for concurrency within the same sequence number, or "<literal>makefile</literal>" for full concurrency.  See "<literal>/usr/share/doc/insserv/README.Debian</literal>".</simpara>
9294            </note>
9295          <simpara>The name of the symlink in each runlevel directory has the form "<literal>S&lt;2-digit-number&gt;&lt;original-name&gt;</literal>" or "<literal>K&lt;2-digit-number&gt;&lt;original-name&gt;</literal>". The 2-digit-number is used to determine the order in which to run the scripts. "<literal>S</literal>" is for "Start" and "<literal>K</literal>" is for "Kill".</simpara>          <simpara>The name of the symlink in each runlevel directory has the form "<literal>S&lt;2-digit-number&gt;&lt;original-name&gt;</literal>" or "<literal>K&lt;2-digit-number&gt;&lt;original-name&gt;</literal>". The 2-digit-number is used to determine the order in which to run the scripts. "<literal>S</literal>" is for "Start" and "<literal>K</literal>" is for "Kill".</simpara>
9296          <simpara>When <literal>init</literal>(8) or <literal>telinit</literal>(8) commands goes into the runlevel to "&lt;n&gt;", it execute following scripts.</simpara>          <simpara>For "<literal>CONCURRENCY=none</literal>", when <literal>init</literal>(8) or <literal>telinit</literal>(8) commands goes into the runlevel to "&lt;n&gt;", it execute following scripts.</simpara>
9297          <orderedlist>          <orderedlist>
9298            <listitem>            <listitem>
9299              <simpara>              <simpara>
# Line 9244  The script names starting with an "<lite Line 9307  The script names starting with an "<lite
9307            </listitem>            </listitem>
9308          </orderedlist>          </orderedlist>
9309          <simpara>For example, if you had the links "<literal>S10sysklogd</literal>" and "<literal>S20exim4</literal>" in a runlevel directory, "<literal>S10sysklogd</literal>" which is symlinked to "<literal>../init.d/sysklogd</literal>" would run before "<literal>S20exim4</literal>" which is symlinked to "<literal>../init.d/exim4</literal>".</simpara>          <simpara>For example, if you had the links "<literal>S10sysklogd</literal>" and "<literal>S20exim4</literal>" in a runlevel directory, "<literal>S10sysklogd</literal>" which is symlinked to "<literal>../init.d/sysklogd</literal>" would run before "<literal>S20exim4</literal>" which is symlinked to "<literal>../init.d/exim4</literal>".</simpara>
9310            <simpara>For "<literal>CONCURRENCY=makefile</literal>" (new default), package dependency defined in the header of init scripts are used to order them.</simpara>
9311          <warning>          <warning>
9312            <simpara>It is not advisable to make any changes to symlinks in "<literal>/etc/rcS.d/</literal>" unless you know better than the maintainer.</simpara>            <simpara>It is not advisable to make any changes to symlinks in "<literal>/etc/rcS.d/</literal>" unless you know better than the maintainer.</simpara>
9313          </warning>          </warning>
         <note>  
           <simpara>In Debian <literal>squeeze</literal>, dependency based boot order provided by the <literal>insserv</literal> package is used instead of classical alphabetical one.  The "<literal>CONCURRENCY</literal>" value in "<literal>/etc/default/rcS</literal>" controls its concurrency: "<literal>none</literal>" for no concurrency, "<literal>startpar</literal>" for concurrency within the same sequence number, or "<literal>makefile</literal>" for full concurrency.  See "<literal>/usr/share/doc/insserv/README.Debian</literal>".</simpara>  
         </note>  
9314        </section>        </section>
9315        <section id="_the_runlevel_management_example">        <section id="_the_runlevel_management_example">
9316          <title>The runlevel management example</title>          <title>The runlevel management example</title>
# Line 10726  Reboot system. Line 10787  Reboot system.
10787      <tip>      <tip>
10788        <simpara>For general guide to the GNU/Linux networking, read the <ulink url="http://www.tldp.org/LDP/nag2/">Linux Network Administrators Guide</ulink>.</simpara>        <simpara>For general guide to the GNU/Linux networking, read the <ulink url="http://www.tldp.org/LDP/nag2/">Linux Network Administrators Guide</ulink>.</simpara>
10789      </tip>      </tip>
     <simpara>The traditional <ulink url="http://en.wikipedia.org/wiki/Internet_Protocol_Suite">TCP/IP network</ulink> setup on Debian system uses <literal>ifupdown</literal> package as a high level tool.  There are 2 typical cases.</simpara>  
     <itemizedlist>  
       <listitem>  
         <simpara>  
 For <emphasis role="strong">dynamic IP</emphasis> system such as mobile PCs, you should setup TCP/IP network <emphasis role="strong">with</emphasis> the <literal>resolvconf</literal> package and enable you to switch your network configuration easily (see <xref linkend="_the_network_interface_served_by_the_dhcp"/>).  
 </simpara>  
       </listitem>  
       <listitem>  
         <simpara>  
 For <emphasis role="strong">static IP</emphasis> system such as servers, you should setup TCP/IP network <emphasis role="strong">without</emphasis> the <literal>resolvconf</literal> package and keep your system simple (see <xref linkend="_the_network_interface_with_the_static_ip"/>).  
 </simpara>  
       </listitem>  
     </itemizedlist>  
     <simpara>We describe these traditional cases in detail here.</simpara>  
     <simpara>We also touch on some alternative high level tools such as <literal>network-manager</literal> and <literal>wicd</literal> which ease configuration of wireless networks (see <xref linkend="_automatic_network_configuration"/>).</simpara>  
10790      <section id="_the_basic_network_infrastructure">      <section id="_the_basic_network_infrastructure">
10791        <title>The basic network infrastructure</title>        <title>The basic network infrastructure</title>
10792        <simpara>Let's review the basic network infrastructure on the modern Debian system.</simpara>        <simpara>Let's review the basic network infrastructure on the modern Debian system.</simpara>
10793        <section id="_the_domain_name">        <table pgwide="0" frame="topbot" rowsep="1" colsep="1">
10794          <title>The domain name</title>          <title>List of network configuration tools</title>
10795          <simpara>The naming for the domain name is a tricky one for the normal PC workstation users.  The PC workstation may be mobile one hopping around the network or located behind the NAT firewall inaccessible from the Internet. For such case, you may not want the domain name to be a valid domain name to avoid name collision.</simpara>          <tgroup cols="5">
10796          <simpara>According to <ulink url="http://tools.ietf.org/html/rfc2606">rfc2606</ulink>, "<literal>invalid</literal>" seems to be a choice for the <ulink url="http://en.wikipedia.org/wiki/Top-level_domain">top level domain (TLD)</ulink> to construct domain names that are sure to be invalid from the Internet.</simpara>            <colspec colwidth="130pt" align="left"/>
10797          <simpara>The <ulink url="http://en.wikipedia.org/wiki/MDNS">mDNS</ulink> network discovery protocol (<ulink url="http://en.wikipedia.org/wiki/Bonjour_(software)">Apple Bonjour / Apple Rendezvous</ulink>, Avahi on Debian) uses <ulink url="http://en.wikipedia.org/wiki/.local">"local"</ulink> as the <ulink url="http://en.wikipedia.org/wiki/Pseudo-top-level_domain">pseudo-top-level domain</ulink>.  <ulink url="http://support.microsoft.com/kb/296250">Microsoft also seems to promote "local" for the TLD of local area network</ulink>.</simpara>            <colspec colwidth="76pt" align="left"/>
10798          <warning>            <colspec colwidth="70pt" align="left"/>
10799            <simpara>If the DNS service on your LAN uses "<literal>local</literal>" as TLD for your LAN, it may interfare with mDNS.</simpara>            <colspec colwidth="97pt" align="left"/>
10800          </warning>            <colspec colwidth="374pt" align="left"/>
10801          <simpara>Other popular choices for the invalid TLD seem to be "<literal>localdomain</literal>", "<literal>lan</literal>", "<literal>localnet</literal>", or "<literal>home</literal>" according to my incoming mail analysis.</simpara>            <thead>
10802        </section>              <row>
10803        <section id="_the_hostname_resolution">                <entry>
         <title>The hostname resolution</title>  
         <simpara>The hostname resolution is currently supported by the <ulink url="http://en.wikipedia.org/wiki/Name_Service_Switch">NSS (Name Service Switch)</ulink> mechanism too.  The flow of this resolution is the following.</simpara>  
         <orderedlist>  
           <listitem>  
             <simpara>  
 The "<literal>/etc/nsswitch.conf</literal>" file with stanza like "<literal>hosts: files dns</literal>" dictates the hostname resolution order. (This replaces the old functionality of the "<literal>order</literal>" stanza in "<literal>/etc/host.conf</literal>".)  
 </simpara>  
           </listitem>  
           <listitem>  
             <simpara>  
 The <literal>files</literal> method is invoked first.  If the hostname is found in the "<literal>/etc/hosts</literal>" file, it returns all valid addresses for it and exits. (The "<literal>/etc/host.conf</literal>" file contains "<literal>multi on</literal>".)  
 </simpara>  
           </listitem>  
           <listitem>  
             <simpara>  
 The <literal>dns</literal> method is invoked.  If the hostname is found by the query to the <ulink url="http://en.wikipedia.org/wiki/Domain_Name_System">Internet Domain Name System (DNS)</ulink> identified by the "<literal>/etc/resolv.conf</literal>" file, it returns all valid addresses for it and exits.  
 </simpara>  
           </listitem>  
         </orderedlist>  
         <simpara>The "<literal>/etc/hosts</literal>" file <ulink url="http://bugs.debian.org/316099">associates IP addresses with hostnames</ulink> contains the following.</simpara>  
         <screen>127.0.0.1 localhost  
 127.0.1.1 &lt;host_name&gt;.&lt;domain_name&gt; &lt;host_name&gt;  
   
 # The following lines are desirable for IPv6 capable hosts  
 ::1     ip6-localhost ip6-loopback  
 fe00::0 ip6-localnet  
 ff00::0 ip6-mcastprefix  
 ff02::1 ip6-allnodes  
 ff02::2 ip6-allrouters  
 ff02::3 ip6-allhosts</screen>  
         <simpara>Here the &lt;host_name&gt; in this matches the own hostname defined in the "<literal>/etc/hostname</literal>".  The &lt;domain_name&gt; in this is the <ulink url="http://en.wikipedia.org/wiki/FQDN">fully qualified domain name (FQDN)</ulink> of this host.</simpara>  
         <tip>  
           <simpara>For &lt;domain_name&gt; of the mobile PC without the real FQDN, you may pick a bogus and safe TLD such as "<literal>lan</literal>", "<literal>home</literal>", "<literal>invalid</literal>", "<literal>localdomain</literal>", "<literal>none</literal>", and "<literal>private</literal>".</simpara>  
         </tip>  
         <simpara>The "<literal>/etc/resolv.conf</literal>" is a static file if the <literal>resolvconf</literal> package is not installed.  If installed, it is a symbolic link.  Either way, it contains information that initialize the resolver routines. If the DNS is found at IP="<literal>192.168.11.1</literal>", it contains the following.</simpara>  
         <screen>nameserver 192.168.11.1</screen>  
         <simpara>The <literal>resolvconf</literal> package makes this "<literal>/etc/resolv.conf</literal>" into a symbolic link and manages its contents by the hook scripts automatically.</simpara>  
         <simpara>The hostname resolution via Multicast DNS (using <ulink url="http://en.wikipedia.org/wiki/Zeroconf">Zeroconf</ulink>, aka <ulink url="http://en.wikipedia.org/wiki/Bonjour_(software)">Apple Bonjour / Apple Rendezvous</ulink>) which effectively allows name resolution by common Unix/Linux programs in the ad-hoc mDNS domain "<literal>local</literal>", can be provided by installing the <literal>libnss-mdns</literal> package.  The "<literal>/etc/nsswitch.conf</literal>" file should have stanza like "<literal>hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4</literal>" to enable this functionality.</simpara>  
       </section>  
       <section id="_the_network_interface_name">  
         <title>The network interface name</title>  
         <simpara>The network interface name, e.g. <literal>eth0</literal>, is assigned to each hardware in the Linux kernel through the user space configuration mechanism, <literal>udev</literal> (see <xref linkend="_the_udev_system"/>), as it is found.  The network interface name is referred as <emphasis role="strong">physical interface</emphasis> in <literal>ifup</literal>(8) and <literal>interfaces</literal>(5).</simpara>  
         <simpara>In order to ensure each network interface to be named persistently for each reboot using <ulink url="http://en.wikipedia.org/wiki/MAC_address">MAC address</ulink> etc., there is a record file "<literal>/etc/udev/rules.d/70-persistent-net.rules</literal>".  This file is automatically generated by the "<literal>/lib/udev/write_net_rules</literal>" program, probably run by the "<literal>persistent-net-generator.rules</literal>" rules file. You can modify it to change naming rule.</simpara>  
         <caution>  
           <simpara>When editing the "<literal>/etc/udev/rules.d/70-persistent-net.rules</literal>" rules file, you must keep each rule on a single line and the <ulink url="http://en.wikipedia.org/wiki/MAC_address">MAC address</ulink> in lowercase. For example, if you find "Firewire device" and "PCI device" in this file, you probably want to name "PCI device" as <literal>eth0</literal> and configure it as the primary network interface.</simpara>  
         </caution>  
       </section>  
       <section id="_the_network_address_range_for_the_lan">  
         <title>The network address range for the LAN</title>  
         <simpara>Let us be reminded of the IPv4 32 bit address ranges in each class reserved for use on the <ulink url="http://en.wikipedia.org/wiki/Local_area_network">local area networks (LANs)</ulink> by <ulink url="http://tools.ietf.org/html/rfc1918">rfc1918</ulink>.  These addresses are guaranteed not to conflict with any addresses on the Internet proper.</simpara>  
         <table pgwide="0" frame="topbot" rowsep="1" colsep="1">  
           <title>List of network address ranges</title>  
           <tgroup cols="5">  
             <colspec colwidth="32pt" align="left"/>  
             <colspec colwidth="157pt" align="left"/>  
             <colspec colwidth="76pt" align="left"/>  
             <colspec colwidth="81pt" align="left"/>  
             <colspec colwidth="70pt" align="left"/>  
             <thead>  
               <row>  
                 <entry>  
     Class  
     </entry>  
                 <entry>  
     network addresses  
     </entry>  
                 <entry>  
     net mask  
     </entry>  
                 <entry>  
     net mask /bits  
     </entry>  
                 <entry>  
     # of subnets  
     </entry>  
               </row>  
             </thead>  
             <tbody>  
               <row>  
                 <entry>  
     A  
     </entry>  
                 <entry>  
     10.x.x.x  
     </entry>  
                 <entry>  
     255.0.0.0  
     </entry>  
                 <entry>  
     /8  
     </entry>  
                 <entry>  
     1  
     </entry>  
               </row>  
               <row>  
                 <entry>  
     B  
     </entry>  
                 <entry>  
     172.16.x.x — 172.31.x.x  
     </entry>  
                 <entry>  
     255.255.0.0  
     </entry>  
                 <entry>  
     /16  
     </entry>  
                 <entry>  
     16  
     </entry>  
               </row>  
               <row>  
                 <entry>  
     C  
     </entry>  
                 <entry>  
     192.168.0.x — 192.168.255.x  
     </entry>  
                 <entry>  
     255.255.255.0  
     </entry>  
                 <entry>  
     /24  
     </entry>  
                 <entry>  
     256  
     </entry>  
               </row>  
             </tbody>  
           </tgroup>  
         </table>  
         <note>  
           <simpara>If one of these addresses is assigned to a host, then that host must not access the Internet directly but must access it through a gateway that acts as a proxy for individual services or else does <ulink url="http://en.wikipedia.org/wiki/Network_address_translation">Network Address Translation(NAT)</ulink>.  The broadband router usually performs NAT for the consumer LAN environment.</simpara>  
         </note>  
       </section>  
       <section id="_the_network_configuration_infrastructure">  
         <title>The network configuration infrastructure</title>  
         <simpara>There are 2 types of low level networking programs for Linux networking system (see <xref linkend="_iproute2_commands"/>).</simpara>  
         <itemizedlist>  
           <listitem>  
             <simpara>  
 Old <ulink url="http://www.linuxfoundation.org/en/Net:Net-tools">net-tools</ulink> programs (<literal>ifconfig</literal>(8), …) are from the Linux NET-3 networking system. Most of these are obsolete now.  
 </simpara>  
           </listitem>  
           <listitem>  
             <simpara>  
 New <ulink url="http://www.linuxfoundation.org/en/Net:Iproute2">Linux iproute2</ulink> programs (<literal>ip</literal>(8), …) are the current Linux networking system.  
 </simpara>  
           </listitem>  
         </itemizedlist>  
         <simpara>Although these low level networking programs are powerful, they are cumbersome to use.  So high level network configuration systems have been created.</simpara>  
         <simpara>The <literal>ifupdown</literal> package is the de facto standard for such high level network configuration system on Debian.  It enables you to bring up network simply by doing , e.g., "<literal>ifup eth0</literal>".  Its configuration file is the "<literal>/etc/network/interfaces</literal>" file and its typical contents are the following.</simpara>  
         <screen>auto lo  
 iface lo inet loopback  
   
 auto eth0  
 iface eth0 inet dhcp</screen>  
         <simpara>The <literal>resolvconf</literal> package was created to supplement <literal>ifupdown</literal> system to support smooth reconfiguration of network address resolution by automating rewrite of resolver configuration file "<literal>/etc/resolv.conf</literal>".  Now, most Debian network configuration packages are modified to use <literal>resolvconf</literal> package (see "<literal>/usr/share/doc/resolvconf/README.Debian</literal>").</simpara>  
         <simpara>Helper scripts to the <literal>ifupdown</literal> package such as <literal>ifplugd</literal>, <literal>guessnet</literal>, <literal>ifscheme</literal>, etc. are created to automate dynamic configuration of network environment such as one for mobile PC on wired LAN.  These are relatively difficult to use but play well with existing <literal>ifupdown</literal> system.</simpara>  
         <simpara>Alternative high level network configuration systems, independent of <literal>ifupdown</literal> system, such as <literal>network-manager</literal>, <literal>wicd</literal>, etc. are created to ease configuration of network environment even for mobile PC on wireless network.  Since these are relatively new system and their integration to Debian system is in progress, you may still need to disable the corresponding network interface configuration manually in "<literal>/etc/network/interfaces</literal>" to avoid conflicts between these and <literal>ifupdown</literal> (see <xref linkend="_automatic_network_configuration"/>).</simpara>  
         <table pgwide="0" frame="topbot" rowsep="1" colsep="1">  
           <title>List of network configuration tools</title>  
           <tgroup cols="5">  
             <colspec colwidth="130pt" align="left"/>  
             <colspec colwidth="76pt" align="left"/>  
             <colspec colwidth="70pt" align="left"/>  
             <colspec colwidth="97pt" align="left"/>  
             <colspec colwidth="374pt" align="left"/>  
             <thead>  
               <row>  
                 <entry>  
10804      packages      packages
10805      </entry>      </entry>
10806                  <entry>                <entry>
10807      popcon      popcon
10808      </entry>      </entry>
10809                  <entry>                <entry>
10810      size      size
10811      </entry>      </entry>
10812                  <entry>                <entry>
10813      type      type
10814      </entry>      </entry>
10815                  <entry>                <entry>
10816      description      description
10817      </entry>      </entry>
10818                </row>              </row>
10819              </thead>            </thead>
10820              <tbody>            <tbody>
10821                <row>              <row>
10822                  <entry>                <entry>
10823                    <literal>ifupdown</literal>                  <literal>ifupdown</literal>
10824                  </entry>                </entry>
10825                  <entry>                <entry>
10826      @-@popcon1@-@      @-@popcon1@-@
10827      </entry>      </entry>
10828                  <entry>                <entry>
10829      @-@psize1@-@      @-@psize1@-@
10830      </entry>      </entry>
10831                  <entry>                <entry>
10832      config::ifupdown      config::ifupdown
10833      </entry>      </entry>
10834                  <entry>                <entry>
10835      standardized tool to bring up and down the network (Debian specific)      standardized tool to bring up and down the network (Debian specific)
10836      </entry>      </entry>
10837                </row>              </row>
10838                <row>              <row>
10839                  <entry>                <entry>
10840                    <literal>ifplugd</literal>                  <literal>ifplugd</literal>
10841                  </entry>                </entry>
10842                  <entry>                <entry>
10843      @-@popcon1@-@      @-@popcon1@-@
10844      </entry>      </entry>
10845                  <entry>                <entry>
10846      @-@psize1@-@      @-@psize1@-@
10847      </entry>      </entry>
10848                  <entry>                <entry>
10849      , ,      , ,
10850      </entry>      </entry>
10851                  <entry>                <entry>
10852      manage the wired network automatically      manage the wired network automatically
10853      </entry>      </entry>
10854                </row>              </row>
10855                <row>              <row>
10856                  <entry>                <entry>
10857                    <literal>ifupdown-extra</literal>                  <literal>ifupdown-extra</literal>
10858                  </entry>                </entry>
10859                  <entry>                <entry>
10860      @-@popcon1@-@      @-@popcon1@-@
10861      </entry>      </entry>
10862                  <entry>                <entry>
10863      @-@psize1@-@      @-@psize1@-@
10864      </entry>      </entry>
10865                  <entry>                <entry>
10866      , ,      , ,
10867      </entry>      </entry>
10868                  <entry>                <entry>
10869      network testing script to enhance "<literal>ifupdown</literal>" package      network testing script to enhance "<literal>ifupdown</literal>" package
10870      </entry>      </entry>
10871                </row>              </row>
10872                <row>              <row>
10873                  <entry>                <entry>
10874                    <literal>ifmetric</literal>                  <literal>ifmetric</literal>
10875                  </entry>                </entry>
10876                  <entry>                <entry>
10877      @-@popcon1@-@      @-@popcon1@-@
10878      </entry>      </entry>
10879                  <entry>                <entry>
10880      @-@psize1@-@      @-@psize1@-@
10881      </entry>      </entry>
10882                  <entry>                <entry>
10883      , ,      , ,
10884      </entry>      </entry>
10885                  <entry>                <entry>
10886      set routing metrics for a network interface      set routing metrics for a network interface
10887      </entry>      </entry>
10888                </row>              </row>
10889                <row>              <row>
10890                  <entry>                <entry>
10891                    <literal>guessnet</literal>                  <literal>guessnet</literal>
10892                  </entry>                </entry>
10893                  <entry>                <entry>
10894      @-@popcon1@-@      @-@popcon1@-@
10895      </entry>      </entry>
10896                  <entry>                <entry>
10897      @-@psize1@-@      @-@psize1@-@
10898      </entry>      </entry>
10899                  <entry>                <entry>
10900      , ,      , ,
10901      </entry>      </entry>
10902                  <entry>                <entry>
10903      mapping script to enhance "<literal>ifupdown</literal>" package via "<literal>/etc/network/interfaces</literal>" file      mapping script to enhance "<literal>ifupdown</literal>" package via "<literal>/etc/network/interfaces</literal>" file
10904      </entry>      </entry>
10905                </row>              </row>
10906                <row>              <row>
10907                  <entry>                <entry>
10908                    <literal>ifscheme</literal>                  <literal>ifscheme</literal>
10909                  </entry>                </entry>
10910                  <entry>                <entry>
10911      @-@popcon1@-@      @-@popcon1@-@
10912      </entry>      </entry>
10913                  <entry>                <entry>
10914      @-@psize1@-@      @-@psize1@-@
10915      </entry>      </entry>
10916                  <entry>                <entry>
10917      , ,      , ,
10918      </entry>      </entry>
10919                  <entry>                <entry>
10920      mapping scripts to enhance "<literal>ifupdown</literal>" package      mapping scripts to enhance "<literal>ifupdown</literal>" package
10921      </entry>      </entry>
10922                </row>              </row>
10923                <row>              <row>
10924                  <entry>                <entry>
10925                    <literal>ifupdown-scripts-zg2</literal>                  <literal>ifupdown-scripts-zg2</literal>
10926                  </entry>                </entry>
10927                  <entry>                <entry>
10928      @-@popcon1@-@      @-@popcon1@-@
10929      </entry>      </entry>
10930                  <entry>                <entry>
10931      @-@psize1@-@      @-@psize1@-@
10932      </entry>      </entry>
10933                  <entry>                <entry>
10934      , ,      , ,
10935      </entry>      </entry>
10936                  <entry>                <entry>
10937      Zugschlus' interface scripts for ifupdown's manual method      Zugschlus' interface scripts for ifupdown's manual method
10938      </entry>      </entry>
10939                </row>              </row>
10940                <row>              <row>
10941                  <entry>                <entry>
10942                    <literal>network-manager</literal>                  <literal>network-manager</literal>
10943                  </entry>                </entry>
10944                  <entry>                <entry>
10945      @-@popcon1@-@      @-@popcon1@-@
10946      </entry>      </entry>
10947                  <entry>                <entry>
10948      @-@psize1@-@      @-@psize1@-@
10949      </entry>      </entry>
10950                  <entry>                <entry>
10951      config::NM      config::NM
10952      </entry>      </entry>
10953                  <entry><ulink url="http://en.wikipedia.org/wiki/NetworkManager">NetworkManager</ulink> (daemon): manage the network automatically                <entry><ulink url="http://en.wikipedia.org/wiki/NetworkManager">NetworkManager</ulink> (daemon): manage the network automatically
10954      </entry>      </entry>
10955                </row>              </row>
10956                <row>              <row>
10957                  <entry>                <entry>
10958                    <literal>network-manager-gnome</literal>                  <literal>network-manager-gnome</literal>
10959                  </entry>                </entry>
10960                  <entry>                <entry>
10961      @-@popcon1@-@      @-@popcon1@-@
10962      </entry>      </entry>
10963                  <entry>                <entry>
10964      @-@psize1@-@      @-@psize1@-@
10965      </entry>      </entry>
10966                  <entry>                <entry>
10967      , ,      , ,
10968      </entry>      </entry>
10969                  <entry><ulink url="http://en.wikipedia.org/wiki/NetworkManager">NetworkManager</ulink> (GNOME frontend)                <entry><ulink url="http://en.wikipedia.org/wiki/NetworkManager">NetworkManager</ulink> (GNOME frontend)
10970      </entry>      </entry>
10971                </row>              </row>
10972                <row>              <row>
10973                  <entry>                <entry>
10974                    <literal>network-manager-kde</literal>                  <literal>network-manager-kde</literal>
10975                  </entry>                </entry>
10976                  <entry>                <entry>
10977      @-@popcon1@-@      @-@popcon1@-@
10978      </entry>      </entry>
10979                  <entry>                <entry>
10980      @-@psize1@-@      @-@psize1@-@
10981      </entry>      </entry>
10982                  <entry>                <entry>
10983      , ,      , ,
10984      </entry>      </entry>
10985                  <entry><ulink url="http://en.wikipedia.org/wiki/NetworkManager">NetworkManager</ulink> (KDE frontend)                <entry><ulink url="http://en.wikipedia.org/wiki/NetworkManager">NetworkManager</ulink> (KDE frontend)
10986      </entry>      </entry>
10987                </row>              </row>
10988                <row>              <row>
10989                  <entry>                <entry>
10990                    <literal>wicd</literal>                  <literal>cnetworkmanager</literal>
10991                  </entry>                </entry>
10992                  <entry>                <entry>
10993      @-@popcon1@-@      @-@popcon1@-@
10994      </entry>      </entry>
10995                  <entry>                <entry>
10996      @-@psize1@-@      @-@psize1@-@
10997      </entry>      </entry>
10998                  <entry>                <entry>
10999        , ,
11000        </entry>
11001                  <entry><ulink url="http://en.wikipedia.org/wiki/NetworkManager">NetworkManager</ulink> (command-line client)
11002        </entry>
11003                </row>
11004                <row>
11005                  <entry>
11006                    <literal>wicd</literal>
11007                  </entry>
11008                  <entry>
11009        @-@popcon1@-@
11010        </entry>
11011                  <entry>
11012        @-@psize1@-@
11013        </entry>
11014                  <entry>
11015      config::wicd      config::wicd
11016      </entry>      </entry>
11017                  <entry>                <entry>
11018      wired and wireless network manager      wired and wireless network manager (metapackage)
11019      </entry>      </entry>
11020                </row>              </row>
11021                <row>              <row>
11022                  <entry>                <entry>
11023                    <literal>iptables</literal>                  <literal>wicd-cli</literal>
11024                  </entry>                </entry>
11025                  <entry>                <entry>
11026      @-@popcon1@-@      @-@popcon1@-@
11027      </entry>      </entry>
11028                  <entry>                <entry>
11029      @-@psize1@-@      @-@psize1@-@
11030      </entry>      </entry>
11031                  <entry>                <entry>
11032        , ,
11033        </entry>
11034                  <entry>
11035        wired and wireless network manager (command-line client)
11036        </entry>
11037                </row>
11038                <row>
11039                  <entry>
11040                    <literal>wicd-curses</literal>
11041                  </entry>
11042                  <entry>
11043        @-@popcon1@-@
11044        </entry>
11045                  <entry>
11046        @-@psize1@-@
11047        </entry>
11048                  <entry>
11049        , ,
11050        </entry>
11051                  <entry>
11052        wired and wireless network manager (Curses client)
11053        </entry>
11054                </row>
11055                <row>
11056                  <entry>
11057                    <literal>wicd-daemon</literal>
11058                  </entry>
11059                  <entry>
11060        @-@popcon1@-@
11061        </entry>
11062                  <entry>
11063        @-@psize1@-@
11064        </entry>
11065                  <entry>
11066        , ,
11067        </entry>
11068                  <entry>
11069        wired and wireless network manager (daemon)
11070        </entry>
11071                </row>
11072                <row>
11073                  <entry>
11074                    <literal>wicd-gtk</literal>
11075                  </entry>
11076                  <entry>
11077        @-@popcon1@-@
11078        </entry>
11079                  <entry>
11080        @-@psize1@-@
11081        </entry>
11082                  <entry>
11083        , ,
11084        </entry>
11085                  <entry>
11086        wired and wireless network manager (GTK+ client)
11087        </entry>
11088                </row>
11089                <row>
11090                  <entry>
11091                    <literal>iptables</literal>
11092                  </entry>
11093                  <entry>
11094        @-@popcon1@-@
11095        </entry>
11096                  <entry>
11097        @-@psize1@-@
11098        </entry>
11099                  <entry>
11100      config::Netfilter      config::Netfilter
11101      </entry>      </entry>
11102                  <entry>                <entry>
11103      administration tools for packet filtering and NAT (<ulink url="http://en.wikipedia.org/wiki/Netfilter">Netfilter</ulink>)      administration tools for packet filtering and NAT (<ulink url="http://en.wikipedia.org/wiki/Netfilter">Netfilter</ulink>)
11104      </entry>      </entry>
11105                </row>              </row>
11106                <row>              <row>
11107                  <entry>                <entry>
11108                    <literal>iproute</literal>                  <literal>iproute</literal>
11109                  </entry>                </entry>
11110                  <entry>                <entry>
11111      @-@popcon1@-@      @-@popcon1@-@
11112      </entry>      </entry>
11113                  <entry>                <entry>
11114      @-@psize1@-@      @-@psize1@-@
11115      </entry>      </entry>
11116                  <entry>                <entry>
11117      config::iproute2      config::iproute2
11118      </entry>      </entry>
11119                  <entry><ulink url="http://www.linuxfoundation.org/en/Net:Iproute2">iproute2</ulink>, IPv6 and other advanced network configuration: <literal>ip</literal>(8), <literal>tc</literal>(8), etc                <entry><ulink url="http://www.linuxfoundation.org/en/Net:Iproute2">iproute2</ulink>, IPv6 and other advanced network configuration: <literal>ip</literal>(8), <literal>tc</literal>(8), etc
11120      </entry>      </entry>
11121                </row>              </row>
11122                <row>              <row>
11123                  <entry>                <entry>
11124                    <literal>ifrename</literal>                  <literal>ifrename</literal>
11125                  </entry>                </entry>
11126                  <entry>                <entry>
11127      @-@popcon1@-@      @-@popcon1@-@
11128      </entry>      </entry>
11129                  <entry>                <entry>
11130      @-@psize1@-@      @-@psize1@-@
11131      </entry>      </entry>
11132                  <entry>                <entry>
11133      , ,      , ,
11134      </entry>      </entry>
11135                  <entry>                <entry>
11136      rename network interfaces based on various static criteria: <literal>ifrename</literal>(8)      rename network interfaces based on various static criteria: <literal>ifrename</literal>(8)
11137      </entry>      </entry>
11138                </row>              </row>
11139                <row>              <row>
11140                  <entry>                <entry>
11141                    <literal>ethtool</literal>                  <literal>ethtool</literal>
11142                  </entry>                </entry>
11143                  <entry>                <entry>
11144      @-@popcon1@-@      @-@popcon1@-@
11145      </entry>      </entry>
11146                  <entry>                <entry>
11147      @-@psize1@-@      @-@psize1@-@
11148      </entry>      </entry>
11149                  <entry>                <entry>
11150      , ,      , ,
11151      </entry>      </entry>
11152                  <entry>                <entry>
11153      display or change Ethernet device settings      display or change Ethernet device settings
11154      </entry>      </entry>
11155                </row>              </row>
11156                <row>              <row>
11157                  <entry>                <entry>
11158                    <literal>iputils-ping</literal>                  <literal>iputils-ping</literal>
11159                  </entry>                </entry>
11160                  <entry>                <entry>
11161      @-@popcon1@-@      @-@popcon1@-@
11162      </entry>      </entry>
11163                  <entry>                <entry>
11164      @-@psize1@-@      @-@psize1@-@
11165      </entry>      </entry>
11166                  <entry>                <entry>
11167      test::iproute2      test::iproute2
11168      </entry>      </entry>
11169                  <entry>                <entry>
11170      test network reachability of a remote host by <ulink url="http://en.wikipedia.org/wiki/Hostname">hostname</ulink> or <ulink url="http://en.wikipedia.org/wiki/IP_address">IP address</ulink> (<ulink url="http://www.linuxfoundation.org/en/Net:Iproute2">iproute2</ulink>)      test network reachability of a remote host by <ulink url="http://en.wikipedia.org/wiki/Hostname">hostname</ulink> or <ulink url="http://en.wikipedia.org/wiki/IP_address">IP address</ulink> (<ulink url="http://www.linuxfoundation.org/en/Net:Iproute2">iproute2</ulink>)
11171      </entry>      </entry>
11172                </row>              </row>
11173                <row>              <row>
11174                  <entry>                <entry>
11175                    <literal>iputils-arping</literal>                  <literal>iputils-arping</literal>
11176                  </entry>                </entry>
11177                  <entry>                <entry>
11178      @-@popcon1@-@      @-@popcon1@-@
11179      </entry>      </entry>
11180                  <entry>                <entry>
11181      @-@psize1@-@      @-@psize1@-@
11182      </entry>      </entry>
11183                  <entry>                <entry>
11184      , ,      , ,
11185      </entry>      </entry>
11186                  <entry>                <entry>
11187      test network reachability of a remote host specified by the <ulink url="http://en.wikipedia.org/wiki/Address_Resolution_Protocol">ARP</ulink> address      test network reachability of a remote host specified by the <ulink url="http://en.wikipedia.org/wiki/Address_Resolution_Protocol">ARP</ulink> address
11188      </entry>      </entry>
11189                </row>              </row>
11190                <row>              <row>
11191                  <entry>                <entry>
11192                    <literal>iputils-tracepath</literal>                  <literal>iputils-tracepath</literal>
11193                  </entry>                </entry>
11194                  <entry>                <entry>
11195      @-@popcon1@-@      @-@popcon1@-@
11196      </entry>      </entry>
11197                  <entry>                <entry>
11198      @-@psize1@-@      @-@psize1@-@
11199      </entry>      </entry>
11200                  <entry>                <entry>
11201      , ,      , ,
11202      </entry>      </entry>
11203                  <entry>                <entry>
11204      trace the network path to a remote host      trace the network path to a remote host
11205      </entry>      </entry>
11206                </row>              </row>
11207                <row>              <row>
11208                  <entry>                <entry>
11209                    <literal>net-tools</literal>                  <literal>net-tools</literal>
11210                  </entry>                </entry>
11211                  <entry>                <entry>
11212      @-@popcon1@-@      @-@popcon1@-@
11213      </entry>      </entry>
11214                  <entry>                <entry>
11215      @-@psize1@-@      @-@psize1@-@
11216      </entry>      </entry>
11217                  <entry>                <entry>
11218      config::net-tools      config::net-tools
11219      </entry>      </entry>
11220                  <entry>                <entry>
11221      NET-3 networking toolkit (<ulink url="http://www.linuxfoundation.org/en/Net:Net-tools">net-tools</ulink>, IPv4 network configuration):  <literal>ifconfig</literal>(8) etc.      NET-3 networking toolkit (<ulink url="http://www.linuxfoundation.org/en/Net:Net-tools">net-tools</ulink>, IPv4 network configuration):  <literal>ifconfig</literal>(8) etc.
11222      </entry>      </entry>
11223                </row>              </row>
11224                <row>              <row>
11225                  <entry>                <entry>
11226                    <literal>inetutils-ping</literal>                  <literal>inetutils-ping</literal>
11227                  </entry>                </entry>
11228                  <entry>                <entry>
11229      @-@popcon1@-@      @-@popcon1@-@
11230      </entry>      </entry>
11231                  <entry>                <entry>
11232      @-@psize1@-@      @-@psize1@-@
11233      </entry>      </entry>
11234                  <entry>                <entry>
11235      test::net-tools      test::net-tools
11236      </entry>      </entry>
11237                  <entry>                <entry>
11238      test network reachability of a remote host by <ulink url="http://en.wikipedia.org/wiki/Hostname">hostname</ulink> or <ulink url="http://en.wikipedia.org/wiki/IP_address">IP address</ulink> (legacy, GNU)      test network reachability of a remote host by <ulink url="http://en.wikipedia.org/wiki/Hostname">hostname</ulink> or <ulink url="http://en.wikipedia.org/wiki/IP_address">IP address</ulink> (legacy, GNU)
11239      </entry>      </entry>
11240                </row>              </row>
11241                <row>              <row>
11242                  <entry>                <entry>
11243                    <literal>arping</literal>                  <literal>arping</literal>
11244                  </entry>                </entry>
11245                  <entry>                <entry>
11246      @-@popcon1@-@      @-@popcon1@-@
11247      </entry>      </entry>
11248                  <entry>                <entry>
11249      @-@psize1@-@      @-@psize1@-@
11250      </entry>      </entry>
11251                  <entry>                <entry>
11252      , ,      , ,
11253      </entry>      </entry>
11254                  <entry>                <entry>
11255      test network reachability of a remote host specified by the <ulink url="http://en.wikipedia.org/wiki/Address_Resolution_Protocol">ARP</ulink> address (legacy)      test network reachability of a remote host specified by the <ulink url="http://en.wikipedia.org/wiki/Address_Resolution_Protocol">ARP</ulink> address (legacy)
11256      </entry>      </entry>
11257                </row>              </row>
11258                <row>              <row>
11259                  <entry>                <entry>
11260                    <literal>traceroute</literal>                  <literal>traceroute</literal>
11261                  </entry>                </entry>
11262                  <entry>                <entry>
11263      @-@popcon1@-@      @-@popcon1@-@
11264      </entry>      </entry>
11265                  <entry>                <entry>
11266      @-@psize1@-@      @-@psize1@-@
11267      </entry>      </entry>
11268                  <entry>                <entry>
11269      , ,      , ,
11270      </entry>      </entry>
11271                  <entry>                <entry>
11272      trace the network path to a remote host (legacy, console)      trace the network path to a remote host (legacy, console)
11273      </entry>      </entry>
11274                </row>              </row>
11275                <row>              <row>
11276                  <entry>                <entry>
11277                    <literal>dhcp3-client</literal>                  <literal>dhcp3-client</literal>
11278                  </entry>                </entry>
11279                  <entry>                <entry>
11280      @-@popcon1@-@      @-@popcon1@-@
11281      </entry>      </entry>
11282                  <entry>                <entry>
11283      @-@psize1@-@      @-@psize1@-@
11284      </entry>      </entry>
11285                  <entry>                <entry>
11286      config::low-level      config::low-level
11287      </entry>      </entry>
11288                  <entry>                <entry>
11289      DHCP client      DHCP client
11290      </entry>      </entry>
11291                </row>              </row>
11292                <row>              <row>
11293                  <entry>                <entry>
11294                    <literal>wpasupplicant</literal>                  <literal>wpasupplicant</literal>
11295                  </entry>                </entry>
11296                  <entry>                <entry>
11297      @-@popcon1@-@      @-@popcon1@-@
11298      </entry>      </entry>
11299                  <entry>                <entry>
11300      @-@psize1@-@      @-@psize1@-@
11301      </entry>      </entry>
11302                  <entry>                <entry>
11303      , ,      , ,
11304      </entry>      </entry>
11305                  <entry>                <entry>
11306      client support for WPA and WPA2 (IEEE 802.11i)      client support for WPA and WPA2 (IEEE 802.11i)
11307      </entry>      </entry>
11308                </row>              </row>
11309                <row>              <row>
11310                  <entry>                <entry>
11311                    <literal>wireless-tools</literal>                  <literal>wireless-tools</literal>
11312                  </entry>                </entry>
11313                  <entry>                <entry>
11314      @-@popcon1@-@      @-@popcon1@-@
11315      </entry>      </entry>
11316                  <entry>                <entry>
11317      @-@psize1@-@      @-@psize1@-@
11318      </entry>      </entry>
11319                  <entry>                <entry>
11320      , ,      , ,
11321      </entry>      </entry>
11322                  <entry>                <entry>
11323      tools for manipulating Linux Wireless Extensions      tools for manipulating Linux Wireless Extensions
11324      </entry>      </entry>
11325                </row>              </row>
11326                <row>              <row>
11327                  <entry>                <entry>
11328                    <literal>ppp</literal>                  <literal>ppp</literal>
11329                  </entry>                </entry>
11330                  <entry>                <entry>
11331      @-@popcon1@-@      @-@popcon1@-@
11332      </entry>      </entry>
11333                  <entry>                <entry>
11334      @-@psize1@-@      @-@psize1@-@
11335      </entry>      </entry>
11336                  <entry>                <entry>
11337      , ,      , ,
11338      </entry>      </entry>
11339                  <entry>                <entry>
11340      PPP/PPPoE connection with <literal>chat</literal>      PPP/PPPoE connection with <literal>chat</literal>
11341      </entry>      </entry>
11342                </row>              </row>
11343                <row>              <row>
11344                  <entry>                <entry>
11345                    <literal>pppoeconf</literal>                  <literal>pppoeconf</literal>
11346                  </entry>                </entry>
11347                  <entry>                <entry>
11348      @-@popcon1@-@      @-@popcon1@-@
11349      </entry>      </entry>
11350                  <entry>                <entry>
11351      @-@psize1@-@      @-@psize1@-@
11352      </entry>      </entry>
11353                  <entry>                <entry>
11354      config::helper      config::helper
11355      </entry>      </entry>
11356                  <entry>                <entry>
11357      configuration helper for PPPoE connection      configuration helper for PPPoE connection
11358      </entry>      </entry>
11359                </row>              </row>
11360                <row>              <row>
11361                  <entry>                <entry>
11362                    <literal>pppconfig</literal>                  <literal>pppconfig</literal>
11363                  </entry>                </entry>
11364                  <entry>                <entry>
11365      @-@popcon1@-@      @-@popcon1@-@
11366      </entry>      </entry>
11367                  <entry>                <entry>
11368      @-@psize1@-@      @-@psize1@-@
11369      </entry>      </entry>
11370                  <entry>                <entry>
11371      , ,      , ,
11372      </entry>      </entry>
11373                  <entry>                <entry>
11374      configuration helper for PPP connection with <literal>chat</literal>      configuration helper for PPP connection with <literal>chat</literal>
11375      </entry>      </entry>
11376                </row>              </row>
11377                <row>              <row>
11378                  <entry>                <entry>
11379                    <literal>wvdial</literal>                  <literal>wvdial</literal>
11380                  </entry>                </entry>
11381                  <entry>                <entry>
11382      @-@popcon1@-@      @-@popcon1@-@
11383      </entry>      </entry>
11384                  <entry>                <entry>
11385      @-@psize1@-@      @-@psize1@-@
11386      </entry>      </entry>
11387                  <entry>                <entry>
11388      , ,      , ,
11389      </entry>      </entry>
11390                  <entry>                <entry>
11391      configuration helper for PPP connection with <literal>wvdial</literal> and <literal>ppp</literal>      configuration helper for PPP connection with <literal>wvdial</literal> and <literal>ppp</literal>
11392      </entry>      </entry>
11393                </row>              </row>
11394                <row>              <row>
11395                  <entry>                <entry>
11396                    <literal>mtr-tiny</literal>                  <literal>mtr-tiny</literal>
11397                  </entry>                </entry>
11398                  <entry>                <entry>
11399      @-@popcon1@-@      @-@popcon1@-@
11400      </entry>      </entry>
11401                  <entry>                <entry>
11402      @-@psize1@-@      @-@psize1@-@
11403      </entry>      </entry>
11404                  <entry>                <entry>
11405      test::low-level      test::low-level
11406      </entry>      </entry>
11407                  <entry>                <entry>
11408      trace the network path to a remote host (curses)      trace the network path to a remote host (curses)
11409      </entry>      </entry>
11410                </row>              </row>
11411                <row>              <row>
11412                  <entry>                <entry>
11413                    <literal>mtr</literal>                  <literal>mtr</literal>
11414                  </entry>                </entry>
11415                  <entry>                <entry>
11416      @-@popcon1@-@      @-@popcon1@-@
11417      </entry>      </entry>
11418                  <entry>                <entry>
11419      @-@psize1@-@      @-@psize1@-@
11420      </entry>      </entry>
11421                  <entry>                <entry>
11422      , ,      , ,
11423      </entry>      </entry>
11424                  <entry>                <entry>
11425      trace the network path to a remote host (curses and GTK+)      trace the network path to a remote host (curses and GTK+)
11426      </entry>      </entry>
11427                </row>              </row>
11428                <row>              <row>
11429                  <entry>                <entry>
11430                    <literal>gnome-nettool</literal>                  <literal>gnome-nettool</literal>
11431                  </entry>                </entry>
11432                  <entry>                <entry>
11433      @-@popcon1@-@      @-@popcon1@-@
11434      </entry>      </entry>
11435                  <entry>                <entry>
11436      @-@psize1@-@      @-@psize1@-@
11437      </entry>      </entry>
11438                  <entry>                <entry>
11439      , ,      , ,
11440      </entry>      </entry>
11441                  <entry>                <entry>
11442      tools for common network information operations (GNOME)      tools for common network information operations (GNOME)
11443      </entry>      </entry>
11444                </row>              </row>
11445                <row>              <row>
11446                  <entry>                <entry>
11447                    <literal>nmap</literal>                  <literal>nmap</literal>
11448                  </entry>                </entry>
11449                  <entry>                <entry>
11450      @-@popcon1@-@      @-@popcon1@-@
11451      </entry>      </entry>
11452                  <entry>                <entry>
11453      @-@psize1@-@      @-@psize1@-@
11454      </entry>      </entry>
11455                  <entry>                <entry>
11456      , ,      , ,
11457      </entry>      </entry>
11458                  <entry>                <entry>
11459      network mapper / port scanner (<ulink url="http://en.wikipedia.org/wiki/Nmap">Nmap</ulink>, console)      network mapper / port scanner (<ulink url="http://en.wikipedia.org/wiki/Nmap">Nmap</ulink>, console)
11460      </entry>      </entry>
11461                </row>              </row>
11462                <row>              <row>
11463                  <entry>                <entry>
11464                    <literal>zenmap</literal>                  <literal>zenmap</literal>
11465                  </entry>                </entry>
11466                  <entry>                <entry>
11467      @-@popcon1@-@      @-@popcon1@-@
11468      </entry>      </entry>
11469                  <entry>                <entry>
11470      @-@psize1@-@      @-@psize1@-@
11471      </entry>      </entry>
11472                  <entry>                <entry>
11473      , ,      , ,
11474      </entry>      </entry>
11475                  <entry>                <entry>
11476      network mapper / port scanner (GTK+)      network mapper / port scanner (GTK+)
11477      </entry>      </entry>
11478                </row>              </row>
11479                <row>              <row>
11480                  <entry>                <entry>
11481                    <literal>knmap</literal>                  <literal>knmap</literal>
11482                  </entry>                </entry>
11483                  <entry>                <entry>
11484      @-@popcon1@-@      @-@popcon1@-@
11485      </entry>      </entry>
11486                  <entry>                <entry>
11487      @-@psize1@-@      @-@psize1@-@
11488      </entry>      </entry>
11489                  <entry>                <entry>
11490      , ,      , ,
11491      </entry>      </entry>
11492                  <entry>                <entry>
11493      network mapper / port scanner (KDE)      network mapper / port scanner (KDE)
11494      </entry>      </entry>
11495                </row>              </row>
11496                <row>              <row>
11497                  <entry>                <entry>
11498                    <literal>tcpdump</literal>                  <literal>tcpdump</literal>
11499                  </entry>                </entry>
11500                  <entry>                <entry>
11501      @-@popcon1@-@      @-@popcon1@-@
11502      </entry>      </entry>
11503                  <entry>                <entry>
11504      @-@psize1@-@      @-@psize1@-@
11505      </entry>      </entry>
11506                  <entry>                <entry>
11507      , ,      , ,
11508      </entry>      </entry>
11509                  <entry>                <entry>
11510      network traffic analyzer (<ulink url="http://en.wikipedia.org/wiki/Tcpdump">Tcpdump</ulink>, console)      network traffic analyzer (<ulink url="http://en.wikipedia.org/wiki/Tcpdump">Tcpdump</ulink>, console)
11511      </entry>      </entry>
11512                </row>              </row>
11513                <row>              <row>
11514                  <entry>                <entry>
11515                    <literal>wireshark</literal>                  <literal>wireshark</literal>
11516                  </entry>                </entry>
11517                  <entry>                <entry>
11518      @-@popcon1@-@      @-@popcon1@-@
11519      </entry>      </entry>
11520                  <entry>                <entry>
11521      @-@psize1@-@      @-@psize1@-@
11522      </entry>      </entry>
11523                  <entry>                <entry>
11524      , ,      , ,
11525      </entry>      </entry>
11526                  <entry>                <entry>
11527      network traffic analyzer (<ulink url="http://en.wikipedia.org/wiki/Wireshark">Wireshark</ulink>, GTK+)      network traffic analyzer (<ulink url="http://en.wikipedia.org/wiki/Wireshark">Wireshark</ulink>, GTK+)
11528      </entry>      </entry>
11529                </row>              </row>
11530                <row>              <row>
11531                  <entry>                <entry>
11532                    <literal>tshark</literal>                  <literal>tshark</literal>
11533                  </entry>                </entry>
11534                  <entry>                <entry>
11535      @-@popcon1@-@      @-@popcon1@-@
11536      </entry>      </entry>
11537                  <entry>                <entry>
11538      @-@psize1@-@      @-@psize1@-@
11539      </entry>      </entry>
11540                  <entry>                <entry>
11541      , ,      , ,
11542      </entry>      </entry>
11543                  <entry>                <entry>
11544      network traffic analyzer (console)      network traffic analyzer (console)
11545      </entry>      </entry>
11546                </row>              </row>
11547                <row>              <row>
11548                  <entry>                <entry>
11549                    <literal>nagios3</literal>                  <literal>nagios3</literal>
11550                  </entry>                </entry>
11551                  <entry>                <entry>
11552      @-@popcon1@-@      @-@popcon1@-@
11553      </entry>      </entry>
11554                  <entry>                <entry>
11555      @-@psize1@-@      @-@psize1@-@
11556      </entry>      </entry>
11557                  <entry>                <entry>
11558      , ,      , ,
11559      </entry>      </entry>
11560                  <entry>                <entry>
11561      monitoring and management system for hosts, services and networks (<ulink url="http://en.wikipedia.org/wiki/Nagios">Nagios</ulink>)      monitoring and management system for hosts, services and networks (<ulink url="http://en.wikipedia.org/wiki/Nagios">Nagios</ulink>)
11562      </entry>      </entry>
11563                </row>              </row>
11564                <row>              <row>
11565                  <entry>                <entry>
11566                    <literal>tcptrace</literal>                  <literal>tcptrace</literal>
11567                  </entry>                </entry>
11568                  <entry>                <entry>
11569      @-@popcon1@-@      @-@popcon1@-@
11570      </entry>      </entry>
11571                  <entry>                <entry>
11572      @-@psize1@-@      @-@psize1@-@
11573      </entry>      </entry>
11574                  <entry>                <entry>
11575      , ,      , ,
11576      </entry>      </entry>
11577                  <entry>                <entry>
11578      produce a summarization of the connections from <literal>tcpdump</literal> output      produce a summarization of the connections from <literal>tcpdump</literal> output
11579      </entry>      </entry>
11580                </row>              </row>
11581                <row>              <row>
11582                  <entry>                <entry>
11583                    <literal>snort</literal>                  <literal>snort</literal>
11584                  </entry>                </entry>
11585                  <entry>                <entry>
11586      @-@popcon1@-@      @-@popcon1@-@
11587      </entry>      </entry>
11588                  <entry>                <entry>
11589      @-@psize1@-@      @-@psize1@-@
11590      </entry>      </entry>
11591                  <entry>                <entry>
11592      , ,      , ,
11593      </entry>      </entry>
11594                  <entry>                <entry>
11595      flexible network intrusion detection system (<ulink url="http://en.wikipedia.org/wiki/Snort_(software)">Snort</ulink>)      flexible network intrusion detection system (<ulink url="http://en.wikipedia.org/wiki/Snort_(software)">Snort</ulink>)
11596      </entry>      </entry>
11597                </row>              </row>
11598                <row>
11599                  <entry>
11600                    <literal>ntop</literal>
11601                  </entry>
11602                  <entry>
11603        @-@popcon1@-@
11604        </entry>
11605                  <entry>
11606        @-@psize1@-@
11607        </entry>
11608                  <entry>
11609        , ,
11610        </entry>
11611                  <entry>
11612        display network usage in web browser
11613        </entry>
11614                </row>
11615                <row>
11616                  <entry>
11617                    <literal>dnsutils</literal>
11618                  </entry>
11619                  <entry>
11620        @-@popcon1@-@
11621        </entry>
11622                  <entry>
11623        @-@psize1@-@
11624        </entry>
11625                  <entry>
11626        , ,
11627        </entry>
11628                  <entry>
11629        network clients provided with <ulink url="http://en.wikipedia.org/wiki/BIND">BIND</ulink>: <literal>nslookup</literal>(8), <literal>nsupdate</literal>(8), <literal>dig</literal>(8)
11630        </entry>
11631                </row>
11632                <row>
11633                  <entry>
11634                    <literal>dlint</literal>
11635                  </entry>
11636                  <entry>
11637        @-@popcon1@-@
11638        </entry>
11639                  <entry>
11640        @-@psize1@-@
11641        </entry>
11642                  <entry>
11643        , ,
11644        </entry>
11645                  <entry>
11646        check <ulink url="http://en.wikipedia.org/wiki/Domain_Name_System">DNS</ulink> zone information using nameserver lookups
11647        </entry>
11648                </row>
11649                <row>
11650                  <entry>
11651                    <literal>dnstracer</literal>
11652                  </entry>
11653                  <entry>
11654        @-@popcon1@-@
11655        </entry>
11656                  <entry>
11657        @-@psize1@-@
11658        </entry>
11659                  <entry>
11660        , ,
11661        </entry>
11662                  <entry>
11663        trace a chain of <ulink url="http://en.wikipedia.org/wiki/Domain_Name_System">DNS</ulink> servers to the source
11664        </entry>
11665                </row>
11666              </tbody>
11667            </tgroup>
11668          </table>
11669          <section id="_the_domain_name">
11670            <title>The domain name</title>
11671            <simpara>The naming for the domain name is a tricky one for the normal PC workstation users.  The PC workstation may be mobile one hopping around the network or located behind the NAT firewall inaccessible from the Internet. For such case, you may not want the domain name to be a valid domain name to avoid name collision.</simpara>
11672            <tip>
11673              <simpara>When you use an invalid domain name, you need to spoof the domain name used by some programs such as MTA for their proper operation.  See <xref linkend="_the_mail_address_configuration"/>.</simpara>
11674            </tip>
11675            <simpara>According to <ulink url="http://tools.ietf.org/html/rfc2606">rfc2606</ulink>, "<literal>invalid</literal>" seems to be a choice for the <ulink url="http://en.wikipedia.org/wiki/Top-level_domain">top level domain (TLD)</ulink> to construct domain names that are sure to be invalid from the Internet.</simpara>
11676            <simpara>The <ulink url="http://en.wikipedia.org/wiki/MDNS">mDNS</ulink> network discovery protocol (<ulink url="http://en.wikipedia.org/wiki/Bonjour_(software)">Apple Bonjour / Apple Rendezvous</ulink>, Avahi on Debian) uses <ulink url="http://en.wikipedia.org/wiki/.local">"local"</ulink> as the <ulink url="http://en.wikipedia.org/wiki/Pseudo-top-level_domain">pseudo-top-level domain</ulink>.  <ulink url="http://support.microsoft.com/kb/296250">Microsoft also seems to promote "local" for the TLD of local area network</ulink>.</simpara>
11677            <warning>
11678              <simpara>If the DNS service on your LAN uses "<literal>local</literal>" as TLD for your LAN, it may interfare with mDNS.</simpara>
11679            </warning>
11680            <simpara>Other popular choices for the invalid TLD seem to be "<literal>localdomain</literal>", "<literal>lan</literal>", "<literal>localnet</literal>", or "<literal>home</literal>" according to my incoming mail analysis.</simpara>
11681          </section>
11682          <section id="_the_hostname_resolution">
11683            <title>The hostname resolution</title>
11684            <simpara>The hostname resolution is currently supported by the <ulink url="http://en.wikipedia.org/wiki/Name_Service_Switch">NSS (Name Service Switch)</ulink> mechanism too.  The flow of this resolution is the following.</simpara>
11685            <orderedlist>
11686              <listitem>
11687                <simpara>
11688    The "<literal>/etc/nsswitch.conf</literal>" file with stanza like "<literal>hosts: files dns</literal>" dictates the hostname resolution order. (This replaces the old functionality of the "<literal>order</literal>" stanza in "<literal>/etc/host.conf</literal>".)
11689    </simpara>
11690              </listitem>
11691              <listitem>
11692                <simpara>
11693    The <literal>files</literal> method is invoked first.  If the hostname is found in the "<literal>/etc/hosts</literal>" file, it returns all valid addresses for it and exits. (The "<literal>/etc/host.conf</literal>" file contains "<literal>multi on</literal>".)
11694    </simpara>
11695              </listitem>
11696              <listitem>
11697                <simpara>
11698    The <literal>dns</literal> method is invoked.  If the hostname is found by the query to the <ulink url="http://en.wikipedia.org/wiki/Domain_Name_System">Internet Domain Name System (DNS)</ulink> identified by the "<literal>/etc/resolv.conf</literal>" file, it returns all valid addresses for it and exits.
11699    </simpara>
11700              </listitem>
11701            </orderedlist>
11702            <simpara>The "<literal>/etc/hosts</literal>" file <ulink url="http://bugs.debian.org/316099">associates IP addresses with hostnames</ulink> contains the following.</simpara>
11703            <screen>127.0.0.1 localhost
11704    127.0.1.1 &lt;host_name&gt;.&lt;domain_name&gt; &lt;host_name&gt;
11705    
11706    # The following lines are desirable for IPv6 capable hosts
11707    ::1     ip6-localhost ip6-loopback
11708    fe00::0 ip6-localnet
11709    ff00::0 ip6-mcastprefix
11710    ff02::1 ip6-allnodes
11711    ff02::2 ip6-allrouters
11712    ff02::3 ip6-allhosts</screen>
11713            <simpara>Here the &lt;host_name&gt; in this matches the own hostname defined in the "<literal>/etc/hostname</literal>".  The &lt;domain_name&gt; in this is the <ulink url="http://en.wikipedia.org/wiki/FQDN">fully qualified domain name (FQDN)</ulink> of this host.</simpara>
11714            <tip>
11715              <simpara>For &lt;domain_name&gt; of the mobile PC without the real FQDN, you may pick a bogus and safe TLD such as "<literal>lan</literal>", "<literal>home</literal>", "<literal>invalid</literal>", "<literal>localdomain</literal>", "<literal>none</literal>", and "<literal>private</literal>".</simpara>
11716            </tip>
11717            <simpara>The "<literal>/etc/resolv.conf</literal>" is a static file if the <literal>resolvconf</literal> package is not installed.  If installed, it is a symbolic link.  Either way, it contains information that initialize the resolver routines. If the DNS is found at IP="<literal>192.168.11.1</literal>", it contains the following.</simpara>
11718            <screen>nameserver 192.168.11.1</screen>
11719            <simpara>The <literal>resolvconf</literal> package makes this "<literal>/etc/resolv.conf</literal>" into a symbolic link and manages its contents by the hook scripts automatically.</simpara>
11720            <simpara>The hostname resolution via Multicast DNS (using <ulink url="http://en.wikipedia.org/wiki/Zeroconf">Zeroconf</ulink>, aka <ulink url="http://en.wikipedia.org/wiki/Bonjour_(software)">Apple Bonjour / Apple Rendezvous</ulink>) which effectively allows name resolution by common Unix/Linux programs in the ad-hoc mDNS domain "<literal>local</literal>", can be provided by installing the <literal>libnss-mdns</literal> package.  The "<literal>/etc/nsswitch.conf</literal>" file should have stanza like "<literal>hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4</literal>" to enable this functionality.</simpara>
11721          </section>
11722          <section id="_the_network_interface_name">
11723            <title>The network interface name</title>
11724            <simpara>The network interface name, e.g. <literal>eth0</literal>, is assigned to each hardware in the Linux kernel through the user space configuration mechanism, <literal>udev</literal> (see <xref linkend="_the_udev_system"/>), as it is found.  The network interface name is referred as <emphasis role="strong">physical interface</emphasis> in <literal>ifup</literal>(8) and <literal>interfaces</literal>(5).</simpara>
11725            <simpara>In order to ensure each network interface to be named persistently for each reboot using <ulink url="http://en.wikipedia.org/wiki/MAC_address">MAC address</ulink> etc., there is a record file "<literal>/etc/udev/rules.d/70-persistent-net.rules</literal>".  This file is automatically generated by the "<literal>/lib/udev/write_net_rules</literal>" program, probably run by the "<literal>persistent-net-generator.rules</literal>" rules file. You can modify it to change naming rule.</simpara>
11726            <caution>
11727              <simpara>When editing the "<literal>/etc/udev/rules.d/70-persistent-net.rules</literal>" rules file, you must keep each rule on a single line and the <ulink url="http://en.wikipedia.org/wiki/MAC_address">MAC address</ulink> in lowercase. For example, if you find "Firewire device" and "PCI device" in this file, you probably want to name "PCI device" as <literal>eth0</literal> and configure it as the primary network interface.</simpara>
11728            </caution>
11729          </section>
11730          <section id="_the_network_address_range_for_the_lan">
11731            <title>The network address range for the LAN</title>
11732            <simpara>Let us be reminded of the IPv4 32 bit address ranges in each class reserved for use on the <ulink url="http://en.wikipedia.org/wiki/Local_area_network">local area networks (LANs)</ulink> by <ulink url="http://tools.ietf.org/html/rfc1918">rfc1918</ulink>.  These addresses are guaranteed not to conflict with any addresses on the Internet proper.</simpara>
11733            <table pgwide="0" frame="topbot" rowsep="1" colsep="1">
11734              <title>List of network address ranges</title>
11735              <tgroup cols="5">
11736                <colspec colwidth="32pt" align="left"/>
11737                <colspec colwidth="157pt" align="left"/>
11738                <colspec colwidth="76pt" align="left"/>
11739                <colspec colwidth="81pt" align="left"/>
11740                <colspec colwidth="70pt" align="left"/>
11741                <thead>
11742                <row>                <row>
11743                  <entry>                  <entry>
11744                    <literal>ntop</literal>      Class
11745                  </entry>      </entry>
11746                  <entry>                  <entry>
11747      @-@popcon1@-@      network addresses
11748      </entry>      </entry>
11749                  <entry>                  <entry>
11750      @-@psize1@-@      net mask
11751      </entry>      </entry>
11752                  <entry>                  <entry>
11753      , ,      net mask /bits
11754      </entry>      </entry>
11755                  <entry>                  <entry>
11756      display network usage in web browser      # of subnets
11757      </entry>      </entry>
11758                </row>                </row>
11759                </thead>
11760                <tbody>
11761                <row>                <row>
11762                  <entry>                  <entry>
11763                    <literal>dnsutils</literal>      A
11764                  </entry>      </entry>
11765                  <entry>                  <entry>
11766      @-@popcon1@-@      10.x.x.x
11767      </entry>      </entry>
11768                  <entry>                  <entry>
11769      @-@psize1@-@      255.0.0.0
11770      </entry>      </entry>
11771                  <entry>                  <entry>
11772      , ,      /8
11773      </entry>      </entry>
11774                  <entry>                  <entry>
11775      network clients provided with <ulink url="http://en.wikipedia.org/wiki/BIND">BIND</ulink>: <literal>nslookup</literal>(8), <literal>nsupdate</literal>(8), <literal>dig</literal>(8)      1
11776      </entry>      </entry>
11777                </row>                </row>
11778                <row>                <row>
11779                  <entry>                  <entry>
11780                    <literal>dlint</literal>      B
11781                  </entry>      </entry>
11782                  <entry>                  <entry>
11783      @-@popcon1@-@      172.16.x.x — 172.31.x.x
11784      </entry>      </entry>
11785                  <entry>                  <entry>
11786      @-@psize1@-@      255.255.0.0
11787      </entry>      </entry>
11788                  <entry>                  <entry>
11789      , ,      /16
11790      </entry>      </entry>
11791                  <entry>                  <entry>
11792      check <ulink url="http://en.wikipedia.org/wiki/Domain_Name_System">DNS</ulink> zone information using nameserver lookups      16
11793      </entry>      </entry>
11794                </row>                </row>
11795                <row>                <row>
11796                  <entry>                  <entry>
11797                    <literal>dnstracer</literal>      C
11798                  </entry>      </entry>
11799                  <entry>                  <entry>
11800      @-@popcon1@-@      192.168.0.x — 192.168.255.x
11801      </entry>      </entry>
11802                  <entry>                  <entry>
11803      @-@psize1@-@      255.255.255.0
11804      </entry>      </entry>
11805                  <entry>                  <entry>
11806      , ,      /24
11807      </entry>      </entry>
11808                  <entry>                  <entry>
11809      trace a chain of <ulink url="http://en.wikipedia.org/wiki/Domain_Name_System">DNS</ulink> servers to the source      256
11810      </entry>      </entry>
11811                </row>                </row>
11812              </tbody>              </tbody>
11813            </tgroup>            </tgroup>
11814          </table>          </table>
11815            <note>
11816              <simpara>If one of these addresses is assigned to a host, then that host must not access the Internet directly but must access it through a gateway that acts as a proxy for individual services or else does <ulink url="http://en.wikipedia.org/wiki/Network_address_translation">Network Address Translation(NAT)</ulink>.  The broadband router usually performs NAT for the consumer LAN environment.</simpara>
11817            </note>
11818        </section>        </section>
11819        <section id="_the_network_device_support">        <section id="_the_network_device_support">
11820          <title>The network device support</title>          <title>The network device support</title>
11821          <simpara>Although most hardware devices are supported by the Debian system, there are some network devices which require <ulink url="http://www.debian.org/social_contract#guidelines">DSFG</ulink> non-free external hardware drivers to support them.  Please see <xref linkend="_non_free_hardware_drivers"/>.</simpara>          <simpara>Although most hardware devices are supported by the Debian system, there are some network devices which require <ulink url="http://www.debian.org/social_contract#guidelines">DSFG</ulink> non-free external hardware drivers to support them.  Please see <xref linkend="_non_free_hardware_drivers"/>.</simpara>
11822        </section>        </section>
11823      </section>      </section>
11824      <section id="_the_network_connection_method">      <section id="_the_modern_network_configuration_for_desktop">
11825        <title>The network connection method</title>        <title>The modern network configuration for desktop</title>
11826          <simpara>Debian <literal>squeeze</literal> systems can manage the network connection via management <ulink url="http://en.wikipedia.org/wiki/Daemon_(computer_software)">daemon</ulink> software such as <ulink url="http://en.wikipedia.org/wiki/NetworkManager">NetworkManager (NM)</ulink> (network-manager and associated packages) or <ulink url="http://en.wikipedia.org/wiki/Wicd_(Linux_Network_Manager)">Wicd</ulink> (wicd and associated packages).</simpara>
11827          <itemizedlist>
11828            <listitem>
11829              <simpara>
11830    They come with their own <ulink url="http://en.wikipedia.org/wiki/Graphical_user_interface">GUI</ulink> and command-line programs as their user interfaces.
11831    </simpara>
11832            </listitem>
11833            <listitem>
11834              <simpara>
11835    They come with their own <ulink url="http://en.wikipedia.org/wiki/Daemon_(computer_software)">daemon</ulink> as their backend system.
11836    </simpara>
11837            </listitem>
11838            <listitem>
11839              <simpara>
11840    They allow easy connection of your system to the Internet.
11841    </simpara>
11842            </listitem>
11843            <listitem>
11844              <simpara>
11845    They allow easy management of wired and wireless network configuration.
11846    </simpara>
11847            </listitem>
11848            <listitem>
11849              <simpara>
11850    They allow us to configure network independent of the legacy <literal>ifupdown</literal> package.
11851    </simpara>
11852            </listitem>
11853          </itemizedlist>
11854          <note>
11855            <simpara>Do not use these automatic network configuration tools for servers.  These are aimed primarily for mobile desktop users on laptops.</simpara>
11856          </note>
11857          <simpara>These modern network configuration tools need to be configured properly to avoid conflicting with the legacy <literal>ifupdown</literal> package and its configuration file "<literal>/etc/network/interfaces</literal>".</simpara>
11858          <note>
11859            <simpara>Some features of these automatic network configuration tools may suffer regressions.  These are not as robust as the legacy <literal>ifupdown</literal> package.  Check <ulink url="http://bugs.debian.org/cgi-bin/pkgreport.cgi?package=network-manager">BTS of network-manager</ulink> and <ulink url="http://bugs.debian.org/cgi-bin/pkgreport.cgi?package=wicd">BTS of wicd</ulink> for current issues and limitations.</simpara>
11860          </note>
11861          <section id="_gui_network_configuration_tools">
11862            <title>GUI network configuration tools</title>
11863            <simpara>Official documentations for NM and Wicd on Debian are provided in "<literal>/usr/share/doc/network-manager/README.Debian</literal>" and "<literal>/usr/share/doc/wicd/README.Debian</literal>", respectively.</simpara>
11864            <simpara>Essentially, the network configuration for desktop is done as follows.</simpara>
11865            <orderedlist>
11866              <listitem>
11867                <simpara>
11868    Make desktop user, e.g. <literal>foo</literal>, belong to group "<literal>netdev</literal>" by the following (Alternatively, do it automatically via <ulink url="http://en.wikipedia.org/wiki/D-Bus">D-bus</ulink> under modern desktop environments such as GNOME and KDE).
11869    </simpara>
11870                <screen>$ sudo adduser foo netdev</screen>
11871              </listitem>
11872              <listitem>
11873                <simpara>
11874    Keep configuration of "<literal>/etc/network/interfaces</literal>" as simple as the the following.
11875    </simpara>
11876                <screen>auto lo
11877    iface lo inet loopback</screen>
11878              </listitem>
11879              <listitem>
11880                <simpara>
11881    Restart NM or Wicd by the following.
11882    </simpara>
11883                <screen>$ sudo /etc/init.d/network-manager restart</screen>
11884                <screen>$ sudo /etc/init.d/wicd restart</screen>
11885              </listitem>
11886              <listitem>
11887                <simpara>
11888    Configure your network via GUI.
11889    </simpara>
11890              </listitem>
11891            </orderedlist>
11892            <note>
11893              <simpara>Only interfaces which are <emphasis role="strong">not</emphasis> listed in "<literal>/etc/network/interfaces</literal>" or which have been configured with "<literal>auto …</literal>" or "<literal>allow-hotplug …</literal>" and "<literal>iface … inet dhcp</literal>" (with no other options) are managed by NM to avoid conflict with <literal>ifupdown</literal>.</simpara>
11894            </note>
11895            <tip>
11896              <simpara>If you wish to extend network configuration capabilities of NM, please seek appropriate plug-in modules and supplemental packages such as <literal>network-manager-openconnect</literal>, <literal>network-manager-openvpn-gnome</literal>, <literal>network-manager-pptp-gnome</literal>, <literal>mobile-broadband-provider-info</literal>, <literal>gnome-bluetooth</literal>, etc.   The same goes for those of Wicd.</simpara>
11897            </tip>
11898            <caution>
11899              <simpara>These automatic network configuration tools may not be compatible with esoteric configurations of legacy <literal>ifupdown</literal> in "<literal>/etc/network/interfaces</literal>" such as ones in <xref linkend="_the_basic_network_configuration_with_ifupdown_legacy"/> and <xref linkend="_the_advanced_network_configuration_with_ifupdown_legacy"/>.  Check <ulink url="http://bugs.debian.org/cgi-bin/pkgreport.cgi?package=network-manager">BTS of network-manager</ulink> and <ulink url="http://bugs.debian.org/cgi-bin/pkgreport.cgi?package=wicd">BTS of wicd</ulink> for current issues and limitations.</simpara>
11900            </caution>
11901          </section>
11902        </section>
11903        <section id="_the_legacy_network_connection_and_configuration">
11904          <title>The legacy network connection and configuration</title>
11905          <simpara>When the method described in <xref linkend="_the_modern_network_configuration_for_desktop"/> does not suffice your needs, you should use the legacy network connection and configuration method which combines many simpler tools.</simpara>
11906          <simpara>The legacy network connection is specific for each method (see <xref linkend="_the_network_connection_method_legacy"/>).</simpara>
11907          <simpara>There are 2 types of programs for the low level network configuration on Linux (see <xref linkend="_iproute2_commands"/>).</simpara>
11908          <itemizedlist>
11909            <listitem>
11910              <simpara>
11911    Old <ulink url="http://www.linuxfoundation.org/en/Net:Net-tools">net-tools</ulink> programs (<literal>ifconfig</literal>(8), …) are from the Linux NET-3 networking system. Most of these are obsolete now.
11912    </simpara>
11913            </listitem>
11914            <listitem>
11915              <simpara>
11916    New <ulink url="http://www.linuxfoundation.org/en/Net:Iproute2">Linux iproute2</ulink> programs (<literal>ip</literal>(8), …) are the current Linux networking system.
11917    </simpara>
11918            </listitem>
11919          </itemizedlist>
11920          <simpara>Although these low level networking programs are powerful, they are cumbersome to use.  So high level network configuration systems have been created.</simpara>
11921          <simpara>The <literal>ifupdown</literal> package is the de facto standard for such high level network configuration system on Debian.  It enables you to bring up network simply by doing , e.g., "<literal>ifup eth0</literal>".  Its configuration file is the "<literal>/etc/network/interfaces</literal>" file and its typical contents are the following.</simpara>
11922          <screen>auto lo
11923    iface lo inet loopback
11924    
11925    auto eth0
11926    iface eth0 inet dhcp</screen>
11927          <simpara>The <literal>resolvconf</literal> package was created to supplement <literal>ifupdown</literal> system to support smooth reconfiguration of network address resolution by automating rewrite of resolver configuration file "<literal>/etc/resolv.conf</literal>".  Now, most Debian network configuration packages are modified to use <literal>resolvconf</literal> package (see "<literal>/usr/share/doc/resolvconf/README.Debian</literal>").</simpara>
11928          <simpara>Helper scripts to the <literal>ifupdown</literal> package such as <literal>ifplugd</literal>, <literal>guessnet</literal>, <literal>ifscheme</literal>, etc. are created to automate dynamic configuration of network environment such as one for mobile PC on wired LAN.  These are relatively difficult to use but play well with existing <literal>ifupdown</literal> system.</simpara>
11929          <simpara>These are explained in detail with examples (see <xref linkend="_the_basic_network_configuration_with_ifupdown_legacy"/> and <xref linkend="_the_advanced_network_configuration_with_ifupdown_legacy"/>).</simpara>
11930        </section>
11931        <section id="_the_network_connection_method_legacy">
11932          <title>The network connection method (legacy)</title>
11933        <caution>        <caution>
11934          <simpara>The connection test method described in this section are meant for testing purposes.  It is not meant to be used directly for the daily network connection.  You are advised to use them via the <literal>ifupdown</literal> package (see <xref linkend="_the_basic_network_configuration_with_ifupdown"/>).</simpara>          <simpara>The connection test method described in this section are meant for testing purposes.  It is not meant to be used directly for the daily network connection.  You are advised to use them via NM, Wicd, or the <literal>ifupdown</literal> package (see <xref linkend="_the_modern_network_configuration_for_desktop"/> and <xref linkend="_the_basic_network_configuration_with_ifupdown_legacy"/>).</simpara>
11935        </caution>        </caution>
11936        <simpara>The typical network connection method and connection path for a PC can be summarized as the following.</simpara>        <simpara>The typical network connection method and connection path for a PC can be summarized as the following.</simpara>
11937        <table pgwide="0" frame="topbot" rowsep="1" colsep="1">        <table pgwide="0" frame="topbot" rowsep="1" colsep="1">
# Line 12226  $ sudo /sbin/ifconfig eth0 down</screen> Line 12440  $ sudo /sbin/ifconfig eth0 down</screen>
12440          <simpara>See "<literal>/usr/share/doc/pppoeconf/README.Debian</literal>".</simpara>          <simpara>See "<literal>/usr/share/doc/pppoeconf/README.Debian</literal>".</simpara>
12441        </section>        </section>
12442      </section>      </section>
12443      <section id="_the_basic_network_configuration_with_ifupdown">      <section id="_the_basic_network_configuration_with_ifupdown_legacy">
12444        <title>The basic network configuration with ifupdown</title>        <title>The basic network configuration with ifupdown (legacy)</title>
12445          <simpara>The traditional <ulink url="http://en.wikipedia.org/wiki/Internet_Protocol_Suite">TCP/IP network</ulink> setup on Debian system uses <literal>ifupdown</literal> package as a high level tool.  There are 2 typical cases.</simpara>
12446          <itemizedlist>
12447            <listitem>
12448              <simpara>
12449    For <emphasis role="strong">dynamic IP</emphasis> system such as mobile PCs, you should setup TCP/IP network <emphasis role="strong">with</emphasis> the <literal>resolvconf</literal> package and enable you to switch your network configuration easily (see <xref linkend="_the_network_interface_served_by_the_dhcp"/>).
12450    </simpara>
12451            </listitem>
12452            <listitem>
12453              <simpara>
12454    For <emphasis role="strong">static IP</emphasis> system such as servers, you should setup TCP/IP network <emphasis role="strong">without</emphasis> the <literal>resolvconf</literal> package and keep your system simple (see <xref linkend="_the_network_interface_with_the_static_ip"/>).
12455    </simpara>
12456            </listitem>
12457          </itemizedlist>
12458          <simpara>These traditional setup methods are quite useful if you wish to set up advanced configuration (see <xref linkend="_the_basic_network_configuration_with_ifupdown_legacy"/>).</simpara>
12459        <simpara>The <literal>ifupdown</literal> package provides the standardized framework for the high level network configuration in the Debian system. In this section, we learn the basic network configuration with <literal>ifupdown</literal> with simplified introduction and many typical examples.</simpara>        <simpara>The <literal>ifupdown</literal> package provides the standardized framework for the high level network configuration in the Debian system. In this section, we learn the basic network configuration with <literal>ifupdown</literal> with simplified introduction and many typical examples.</simpara>
12460        <section id="_the_command_syntax_simplified">        <section id="_the_command_syntax_simplified">
12461          <title>The command syntax simplified</title>          <title>The command syntax simplified</title>
# Line 12637  Record results in the "<literal>/var/log Line 12865  Record results in the "<literal>/var/log
12865          </tip>          </tip>
12866        </section>        </section>
12867      </section>      </section>
12868      <section id="_the_advanced_network_configuration_with_ifupdown">      <section id="_the_advanced_network_configuration_with_ifupdown_legacy">
12869        <title>The advanced network configuration with ifupdown</title>        <title>The advanced network configuration with ifupdown (legacy)</title>
12870        <simpara>The functionality of the <literal>ifupdown</literal> package can be improved beyond what was described in <xref linkend="_the_basic_network_configuration_with_ifupdown"/> with the advanced knowledge.</simpara>        <simpara>The functionality of the <literal>ifupdown</literal> package can be improved beyond what was described in <xref linkend="_the_basic_network_configuration_with_ifupdown_legacy"/> with the advanced knowledge.</simpara>
12871        <simpara>The functionalities described here are completely optional.  I, being lazy and minimalist, rarely bother to use these.</simpara>        <simpara>The functionalities described here are completely optional.  I, being lazy and minimalist, rarely bother to use these.</simpara>
12872        <caution>        <caution>
12873          <simpara>If you could not set up network connection by information in <xref linkend="_the_basic_network_configuration_with_ifupdown"/>, you make situation worse by using information below.</simpara>          <simpara>If you could not set up network connection by information in <xref linkend="_the_basic_network_configuration_with_ifupdown_legacy"/>, you make situation worse by using information below.</simpara>
12874        </caution>        </caution>
12875        <section id="_the_ifplugd_package">        <section id="_the_ifplugd_package">
12876          <title>The ifplugd package</title>          <title>The ifplugd package</title>
12877          <simpara>The <literal>ifplugd</literal> package is older automatic network configuration tool which can manage only Ethernet connections. This solves unplugged/replugged Ethernet cable issues for mobile PC etc.   If you have <ulink url="http://en.wikipedia.org/wiki/NetworkManager">NetworkManager</ulink> or <ulink url="http://en.wikipedia.org/wiki/Wicd_(Linux_Network_Manager)">Wicd</ulink> (see <xref linkend="_automatic_network_configuration"/>) installed, you do not need this package.</simpara>          <simpara>The <literal>ifplugd</literal> package is older automatic network configuration tool which can manage only Ethernet connections. This solves unplugged/replugged Ethernet cable issues for mobile PC etc.   If you have <ulink url="http://en.wikipedia.org/wiki/NetworkManager">NetworkManager</ulink> or <ulink url="http://en.wikipedia.org/wiki/Wicd_(Linux_Network_Manager)">Wicd</ulink> (see <xref linkend="_the_modern_network_configuration_for_desktop"/>) installed, you do not need this package.</simpara>
12878          <simpara>This package runs <ulink url="http://en.wikipedia.org/wiki/Daemon_(computer_software)">daemon</ulink> and replaces <emphasis role="strong">auto</emphasis> or <emphasis role="strong">allow-hotplug</emphasis> functionalities (see <xref linkend="list-of-stanzas-in-eni"/>) and starts interfaces upon their connection to the network.</simpara>          <simpara>This package runs <ulink url="http://en.wikipedia.org/wiki/Daemon_(computer_software)">daemon</ulink> and replaces <emphasis role="strong">auto</emphasis> or <emphasis role="strong">allow-hotplug</emphasis> functionalities (see <xref linkend="list-of-stanzas-in-eni"/>) and starts interfaces upon their connection to the network.</simpara>
12879          <simpara>Here is how to use the <literal>ifplugd</literal> package for the internal Ethernet port, e.g. <literal>eth0</literal>.</simpara>          <simpara>Here is how to use the <literal>ifplugd</literal> package for the internal Ethernet port, e.g. <literal>eth0</literal>.</simpara>
12880          <orderedlist>          <orderedlist>
# Line 13095  Mapping choses the <emphasis role="stron Line 13323  Mapping choses the <emphasis role="stron
13323          </note>          </note>
13324        </section>        </section>
13325      </section>      </section>
     <section id="_the_network_configuration_for_desktop">  
       <title>The network configuration for desktop</title>  
       <section id="_gui_network_configuration_tools">  
         <title>GUI network configuration tools</title>  
         <simpara>The capability of default GUI network configuration tools for each desktop environments such as GNOME tends to be limited to basic configurations such as static IP or DHCP.  They actually overwrite contents of "<literal>/etc/network/interfaces</literal>" file behind you. Please check how they change "<literal>/etc/network/interfaces</literal>" file by yourself.</simpara>  
         <caution>  
           <simpara>They may not understand complicated advanced configuration done manually in "<literal>/etc/network/interfaces</literal>" file.</simpara>  
         </caution>  
       </section>  
       <section id="_automatic_network_configuration">  
         <title>Automatic network configuration</title>  
         <simpara>There are independent automatic network configuration tools, such as <ulink url="http://en.wikipedia.org/wiki/NetworkManager">NetworkManager (NM)</ulink> (<literal>network-manager</literal> and associated packages) and <ulink url="http://en.wikipedia.org/wiki/Wicd_(Linux_Network_Manager)">Wicd</ulink> (<literal>wicd</literal> package) which manage network connection via <ulink url="http://en.wikipedia.org/wiki/Daemon_(computer_software)">daemon</ulink> independent of the <literal>ifupdown</literal> package. They allow easy management of wireless connections.  These come with its own nice GUI user interfaces.</simpara>  
         <warning>  
           <simpara>Do not use these automatic network configuration tools for servers.  These are aimed primarily for mobile desktop users on laptops.</simpara>  
         </warning>  
         <warning>  
           <simpara>These automatic network configuration tools are moving targets and documentation here is likely to be incorrect for <literal>squeeze</literal>.  So be warned.</simpara>  
         </warning>  
         <caution>  
           <simpara>These automatic network configuration tools may not be compatible with esoteric configurations of <literal>ifupdown</literal> in "<literal>/etc/network/interfaces</literal>" such as ones in <xref linkend="_the_basic_network_configuration_with_ifupdown"/> and <xref linkend="_the_advanced_network_configuration_with_ifupdown"/>.  Having even "<literal>hostname</literal>" stanza for DHCP controlled interface as described in <xref linkend="_the_network_interface_served_by_the_dhcp"/> caused NM to ignore such interface in <literal>lenny</literal>. Check <ulink url="http://bugs.debian.org/cgi-bin/pkgreport.cgi?package=network-manager">BTS of network-manager</ulink> and <ulink url="http://bugs.debian.org/cgi-bin/pkgreport.cgi?package=wicd">BTS of wicd</ulink> for current issues and limitations.</simpara>  
         </caution>  
         <simpara>The configuration of NM is described in "<literal>/usr/share/doc/network-manager/README.Debian</literal>".  Essentially this is as follows.</simpara>  
         <orderedlist>  
           <listitem>  
             <simpara>  
 Make desktop user, e.g. <literal>foo</literal>, belong to group "<literal>netdev</literal>" by the following.  
 </simpara>  
             <screen>$ sudo adduser foo netdev</screen>  
           </listitem>  
           <listitem>  
             <simpara>  
 Keep configuration of "<literal>/etc/network/interfaces</literal>" as simple as the the following.  
 </simpara>  
             <screen>auto lo  
 iface lo inet loopback  
   
 auto eth0  
 iface eth0 inet dhcp</screen>  
           </listitem>  
           <listitem>  
             <simpara>  
 Restart NM by the following.  
 </simpara>  
             <screen>$ sudo /etc/init.d/network-manager restart</screen>  
           </listitem>  
         </orderedlist>  
         <note>  
           <simpara>Only interfaces which are <emphasis role="strong">not</emphasis> listed in "<literal>/etc/network/interfaces</literal>" or which have been configured with "<literal>auto …</literal>" or "<literal>allow-hotplug …</literal>" and "<literal>iface … inet dhcp</literal>" (with no other options) are managed by NM to avoid conflict with <literal>ifupdown</literal>.</simpara>  
         </note>  
         <simpara>The configuration of <ulink url="http://en.wikipedia.org/wiki/Wicd_(Linux_Network_Manager)">Wicd</ulink> is described in "<literal>/usr/share/doc/wicd/README.Debian</literal>".  Essentially, this is as follows.</simpara>  
         <orderedlist>  
           <listitem>  
             <simpara>  
 Make configuration in "<literal>/etc/network/interfaces</literal>" only as the following.  
 </simpara>  
             <screen>auto lo  
 iface lo inet loopback</screen>  
           </listitem>  
           <listitem>  
             <simpara>  
 Restart Wicd as the following.  
 </simpara>  
             <screen>$ sudo /etc/init.d/wicd restart</screen>  
           </listitem>  
         </orderedlist>  
       </section>  
     </section>  
13326      <section id="_the_low_level_network_configuration">      <section id="_the_low_level_network_configuration">
13327        <title>The low level network configuration</title>        <title>The low level network configuration</title>
13328        <section id="_iproute2_commands">        <section id="_iproute2_commands">
# Line 14084  MSS = MTU - 60 for IPv6 Line 14245  MSS = MTU - 60 for IPv6
14245  </simpara>  </simpara>
14246            </listitem>            </listitem>
14247          </itemizedlist>          </itemizedlist>
14248          <simpara>Debian offers many free browser plugin packages in the main component which can handle not only <ulink url="http://en.wikipedia.org/wiki/Java_(software_platform)">Java (software platform)</ulink> and <ulink url="http://en.wikipedia.org/wiki/Adobe_Flash">Flash</ulink> but also <ulink url="http://en.wikipedia.org/wiki/MPEG-1">MPEG</ulink>, <ulink url="http://en.wikipedia.org/wiki/MPEG-2">MPEG2</ulink>, <ulink url="http://en.wikipedia.org/wiki/MPEG-4">MPEG4</ulink>, <ulink url="http://en.wikipedia.org/wiki/DivX">DivX</ulink>, <ulink url="http://en.wikipedia.org/wiki/Windows_Media_Video">Windows Media Video (.wmv)</ulink>, <ulink url="http://en.wikipedia.org/wiki/QuickTime">QuickTime (.mov)</ulink>, <ulink url="http://en.wikipedia.org/wiki/MP3">MP3 (.mp3)</ulink>, <ulink url="http://en.wikipedia.org/wiki/Vorbis">Ogg/Vorbis</ulink> files, DVDs, VCDs, etc.  Debian also offers helper programs to install non-free browser plugin packages as contrib or non-free components.</simpara>          <simpara>Debian offers many free browser plugin packages in the main archive area which can handle not only <ulink url="http://en.wikipedia.org/wiki/Java_(software_platform)">Java (software platform)</ulink> and <ulink url="http://en.wikipedia.org/wiki/Adobe_Flash">Flash</ulink> but also <ulink url="http://en.wikipedia.org/wiki/MPEG-1">MPEG</ulink>, <ulink url="http://en.wikipedia.org/wiki/MPEG-2">MPEG2</ulink>, <ulink url="http://en.wikipedia.org/wiki/MPEG-4">MPEG4</ulink>, <ulink url="http://en.wikipedia.org/wiki/DivX">DivX</ulink>, <ulink url="http://en.wikipedia.org/wiki/Windows_Media_Video">Windows Media Video (.wmv)</ulink>, <ulink url="http://en.wikipedia.org/wiki/QuickTime">QuickTime (.mov)</ulink>, <ulink url="http://en.wikipedia.org/wiki/MP3">MP3 (.mp3)</ulink>, <ulink url="http://en.wikipedia.org/wiki/Vorbis">Ogg/Vorbis</ulink> files, DVDs, VCDs, etc.  Debian also offers helper programs to install non-free browser plugin packages as contrib or non-free archive area.</simpara>
14249          <table pgwide="0" frame="topbot" rowsep="1" colsep="1">          <table pgwide="0" frame="topbot" rowsep="1" colsep="1">
14250            <title>List of browser plugin packages</title>            <title>List of browser plugin packages</title>
14251            <tgroup cols="5">            <tgroup cols="5">
# Line 14105  MSS = MTU - 60 for IPv6 Line 14266  MSS = MTU - 60 for IPv6
14266      size      size
14267      </entry>      </entry>
14268                  <entry>                  <entry>
14269      component      area
14270      </entry>      </entry>
14271                  <entry>                  <entry>
14272      description      description
# Line 14149  MSS = MTU - 60 for IPv6 Line 14310  MSS = MTU - 60 for IPv6
14310                </row>                </row>
14311                <row>                <row>
14312                  <entry>                  <entry>
                   <literal>swfdec-mozilla</literal>  
                 </entry>  
                 <entry>  
     @-@popcon1@-@  
     </entry>  
                 <entry>  
     @-@psize1@-@  
     </entry>  
                 <entry>  
     main  
     </entry>  
                 <entry>  
     Flash plugin based on libswfdec  
     </entry>  
               </row>  
               <row>  
                 <entry>  
14313                    <literal>mozilla-plugin-gnash</literal>                    <literal>mozilla-plugin-gnash</literal>
14314                  </entry>                  </entry>
14315                  <entry>                  <entry>
# Line 14285  MSS = MTU - 60 for IPv6 Line 14429  MSS = MTU - 60 for IPv6
14429        <caution>        <caution>
14430          <simpara>If you are to set up the mail server to exchange mail directly with the Internet, you should be better than reading this elementary document.</simpara>          <simpara>If you are to set up the mail server to exchange mail directly with the Internet, you should be better than reading this elementary document.</simpara>
14431        </caution>        </caution>
14432          <note>
14433            <simpara>The following configuration examples are only valid for the typical mobile workstation on consumer grade Internet connections.</simpara>
14434          </note>
14435        <section id="_modern_mail_service_basics">        <section id="_modern_mail_service_basics">
14436          <title>Modern mail service basics</title>          <title>Modern mail service basics</title>
14437          <simpara>In order to contain spam (unwanted and unsolicited e-mail) problems, many ISPs which provide consumer grade Internet connection are implementing counter measures.</simpara>          <simpara>In order to contain spam (unwanted and unsolicited email) problems, many ISPs which provide consumer grade Internet connections are implementing counter measures.</simpara>
14438          <itemizedlist>          <itemizedlist>
14439            <listitem>            <listitem>
14440              <simpara>              <simpara>
# Line 14326  The incoming mail is accessible at the T Line 14473  The incoming mail is accessible at the T
14473        <section id="_the_mail_configuration_strategy_for_workstation">        <section id="_the_mail_configuration_strategy_for_workstation">
14474          <title>The mail configuration strategy for workstation</title>          <title>The mail configuration strategy for workstation</title>
14475          <simpara>The most simple mail configuration is that the mail is sent to the ISP's smarthost and received from ISP's POP3 server by the MUA (see <xref linkend="_mail_user_agent_mua"/>) itself. This type of configuration is popular with full featured GUI based MUA such as <literal>icedove</literal>(1), <literal>evolution</literal>(1), etc. If you need to filter mail by their types, you use MUA's filtering function. For this case, the local MTA (see <xref linkend="_mail_transport_agent_mta"/>) need to do local delivery only.</simpara>          <simpara>The most simple mail configuration is that the mail is sent to the ISP's smarthost and received from ISP's POP3 server by the MUA (see <xref linkend="_mail_user_agent_mua"/>) itself. This type of configuration is popular with full featured GUI based MUA such as <literal>icedove</literal>(1), <literal>evolution</literal>(1), etc. If you need to filter mail by their types, you use MUA's filtering function. For this case, the local MTA (see <xref linkend="_mail_transport_agent_mta"/>) need to do local delivery only.</simpara>
14476          <simpara>The alternative mail configuration is that the mail is sent via local MTA to the ISP's smarthost and received from ISP's POP3 by the mail retriever (see <xref linkend="_the_remote_mail_retrieval_and_forward_utility"/>) to the local mailbox.  If you need to filter mail by their types, you use MDA with filter (see <xref linkend="_mail_delivery_agent_mda_with_filter"/>) to filter mail into separate mailboxes.  This type of configuration is popular with simple console based MUA such as <literal>mutt</literal>(1), <literal>gnus</literal>(1), etc., although this is possible with any MUAs (see <xref linkend="_mail_user_agent_mua"/>). For this case, the local MTA (see <xref linkend="_mail_transport_agent_mta"/>) need to do both smarthost delivery and local delivery.</simpara>          <simpara>The alternative mail configuration is that the mail is sent via local MTA to the ISP's smarthost and received from ISP's POP3 by the mail retriever (see <xref linkend="_the_remote_mail_retrieval_and_forward_utility"/>) to the local mailbox.  If you need to filter mail by their types, you use MDA with filter (see <xref linkend="_mail_delivery_agent_mda_with_filter"/>) to filter mail into separate mailboxes.  This type of configuration is popular with simple console based MUA such as <literal>mutt</literal>(1), <literal>gnus</literal>(1), etc., although this is possible with any MUAs (see <xref linkend="_mail_user_agent_mua"/>). For this case, the local MTA (see <xref linkend="_mail_transport_agent_mta"/>) need to do both smarthost delivery and local delivery.  Since mobile workstation does not have valid FQDN, you must configure the local MTA to hide and spoof the real local mail name in outgoing mail to avoid mail delivery errors (see <xref linkend="_the_mail_address_configuration"/>).</simpara>
14477            <tip>
14478              <simpara>You may wish to configure MUA/MDA to use <ulink url="http://en.wikipedia.org/wiki/Maildir">Maildir</ulink> for storing email messages somewhere under your home directory.</simpara>
14479            </tip>
14480        </section>        </section>
14481      </section>      </section>
14482      <section id="_mail_transport_agent_mta">      <section id="_mail_transport_agent_mta">
# Line 14687  The incoming mail is accessible at the T Line 14837  The incoming mail is accessible at the T
14837          <title>The configuration of exim4</title>          <title>The configuration of exim4</title>
14838          <simpara>For the Internet mail via smarthost, you (re)configure <literal>exim4-*</literal> packages as the following.</simpara>          <simpara>For the Internet mail via smarthost, you (re)configure <literal>exim4-*</literal> packages as the following.</simpara>
14839          <screen>$ sudo /etc/init.d/exim4 stop          <screen>$ sudo /etc/init.d/exim4 stop
14840  $ sudo dpkg-reconfigure exim4-conf</screen>  $ sudo dpkg-reconfigure exim4-config</screen>
14841          <simpara>Chose "mail sent by smarthost; received via SMTP or fetchmail".</simpara>          <simpara>Select "mail sent by smarthost; received via SMTP or fetchmail" for "General type of mail configuration".</simpara>
14842            <simpara>Set "System mail name:" to its default as the FQDN (see <xref linkend="_the_hostname_resolution"/>).</simpara>
14843            <simpara>Set "IP-addresses to listen on for incoming SMTP connections:" to its default as "127.0.0.1 ; ::1".</simpara>
14844            <simpara>Unset contents of "Other destinations for which mail is accepted:".</simpara>
14845            <simpara>Unset contents of "Machines to relay mail for:".</simpara>
14846          <simpara>Set "IP address or host name of the outgoing smarthost:" to "smtp.hostname.dom:587".</simpara>          <simpara>Set "IP address or host name of the outgoing smarthost:" to "smtp.hostname.dom:587".</simpara>
14847            <simpara>Select "&lt;No&gt;" for "Hide local mail name in outgoing mail?". (Use "<literal>/etc/email-addresses</literal>" as in <xref linkend="_the_mail_address_configuration"/>, instead.)</simpara>
14848          <simpara>Reply to "Keep number of DNS-queries minimal (Dial-on-Demand)?" as one of the following.</simpara>          <simpara>Reply to "Keep number of DNS-queries minimal (Dial-on-Demand)?" as one of the following.</simpara>
14849          <itemizedlist>          <itemizedlist>
14850            <listitem>            <listitem>
# Line 14703  $ sudo dpkg-reconfigure exim4-conf</scre Line 14858  $ sudo dpkg-reconfigure exim4-conf</scre
14858  </simpara>  </simpara>
14859            </listitem>            </listitem>
14860          </itemizedlist>          </itemizedlist>
14861          <simpara>Create password entries for the smarthost by editing "<literal> /etc/exim4/passwd.client</literal>"</simpara>          <simpara>Set "Delivery method for local mail:" to "mbox format in /var/mail/".</simpara>
14862            <simpara>Select "&lt;Yes&gt;" for "Split configuration into small files?:".</simpara>
14863            <simpara>Create password entries for the smarthost by editing "<literal>/etc/exim4/passwd.client</literal>".</simpara>
14864          <screen>$ sudo vim /etc/exim4/passwd.client          <screen>$ sudo vim /etc/exim4/passwd.client
14865   ...   ...
14866  $ cat /etc/exim4/passwd.client  $ cat /etc/exim4/passwd.client
# Line 14728  smtp99.hostname.dom has address 123.234. Line 14885  smtp99.hostname.dom has address 123.234.
14885            <simpara>Local customization file "<literal>/etc/exim4/exim4.conf.localmacros</literal>" may be created to set MACROs.  For example, <ulink url="http://www.yahoo.com/">Yahoo</ulink>'s mail service is said to require "<literal>MAIN_TLS_ENABLE = true</literal>" and "<literal>AUTH_CLIENT_ALLOW_NOTLS_PASSWORDS = yes</literal>" in it.</simpara>            <simpara>Local customization file "<literal>/etc/exim4/exim4.conf.localmacros</literal>" may be created to set MACROs.  For example, <ulink url="http://www.yahoo.com/">Yahoo</ulink>'s mail service is said to require "<literal>MAIN_TLS_ENABLE = true</literal>" and "<literal>AUTH_CLIENT_ALLOW_NOTLS_PASSWORDS = yes</literal>" in it.</simpara>
14886          </tip>          </tip>
14887          <tip>          <tip>
14888            <simpara>If you are looking for a light weight MTA that respects "<literal>/etc/aliases</literal>" for your laptop PC, you should consider to configure <literal>exim4</literal>(8) with "<literal>QUEUERUNNER='nodaemon'</literal>" etc. in "<literal>/etc/default/exim4</literal>".</simpara>            <simpara>If you are looking for a light weight MTA that respects "<literal>/etc/aliases</literal>" for your laptop PC, you should consider to configure <literal>exim4</literal>(8) with "<literal>QUEUERUNNER='queueonly'</literal>", "<literal>QUEUERUNNER='nodaemon'</literal>", etc. in "<literal>/etc/default/exim4</literal>".</simpara>
14889          </tip>          </tip>
14890        </section>        </section>
14891        <section id="_the_configuration_of_postfix_with_sasl">        <section id="_the_configuration_of_postfix_with_sasl">
# Line 14878  $ sudo postmap hush:/etc/postfix/sasl_pa Line 15035  $ sudo postmap hush:/etc/postfix/sasl_pa
15035          <tip>          <tip>
15036            <simpara>The contents of "<literal>/etc/mailname</literal>" is used by many non-MTA programs for their default behavior. For <literal>mutt</literal>, set "<literal>hostname</literal>" and "<literal>from</literal>" variables in <literal>~/muttrc</literal> file to override the <emphasis role="strong">mailname</emphasis> value.  For programs in the <literal>devscripts</literal> package, such as <literal>bts</literal>(1) and <literal>dch</literal>(1), export environment variables "<literal>$DEBFULLNAME</literal>" and "<literal>$DEBEMAIL</literal>" to override it.</simpara>            <simpara>The contents of "<literal>/etc/mailname</literal>" is used by many non-MTA programs for their default behavior. For <literal>mutt</literal>, set "<literal>hostname</literal>" and "<literal>from</literal>" variables in <literal>~/muttrc</literal> file to override the <emphasis role="strong">mailname</emphasis> value.  For programs in the <literal>devscripts</literal> package, such as <literal>bts</literal>(1) and <literal>dch</literal>(1), export environment variables "<literal>$DEBFULLNAME</literal>" and "<literal>$DEBEMAIL</literal>" to override it.</simpara>
15037          </tip>          </tip>
15038            <tip>
15039              <simpara>The <literal>popularity-contest</literal> package normally send mail from root account with FQDN.  You need to set <literal>MAILFROM</literal> in <literal>/etc/popularity-contest.conf</literal> as described in the <literal>/usr/share/popularity-contest/default.conf</literal> file.  Otherwise, your mail will be rejected by the smarthost SMTP server. Although this is tedious, this approach is safer than rewriting the source address for all mails from root by MTA and should be used for other daemons and cron scripts.</simpara>
15040            </tip>
15041          <simpara>When setting the <emphasis role="strong">mailname</emphasis> to "<literal>hostname -f</literal>", the spoofing of the source mail address via MTA can be realized by the following.</simpara>          <simpara>When setting the <emphasis role="strong">mailname</emphasis> to "<literal>hostname -f</literal>", the spoofing of the source mail address via MTA can be realized by the following.</simpara>
15042          <itemizedlist>          <itemizedlist>
15043            <listitem>            <listitem>
# Line 14895  $ sudo postmap hush:/etc/postfix/sasl_pa Line 15055  $ sudo postmap hush:/etc/postfix/sasl_pa
15055          <screen># postmap hash:/etc/postfix/generic          <screen># postmap hash:/etc/postfix/generic
15056  # postconf -e 'smtp_generic_maps = hash:/etc/postfix/generic'  # postconf -e 'smtp_generic_maps = hash:/etc/postfix/generic'
15057  # postfix reload</screen>  # postfix reload</screen>
15058          <simpara>You check filters using the following.</simpara>          <simpara>You can test mail address configuration using the following.</simpara>
15059          <itemizedlist>          <itemizedlist>
15060            <listitem>            <listitem>
15061              <simpara><literal>exim</literal>(8) with <literal>-brw, -bf, -bF, -bV, …</literal> options              <simpara><literal>exim</literal>(8) with <literal>-brw, -bf, -bF, -bV, …</literal> options
# Line 15143  $ sudo postmap hush:/etc/postfix/sasl_pa Line 15303  $ sudo postmap hush:/etc/postfix/sasl_pa
15303        <section id="_basic_mua_8212_mutt">        <section id="_basic_mua_8212_mutt">
15304          <title>Basic MUA  — Mutt</title>          <title>Basic MUA  — Mutt</title>
15305          <simpara>Customize "<literal>~/.muttrc</literal>" as the following to use <literal>mutt</literal> as the mail user agent (MUA) in combination with <literal>vim</literal>.</simpara>          <simpara>Customize "<literal>~/.muttrc</literal>" as the following to use <literal>mutt</literal> as the mail user agent (MUA) in combination with <literal>vim</literal>.</simpara>
15306          <screen># use visual mode and "gq" to reformat quotes          <screen>#
15307  set editor="vim -c 'set tw=72 et ft=mail'"  # User configuration file to override /etc/Muttrc
 #  
 # header weeding taken from the manual (Sven's Draconian header weeding)  
15308  #  #
15309  ignore *  # spoof source mail address
15310  unignore from: date subject to cc  set use_from
15311  unignore user-agent x-mailer  set hostname=example.dom
15312  hdr_order from subject to cc date user-agent x-mailer  set from="Name Surname &lt;username@example.dom&gt;"
15313  set hostname=spoof.example.org  set signature="~/.signature"
15314  set from="First Last &lt;username@example.org&gt;"  
15315  ....</screen>  # vim: "gq" to reformat quotes
15316    set editor="vim -c 'set tw=72 et ft=mail'"
15317    
15318    # "mutt" goes to Inbox, while "mutt -y" lists mailboxes
15319    set mbox_type=Maildir           # use qmail Maildir format for creating mbox
15320    set mbox=~/Mail                 # keep all mail boxes in $HOME/Mail/
15321    set spoolfile=+Inbox            # mail delivered to $HOME/Mail/Inbox
15322    set record=+Outbox              # save fcc mail to $HOME/Mail/Outbox
15323    set postponed=+Postponed        # keep postponed in $HOME/Mail/postponed
15324    set move=no                     # do not move Inbox items to mbox
15325    set quit=ask-yes                # do not quit by "q" only
15326    set delete=yes                  # always delete w/o asking while exiting
15327    set fcc_clear                   # store fcc as non encrypted
15328    
15329    # Mailboxes in Maildir (automatic update)
15330    mailboxes `cd ~/Mail; /bin/ls -1|sed -e 's/^/+/' | tr "\n" " "`
15331    unmailboxes Maillog *.ev-summary
15332    
15333    ## Default
15334    #set index_format="%4C %Z %{%b %d} %-15.15L (%4l) %s"
15335    ## Thread index with senders (collapse)
15336    set index_format="%4C %Z %{%b %d} %-15.15n %?M?(#%03M)&amp;(%4l)? %s"
15337    
15338    ## Default
15339    #set folder_format="%2C %t %N %F %2l %-8.8u %-8.8g %8s %d %f"
15340    ## just folder names
15341    set folder_format="%2C %t %N %f"</screen>
15342          <simpara>Add the following to "<literal>/etc/mailcap</literal>" or "<literal>~/.mailcap</literal>" to display HTML mail and MS Word attachments inline.</simpara>          <simpara>Add the following to "<literal>/etc/mailcap</literal>" or "<literal>~/.mailcap</literal>" to display HTML mail and MS Word attachments inline.</simpara>
15343          <screen>text/html; lynx -force_html %s; needsterminal;          <screen>text/html; lynx -force_html %s; needsterminal;
15344  application/msword; /usr/bin/antiword '%s'; copiousoutput; description="Microsoft Word Text"; nametemplate=%s.doc</screen>  application/msword; /usr/bin/antiword '%s'; copiousoutput; description="Microsoft Word Text"; nametemplate=%s.doc</screen>
15345            <tip>
15346              <simpara>Mutt can be used as the <ulink url="http://en.wikipedia.org/wiki/Internet_Message_Access_Protocol">IMAP</ulink> client and the mailbox format converter.  You can tag messages with "<literal>t</literal>", "<literal>T</literal>", etc.  These tagged messages can be copied with "<literal>;C</literal>" between different mailboxes and deleted with "<literal>;d</literal>" in one action.</simpara>
15347            </tip>
15348        </section>        </section>
15349      </section>      </section>
15350      <section id="_the_remote_mail_retrieval_and_forward_utility">      <section id="_the_remote_mail_retrieval_and_forward_utility">
# Line 15252  application/msword; /usr/bin/antiword '% Line 15439  application/msword; /usr/bin/antiword '%
15439          <simpara>Create "<literal>/usr/local/bin/getmails</literal>" as the following.</simpara>          <simpara>Create "<literal>/usr/local/bin/getmails</literal>" as the following.</simpara>
15440          <screen>#!/bin/sh          <screen>#!/bin/sh
15441  set -e  set -e
15442    if [ -f $HOME/.getmail/running ]; then
15443      echo "getmail is already running ... (if not, remove $HOME/.getmail/running)" &gt;&amp;2
15444      pgrep -l "getmai[l]"
15445      exit 1
15446    else
15447      echo "getmail has not been running ... " &gt;&amp;2
15448    fi
15449    if [ -f $HOME/.getmail/stop ]; then
15450      echo "do not run getmail ... (if not, remove $HOME/.getmail/stop)" &gt;&amp;2
15451      exit
15452    fi
15453    if [ "x$1" = "x-l" ]; then
15454      exit
15455    fi
15456  rcfiles="/usr/bin/getmail"  rcfiles="/usr/bin/getmail"
15457  for file in $HOME/.getmail/config/* ; do  for file in $HOME/.getmail/config/* ; do
15458    rcfiles="$rcfiles --rcfile $file"    rcfiles="$rcfiles --rcfile $file"
15459  done  done
15460  exec $rcfiles $@</screen>  date -u &gt; $HOME/.getmail/running
15461    eval "$rcfiles $@"
15462    rm $HOME/.getmail/running</screen>
15463          <simpara>Configure it as the following.</simpara>          <simpara>Configure it as the following.</simpara>
15464          <screen>$ sudo chmod 755 /usr/local/bin/getmails          <screen>$ sudo chmod 755 /usr/local/bin/getmails
15465  $ mkdir -m 0700 $HOME/.getmail  $ mkdir -m 0700 $HOME/.getmail
# Line 15368  message_log = ~/.getmail/log/pop3_name.l Line 15571  message_log = ~/.getmail/log/pop3_name.l
15571        <section id="_maildrop_configuration">        <section id="_maildrop_configuration">
15572          <title>maildrop configuration</title>          <title>maildrop configuration</title>
15573          <simpara><literal>maildrop</literal>(1) configuration is described in <ulink url="http://www.courier-mta.org/maildrop/maildropfilter.html">maildropfilter documentation</ulink>.  Here is a configuration example for "<literal>$HOME/.mailfilter</literal>".</simpara>          <simpara><literal>maildrop</literal>(1) configuration is described in <ulink url="http://www.courier-mta.org/maildrop/maildropfilter.html">maildropfilter documentation</ulink>.  Here is a configuration example for "<literal>$HOME/.mailfilter</literal>".</simpara>
15574          <screen>logfile $HOME/.maildroplog          <screen># Local configuration
15575  # clearly bad looking mails: drop them into X-trash and exit  MAILROOT="$HOME/Mail"
15576  if (    /^X-Advertisement/ ||\  # set this to /etc/mailname contents
15577          /^Subject:.*BUSINESS PROPOSAL/ ||\  MAILHOST="example.dom"
15578          /^Subject:.*URGENT.*ASISSTANCE/ ||\  logfile $HOME/.maildroplog
         /^Subject: *I NEED YOUR ASSISTANCE/ )  
     to "$HOME/Maildir/X-trash/"  
15579    
15580  # Delivering mailinglist messages using automatically generated mailbox  # rules are made to override the earlier value by the later one.
15581  if (    /^Precedence:.*list/ || /^Precedence:.*bulk/ )  
15582    # mailing list mails ?
15583    if (     /^Precedence:.*list/:h || /^Precedence:.*bulk/:h )
15584    {
15585        # rules for mailing list mails
15586        # default mailbox for mails from mailing list
15587        MAILBOX="Inbox-list"
15588        # default mailbox for mails from debian.org
15589        if ( /^(Sender|Resent-From|Resent-Sender): .*debian.org/:h )
15590        {
15591            MAILBOX="service.debian.org"
15592        }
15593        # default mailbox for mails from bugs.debian.org (BTS)
15594        if ( /^(Sender|Resent-From|Resent-sender): .*@bugs.debian.org/:h )
15595        {
15596            MAILBOX="bugs.debian.org"
15597        }
15598        # mailbox for each properly maintained mailing list with "List-Id: foo" or "List-Id: ...&lt;foo.bar&gt;"
15599        if ( /^List-Id: ([^&lt;]*&lt;)?([^&lt;&gt;]*)&gt;?/:h )
15600        {
15601            MAILBOX="$MATCH2"
15602        }
15603    }
15604    else
15605  {  {
15606      if ( /^List-Id:[ &lt;]*([^&lt;&gt;]*)[ &gt;]*/)      # rules for non-mailing list mails
15607        # default incoming box
15608        MAILBOX="Inbox-unusual"
15609        # local mails
15610        if ( /Envelope-to: .*@$MAILHOST/:h )
15611        {
15612            MAILBOX="Inbox-local"
15613        }
15614        # html mails (99% spams)
15615        if ( /DOCTYPE html/:b ||\
15616             /^Content-Type: text\/html/ )
15617        {
15618            MAILBOX="Inbox-html"
15619        }
15620        # blacklist rule for spams
15621        if ( /^X-Advertisement/:h ||\
15622             /^Subject:.*BUSINESS PROPOSAL/:h ||\
15623             /^Subject:.*URGENT.*ASISSTANCE/:h ||\
15624             /^Subject: *I NEED YOUR ASSISTANCE/:h )
15625        {
15626            MAILBOX="Inbox-trash"
15627        }
15628        # whitelist rule for normal mails
15629        if ( /^From: .*@debian.org/:h ||\
15630             /^(Sender|Resent-From|Resent-Sender): .*debian.org/:h ||\
15631             /^Subject: .*(debian|bug|PATCH)/:h )
15632      {      {
15633          MAILBOX="$MATCH1"          MAILBOX="Inbox"
15634      }      }
15635      else      # whiltelist rule for BTS related mails
15636        if ( /^Subject: .*Bug#.*/:h ||\
15637             /^(To|Cc): .*@bugs.debian.org/:h )
15638      {      {
15639          if ( /^X-Loop: *(.*)@(.*)/)          MAILBOX="bugs.debian.org"
         {  
             MAILBOX="$MATCH1.$MATCH2"  
         }  
         else  
         {  
             if (    /Return-Path:.*\.debian\.org/ )  
             {  
                 MAILBOX="automatic.debian.org"  
             }  
             else  
             {  
                 MAILBOX="unknown-list"  
             }  
         }  
15640      }      }
15641      `test -d $MAILROOT/$MAILBOX`      # whitelist rule for getmails cron mails
15642      if ( $RETURNCODE == 1 )      if ( /^Subject: Cron .*getmails/:h )
15643          `maildirmake $MAILROOT/$MAILBOX`      {
15644      to "$MAILROOT/$MAILBOX/"          MAILBOX="Inbox-getmails"
15645        }
15646    }
15647    
15648    # check existance of $MAILBOX
15649    `test -d $MAILROOT/$MAILBOX`
15650    if ( $RETURNCODE == 1 )
15651    {
15652        # create maildir mailbox for $MAILBOX
15653        `maildirmake $MAILROOT/$MAILBOX`
15654  }  }
15655  to "$HOME/Maildir/Inbox/"  # deliver to maildir $MAILBOX
15656    to "$MAILROOT/$MAILBOX/"
15657  exit</screen>  exit</screen>
15658          <warning>          <warning>
15659            <simpara>Unlike <literal>procmail</literal>, <literal>maildrop</literal> does not create missing maildir directories automatically.  You must create them manually using <literal>maildirmake</literal>(1) in advance as in the example "<literal>$HOME/.mailfilter</literal>".</simpara>            <simpara>Unlike <literal>procmail</literal>, <literal>maildrop</literal> does not create missing maildir directories automatically.  You must create them manually using <literal>maildirmake</literal>(1) in advance as in the example "<literal>$HOME/.mailfilter</literal>".</simpara>
# Line 15414  exit</screen> Line 15661  exit</screen>
15661        </section>        </section>
15662        <section id="_procmail_configuration">        <section id="_procmail_configuration">
15663          <title>procmail configuration</title>          <title>procmail configuration</title>
15664          <simpara>Here is an equivalent configuration with "<literal>$HOME/.procmailrc</literal>" for <literal>procmail</literal>(1).</simpara>          <simpara>Here is a similar configuration with "<literal>$HOME/.procmailrc</literal>" for <literal>procmail</literal>(1).</simpara>
15665          <screen>MAILDIR=$HOME/Maildir          <screen>MAILDIR=$HOME/Maildir
15666  DEFAULT=$MAILDIR/Inbox/  DEFAULT=$MAILDIR/Inbox/
15667  LOGFILE=$MAILDIR/Maillog  LOGFILE=$MAILDIR/Maillog
# Line 16610  Identity added: /home/&lt;username&gt;/. Line 16857  Identity added: /home/&lt;username&gt;/.
16857              </row>              </row>
16858              <row>              <row>
16859                <entry>                <entry>
16860                  <literal>stunnel4</literal>                  <literal>openssl</literal>
16861                </entry>                </entry>
16862                <entry>                <entry>
16863      @-@popcon1@-@      @-@popcon1@-@
# Line 16622  Identity added: /home/&lt;username&gt;/. Line 16869  Identity added: /home/&lt;username&gt;/.
16869                  <ulink url="http://en.wikipedia.org/wiki/Transport_Layer_Security">SSL</ulink>                  <ulink url="http://en.wikipedia.org/wiki/Transport_Layer_Security">SSL</ulink>
16870                </entry>                </entry>
16871                <entry>                <entry>
16872        Secure Socket Layer (SSL) binary and related cryptographic tools
16873        </entry>
16874                </row>
16875                <row>
16876                  <entry>
16877                    <literal>stunnel4</literal>
16878                  </entry>
16879                  <entry>
16880        @-@popcon1@-@
16881        </entry>
16882                  <entry>
16883        @-@psize1@-@
16884        </entry>
16885                  <entry>
16886        , ,
16887        </entry>
16888                  <entry>
16889      universal SSL Wrapper      universal SSL Wrapper
16890      </entry>      </entry>
16891              </row>              </row>
# Line 16867  Identity added: /home/&lt;username&gt;/. Line 17131  Identity added: /home/&lt;username&gt;/.
17131      <section id="_the_diagnosis_of_the_system_daemons">      <section id="_the_diagnosis_of_the_system_daemons">
17132        <title>The diagnosis of the system daemons</title>        <title>The diagnosis of the system daemons</title>
17133        <simpara>The <literal>telnet</literal> program enables manual connection to the system daemons and its diagnosis.</simpara>        <simpara>The <literal>telnet</literal> program enables manual connection to the system daemons and its diagnosis.</simpara>
17134        <simpara>For example, try the following</simpara>        <simpara>For testing plain <ulink url="http://en.wikipedia.org/wiki/Post_Office_Protocol">POP3</ulink> service, try the following</simpara>
17135        <screen>$ telnet mail.ispname.net pop3</screen>        <screen>$ telnet mail.ispname.net pop3</screen>
17136          <simpara>For testing the <ulink url="http://en.wikipedia.org/wiki/Transport_Layer_Security">TLS</ulink>/SSL enabled <ulink url="http://en.wikipedia.org/wiki/Post_Office_Protocol">POP3</ulink> service by some ISPs, you need TLS/SSL enabled <literal>telnet</literal> client by the <literal>telnet-ssl</literal> or <literal>openssl</literal> packages.</simpara>
17137          <screen>$ telnet -z ssl pop.gmail.com 995</screen>
17138          <screen>$ openssl s_client -connect pop.gmail.com:995</screen>
17139        <simpara>The following <ulink url="http://www.ietf.org/rfc.html">RFCs</ulink> provide required knowledge to each system daemon.</simpara>        <simpara>The following <ulink url="http://www.ietf.org/rfc.html">RFCs</ulink> provide required knowledge to each system daemon.</simpara>
17140        <table pgwide="0" frame="topbot" rowsep="1" colsep="1">        <table pgwide="0" frame="topbot" rowsep="1" colsep="1">
17141          <title>List of popular RFCs</title>          <title>List of popular RFCs</title>
# Line 16945  Identity added: /home/&lt;username&gt;/. Line 17212  Identity added: /home/&lt;username&gt;/.
17212          </tgroup>          </tgroup>
17213        </table>        </table>
17214        <simpara>The port usage is described in "<literal>/etc/services</literal>".</simpara>        <simpara>The port usage is described in "<literal>/etc/services</literal>".</simpara>
       <note>  
         <simpara>For testing <ulink url="http://en.wikipedia.org/wiki/Transport_Layer_Security">TLS</ulink>/SSL services such as <ulink url="http://en.wikipedia.org/wiki/Https">HTTPS</ulink>, you need TLS/SSL enabled <literal>telnet</literal> program.</simpara>  
       </note>  
17215      </section>      </section>
17216    </chapter>    </chapter>
17217    <chapter id="_the_x_window_system">    <chapter id="_the_x_window_system">
# Line 17122  Identity added: /home/&lt;username&gt;/. Line 17386  Identity added: /home/&lt;username&gt;/.
17386              </row>              </row>
17387              <row>              <row>
17388                <entry>                <entry>
17389                  <literal>kde-core</literal>                  <literal>kde-standard</literal>
17390                </entry>                </entry>
17391                <entry>                <entry>
17392      @-@popcon1@-@      @-@popcon1@-@
# Line 17645  Type=Application</screen> Line 17909  Type=Application</screen>
17909      </section>      </section>
17910      <section id="_fonts_in_the_x_window">      <section id="_fonts_in_the_x_window">
17911        <title>Fonts in the X Window</title>        <title>Fonts in the X Window</title>
17912        <simpara>The font configuration on Debian system can be summarized with historical perspective as follows.</simpara>        <simpara><ulink url="http://en.wikipedia.org/wiki/Fontconfig">Fontconfig 2.0</ulink> was created to provide a distribution independent library for configuring and customizing font access in 2002.  Debian after <literal>squeeze</literal> uses <ulink url="http://en.wikipedia.org/wiki/Fontconfig">Fontconfig 2.0</ulink> for its font configuration.</simpara>
       <itemizedlist>  
         <listitem>  
           <simpara>  
 Each application used to require specific manual operation to configure installed fonts before <literal>woody</literal>.  
 </simpara>  
         </listitem>  
         <listitem>  
           <simpara><ulink url="http://packages.debian.org/sid/defoma">Debian Font Manager (defoma)</ulink> was created to automate this font configuration by providing a Debian specific glue layer in 2000.  
 </simpara>  
           <itemizedlist>  
             <listitem>  
               <simpara>  
 Each font package publishes application independent font data to defoma.  
 </simpara>  
             </listitem>  
             <listitem>  
               <simpara>  
 Each application package uses these data to configure each installed font via its package script.  
 </simpara>  
             </listitem>  
             <listitem>  
               <simpara>  
 For X server, the actual program to configure TrueType fonts and CID fonts (as well as CMaps) was packaged as <ulink url="http://packages.debian.org/sid/x-ttcidfont-conf">x-ttcidfont-conf</ulink>.  
 </simpara>  
             </listitem>  
           </itemizedlist>  
         </listitem>  
         <listitem>  
           <simpara><ulink url="http://en.wikipedia.org/wiki/Fontconfig">Fontconfig 2.0</ulink> was created to provide a distribution independent library for configuring and customizing font access in 2002.  
 </simpara>  
           <itemizedlist>  
             <listitem>  
               <simpara>  
 As of <literal>lenny</literal> release, almost all programs which access font data seem to use this system.  
 </simpara>  
             </listitem>  
             <listitem>  
               <simpara>  
 After <literal>squeeze</literal>, Debian solely uses <ulink url="http://en.wikipedia.org/wiki/Fontconfig">Fontconfig 2.0</ulink> and drops <ulink url="http://packages.debian.org/sid/defoma">Debian Font Manager (defoma)</ulink>.  
 </simpara>  
             </listitem>  
           </itemizedlist>  
         </listitem>  
       </itemizedlist>  
17913        <simpara>Font supports on X Window System can be summarized as follows.</simpara>        <simpara>Font supports on X Window System can be summarized as follows.</simpara>
17914        <itemizedlist>        <itemizedlist>
17915          <listitem>          <listitem>
# Line 17835  The <ulink url="http://en.wikipedia.org/ Line 18055  The <ulink url="http://en.wikipedia.org/
18055                <entry><ulink url="http://en.wikipedia.org/wiki/Fontconfig">Fontconfig</ulink>, a generic font configuration library — configuration data                <entry><ulink url="http://en.wikipedia.org/wiki/Fontconfig">Fontconfig</ulink>, a generic font configuration library — configuration data
18056      </entry>      </entry>
18057              </row>              </row>
             <row>  
               <entry>  
                 <literal>defoma</literal>  
               </entry>  
               <entry>  
     @-@popcon1@-@  
     </entry>  
               <entry>  
     @-@psize1@-@  
     </entry>  
               <entry>  
     Debian Font Manager — automatic font configuration framework (lenny)  
     </entry>  
             </row>  
             <row>  
               <entry>  
                 <literal>x-ttcidfont-conf</literal>  
               </entry>  
               <entry>  
     @-@popcon1@-@  
     </entry>  
               <entry>  
     @-@psize1@-@  
     </entry>  
               <entry>  
     TrueType and CID fonts configuration for X (with <ulink url="http://en.wikipedia.org/wiki/CJK_characters">CJK</ulink> support)  
     </entry>  
             </row>  
18058            </tbody>            </tbody>
18059          </tgroup>          </tgroup>
18060        </table>        </table>
# Line 17887  The <ulink url="http://en.wikipedia.org/ Line 18079  The <ulink url="http://en.wikipedia.org/
18079        <tip>        <tip>
18080          <simpara>"<ulink url="http://unifont.org/iuc27/html/ICUPresentation.html">The Penguin and Unicode</ulink>" is a good overview of modern X Window System. Other documentations at <ulink url="http://unifont.org/">http://unifont.org/</ulink> should provide good information on Unicode fonts, Unicode-enabled software, internationalization, and Unicode usability issues on <ulink url="http://en.wikipedia.org/wiki/Free_and_open_source_software">free/libre/open source (FLOSS)</ulink> operating systems.</simpara>          <simpara>"<ulink url="http://unifont.org/iuc27/html/ICUPresentation.html">The Penguin and Unicode</ulink>" is a good overview of modern X Window System. Other documentations at <ulink url="http://unifont.org/">http://unifont.org/</ulink> should provide good information on Unicode fonts, Unicode-enabled software, internationalization, and Unicode usability issues on <ulink url="http://en.wikipedia.org/wiki/Free_and_open_source_software">free/libre/open source (FLOSS)</ulink> operating systems.</simpara>
18081        </tip>        </tip>
       <tip>  
         <simpara>You should rely on <ulink url="http://en.wikipedia.org/wiki/Fontconfig">fontconfig</ulink> infrastructure to configure fonts on the Debian system.  Debian Font Manager (<literal>defoma</literal>(1)) is only useful for font installation and <ulink url="http://en.wikipedia.org/wiki/X_logical_font_description">X logical font description (XLFD)</ulink> data registration for lenny.</simpara>  
       </tip>  
18082        <section id="_basic_fonts">        <section id="_basic_fonts">
18083          <title>Basic fonts</title>          <title>Basic fonts</title>
18084          <simpara>There are 2 major types of <ulink url="http://en.wikipedia.org/wiki/Computer_font">computer fonts</ulink>.</simpara>          <simpara>There are 2 major types of <ulink url="http://en.wikipedia.org/wiki/Computer_font">computer fonts</ulink>.</simpara>
# Line 18344  The filtered flat package list of the Tr Line 18533  The filtered flat package list of the Tr
18533      sans-serif      sans-serif
18534      </entry>      </entry>
18535                  <entry>                  <entry>
18536      gothic, ゴチック     hei,      gothic, ゴチック
18537      </entry>      </entry>