diff options
Diffstat (limited to 'includes/common/doc/FAQ/html/ch-pkgtools.html')
-rw-r--r-- | includes/common/doc/FAQ/html/ch-pkgtools.html | 936 |
1 files changed, 936 insertions, 0 deletions
diff --git a/includes/common/doc/FAQ/html/ch-pkgtools.html b/includes/common/doc/FAQ/html/ch-pkgtools.html new file mode 100644 index 000000000..114bb9fe2 --- /dev/null +++ b/includes/common/doc/FAQ/html/ch-pkgtools.html @@ -0,0 +1,936 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> + +<html> + +<head> + +<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> + +<title>The Debian GNU/Linux FAQ - The Debian package management tools</title> + +</head> + +<body> + +<p><a name="ch-pkgtools"></a></p> +<hr> + +<p> +[ <a href="ch-pkg_basics.en.html">previous</a> ] +[ <a href="index.en.html#contents">Contents</a> ] +[ <a href="ch-basic_defs.en.html">1</a> ] +[ <a href="ch-getting.en.html">2</a> ] +[ <a href="ch-compat.en.html">3</a> ] +[ <a href="ch-software.en.html">4</a> ] +[ <a href="ch-ftparchives.en.html">5</a> ] +[ <a href="ch-pkg_basics.en.html">6</a> ] +[ 7 ] +[ <a href="ch-uptodate.en.html">8</a> ] +[ <a href="ch-kernel.en.html">9</a> ] +[ <a href="ch-customizing.en.html">10</a> ] +[ <a href="ch-support.en.html">11</a> ] +[ <a href="ch-contributing.en.html">12</a> ] +[ <a href="ch-redistrib.en.html">13</a> ] +[ <a href="ch-nexttime.en.html">14</a> ] +[ <a href="ch-faqinfo.en.html">15</a> ] +[ <a href="ch-uptodate.en.html">next</a> ] +</p> + +<hr> + +<h1> +The Debian GNU/Linux FAQ +<br>Chapter 7 - The Debian package management tools +</h1> + +<hr> + +<h2><a name="s-pkgprogs"></a>7.1 What programs does Debian provide for managing its packages?</h2> + +<p> +There are multiple tools that are used to manage Debian packages, from graphic +or text-based interfaces to the low level tools used to install packages. All +the available tools rely on the lower level tools to properly work and are +presented here in decreasing complexity level. +</p> + +<p> +It is important to understand that the higher level package management tools +such as <code>aptitude</code> or <code>dselect</code> rely on <code>apt</code> +which, itself, relies on <code>dpkg</code> to manage the packages in the +system. +</p> + +<p> +See the <code><a href="http://www.debian.org/doc/manuals/apt-howto/">APT +HOWTO</a></code> for more information about the Debian package management +utilities. This document is available in various languages and formats, see +<code><a href="http://www.debian.org/doc/user-manuals#apt-howto">the APT HOWTO +entry on the DDP Users' Manuals overview</a></code>. +</p> + +<hr> + +<h3><a name="s-dpkg"></a>7.1.1 dpkg</h3> + +<p> +This is the main package management program. <code>dpkg</code> can be invoked +with many options. Some common uses are: +</p> +<ul> +<li> +<p> +Find out all the options: <samp>dpkg --help</samp>. +</p> +</li> +</ul> +<ul> +<li> +<p> +Print out the control file (and other information) for a specified package: +<samp>dpkg --info foo_VVV-RRR.deb</samp> +</p> +</li> +</ul> +<ul> +<li> +<p> +Install a package (including unpacking and configuring) onto the file system of +the hard disk: <samp>dpkg --install foo_VVV-RRR.deb</samp>. +</p> +</li> +</ul> +<ul> +<li> +<p> +Unpack (but do not configure) a Debian archive into the file system of the hard +disk: <samp>dpkg --unpack foo_VVV-RRR.deb</samp>. Note that this operation +does <em>not</em> necessarily leave the package in a usable state; some files +may need further customization to run properly. This command removes any +already-installed version of the program and runs the preinst (see <a +href="ch-pkg_basics.en.html#s-maintscripts">What is a Debian preinst, postinst, +prerm, and postrm script?, Section 6.6</a>) script associated with the package. +</p> +</li> +</ul> +<ul> +<li> +<p> +Configure a package that already has been unpacked: <samp>dpkg --configure +foo</samp>. Among other things, this action runs the postinst (see <a +href="ch-pkg_basics.en.html#s-maintscripts">What is a Debian preinst, postinst, +prerm, and postrm script?, Section 6.6</a>) script associated with the package. +It also updates the files listed in the <samp>conffiles</samp> for this +package. Notice that the 'configure' operation takes as its argument a package +name (e.g., foo), <em>not</em> the name of a Debian archive file (e.g., +foo_VVV-RRR.deb). +</p> +</li> +</ul> +<ul> +<li> +<p> +Extract a single file named "blurf" (or a group of files named +"blurf*" from a Debian archive: <samp>dpkg --fsys-tarfile +foo_VVV-RRR.deb | tar -xf - blurf*</samp> +</p> +</li> +</ul> +<ul> +<li> +<p> +Remove a package (but not its configuration files): <samp>dpkg --remove +foo</samp>. +</p> +</li> +</ul> +<ul> +<li> +<p> +Remove a package (including its configuration files): <samp>dpkg --purge +foo</samp>. +</p> +</li> +</ul> +<ul> +<li> +<p> +List the installation status of packages containing the string (or regular +expression) "foo*": <samp>dpkg --list 'foo*'</samp>. +</p> +</li> +</ul> + +<hr> + +<h3><a name="s-apt-get"></a>7.1.2 APT</h3> + +<p> +APT is the <em>Advanced Package Tool</em> and provides the <code>apt-get</code> +program. <code>apt-get</code> provides a simple way to retrieve and install +packages from multiple sources using the command line. Unlike +<code>dpkg</code>, <code>apt-get</code> does not understand .deb files, it +works with the packages proper name and can only install .deb archives from a +source specified in <code>/etc/apt/sources.list</code>. <code>apt-get</code> +will call <code>dpkg</code> directly after downloading the .deb archives[<a +href="footnotes.en.html#f4" name="fr4">4</a>] from the configured sources. +</p> + +<p> +Some common ways to use <code>apt-get</code> are: +</p> +<ul> +<li> +<p> +To update the list of package known by your system, you can run: +</p> + +<pre> + apt-get update +</pre> + +<p> +(you should execute this regularly to update your package lists) +</p> +</li> +</ul> +<ul> +<li> +<p> +To upgrade all the packages on your system, run: +</p> + +<pre> + apt-get upgrade +</pre> +</li> +</ul> +<ul> +<li> +<p> +To install the <var>foo</var> package and all its dependencies, run: +</p> + +<pre> + apt-get install foo +</pre> +</li> +</ul> +<ul> +<li> +<p> +To remove the foo package from your system, run: +</p> + +<pre> + apt-get remove foo +</pre> +</li> +</ul> +<ul> +<li> +<p> +To remove the foo package and its configuration files from your system, run: +</p> + +<pre> + apt-get --purge remove foo +</pre> +</li> +</ul> +<ul> +<li> +<p> +To upgrade all the packages on your system to a new Debian GNU/Linux release, +run: +</p> + +<pre> + apt-get dist-upgrade +</pre> +</li> +</ul> + +<p> +Note that you must be logged in as root to perform any commands that modify the +system packages. +</p> + +<p> +The apt tool suite also includes the <code>apt-cache</code> tool to query the +package lists. You can use it to find packages providing specific +functionality through simple text or regular expression queries and through +queries of dependencies in the package management system. Some common ways to +use <code>apt-cache</code> are: +</p> +<ul> +<li> +<p> +To find packages whose description contain <var>word</var>: +</p> + +<pre> + apt-cache search <var>word</var> +</pre> +</li> +</ul> +<ul> +<li> +<p> +To print the detailed information of a package: +</p> + +<pre> + apt-cache show <var>package</var> +</pre> +</li> +</ul> +<ul> +<li> +<p> +To print the packages a given package depends on: +</p> + +<pre> + apt-cache depends <var>package</var> +</pre> +</li> +</ul> +<ul> +<li> +<p> +To print detailed information of the versions available for a package and the +packages that reverse-depends on it: +</p> + +<pre> + apt-cache showpkg <var>package</var> +</pre> +</li> +</ul> + +<p> +For more information, install the <code>apt</code> package and read +<code>apt-get(8)</code>, <code>sources.list(5)</code> and install the +<code>apt-doc</code> package and read +<code>/usr/share/doc/apt-doc/guide.html/index.html</code>. +</p> + +<hr> + +<h3><a name="s-aptitude"></a>7.1.3 aptitude</h3> + +<p> +<code>aptitude</code> is a package manager for Debian GNU/Linux systems that +provides a frontend to the apt package management infrastructure. +<code>aptitude</code> is a text-based interface using the curses library, it +can be used to perform management tasks in a fast and easy way. +</p> + +<p> +<code>aptitude</code> provides the functionality of <code>dselect</code> and +<code>apt-get</code>, as well as many additional features not found in either +program: +</p> +<ul> +<li> +<p> +<code>aptitude</code> offers access to all versions of a package. +</p> +</li> +</ul> +<ul> +<li> +<p> +<code>aptitude</code> logs all its actions in <code>/var/log/aptitude</code>. +</p> +</li> +</ul> +<ul> +<li> +<p> +<code>aptitude</code> makes it easy to keep track of obsolete software by +listing it under "Obsolete and Locally Created Packages". +</p> +</li> +</ul> +<ul> +<li> +<p> +<code>aptitude</code> includes a fairly powerful system for searching +particular packages and limiting the package display. Users familiar with +<code>mutt</code> will pick up quickly, as <code>mutt</code> was the +inspiration for the expression syntax. +</p> +</li> +</ul> +<ul> +<li> +<p> +<code>aptitude</code> tracks which packages have been installed due to +dependencies and removes them automatically when the packages that needed them +are removed from the system. +</p> +</li> +</ul> +<ul> +<li> +<p> +<code>aptitude</code> can automatically install <em>Recommended:</em> +packages[<a href="footnotes.en.html#f5" name="fr5">5</a>]. +</p> +</li> +</ul> +<ul> +<li> +<p> +<code>aptitude</code> in full screen mode has <code>su</code> functionality +embedded and can be run by a normal user. It will call <code>su</code> (and +ask for the root password, if any) when you really need administrative +privileges +</p> +</li> +</ul> + +<p> +You can use <code>aptitude</code> through a visual interface (simply run +<samp>aptitude</samp>) or directly from the command line. The command line +syntax used is very similar to the one used in <code>apt-get</code>. For +example, to install the <var>foo</var> package, you can run <samp>aptitude +install <var>foo</var></samp>. +</p> + +<p> +Note that <code>aptitude</code> is the recommended program by Debian to install +a package and/or to upgrade your system. +</p> + +<p> +For more informations, read the manual page <code>aptitude(8)</code> and +install the <code>aptitude-doc-en</code> package. +</p> + +<hr> + +<h3><a name="s-dselect"></a>7.1.4 dselect</h3> + +<p> +This program is a menu-driven interface to the Debian package management +system. It is particularly useful for first-time installations. Some users +might feel more comfortable using <code>aptitude</code> which is also +recommended over <code>dselect</code> for large-scale upgrades. For more +information on <code>aptitude</code> please see <a href="#s-aptitude">aptitude, +Section 7.1.3</a>. +</p> + +<p> +<code>dselect</code> can: +</p> +<ul> +<li> +<p> +guide the user as he/she chooses among packages to install or remove, ensuring +that no packages are installed that conflict with one another, and that all +packages required to make each package work properly are installed; +</p> +</li> +</ul> +<ul> +<li> +<p> +warn the user about inconsistencies or incompatibilities in their selections; +</p> +</li> +</ul> +<ul> +<li> +<p> +determine the order in which the packages must be installed; +</p> +</li> +</ul> +<ul> +<li> +<p> +automatically perform the installation or removal; and +</p> +</li> +</ul> +<ul> +<li> +<p> +guide the user through whatever configuration process are required for each +package. +</p> +</li> +</ul> + +<p> +<code>dselect</code> begins by presenting the user with a menu of 7 items, each +of which is a specific action. The user can select one of the actions by using +the arrow keys to move the highlighter bar, then pressing the +<em><enter></em> key to select the highlighted action. +</p> + +<p> +What the user sees next depends on the action he selected. If he selects any +option but <samp>Access</samp> or <samp>Select</samp>, then +<code>dselect</code> will simply proceed to execute the specified action: e.g., +if the user selected the action <samp>Remove</samp>, then dselect would proceed +to remove all of the files selected for removal when the user last chose the +<samp>Select</samp> action. +</p> + +<p> +Both the <samp>Access</samp> menu item and the <samp>Select</samp> menu item +lead to additional menus. In both cases, the menus are presented as split +screens; the top screen gives a scrollable list of choices, while the bottom +screen gives a brief explanation ("info") for each choice. +</p> + +<p> +Extensive on-line help is available, use the '?' key to get to a help screen +at any time. +</p> + +<p> +The order in which the actions are presented in the first <code>dselect</code> +menu represents the order in which a user would normally choose +<code>dselect</code> to install packages. However, a user can pick any of the +main menu choices as often as needed (including not at all, depending on what +one wants to do). +</p> +<ul> +<li> +<p> +Begin by choosing an <strong>Access Method</strong>. This is the method by +which the user plans on accessing Debian packages; e.g., some users have Debian +packages available on CD-ROM, while others plan to fetch them using anonymous +FTP. The selected "Access Method" is stored after +<code>dselect</code> exits, so if it does not change, then this option need not +be invoked again. +</p> +</li> +</ul> +<ul> +<li> +<p> +Then <strong>Update</strong> the list of available packages. To do this, +<code>dselect</code> reads the file "Packages.gz" which should be +included in the top level of the directory where the Debian packages to be +installed are stored. (But if it is not there, <code>dselect</code> will offer +to make it for you.) +</p> +</li> +</ul> +<ul> +<li> +<p> +<strong>Select</strong> specific packages for installation on his system. +After choosing this menu item, the user is first presented with a full screen +of help (unless the `--expert' command line option was used). Once the user +exits the Help screen, he sees the split-screen menu for choosing packages to +install (or remove). +</p> + +<p> +The top part of the screen is a relatively narrow window into the list of +Debian's 15400 packages; the bottom part of the screen contains description of +the package or group of packages which are highlighted above. +</p> + +<p> +One can specify which packages should be operated on by highlighting a package +name or the label for a group of packages. After that, you can select +packages: +</p> +<dl> +<dt>to be installed:</dt> +<dd> +<p> +This is accomplished by pressing the `+' key. +</p> +</dd> +</dl> +<dl> +<dt>to be deleted:</dt> +<dd> +<p> +Packages can be deleted two ways: +</p> +<ul> +<li> +<p> +removed: this removes most of the files associated with the package, but +preserves the files listed as configuration files (see <a +href="ch-pkg_basics.en.html#s-conffile">What is a Debian conffile?, Section +6.5</a>) and package configuration information. This is done by pressing the +`-' key. +</p> +</li> +</ul> +<ul> +<li> +<p> +purged: this removes <em>every</em> file that is part of the package. This is +done by pressing the `_' key. +</p> +</li> +</ul> + +<p> +Note that it's not possible to remove "All Packages". If you try +that, your system will instead be reduced to the initial installed base +packages. +</p> +</dd> +</dl> +<dl> +<dt>to be put "on hold"</dt> +<dd> +<p> +This is done by pressing `=', and it effectively tells <code>dselect</code> not +to upgrade a package even if the version currently installed on your system is +not as recent as the version that is available in the Debian repository you are +using (this was specified when you set the <strong>Access Method</strong>, and +acquired when you used <strong>Update</strong>). +</p> + +<p> +Just like you can put a package on hold, you can reverse such setting by +pressing `:'. That tells <code>dselect</code> that the package(s) may be +upgraded if a newer version is available. This is the default setting. +</p> +</dd> +</dl> + +<p> +You can select a different order in which the packages are presented, by using +the `o' key to cycle between various options for sorting the packages. The +default order is to present packages by Priority; within each priority, +packages are presented in order of the directory (a.k.a. section) of the +archive in which they are stored. Given this sort order, some packages in +section A (say) may be presented first, followed by some packages in section B, +followed by more packages (of lower priority) in section A. +</p> + +<p> +You can also expand meanings of the labels at the top of the screen, by using +the `v' (verbose) key. This action pushes much of the text that formerly fit +onto the display off to the right. To see it, press the right arrow; to scroll +back to the left, press the left arrow. +</p> + +<p> +If you select a package for installation or removal, e.g., +<code>foo.deb</code>, and that package depends on (or recommends) another +package, e.g., <code>blurf.deb</code>, then <code>dselect</code> will place the +you in a sub-screen of the main selection screen. There you can choose among +the related packages, accepting the suggested actions (to install or not), or +rejecting them. To do the latter, press Shift-D; to return to the former, +press Shift-U. In any case, you can save your selections and return to the +main selection screen by pressing Shift-Q. +</p> +</li> +</ul> +<ul> +<li> +<p> +Users returning to the main menu can then select the "Install" menu +item to unpack and configure the selected packages. Alternatively, users +wishing to remove files can choose the "Remove" menu item. At any +point, users can choose "Quit" to exit dselect; users' selections are +preserved by <code>dselect</code>. +</p> +</li> +</ul> + +<hr> + +<h3><a name="s-dpkg-extra"></a>7.1.5 Other package management tools</h3> + +<hr> + +<h4><a name="s-dpkg-deb"></a>7.1.5.1 dpkg-deb</h4> + +<p> +This program manipulates Debian archive(<samp>.deb</samp>) files. Some common +uses are: +</p> +<ul> +<li> +<p> +Find out all the options: <samp>dpkg-deb --help</samp>. +</p> +</li> +</ul> +<ul> +<li> +<p> +Determine what files are contained in a Debian archive file: <samp>dpkg-deb +--contents foo_VVV-RRR.deb</samp>) +</p> +</li> +</ul> +<ul> +<li> +<p> +Extract the files contained in a named Debian archive into a user specified +directory: <samp>dpkg-deb --extract foo_VVV-RRR.deb tmp</samp> extracts each of +the files in <samp>foo_VVV-RRR.deb</samp> into the directory <samp>tmp/</samp>. +This is convenient for examining the contents of a package in a localized +directory, without installing the package into the root file system. +</p> +</li> +</ul> + +<p> +Note that any packages that were merely unpacked using <samp>dpkg-deb +--extract</samp> will be incorrectly installed, you should use <samp>dpkg +--install</samp> instead. +</p> + +<p> +More information is given in the manual page <code>dpkg-deb(1)</code>. +</p> + +<hr> + +<h4><a name="s-dpkg-split"></a>7.1.5.2 dpkg-split</h4> + +<p> +This program splits large package into smaller files (e.g., for writing onto a +set of floppy disks), and can also be used to merge a set of split files back +into a single file. It can only be used on a Debian system (i.e. a system +containing the <code>dpkg</code> package), since it calls the program +<samp>dpkg-deb</samp> to parse the debian package file into its component +records. +</p> + +<p> +For example, to split a big .deb file into N parts, +</p> +<ul> +<li> +<p> +Execute the command <samp>dpkg-split --split foo.deb</samp>. This will produce +N files each of approximately 460 KBytes long in the current directory. +</p> +</li> +</ul> +<ul> +<li> +<p> +Copy those N files to floppy disks. +</p> +</li> +</ul> +<ul> +<li> +<p> +Copy the contents of the floppy disks onto the hard disk of your choice on the +other machine. +</p> +</li> +</ul> +<ul> +<li> +<p> +Join those part-files together using <samp>dpkg-split --join +"foo*"</samp>. +</p> +</li> +</ul> + +<hr> + +<h2><a name="s-updaterunning"></a>7.2 Debian claims to be able to update a running program; how is this accomplished?</h2> + +<p> +The kernel (file system) in Debian GNU/Linux systems supports replacing files +even while they're being used. +</p> + +<p> +We also provide a program called <code>start-stop-daemon</code> which is used +to start daemons at boot time or to stop daemons when the kernel runlevel is +changed (e.g., from multi-user to single-user or to halt). The same program is +used by installation scripts when a new package containing a daemon is +installed, to stop running daemons, and restart them as necessary. +</p> + +<hr> + +<h2><a name="s-whatpackages"></a>7.3 How can I tell what packages are already installed on a Debian system?</h2> + +<p> +To learn the status of all the packages installed on a Debian system, execute +the command +</p> + +<pre> + dpkg --list +</pre> + +<p> +This prints out a one-line summary for each package, giving a 2-letter status +symbol (explained in the header), the package name, the version which is +<em>installed</em>, and a brief description. +</p> + +<p> +To learn the status of packages whose names match the string any pattern +beginning with "foo" by executing the command: +</p> + +<pre> + dpkg --list 'foo*' +</pre> + +<p> +To get a more verbose report for a particular package, execute the command: +</p> + +<pre> + dpkg --status packagename +</pre> + +<hr> + +<h2><a name="s-filesearch"></a>7.4 How can I find out what package produced a particular file?</h2> + +<p> +To identify the package that produced the file named <samp>foo</samp> execute +either: +</p> +<ul> +<li> +<p> +<samp>dpkg --search filename</samp> +</p> + +<p> +This searches for <samp>filename</samp> in installed packages. (This is +(currently) equivalent to searching all of the files having the file extension +of <samp>.list</samp> in the directory <samp>/var/lib/dpkg/info/</samp>, and +adjusting the output to print the names of all the packages containing it, and +diversions.) +</p> + +<p> +A faster alternative to this is the <code>dlocate</code> tool. +</p> +</li> +</ul> +<ul> +<li> +<p> +<samp>zgrep foo Contents-ARCH.gz</samp> +</p> + +<p> +This searches for files which contain the substring <samp>foo</samp> in their +full path names. The files <samp>Contents-ARCH.gz</samp> (where ARCH +represents the wanted architecture) reside in the major package directories +(main, non-free, contrib) at a Debian FTP site (i.e. under +<samp>/debian/dists/sarge</samp>). A <samp>Contents</samp> file refers only to +the packages in the subdirectory tree where it resides. Therefore, a user +might have to search more than one <samp>Contents</samp> files to find the +package containing the file <samp>foo</samp>. +</p> + +<p> +This method has the advantage over <samp>dpkg --search</samp> in that it will +find files in packages that are not currently installed on your system. +</p> +</li> +</ul> +<ul> +<li> +<p> +<samp>apt-file search <var>foo</var></samp> +</p> + +<p> +Similar to the above, it searches files which contain the substring or regular +expression <samp>foo</samp> in their full path names. The advantage over the +sample above is that there is no need to retrieve the +<samp>Contents-ARCH.gz</samp> files as it will do this automatically for all +the sources defined in <code>/etc/apt/sources.list</code> when you run (as +root) <samp>apt-file update</samp>. +</p> +</li> +</ul> + +<hr> + +<h2><a name="s-datapackages"></a>7.5 Why doesn't get `foo-data' removed when I uninstall `foo'? How do I make sure old unused library-packages get purged?</h2> + +<p> +Some packages that are split in program (`foo') and data (`foo-data'). This is +true for many games, multimedia applications and dictionaries in Debian and has +been introduced since some users might want to access the raw data without +installing the program or because the program can be run without the data +itself, making it optional. +</p> + +<p> +Similar situations occur when dealing with libraries: generally these get +installed since packages containing applications depend on them. When the +application-package is purged, the library-package might stay on the system. +Or: when the application-package no longer depends upon e.g. libdb4.2, but +upon libdb4.3, the libdb4.2 package might stay when the application-package is +upgraded. +</p> + +<p> +In these cases, `foo-data' doesn't depend on `foo', so when you remove the +`foo' package it will not get automatically removed by most package management +tools. The same holds true for the library packages. This is necessary to +avoid circular dependencies. If you use <code>aptitude</code> (see <a +href="#s-aptitude">aptitude, Section 7.1.3</a>) as your package management tool +it will, however, track automatically installed packages and remove them when +no packages remain that need them in your system. +</p> + +<hr> + +<p> +[ <a href="ch-pkg_basics.en.html">previous</a> ] +[ <a href="index.en.html#contents">Contents</a> ] +[ <a href="ch-basic_defs.en.html">1</a> ] +[ <a href="ch-getting.en.html">2</a> ] +[ <a href="ch-compat.en.html">3</a> ] +[ <a href="ch-software.en.html">4</a> ] +[ <a href="ch-ftparchives.en.html">5</a> ] +[ <a href="ch-pkg_basics.en.html">6</a> ] +[ 7 ] +[ <a href="ch-uptodate.en.html">8</a> ] +[ <a href="ch-kernel.en.html">9</a> ] +[ <a href="ch-customizing.en.html">10</a> ] +[ <a href="ch-support.en.html">11</a> ] +[ <a href="ch-contributing.en.html">12</a> ] +[ <a href="ch-redistrib.en.html">13</a> ] +[ <a href="ch-nexttime.en.html">14</a> ] +[ <a href="ch-faqinfo.en.html">15</a> ] +[ <a href="ch-uptodate.en.html">next</a> ] +</p> + +<hr> + +<p> +The Debian GNU/Linux FAQ +</p> + +<address> +version 3.1.3, 25 April 2006<br> +<br> +Authors are listed at <a href="ch-faqinfo.en.html#s-authors">Debian FAQ Authors</a><br> +<br> +</address> +<hr> + +</body> + +</html> + |