1 # SOME DESCRIPTIVE TITLE
2 # Copyright (C) YEAR Free Software Foundation, Inc.
3 # This file is distributed under the same license as the apt-doc package.
4 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
9 "Project-Id-Version: apt-doc 0.9.5.1\n"
10 "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
11 "POT-Creation-Date: 2012-06-06 23:46+0300\n"
12 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14 "Language-Team: LANGUAGE <LL@li.org>\n"
17 "Content-Type: text/plain; charset=UTF-8\n"
18 "Content-Transfer-Encoding: 8bit\n"
24 "<!ENTITY apt-author.team \"\n"
26 " <othername>APT team</othername>\n"
27 " <contrib></contrib>\n"
36 "<!ENTITY apt-qapage \"\n"
38 "\t\t<ulink url='http://packages.qa.debian.org/a/apt.html'>QA Page</ulink>\n"
47 "<!-- Boiler plate Bug reporting section -->\n"
48 "<!ENTITY manbugs \"\n"
49 " <refsect1><title>Bugs</title>\n"
50 " <para><ulink url='http://bugs.debian.org/src:apt'>APT bug page</ulink>.\n"
51 " If you wish to report a bug in APT, please see\n"
52 " <filename>/usr/share/doc/debian/bug-reporting.txt</filename> or the\n"
53 " &reportbug; command.\n"
63 "<!-- Boiler plate Author section -->\n"
64 "<!ENTITY manauthor \"\n"
65 " <refsect1><title>Author</title>\n"
66 " <para>APT was written by the APT team "
67 "<email>apt@packages.debian.org</email>.\n"
77 "<!-- Should be used within the option section of the text to\n"
78 " put in the blurb about -h, -v, -c and -o -->\n"
79 "<!ENTITY apt-commonoptions \"\n"
80 " <varlistentry><term><option>-h</option></term>\n"
81 " <term><option>--help</option></term>\n"
82 " <listitem><para>Show a short usage summary.\n"
93 " <term><option>-v</option></term>\n"
94 " <term><option>--version</option></term>\n"
95 " <listitem><para>Show the program version.\n"
106 " <term><option>-c</option></term>\n"
107 " <term><option>--config-file</option></term>\n"
108 " <listitem><para>Configuration File; Specify a configuration file to "
110 " The program will read the default configuration file and then this \n"
111 " configuration file. If configuration settings need to be set before "
113 " default configuration files are parsed specify a file with the "
114 "<envar>APT_CONFIG</envar>\n"
115 " environment variable. See &apt-conf; for syntax information.\n"
126 " <term><option>-o</option></term>\n"
127 " <term><option>--option</option></term>\n"
128 " <listitem><para>Set a Configuration Option; This will set an "
130 " configuration option. The syntax is <option>-o "
131 "Foo::Bar=bar</option>.\n"
132 " <option>-o</option> and <option>--option</option> can be used "
134 " times to set different options.\n"
145 "<!-- Should be used within the option section of the text to\n"
146 " put in the blurb about -h, -v, -c and -o -->\n"
147 "<!ENTITY apt-cmdblurb \"\n"
148 " <para>All command line options may be set using the configuration file, "
150 " descriptions indicate the configuration option to set. For boolean\n"
151 " options you can override the config file by using something like \n"
152 " <option>-f-</option>,<option>--no-f</option>, <option>-f=no</option>\n"
153 " or several other variations.\n"
162 "<!ENTITY file-aptconf \"\n"
163 " <varlistentry><term><filename>/etc/apt/apt.conf</filename></term>\n"
164 " <listitem><para>APT configuration file.\n"
165 " Configuration Item: "
166 "<literal>Dir::Etc::Main</literal>.</para></listitem>\n"
174 " <varlistentry><term><filename>/etc/apt/apt.conf.d/</filename></term>\n"
175 " <listitem><para>APT configuration file fragments.\n"
176 " Configuration Item: "
177 "<literal>Dir::Etc::Parts</literal>.</para></listitem>\n"
186 "<!ENTITY file-cachearchives \"\n"
187 " <varlistentry><term><filename>&cachedir;/archives/</filename></term>\n"
188 " <listitem><para>Storage area for retrieved package files.\n"
189 " Configuration Item: "
190 "<literal>Dir::Cache::Archives</literal>.</para></listitem>\n"
199 "<varlistentry><term><filename>&cachedir;/archives/partial/</filename></term>\n"
200 " <listitem><para>Storage area for package files in transit.\n"
201 " Configuration Item: <literal>Dir::Cache::Archives</literal> "
202 "(<filename>partial</filename> will be implicitly "
203 "appended)</para></listitem>\n"
212 "<!ENTITY file-preferences \"\n"
213 " <varlistentry><term><filename>/etc/apt/preferences</filename></term>\n"
214 " <listitem><para>Version preferences file.\n"
215 " This is where you would specify "pinning",\n"
216 " i.e. a preference to get certain packages\n"
217 " from a separate source\n"
218 " or from a different version of a distribution.\n"
219 " Configuration Item: "
220 "<literal>Dir::Etc::Preferences</literal>.</para></listitem>\n"
229 "<varlistentry><term><filename>/etc/apt/preferences.d/</filename></term>\n"
230 " <listitem><para>File fragments for the version preferences.\n"
231 " Configuration Item: "
232 "<literal>Dir::Etc::PreferencesParts</literal>.</para></listitem>\n"
241 "<!ENTITY file-sourceslist \"\n"
242 " <varlistentry><term><filename>/etc/apt/sources.list</filename></term>\n"
243 " <listitem><para>Locations to fetch packages from.\n"
244 " Configuration Item: "
245 "<literal>Dir::Etc::SourceList</literal>.</para></listitem>\n"
254 "<varlistentry><term><filename>/etc/apt/sources.list.d/</filename></term>\n"
255 " <listitem><para>File fragments for locations to fetch packages from.\n"
256 " Configuration Item: "
257 "<literal>Dir::Etc::SourceParts</literal>.</para></listitem>\n"
266 "<!ENTITY file-statelists \"\n"
267 " <varlistentry><term><filename>&statedir;/lists/</filename></term>\n"
268 " <listitem><para>Storage area for state information for each package "
269 "resource specified in\n"
271 " Configuration Item: "
272 "<literal>Dir::State::Lists</literal>.</para></listitem>\n"
281 "<varlistentry><term><filename>&statedir;/lists/partial/</filename></term>\n"
282 " <listitem><para>Storage area for state information in transit.\n"
283 " Configuration Item: <literal>Dir::State::Lists</literal> "
284 "(<filename>partial</filename> will be implicitly "
285 "appended)</para></listitem>\n"
294 "<!ENTITY file-trustedgpg \"\n"
295 " <varlistentry><term><filename>/etc/apt/trusted.gpg</filename></term>\n"
296 " <listitem><para>Keyring of local trusted keys, new keys will be added "
298 " Configuration Item: "
299 "<literal>Dir::Etc::Trusted</literal>.</para></listitem>\n"
308 "<varlistentry><term><filename>/etc/apt/trusted.gpg.d/</filename></term>\n"
309 " <listitem><para>File fragments for the trusted keys, additional "
311 " be stored here (by other packages or the administrator).\n"
312 " Configuration Item "
313 "<literal>Dir::Etc::TrustedParts</literal>.</para></listitem>\n"
322 "<!ENTITY file-extended_states \"\n"
324 "<varlistentry><term><filename>/var/lib/apt/extended_states</filename></term>\n"
325 " <listitem><para>Status list of auto-installed packages.\n"
326 " Configuration Item: <literal>Dir::State::extended_states</literal>.\n"
327 " </para></listitem>\n"
336 "<!-- TRANSLATOR: This is the section header for the following paragraphs - "
338 " to the other headers like NAME and DESCRIPTION and should therefore be "
340 "<!ENTITY translation-title \"TRANSLATION\">\n"
347 "<!-- TRANSLATOR: This is a placeholder. You should write here who has "
349 " to the translation in the past, who is responsible now and maybe "
350 "further information\n"
351 " specially related to your translation. -->\n"
352 "<!ENTITY translation-holder \"\n"
353 " The english translation was done by John Doe "
354 "<email>john@doe.org</email> in 2009,\n"
355 " 2010 and Daniela Acme <email>daniela@acme.us</email> in 2010 together "
357 " Debian Dummy l10n Team "
358 "<email>debian-l10n-dummy@lists.debian.org</email>.\n"
366 "<!-- TRANSLATOR: As a translation is allowed to have 20% of "
367 "untranslated/fuzzy strings\n"
368 " in a shipped manpage newer/modified paragraphs will maybe appear in "
370 " the generated manpage. This sentence is therefore here to tell the "
372 " is not a mistake by the translator - obviously the target is that at "
374 " releases this sentence is not needed. :) -->\n"
375 "<!ENTITY translation-english \"\n"
376 " Note that this translated document may contain untranslated parts.\n"
377 " This is done on purpose, to avoid losing content when the\n"
378 " translation is lagging behind the original content.\n"
385 "<!-- TRANSLATOR: used as in -o=config_string "
386 "e.g. -o=Debug::pkgProblemResolver=1 --> <!ENTITY synopsis-config-string "
393 "<!-- TRANSLATOR: used as in -c=config_file e.g. -c=./apt.conf --> <!ENTITY "
394 "synopsis-config-file \"config_file\">"
400 "<!-- TRANSLATOR: used as in -t=target_release or pkg/target_release "
401 "e.g. -t=squeeze apt/experimental --> <!ENTITY synopsis-target-release "
402 "\"target_release\">"
408 "<!-- TRANSLATOR: used as in -a=architecture e.g. -a=armel --> <!ENTITY "
409 "synopsis-architecture \"architecture\">"
415 "<!-- TRANSLATOR: used as in apt-get install pkg e.g. apt-get install awesome "
416 "--> <!ENTITY synopsis-pkg \"pkg\">"
422 "<!-- TRANSLATOR: used as in pkg=pkg_version_number e.g. apt=0.8.15 --> "
423 "<!ENTITY synopsis-pkg-ver-number \"pkg_version_number\">"
429 "<!-- TRANSLATOR: used as in apt-cache pkgnames prefix e.g. apt-cache "
430 "pkgnames apt --> <!ENTITY synopsis-prefix \"prefix\">"
436 "<!-- TRANSLATOR: used as in apt-cache search regex e.g. apt-cache search "
437 "awesome --> <!ENTITY synopsis-regex \"regex\">"
443 "<!-- TRANSLATOR: used as in apt-cdrom -d=cdrom_mount_point e.g. apt-cdrom "
444 "-d=/media/cdrom --> <!ENTITY synopsis-cdrom-mount \"cdrom_mount_point\">"
450 "<!-- TRANSLATOR: used as in apt-extracttemplates -t=temporary_directory "
451 "e.g. apt-extracttemplates -t=/tmp --> <!ENTITY synopsis-tmp-directory "
452 "\"temporary_directory\">"
458 "<!-- TRANSLATOR: used as in apt-extracttemplates filename --> <!ENTITY "
459 "synopsis-filename \"filename\">"
465 "<!-- TRANSLATOR: used as parameter for apt-ftparchive e.g. apt-ftparchive "
466 "packages path override-file pathprefix --> <!ENTITY synopsis-path \"path\">"
472 "<!-- TRANSLATOR: used as parameter for apt-ftparchive e.g. apt-ftparchive "
473 "packages path override-file pathprefix --> <!ENTITY synopsis-override "
480 "<!-- TRANSLATOR: used as parameter for apt-ftparchive e.g. apt-ftparchive "
481 "packages path override-file pathprefix --> <!ENTITY synopsis-pathprefix "
488 "<!-- TRANSLATOR: used as parameter for apt-ftparchive e.g. apt-ftparchive "
489 "generate section --> <!ENTITY synopsis-section \"section\">"
495 "<!-- TRANSLATOR: used as in apt-key export keyid e.g. apt-key export "
496 "473041FA --> <!ENTITY synopsis-keyid \"keyid\">"
499 #. type: Content of: <refentry><refmeta><manvolnum>
500 #: apt-get.8.xml:26 apt-cache.8.xml:26 apt-key.8.xml:25 apt-mark.8.xml:26 apt-secure.8.xml:25 apt-cdrom.8.xml:25 apt-config.8.xml:26
504 #. type: Content of: <refentry><refmeta><refmiscinfo>
505 #: apt-get.8.xml:27 apt-cache.8.xml:27 apt-key.8.xml:26 apt-mark.8.xml:27 apt-secure.8.xml:26 apt-cdrom.8.xml:26 apt-config.8.xml:27 apt.conf.5.xml:32 apt_preferences.5.xml:26 sources.list.5.xml:27 apt-extracttemplates.1.xml:27 apt-sortpkgs.1.xml:27 apt-ftparchive.1.xml:27
509 #. type: Content of: <refentry><refnamediv><refpurpose>
511 msgid "APT package handling utility -- command-line interface"
514 #. type: Content of: <refentry><refsect1><title>
515 #: apt-get.8.xml:38 apt-cache.8.xml:38 apt-key.8.xml:37 apt-mark.8.xml:38 apt-secure.8.xml:50 apt-cdrom.8.xml:37 apt-config.8.xml:38 apt.conf.5.xml:41 apt_preferences.5.xml:36 sources.list.5.xml:36 apt-extracttemplates.1.xml:38 apt-sortpkgs.1.xml:38 apt-ftparchive.1.xml:38
519 #. type: Content of: <refentry><refsect1><para>
522 "<command>apt-get</command> is the command-line tool for handling packages, "
523 "and may be considered the user's \"back-end\" to other tools using the APT "
524 "library. Several \"front-end\" interfaces exist, such as &dselect;, "
525 "&aptitude;, &synaptic; and &wajig;."
528 #. type: Content of: <refentry><refsect1><para>
529 #: apt-get.8.xml:44 apt-cache.8.xml:44 apt-cdrom.8.xml:51 apt-config.8.xml:44 apt-ftparchive.1.xml:54
531 "Unless the <option>-h</option>, or <option>--help</option> option is given, "
532 "one of the commands below must be present."
535 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
538 "<literal>update</literal> is used to resynchronize the package index files "
539 "from their sources. The indexes of available packages are fetched from the "
540 "location(s) specified in <filename>/etc/apt/sources.list</filename>. For "
541 "example, when using a Debian archive, this command retrieves and scans the "
542 "<filename>Packages.gz</filename> files, so that information about new and "
543 "updated packages is available. An <literal>update</literal> should always be "
544 "performed before an <literal>upgrade</literal> or "
545 "<literal>dist-upgrade</literal>. Please be aware that the overall progress "
546 "meter will be incorrect as the size of the package files cannot be known in "
550 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
553 "<literal>upgrade</literal> is used to install the newest versions of all "
554 "packages currently installed on the system from the sources enumerated in "
555 "<filename>/etc/apt/sources.list</filename>. Packages currently installed "
556 "with new versions available are retrieved and upgraded; under no "
557 "circumstances are currently installed packages removed, or packages not "
558 "already installed retrieved and installed. New versions of currently "
559 "installed packages that cannot be upgraded without changing the install "
560 "status of another package will be left at their current version. An "
561 "<literal>update</literal> must be performed first so that "
562 "<command>apt-get</command> knows that new versions of packages are "
566 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
569 "<literal>dist-upgrade</literal> in addition to performing the function of "
570 "<literal>upgrade</literal>, also intelligently handles changing dependencies "
571 "with new versions of packages; <command>apt-get</command> has a \"smart\" "
572 "conflict resolution system, and it will attempt to upgrade the most "
573 "important packages at the expense of less important ones if necessary. The "
574 "<literal>dist-upgrade</literal> command may therefore remove some packages. "
575 "The <filename>/etc/apt/sources.list</filename> file contains a list of "
576 "locations from which to retrieve desired package files. See also "
577 "&apt-preferences; for a mechanism for overriding the general settings for "
578 "individual packages."
581 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
584 "<literal>dselect-upgrade</literal> is used in conjunction with the "
585 "traditional Debian packaging front-end, "
586 "&dselect;. <literal>dselect-upgrade</literal> follows the changes made by "
587 "&dselect; to the <literal>Status</literal> field of available packages, and "
588 "performs the actions necessary to realize that state (for instance, the "
589 "removal of old and the installation of new packages)."
592 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
595 "<literal>install</literal> is followed by one or more packages desired for "
596 "installation or upgrading. Each package is a package name, not a fully "
597 "qualified filename (for instance, in a Debian system, "
598 "<package>apt-utils</package> would be the argument provided, not "
599 "<filename>apt-utils_&apt-product-version;_amd64.deb</filename>). All "
600 "packages required by the package(s) specified for installation will also be "
601 "retrieved and installed. The <filename>/etc/apt/sources.list</filename> "
602 "file is used to locate the desired packages. If a hyphen is appended to the "
603 "package name (with no intervening space), the identified package will be "
604 "removed if it is installed. Similarly a plus sign can be used to designate "
605 "a package to install. These latter features may be used to override "
606 "decisions made by apt-get's conflict resolution system."
609 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
612 "A specific version of a package can be selected for installation by "
613 "following the package name with an equals and the version of the package to "
614 "select. This will cause that version to be located and selected for "
615 "install. Alternatively a specific distribution can be selected by following "
616 "the package name with a slash and the version of the distribution or the "
617 "Archive name (stable, testing, unstable)."
620 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
623 "Both of the version selection mechanisms can downgrade packages and must be "
627 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
630 "This is also the target to use if you want to upgrade one or more "
631 "already-installed packages without upgrading every package you have on your "
632 "system. Unlike the \"upgrade\" target, which installs the newest version of "
633 "all currently installed packages, \"install\" will install the newest "
634 "version of only the package(s) specified. Simply provide the name of the "
635 "package(s) you wish to upgrade, and if a newer version is available, it (and "
636 "its dependencies, as described above) will be downloaded and installed."
639 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
642 "Finally, the &apt-preferences; mechanism allows you to create an alternative "
643 "installation policy for individual packages."
646 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
649 "If no package matches the given expression and the expression contains one "
650 "of '.', '?' or '*' then it is assumed to be a POSIX regular expression, and "
651 "it is applied to all package names in the database. Any matches are then "
652 "installed (or removed). Note that matching is done by substring so 'lo.*' "
653 "matches 'how-lo' and 'lowest'. If this is undesired, anchor the regular "
654 "expression with a '^' or '$' character, or create a more specific regular "
658 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
661 "<literal>remove</literal> is identical to <literal>install</literal> except "
662 "that packages are removed instead of installed. Note that removing a package "
663 "leaves its configuration files on the system. If a plus sign is appended to "
664 "the package name (with no intervening space), the identified package will be "
665 "installed instead of removed."
668 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
671 "<literal>purge</literal> is identical to <literal>remove</literal> except "
672 "that packages are removed and purged (any configuration files are deleted "
676 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
679 "<literal>source</literal> causes <command>apt-get</command> to fetch source "
680 "packages. APT will examine the available packages to decide which source "
681 "package to fetch. It will then find and download into the current directory "
682 "the newest available version of that source package while respecting the "
683 "default release, set with the option "
684 "<literal>APT::Default-Release</literal>, the <option>-t</option> option or "
685 "per package with the <literal>pkg/release</literal> syntax, if possible."
688 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
691 "Source packages are tracked separately from binary packages via "
692 "<literal>deb-src</literal> lines in the &sources-list; file. This means that "
693 "you will need to add such a line for each repository you want to get sources "
694 "from; otherwise you will probably get either the wrong (too old/too new) "
695 "source versions or none at all."
698 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
701 "If the <option>--compile</option> option is specified then the package will "
702 "be compiled to a binary .deb using <command>dpkg-buildpackage</command> for "
703 "the architecture as defined by the <command>--host-architecture</command> "
704 "option. If <option>--download-only</option> is specified then the source "
705 "package will not be unpacked."
708 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
711 "A specific source version can be retrieved by postfixing the source name "
712 "with an equals and then the version to fetch, similar to the mechanism used "
713 "for the package files. This enables exact matching of the source package "
714 "name and version, implicitly enabling the "
715 "<literal>APT::Get::Only-Source</literal> option."
718 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
721 "Note that source packages are not installed and tracked in the "
722 "<command>dpkg</command> database like binary packages; they are simply "
723 "downloaded to the current directory, like source tarballs."
726 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
729 "<literal>build-dep</literal> causes apt-get to install/remove packages in an "
730 "attempt to satisfy the build dependencies for a source package. By default "
731 "the dependencies are satisfied to build the package natively. If desired a "
732 "host-architecture can be specified with the "
733 "<option>--host-architecture</option> option instead."
736 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
739 "<literal>check</literal> is a diagnostic tool; it updates the package cache "
740 "and checks for broken dependencies."
743 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
746 "<literal>download</literal> will download the given binary package into the "
750 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
753 "<literal>clean</literal> clears out the local repository of retrieved "
754 "package files. It removes everything but the lock file from "
755 "<filename>&cachedir;/archives/</filename> and "
756 "<filename>&cachedir;/archives/partial/</filename>. When APT is used as a "
757 "&dselect; method, <literal>clean</literal> is run automatically. Those who "
758 "do not use dselect will likely want to run <literal>apt-get clean</literal> "
759 "from time to time to free up disk space."
762 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
765 "Like <literal>clean</literal>, <literal>autoclean</literal> clears out the "
766 "local repository of retrieved package files. The difference is that it only "
767 "removes package files that can no longer be downloaded, and are largely "
768 "useless. This allows a cache to be maintained over a long period without it "
769 "growing out of control. The configuration option "
770 "<literal>APT::Clean-Installed</literal> will prevent installed packages from "
771 "being erased if it is set to off."
774 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
777 "<literal>autoremove</literal> is used to remove packages that were "
778 "automatically installed to satisfy dependencies for other packages and are "
779 "now no longer needed."
782 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
785 "<literal>changelog</literal> downloads a package changelog and displays it "
786 "through <command>sensible-pager</command>. The server name and base "
787 "directory is defined in the <literal>APT::Changelogs::Server</literal> "
788 "variable (e.g. <ulink "
789 "url=\"http://packages.debian.org/changelogs\">packages.debian.org/changelogs</ulink> "
790 "for Debian or <ulink "
791 "url=\"http://changelogs.ubuntu.com/changelogs\">changelogs.ubuntu.com/changelogs</ulink> "
792 "for Ubuntu). By default it displays the changelog for the version that is "
793 "installed. However, you can specify the same options as for the "
794 "<option>install</option> command."
797 #. type: Content of: <refentry><refsect1><title>
798 #: apt-get.8.xml:258 apt-cache.8.xml:248 apt-mark.8.xml:108 apt-config.8.xml:84 apt-extracttemplates.1.xml:52 apt-sortpkgs.1.xml:48 apt-ftparchive.1.xml:504
802 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
805 "Do not consider recommended packages as a dependency for installing. "
806 "Configuration Item: <literal>APT::Install-Recommends</literal>."
809 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
812 "Consider suggested packages as a dependency for installing. Configuration "
813 "Item: <literal>APT::Install-Suggests</literal>."
816 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
819 "Download only; package files are only retrieved, not unpacked or installed. "
820 "Configuration Item: <literal>APT::Get::Download-Only</literal>."
823 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
826 "Fix; attempt to correct a system with broken dependencies in place. This "
827 "option, when used with install/remove, can omit any packages to permit APT "
828 "to deduce a likely solution. If packages are specified, these have to "
829 "completely correct the problem. The option is sometimes necessary when "
830 "running APT for the first time; APT itself does not allow broken package "
831 "dependencies to exist on a system. It is possible that a system's dependency "
832 "structure can be so corrupt as to require manual intervention (which usually "
833 "means using &dselect; or <command>dpkg --remove</command> to eliminate some "
834 "of the offending packages). Use of this option together with "
835 "<option>-m</option> may produce an error in some situations. Configuration "
836 "Item: <literal>APT::Get::Fix-Broken</literal>."
839 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
842 "Ignore missing packages; if packages cannot be retrieved or fail the "
843 "integrity check after retrieval (corrupted package files), hold back those "
844 "packages and handle the result. Use of this option together with "
845 "<option>-f</option> may produce an error in some situations. If a package is "
846 "selected for installation (particularly if it is mentioned on the command "
847 "line) and it could not be downloaded then it will be silently held back. "
848 "Configuration Item: <literal>APT::Get::Fix-Missing</literal>."
851 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
854 "Disables downloading of packages. This is best used with "
855 "<option>--ignore-missing</option> to force APT to use only the .debs it has "
856 "already downloaded. Configuration Item: "
857 "<literal>APT::Get::Download</literal>."
860 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
863 "Quiet; produces output suitable for logging, omitting progress indicators. "
864 "More q's will produce more quiet up to a maximum of 2. You can also use "
865 "<option>-q=#</option> to set the quiet level, overriding the configuration "
866 "file. Note that quiet level 2 implies <option>-y</option>; you should never "
867 "use -qq without a no-action modifier such as -d, --print-uris or -s as APT "
868 "may decide to do something you did not expect. Configuration Item: "
869 "<literal>quiet</literal>."
872 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
875 "No action; perform a simulation of events that would occur but do not "
876 "actually change the system. Configuration Item: "
877 "<literal>APT::Get::Simulate</literal>."
880 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
883 "Simulated runs performed as a user will automatically deactivate locking "
884 "(<literal>Debug::NoLocking</literal>), and if the option "
885 "<literal>APT::Get::Show-User-Simulation-Note</literal> is set (as it is by "
886 "default) a notice will also be displayed indicating that this is only a "
887 "simulation. Runs performed as root do not trigger either NoLocking or the "
888 "notice - superusers should know what they are doing without further warnings "
889 "from <literal>apt-get</literal>."
892 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
895 "Simulated runs print out a series of lines, each representing a "
896 "<command>dpkg</command> operation: configure (<literal>Conf</literal>), "
897 "remove (<literal>Remv</literal>) or unpack "
898 "(<literal>Inst</literal>). Square brackets indicate broken packages, and "
899 "empty square brackets indicate breaks that are of no consequence (rare)."
902 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
905 "Automatic yes to prompts; assume \"yes\" as answer to all prompts and run "
906 "non-interactively. If an undesirable situation, such as changing a held "
907 "package, trying to install a unauthenticated package or removing an "
908 "essential package occurs then <literal>apt-get</literal> will abort. "
909 "Configuration Item: <literal>APT::Get::Assume-Yes</literal>."
912 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
915 "Automatic \"no\" to all prompts. Configuration Item: "
916 "<literal>APT::Get::Assume-No</literal>."
919 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
922 "Show upgraded packages; print out a list of all packages that are to be "
923 "upgraded. Configuration Item: <literal>APT::Get::Show-Upgraded</literal>."
926 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
929 "Show full versions for upgraded and installed packages. Configuration Item: "
930 "<literal>APT::Get::Show-Versions</literal>."
933 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
936 "This option controls the architecture packages are built for by "
937 "<command>apt-get source --compile</command> and how cross-builddependencies "
938 "are satisfied. By default is it not set which means that the host "
939 "architecture is the same as the build architecture (which is defined by "
940 "<literal>APT::Architecture</literal>). Configuration Item: "
941 "<literal>APT::Get::Host-Architecture</literal>"
944 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
947 "Compile source packages after downloading them. Configuration Item: "
948 "<literal>APT::Get::Compile</literal>."
951 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
954 "Ignore package holds; this causes <command>apt-get</command> to ignore a "
955 "hold placed on a package. This may be useful in conjunction with "
956 "<literal>dist-upgrade</literal> to override a large number of undesired "
957 "holds. Configuration Item: <literal>APT::Ignore-Hold</literal>."
960 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
963 "Do not upgrade packages; when used in conjunction with "
964 "<literal>install</literal>, <literal>no-upgrade</literal> will prevent "
965 "packages on the command line from being upgraded if they are already "
966 "installed. Configuration Item: <literal>APT::Get::Upgrade</literal>."
969 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
972 "Do not install new packages; when used in conjunction with "
973 "<literal>install</literal>, <literal>only-upgrade</literal> will install "
974 "upgrades for already installed packages only and ignore requests to install "
975 "new packages. Configuration Item: "
976 "<literal>APT::Get::Only-Upgrade</literal>."
979 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
982 "Force yes; this is a dangerous option that will cause apt to continue "
983 "without prompting if it is doing something potentially harmful. It should "
984 "not be used except in very special situations. Using "
985 "<literal>force-yes</literal> can potentially destroy your system! "
986 "Configuration Item: <literal>APT::Get::force-yes</literal>."
989 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
992 "Instead of fetching the files to install their URIs are printed. Each URI "
993 "will have the path, the destination file name, the size and the expected MD5 "
994 "hash. Note that the file name to write to will not always match the file "
995 "name on the remote site! This also works with the <literal>source</literal> "
996 "and <literal>update</literal> commands. When used with the "
997 "<literal>update</literal> command the MD5 and size are not included, and it "
998 "is up to the user to decompress any compressed files. Configuration Item: "
999 "<literal>APT::Get::Print-URIs</literal>."
1002 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1003 #: apt-get.8.xml:427
1005 "Use purge instead of remove for anything that would be removed. An asterisk "
1006 "(\"*\") will be displayed next to packages which are scheduled to be "
1007 "purged. <option>remove --purge</option> is equivalent to the "
1008 "<option>purge</option> command. Configuration Item: "
1009 "<literal>APT::Get::Purge</literal>."
1012 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1013 #: apt-get.8.xml:435
1015 "Re-install packages that are already installed and at the newest version. "
1016 "Configuration Item: <literal>APT::Get::ReInstall</literal>."
1019 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1020 #: apt-get.8.xml:440
1022 "This option is on by default; use <literal>--no-list-cleanup</literal> to "
1023 "turn it off. When it is on, <command>apt-get</command> will automatically "
1024 "manage the contents of <filename>&statedir;/lists</filename> to ensure that "
1025 "obsolete files are erased. The only reason to turn it off is if you "
1026 "frequently change your sources list. Configuration Item: "
1027 "<literal>APT::Get::List-Cleanup</literal>."
1030 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1031 #: apt-get.8.xml:450
1033 "This option controls the default input to the policy engine; it creates a "
1034 "default pin at priority 990 using the specified release string. This "
1035 "overrides the general settings in "
1036 "<filename>/etc/apt/preferences</filename>. Specifically pinned packages are "
1037 "not affected by the value of this option. In short, this option lets you "
1038 "have simple control over which distribution packages will be retrieved "
1039 "from. Some common examples might be <option>-t '2.1*'</option>, <option>-t "
1040 "unstable</option> or <option>-t sid</option>. Configuration Item: "
1041 "<literal>APT::Default-Release</literal>; see also the &apt-preferences; "
1045 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1046 #: apt-get.8.xml:465
1048 "Only perform operations that are 'trivial'. Logically this can be considered "
1049 "related to <option>--assume-yes</option>; where "
1050 "<option>--assume-yes</option> will answer yes to any prompt, "
1051 "<option>--trivial-only</option> will answer no. Configuration Item: "
1052 "<literal>APT::Get::Trivial-Only</literal>."
1055 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1056 #: apt-get.8.xml:472
1058 "If any packages are to be removed apt-get immediately aborts without "
1059 "prompting. Configuration Item: <literal>APT::Get::Remove</literal>."
1062 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1063 #: apt-get.8.xml:478
1065 "If the command is either <literal>install</literal> or "
1066 "<literal>remove</literal>, then this option acts like running the "
1067 "<literal>autoremove</literal> command, removing unused dependency "
1068 "packages. Configuration Item: <literal>APT::Get::AutomaticRemove</literal>."
1071 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1072 #: apt-get.8.xml:485
1074 "Only has meaning for the <literal>source</literal> and "
1075 "<literal>build-dep</literal> commands. Indicates that the given source "
1076 "names are not to be mapped through the binary table. This means that if "
1077 "this option is specified, these commands will only accept source package "
1078 "names as arguments, rather than accepting binary package names and looking "
1079 "up the corresponding source package. Configuration Item: "
1080 "<literal>APT::Get::Only-Source</literal>."
1083 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1084 #: apt-get.8.xml:496
1086 "Download only the diff, dsc, or tar file of a source archive. Configuration "
1087 "Item: <literal>APT::Get::Diff-Only</literal>, "
1088 "<literal>APT::Get::Dsc-Only</literal>, and "
1089 "<literal>APT::Get::Tar-Only</literal>."
1092 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1093 #: apt-get.8.xml:502
1095 "Only process architecture-dependent build-dependencies. Configuration Item: "
1096 "<literal>APT::Get::Arch-Only</literal>."
1099 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1100 #: apt-get.8.xml:507
1102 "Ignore if packages can't be authenticated and don't prompt about it. This "
1103 "is useful for tools like pbuilder. Configuration Item: "
1104 "<literal>APT::Get::AllowUnauthenticated</literal>."
1107 #. type: Content of: <refentry><refsect1><title>
1108 #: apt-get.8.xml:518 apt-cache.8.xml:343 apt-key.8.xml:174 apt-mark.8.xml:125 apt.conf.5.xml:1118 apt_preferences.5.xml:698
1112 #. type: Content of: <refentry><refsect1><title>
1113 #: apt-get.8.xml:528 apt-cache.8.xml:350 apt-key.8.xml:195 apt-mark.8.xml:131 apt-secure.8.xml:191 apt-cdrom.8.xml:144 apt-config.8.xml:109 apt.conf.5.xml:1124 apt_preferences.5.xml:705 sources.list.5.xml:252 apt-extracttemplates.1.xml:70 apt-sortpkgs.1.xml:63 apt-ftparchive.1.xml:607
1117 #. type: Content of: <refentry><refsect1><para>
1118 #: apt-get.8.xml:529
1120 "&apt-cache;, &apt-cdrom;, &dpkg;, &dselect;, &sources-list;, &apt-conf;, "
1121 "&apt-config;, &apt-secure;, The APT User's guide in &guidesdir;, "
1122 "&apt-preferences;, the APT Howto."
1125 #. type: Content of: <refentry><refsect1><title>
1126 #: apt-get.8.xml:534 apt-cache.8.xml:355 apt-mark.8.xml:135 apt-cdrom.8.xml:149 apt-config.8.xml:114 apt-extracttemplates.1.xml:74 apt-sortpkgs.1.xml:67 apt-ftparchive.1.xml:611
1130 #. type: Content of: <refentry><refsect1><para>
1131 #: apt-get.8.xml:535
1133 "<command>apt-get</command> returns zero on normal operation, decimal 100 on "
1137 #. type: Content of: <refentry><refnamediv><refpurpose>
1138 #: apt-cache.8.xml:33
1139 msgid "query the APT cache"
1142 #. type: Content of: <refentry><refsect1><para>
1143 #: apt-cache.8.xml:39
1145 "<command>apt-cache</command> performs a variety of operations on APT's "
1146 "package cache. <command>apt-cache</command> does not manipulate the state of "
1147 "the system but does provide operations to search and generate interesting "
1148 "output from the package metadata."
1151 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1152 #: apt-cache.8.xml:49
1154 "<literal>gencaches</literal> creates APT's package cache. This is done "
1155 "implicitly by all commands needing this cache if it is missing or outdated."
1158 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term><option><replaceable>
1159 #: apt-cache.8.xml:53 apt-cache.8.xml:142 apt-cache.8.xml:163 apt-cache.8.xml:185 apt-cache.8.xml:190 apt-cache.8.xml:206 apt-cache.8.xml:224 apt-cache.8.xml:236
1160 msgid "&synopsis-pkg;"
1163 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1164 #: apt-cache.8.xml:54
1166 "<literal>showpkg</literal> displays information about the packages listed on "
1167 "the command line. Remaining arguments are package names. The available "
1168 "versions and reverse dependencies of each package listed are listed, as well "
1169 "as forward dependencies for each version. Forward (normal) dependencies are "
1170 "those packages upon which the package in question depends; reverse "
1171 "dependencies are those packages that depend upon the package in "
1172 "question. Thus, forward dependencies must be satisfied for a package, but "
1173 "reverse dependencies need not be. For instance, <command>apt-cache showpkg "
1174 "libreadline2</command> would produce output similar to the following:"
1177 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><informalexample><programlisting>
1178 #: apt-cache.8.xml:66
1181 "Package: libreadline2\n"
1182 "Versions: 2.1-12(/var/state/apt/lists/foo_Packages),\n"
1183 "Reverse Depends: \n"
1184 " libreadlineg2,libreadline2\n"
1185 " libreadline2-altdev,libreadline2\n"
1187 "2.1-12 - libc5 (2 5.4.0-0) ncurses3.0 (0 (null))\n"
1190 "Reverse Provides: \n"
1193 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1194 #: apt-cache.8.xml:78
1196 "Thus it may be seen that libreadline2, version 2.1-12, depends on libc5 and "
1197 "ncurses3.0 which must be installed for libreadline2 to work. In turn, "
1198 "libreadlineg2 and libreadline2-altdev depend on libreadline2. If "
1199 "libreadline2 is installed, libc5 and ncurses3.0 (and ldso) must also be "
1200 "installed; libreadlineg2 and libreadline2-altdev do not have to be "
1201 "installed. For the specific meaning of the remainder of the output it is "
1202 "best to consult the apt source code."
1205 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1206 #: apt-cache.8.xml:87
1208 "<literal>stats</literal> displays some statistics about the cache. No "
1209 "further arguments are expected. Statistics reported are:"
1212 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para><itemizedlist><listitem><para>
1213 #: apt-cache.8.xml:90
1215 "<literal>Total package names</literal> is the number of package names found "
1219 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para><itemizedlist><listitem><para>
1220 #: apt-cache.8.xml:94
1222 "<literal>Normal packages</literal> is the number of regular, ordinary "
1223 "package names; these are packages that bear a one-to-one correspondence "
1224 "between their names and the names used by other packages for them in "
1225 "dependencies. The majority of packages fall into this category."
1228 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para><itemizedlist><listitem><para>
1229 #: apt-cache.8.xml:100
1231 "<literal>Pure virtual packages</literal> is the number of packages that "
1232 "exist only as a virtual package name; that is, packages only \"provide\" the "
1233 "virtual package name, and no package actually uses the name. For instance, "
1234 "\"mail-transport-agent\" in the Debian system is a pure virtual package; "
1235 "several packages provide \"mail-transport-agent\", but there is no package "
1236 "named \"mail-transport-agent\"."
1239 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para><itemizedlist><listitem><para>
1240 #: apt-cache.8.xml:108
1242 "<literal>Single virtual packages</literal> is the number of packages with "
1243 "only one package providing a particular virtual package. For example, in the "
1244 "Debian system, \"X11-text-viewer\" is a virtual package, but only one "
1245 "package, xless, provides \"X11-text-viewer\"."
1248 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para><itemizedlist><listitem><para>
1249 #: apt-cache.8.xml:114
1251 "<literal>Mixed virtual packages</literal> is the number of packages that "
1252 "either provide a particular virtual package or have the virtual package name "
1253 "as the package name. For instance, in the Debian system, \"debconf\" is both "
1254 "an actual package, and provided by the debconf-tiny package."
1257 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para><itemizedlist><listitem><para>
1258 #: apt-cache.8.xml:121
1260 "<literal>Missing</literal> is the number of package names that were "
1261 "referenced in a dependency but were not provided by any package. Missing "
1262 "packages may be an evidence if a full distribution is not accessed, or if a "
1263 "package (real or virtual) has been dropped from the distribution. Usually "
1264 "they are referenced from Conflicts or Breaks statements."
1267 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para><itemizedlist><listitem><para>
1268 #: apt-cache.8.xml:128
1270 "<literal>Total distinct</literal> versions is the number of package versions "
1271 "found in the cache; this value is therefore at least equal to the number of "
1272 "total package names. If more than one distribution is being accessed (for "
1273 "instance, \"stable\" and \"unstable\"), this value can be considerably "
1274 "larger than the number of total package names."
1277 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para><itemizedlist><listitem><para>
1278 #: apt-cache.8.xml:135
1280 "<literal>Total dependencies</literal> is the number of dependency "
1281 "relationships claimed by all of the packages in the cache."
1284 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1285 #: apt-cache.8.xml:143
1287 "<literal>showsrc</literal> displays all the source package records that "
1288 "match the given package names. All versions are shown, as well as all "
1289 "records that declare the name to be a binary package."
1292 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1293 #: apt-cache.8.xml:149
1295 "<literal>dump</literal> shows a short listing of every package in the "
1296 "cache. It is primarily for debugging."
1299 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1300 #: apt-cache.8.xml:154
1302 "<literal>dumpavail</literal> prints out an available list to stdout. This is "
1303 "suitable for use with &dpkg; and is used by the &dselect; method."
1306 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1307 #: apt-cache.8.xml:159
1309 "<literal>unmet</literal> displays a summary of all unmet dependencies in the "
1313 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1314 #: apt-cache.8.xml:164
1316 "<literal>show</literal> performs a function similar to <command>dpkg "
1317 "--print-avail</command>; it displays the package records for the named "
1321 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term><option><replaceable>
1322 #: apt-cache.8.xml:169
1323 msgid "&synopsis-regex;"
1326 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1327 #: apt-cache.8.xml:170
1329 "<literal>search</literal> performs a full text search on all available "
1330 "package lists for the POSIX regex pattern given, see ®ex;. It searches "
1331 "the package names and the descriptions for an occurrence of the regular "
1332 "expression and prints out the package name and the short description, "
1333 "including virtual package names. If <option>--full</option> is given then "
1334 "output identical to <literal>show</literal> is produced for each matched "
1335 "package, and if <option>--names-only</option> is given then the long "
1336 "description is not searched, only the package name is."
1339 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1340 #: apt-cache.8.xml:181
1342 "Separate arguments can be used to specify multiple search patterns that are "
1346 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1347 #: apt-cache.8.xml:186
1349 "<literal>depends</literal> shows a listing of each dependency a package has "
1350 "and all the possible other packages that can fulfill that dependency."
1353 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1354 #: apt-cache.8.xml:191
1356 "<literal>rdepends</literal> shows a listing of each reverse dependency a "
1360 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
1361 #: apt-cache.8.xml:195
1362 msgid "<optional><replaceable>&synopsis-prefix;</replaceable></optional>"
1365 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1366 #: apt-cache.8.xml:196
1368 "This command prints the name of each package APT knows. The optional "
1369 "argument is a prefix match to filter the name list. The output is suitable "
1370 "for use in a shell tab complete function and the output is generated "
1371 "extremely quickly. This command is best used with the "
1372 "<option>--generate</option> option."
1375 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1376 #: apt-cache.8.xml:201
1378 "Note that a package which APT knows of is not necessarily available to "
1379 "download, installable or installed, e.g. virtual packages are also listed in "
1380 "the generated list."
1383 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1384 #: apt-cache.8.xml:207
1386 "<literal>dotty</literal> takes a list of packages on the command line and "
1387 "generates output suitable for use by dotty from the <ulink "
1388 "url=\"http://www.research.att.com/sw/tools/graphviz/\">GraphViz</ulink> "
1389 "package. The result will be a set of nodes and edges representing the "
1390 "relationships between the packages. By default the given packages will trace "
1391 "out all dependent packages; this can produce a very large graph. To limit "
1392 "the output to only the packages listed on the command line, set the "
1393 "<literal>APT::Cache::GivenOnly</literal> option."
1396 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1397 #: apt-cache.8.xml:216
1399 "The resulting nodes will have several shapes; normal packages are boxes, "
1400 "pure virtual packages are triangles, mixed virtual packages are diamonds, "
1401 "missing packages are hexagons. Orange boxes mean recursion was stopped (leaf "
1402 "packages), blue lines are pre-depends, green lines are conflicts."
1405 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1406 #: apt-cache.8.xml:221
1407 msgid "Caution, dotty cannot graph larger sets of packages."
1410 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1411 #: apt-cache.8.xml:225
1413 "The same as <literal>dotty</literal>, only for xvcg from the <ulink "
1414 "url=\"http://rw4.cs.uni-sb.de/users/sander/html/gsvcg1.html\">VCG "
1418 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
1419 #: apt-cache.8.xml:229
1420 msgid "<optional><replaceable>&synopsis-pkg;</replaceable>…</optional>"
1423 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1424 #: apt-cache.8.xml:230
1426 "<literal>policy</literal> is meant to help debug issues relating to the "
1427 "preferences file. With no arguments it will print out the priorities of each "
1428 "source. Otherwise it prints out detailed information about the priority "
1429 "selection of the named package."
1432 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1433 #: apt-cache.8.xml:237
1435 "<literal>apt-cache</literal>'s <literal>madison</literal> command attempts "
1436 "to mimic the output format and a subset of the functionality of the Debian "
1437 "archive management tool, <literal>madison</literal>. It displays available "
1438 "versions of a package in a tabular format. Unlike the original "
1439 "<literal>madison</literal>, it can only display information for the "
1440 "architecture for which APT has retrieved package lists "
1441 "(<literal>APT::Architecture</literal>)."
1444 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1445 #: apt-cache.8.xml:253
1447 "Select the file to store the package cache. The package cache is the primary "
1448 "cache used by all operations. Configuration Item: "
1449 "<literal>Dir::Cache::pkgcache</literal>."
1452 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1453 #: apt-cache.8.xml:259
1455 "Select the file to store the source cache. The source is used only by "
1456 "<literal>gencaches</literal> and it stores a parsed version of the package "
1457 "information from remote sources. When building the package cache the source "
1458 "cache is used to avoid reparsing all of the package files. Configuration "
1459 "Item: <literal>Dir::Cache::srcpkgcache</literal>."
1462 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1463 #: apt-cache.8.xml:267
1465 "Quiet; produces output suitable for logging, omitting progress indicators. "
1466 "More q's will produce more quietness up to a maximum of 2. You can also use "
1467 "<option>-q=#</option> to set the quietness level, overriding the "
1468 "configuration file. Configuration Item: <literal>quiet</literal>."
1471 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1472 #: apt-cache.8.xml:274
1474 "Print only important dependencies; for use with <literal>unmet</literal> and "
1475 "<literal>depends</literal>. Causes only Depends and Pre-Depends relations to "
1476 "be printed. Configuration Item: <literal>APT::Cache::Important</literal>."
1479 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1480 #: apt-cache.8.xml:288
1482 "Per default the <literal>depends</literal> and <literal>rdepends</literal> "
1483 "print all dependencies. This can be tweaked with these flags which will omit "
1484 "the specified dependency type. Configuration Item: "
1485 "<literal>APT::Cache::Show<replaceable>DependencyType</replaceable></literal> "
1486 "e.g. <literal>APT::Cache::ShowRecommends</literal>."
1489 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1490 #: apt-cache.8.xml:295
1492 "Print full package records when searching. Configuration Item: "
1493 "<literal>APT::Cache::ShowFull</literal>."
1496 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1497 #: apt-cache.8.xml:300
1499 "Print full records for all available versions. This is the default; to turn "
1500 "it off, use <option>--no-all-versions</option>. If "
1501 "<option>--no-all-versions</option> is specified, only the candidate version "
1502 "will be displayed (the one which would be selected for installation). This "
1503 "option is only applicable to the <literal>show</literal> command. "
1504 "Configuration Item: <literal>APT::Cache::AllVersions</literal>."
1507 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1508 #: apt-cache.8.xml:309
1510 "Perform automatic package cache regeneration, rather than use the cache as "
1511 "it is. This is the default; to turn it off, use "
1512 "<option>--no-generate</option>. Configuration Item: "
1513 "<literal>APT::Cache::Generate</literal>."
1516 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1517 #: apt-cache.8.xml:315
1519 "Only search on the package names, not the long descriptions. Configuration "
1520 "Item: <literal>APT::Cache::NamesOnly</literal>."
1523 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1524 #: apt-cache.8.xml:320
1526 "Make <literal>pkgnames</literal> print all names, including virtual packages "
1527 "and missing dependencies. Configuration Item: "
1528 "<literal>APT::Cache::AllNames</literal>."
1531 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1532 #: apt-cache.8.xml:326
1534 "Make <literal>depends</literal> and <literal>rdepends</literal> recursive so "
1535 "that all packages mentioned are printed once. Configuration Item: "
1536 "<literal>APT::Cache::RecurseDepends</literal>."
1539 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1540 #: apt-cache.8.xml:333
1542 "Limit the output of <literal>depends</literal> and "
1543 "<literal>rdepends</literal> to packages which are currently installed. "
1544 "Configuration Item: <literal>APT::Cache::Installed</literal>."
1547 #. type: Content of: <refentry><refsect1><para>
1548 #: apt-cache.8.xml:351
1549 msgid "&apt-conf;, &sources-list;, &apt-get;"
1552 #. type: Content of: <refentry><refsect1><para>
1553 #: apt-cache.8.xml:356
1555 "<command>apt-cache</command> returns zero on normal operation, decimal 100 "
1559 #. type: Content of: <refentry><refnamediv><refpurpose>
1561 msgid "APT key management utility"
1564 #. type: Content of: <refentry><refsect1><para>
1567 "<command>apt-key</command> is used to manage the list of keys used by apt to "
1568 "authenticate packages. Packages which have been authenticated using these "
1569 "keys will be considered trusted."
1572 #. type: Content of: <refentry><refsect1><title>
1577 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1580 "Add a new key to the list of trusted keys. The key is read from the "
1581 "filename given with the parameter &synopsis-param-filename; or if the "
1582 "filename is <literal>-</literal> from standard input."
1585 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1587 msgid "Remove a key from the list of trusted keys."
1590 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1592 msgid "Output the key &synopsis-param-keyid; to standard output."
1595 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1597 msgid "Output all trusted keys to standard output."
1600 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1602 msgid "List trusted keys."
1605 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1606 #: apt-key.8.xml:107
1607 msgid "List fingerprints of trusted keys."
1610 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1611 #: apt-key.8.xml:118
1613 "Pass advanced options to gpg. With adv --recv-key you can download the "
1617 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1618 #: apt-key.8.xml:130
1620 "Update the local keyring with the archive keyring and remove from the local "
1621 "keyring the archive keys which are no longer valid. The archive keyring is "
1622 "shipped in the <literal>archive-keyring</literal> package of your "
1623 "distribution, e.g. the <literal>debian-archive-keyring</literal> package in "
1627 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1628 #: apt-key.8.xml:144
1630 "Perform an update working similarly to the <command>update</command> command "
1631 "above, but get the archive keyring from a URI instead and validate it "
1632 "against a master key. This requires an installed &wget; and an APT build "
1633 "configured to have a server to fetch from and a master keyring to validate. "
1634 "APT in Debian does not support this command, relying on "
1635 "<command>update</command> instead, but Ubuntu's APT does."
1638 #. type: Content of: <refentry><refsect1><title>
1639 #: apt-key.8.xml:160 apt-cdrom.8.xml:80
1643 #. type: Content of: <refentry><refsect1><para>
1644 #: apt-key.8.xml:161
1646 "Note that options need to be defined before the commands described in the "
1650 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1651 #: apt-key.8.xml:164
1653 "With this option it is possible to specify a particular keyring file the "
1654 "command should operate on. The default is that a command is executed on the "
1655 "<filename>trusted.gpg</filename> file as well as on all parts in the "
1656 "<filename>trusted.gpg.d</filename> directory, though "
1657 "<filename>trusted.gpg</filename> is the primary keyring which means that "
1658 "e.g. new keys are added to this one."
1661 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
1662 #: apt-key.8.xml:179
1663 msgid "<filename>/etc/apt/trustdb.gpg</filename>"
1666 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1667 #: apt-key.8.xml:180
1668 msgid "Local trust database of archive keys."
1671 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
1672 #: apt-key.8.xml:183
1673 msgid "<filename>/usr/share/keyrings/debian-archive-keyring.gpg</filename>"
1676 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1677 #: apt-key.8.xml:184
1678 msgid "Keyring of Debian archive trusted keys."
1681 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
1682 #: apt-key.8.xml:187
1683 msgid "<filename>/usr/share/keyrings/debian-archive-removed-keys.gpg</filename>"
1686 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1687 #: apt-key.8.xml:188
1688 msgid "Keyring of Debian archive removed trusted keys."
1691 #. type: Content of: <refentry><refsect1><para>
1692 #: apt-key.8.xml:197
1693 msgid "&apt-get;, &apt-secure;"
1696 #. type: Content of: <refentry><refnamediv><refpurpose>
1697 #: apt-mark.8.xml:33
1698 msgid "mark/unmark a package as being automatically-installed"
1701 #. type: Content of: <refentry><refsect1><para>
1702 #: apt-mark.8.xml:39
1704 "<command>apt-mark</command> will change whether a package has been marked as "
1705 "being automatically installed."
1708 #. type: Content of: <refentry><refsect1><para>
1709 #: apt-mark.8.xml:43
1711 "When you request that a package is installed, and as a result other packages "
1712 "are installed to satisfy its dependencies, the dependencies are marked as "
1713 "being automatically installed. Once these automatically installed packages "
1714 "are no longer depended on by any manually installed packages, they will be "
1715 "removed by e.g. <command>apt-get</command> or <command>aptitude</command>."
1718 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1719 #: apt-mark.8.xml:52
1721 "<literal>auto</literal> is used to mark a package as being automatically "
1722 "installed, which will cause the package to be removed when no more manually "
1723 "installed packages depend on this package."
1726 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1727 #: apt-mark.8.xml:60
1729 "<literal>manual</literal> is used to mark a package as being manually "
1730 "installed, which will prevent the package from being automatically removed "
1731 "if no other packages depend on it."
1734 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1735 #: apt-mark.8.xml:68
1737 "<literal>hold</literal> is used to mark a package as held back, which will "
1738 "prevent the package from being automatically installed, upgraded or "
1739 "removed. The command is only a wrapper around <command>dpkg "
1740 "--set-selections</command> and the state is therefore maintained by &dpkg; "
1741 "and not affected by the <option>--file</option> option."
1744 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1745 #: apt-mark.8.xml:78
1747 "<literal>unhold</literal> is used to cancel a previously set hold on a "
1748 "package to allow all actions again."
1751 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1752 #: apt-mark.8.xml:84
1754 "<literal>showauto</literal> is used to print a list of automatically "
1755 "installed packages with each package on a new line. All automatically "
1756 "installed packages will be listed if no package is given. If packages are "
1757 "given only those which are automatically installed will be shown."
1760 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1761 #: apt-mark.8.xml:92
1763 "<literal>showmanual</literal> can be used in the same way as "
1764 "<literal>showauto</literal> except that it will print a list of manually "
1765 "installed packages instead."
1768 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1769 #: apt-mark.8.xml:99
1771 "<literal>showhold</literal> is used to print a list of packages on hold in "
1772 "the same way as for the other show commands."
1775 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
1776 #: apt-mark.8.xml:115
1778 "Read/Write package stats from the filename given with the parameter "
1779 "&synopsis-param-filename; instead of from the default location, which is "
1780 "<filename>extended_status</filename> in the directory defined by the "
1781 "Configuration Item: <literal>Dir::State</literal>."
1784 #. type: Content of: <refentry><refsect1><para>
1785 #: apt-mark.8.xml:136
1787 "<command>apt-mark</command> returns zero on normal operation, non-zero on "
1791 #. type: Content of: <refentry><refnamediv><refpurpose>
1792 #: apt-secure.8.xml:47
1793 msgid "Archive authentication support for APT"
1796 #. type: Content of: <refentry><refsect1><para>
1797 #: apt-secure.8.xml:52
1799 "Starting with version 0.6, <command>apt</command> contains code that does "
1800 "signature checking of the Release file for all archives. This ensures that "
1801 "packages in the archive can't be modified by people who have no access to "
1802 "the Release file signing key."
1805 #. type: Content of: <refentry><refsect1><para>
1806 #: apt-secure.8.xml:60
1808 "If a package comes from a archive without a signature, or with a signature "
1809 "that apt does not have a key for, that package is considered untrusted, and "
1810 "installing it will result in a big warning. <command>apt-get</command> will "
1811 "currently only warn for unsigned archives; future releases might force all "
1812 "sources to be verified before downloading packages from them."
1815 #. type: Content of: <refentry><refsect1><para>
1816 #: apt-secure.8.xml:69
1818 "The package frontends &apt-get;, &aptitude; and &synaptic; support this new "
1819 "authentication feature."
1822 #. type: Content of: <refentry><refsect1><title>
1823 #: apt-secure.8.xml:74
1824 msgid "Trusted archives"
1827 #. type: Content of: <refentry><refsect1><para>
1828 #: apt-secure.8.xml:77
1830 "The chain of trust from an apt archive to the end user is made up of several "
1831 "steps. <command>apt-secure</command> is the last step in this chain; "
1832 "trusting an archive does not mean that you trust its packages not to contain "
1833 "malicious code, but means that you trust the archive maintainer. It's the "
1834 "archive maintainer's responsibility to ensure that the archive's integrity "
1838 #. type: Content of: <refentry><refsect1><para>
1839 #: apt-secure.8.xml:85
1841 "apt-secure does not review signatures at a package level. If you require "
1842 "tools to do this you should look at <command>debsig-verify</command> and "
1843 "<command>debsign</command> (provided in the debsig-verify and devscripts "
1844 "packages respectively)."
1847 #. type: Content of: <refentry><refsect1><para>
1848 #: apt-secure.8.xml:92
1850 "The chain of trust in Debian starts when a maintainer uploads a new package "
1851 "or a new version of a package to the Debian archive. In order to become "
1852 "effective, this upload needs to be signed by a key contained in the Debian "
1853 "Maintainers keyring (available in the debian-keyring package). Maintainers' "
1854 "keys are signed by other maintainers following pre-established procedures to "
1855 "ensure the identity of the key holder."
1858 #. type: Content of: <refentry><refsect1><para>
1859 #: apt-secure.8.xml:102
1861 "Once the uploaded package is verified and included in the archive, the "
1862 "maintainer signature is stripped off, and checksums of the package are "
1863 "computed and put in the Packages file. The checksums of all of the Packages "
1864 "files are then computed and put into the Release file. The Release file is "
1865 "then signed by the archive key for this Debian release and distributed "
1866 "alongside the packages and the Packages files on Debian mirrors. The keys "
1867 "are in the Debian archive keyring available in the "
1868 "<package>debian-archive-keyring</package> package."
1871 #. type: Content of: <refentry><refsect1><para>
1872 #: apt-secure.8.xml:113
1874 "End users can check the signature of the Release file, extract a checksum of "
1875 "a package from it and compare it with the checksum of the package they "
1876 "downloaded by hand - or rely on APT doing this automatically."
1879 #. type: Content of: <refentry><refsect1><para>
1880 #: apt-secure.8.xml:118
1882 "Notice that this is distinct from checking signatures on a per package "
1883 "basis. It is designed to prevent two possible attacks:"
1886 #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para>
1887 #: apt-secure.8.xml:123
1889 "<literal>Network \"man in the middle\" attacks</literal>. Without signature "
1890 "checking, malicious agents can introduce themselves into the package "
1891 "download process and provide malicious software either by controlling a "
1892 "network element (router, switch, etc.) or by redirecting traffic to a rogue "
1893 "server (through ARP or DNS spoofing attacks)."
1896 #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para>
1897 #: apt-secure.8.xml:131
1899 "<literal>Mirror network compromise</literal>. Without signature checking, a "
1900 "malicious agent can compromise a mirror host and modify the files in it to "
1901 "propagate malicious software to all users downloading packages from that "
1905 #. type: Content of: <refentry><refsect1><para>
1906 #: apt-secure.8.xml:138
1908 "However, it does not defend against a compromise of the Debian master server "
1909 "itself (which signs the packages) or against a compromise of the key used to "
1910 "sign the Release files. In any case, this mechanism can complement a "
1911 "per-package signature."
1914 #. type: Content of: <refentry><refsect1><title>
1915 #: apt-secure.8.xml:144
1916 msgid "User configuration"
1919 #. type: Content of: <refentry><refsect1><para>
1920 #: apt-secure.8.xml:146
1922 "<command>apt-key</command> is the program that manages the list of keys used "
1923 "by apt. It can be used to add or remove keys, although an installation of "
1924 "this release will automatically contain the default Debian archive signing "
1925 "keys used in the Debian package repositories."
1928 #. type: Content of: <refentry><refsect1><para>
1929 #: apt-secure.8.xml:153
1931 "In order to add a new key you need to first download it (you should make "
1932 "sure you are using a trusted communication channel when retrieving it), add "
1933 "it with <command>apt-key</command> and then run <command>apt-get "
1934 "update</command> so that apt can download and verify the "
1935 "<filename>InRelease</filename> or <filename>Release.gpg</filename> files "
1936 "from the archives you have configured."
1939 #. type: Content of: <refentry><refsect1><title>
1940 #: apt-secure.8.xml:162
1941 msgid "Archive configuration"
1944 #. type: Content of: <refentry><refsect1><para>
1945 #: apt-secure.8.xml:164
1947 "If you want to provide archive signatures in an archive under your "
1948 "maintenance you have to:"
1951 #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para>
1952 #: apt-secure.8.xml:169
1954 "<emphasis>Create a toplevel Release file</emphasis>, if it does not exist "
1955 "already. You can do this by running <command>apt-ftparchive "
1956 "release</command> (provided in apt-utils)."
1959 #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para>
1960 #: apt-secure.8.xml:174
1962 "<emphasis>Sign it</emphasis>. You can do this by running <command>gpg "
1963 "--clearsign -o InRelease Release</command> and <command>gpg -abs -o "
1964 "Release.gpg Release</command>."
1967 #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para>
1968 #: apt-secure.8.xml:178
1970 "<emphasis>Publish the key fingerprint</emphasis>, that way your users will "
1971 "know what key they need to import in order to authenticate the files in the "
1975 #. type: Content of: <refentry><refsect1><para>
1976 #: apt-secure.8.xml:185
1978 "Whenever the contents of the archive change (new packages are added or "
1979 "removed) the archive maintainer has to follow the first two steps outlined "
1983 #. type: Content of: <refentry><refsect1><para>
1984 #: apt-secure.8.xml:193
1986 "&apt-conf;, &apt-get;, &sources-list;, &apt-key;, &apt-ftparchive;, "
1987 "&debsign; &debsig-verify;, &gpg;"
1990 #. type: Content of: <refentry><refsect1><para>
1991 #: apt-secure.8.xml:197
1993 "For more background information you might want to review the <ulink "
1994 "url=\"http://www.debian.org/doc/manuals/securing-debian-howto/ch7\">Debian "
1995 "Security Infrastructure</ulink> chapter of the Securing Debian Manual "
1996 "(available also in the harden-doc package) and the <ulink "
1997 "url=\"http://www.cryptnet.net/fdp/crypto/strong_distro.html\" >Strong "
1998 "Distribution HOWTO</ulink> by V. Alex Brennen."
2001 #. type: Content of: <refentry><refsect1><title>
2002 #: apt-secure.8.xml:210
2003 msgid "Manpage Authors"
2006 #. type: Content of: <refentry><refsect1><para>
2007 #: apt-secure.8.xml:212
2009 "This man-page is based on the work of Javier Fernández-Sanguino Peña, Isaac "
2010 "Jones, Colin Walters, Florian Weimer and Michael Vogt."
2013 #. type: Content of: <refentry><refnamediv><refpurpose>
2014 #: apt-cdrom.8.xml:32
2015 msgid "APT CD-ROM management utility"
2018 #. type: Content of: <refentry><refsect1><para>
2019 #: apt-cdrom.8.xml:38
2021 "<command>apt-cdrom</command> is used to add a new CD-ROM to APT's list of "
2022 "available sources. <command>apt-cdrom</command> takes care of determining "
2023 "the structure of the disc as well as correcting for several possible "
2024 "mis-burns and verifying the index files."
2027 #. type: Content of: <refentry><refsect1><para>
2028 #: apt-cdrom.8.xml:45
2030 "It is necessary to use <command>apt-cdrom</command> to add CDs to the APT "
2031 "system; it cannot be done by hand. Furthermore each disc in a multi-CD set "
2032 "must be inserted and scanned separately to account for possible mis-burns."
2035 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
2036 #: apt-cdrom.8.xml:56
2038 "<literal>add</literal> is used to add a new disc to the source list. It will "
2039 "unmount the CD-ROM device, prompt for a disc to be inserted and then proceed "
2040 "to scan it and copy the index files. If the disc does not have a proper "
2041 "<filename>.disk</filename> directory you will be prompted for a descriptive "
2045 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
2046 #: apt-cdrom.8.xml:64
2048 "APT uses a CD-ROM ID to track which disc is currently in the drive and "
2049 "maintains a database of these IDs in "
2050 "<filename>&statedir;/cdroms.list</filename>"
2053 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
2054 #: apt-cdrom.8.xml:72
2056 "A debugging tool to report the identity of the current disc as well as the "
2060 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
2061 #: apt-cdrom.8.xml:85
2063 "Mount point; specify the location to mount the CD-ROM. This mount point must "
2064 "be listed in <filename>/etc/fstab</filename> and properly configured. "
2065 "Configuration Item: <literal>Acquire::cdrom::mount</literal>."
2068 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
2069 #: apt-cdrom.8.xml:94
2071 "Rename a disc; change the label of a disc or override the disc's given "
2072 "label. This option will cause <command>apt-cdrom</command> to prompt for a "
2073 "new label. Configuration Item: <literal>APT::CDROM::Rename</literal>."
2076 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
2077 #: apt-cdrom.8.xml:103
2079 "No mounting; prevent <command>apt-cdrom</command> from mounting and "
2080 "unmounting the mount point. Configuration Item: "
2081 "<literal>APT::CDROM::NoMount</literal>."
2084 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
2085 #: apt-cdrom.8.xml:111
2087 "Fast Copy; Assume the package files are valid and do not check every "
2088 "package. This option should be used only if <command>apt-cdrom</command> has "
2089 "been run on this disc before and did not detect any errors. Configuration "
2090 "Item: <literal>APT::CDROM::Fast</literal>."
2093 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
2094 #: apt-cdrom.8.xml:121
2096 "Thorough Package Scan; This option may be needed with some old Debian "
2097 "1.1/1.2 discs that have Package files in strange places. It takes much "
2098 "longer to scan the CD but will pick them all up."
2101 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
2102 #: apt-cdrom.8.xml:132
2104 "No Changes; Do not change the &sources-list; file and do not write index "
2105 "files. Everything is still checked however. Configuration Item: "
2106 "<literal>APT::CDROM::NoAct</literal>."
2109 #. type: Content of: <refentry><refsect1><para>
2110 #: apt-cdrom.8.xml:145
2111 msgid "&apt-conf;, &apt-get;, &sources-list;"
2114 #. type: Content of: <refentry><refsect1><para>
2115 #: apt-cdrom.8.xml:150
2117 "<command>apt-cdrom</command> returns zero on normal operation, decimal 100 "
2121 #. type: Content of: <refentry><refnamediv><refpurpose>
2122 #: apt-config.8.xml:33
2123 msgid "APT Configuration Query program"
2126 #. type: Content of: <refentry><refsect1><para>
2127 #: apt-config.8.xml:39
2129 "<command>apt-config</command> is an internal program used by various "
2130 "portions of the APT suite to provide consistent configurability. It accesses "
2131 "the main configuration file <filename>/etc/apt/apt.conf</filename> in a "
2132 "manner that is easy to use for scripted applications."
2135 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
2136 #: apt-config.8.xml:51
2138 "shell is used to access the configuration information from a shell "
2139 "script. It is given pairs of arguments, the first being a shell variable and "
2140 "the second the configuration value to query. As output it lists shell "
2141 "assignment commands for each value present. In a shell script it should be "
2145 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><informalexample><programlisting>
2146 #: apt-config.8.xml:59
2150 "RES=`apt-config shell OPTS MyApp::options`\n"
2154 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
2155 #: apt-config.8.xml:64
2157 "This will set the shell environment variable $OPTS to the value of "
2158 "MyApp::options with a default of <option>-f</option>."
2161 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
2162 #: apt-config.8.xml:68
2164 "The configuration item may be postfixed with a /[fdbi]. f returns file "
2165 "names, d returns directories, b returns true or false and i returns an "
2166 "integer. Each of the returns is normalized and verified internally."
2169 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
2170 #: apt-config.8.xml:77
2171 msgid "Just show the contents of the configuration space."
2174 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
2175 #: apt-config.8.xml:90
2177 "Include options which have an empty value. This is the default, so use "
2178 "--no-empty to remove them from the output."
2181 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term><option><replaceable>
2182 #: apt-config.8.xml:95
2183 msgid "%f "%v";%n"
2186 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
2187 #: apt-config.8.xml:96
2189 "Defines the output of each config option. %t will be replaced with "
2190 "its individual name, %f with its full hierarchical name and %v "
2191 "with its value. Use uppercase letters and special characters in the value "
2192 "will be encoded to ensure that it can e.g. be safely used in a quoted-string "
2193 "as defined by RFC822. Additionally %n will be replaced by a newline, "
2194 "and %N by a tab. A % can be printed by using %%."
2197 #. type: Content of: <refentry><refsect1><para>
2198 #: apt-config.8.xml:110 apt-extracttemplates.1.xml:71 apt-sortpkgs.1.xml:64 apt-ftparchive.1.xml:608
2202 #. type: Content of: <refentry><refsect1><para>
2203 #: apt-config.8.xml:115
2205 "<command>apt-config</command> returns zero on normal operation, decimal 100 "
2209 #. type: Content of: <refentry><refentryinfo><author><contrib>
2210 #: apt.conf.5.xml:20
2211 msgid "Initial documentation of Debug::*."
2214 #. type: Content of: <refentry><refentryinfo><author><email>
2215 #: apt.conf.5.xml:21
2216 msgid "dburrows@debian.org"
2219 #. type: Content of: <refentry><refmeta><manvolnum>
2220 #: apt.conf.5.xml:31 apt_preferences.5.xml:25 sources.list.5.xml:26
2224 #. type: Content of: <refentry><refnamediv><refpurpose>
2225 #: apt.conf.5.xml:38
2226 msgid "Configuration file for APT"
2229 #. type: Content of: <refentry><refsect1><para>
2230 #: apt.conf.5.xml:42
2232 "<filename>apt.conf</filename> is the main configuration file for the APT "
2233 "suite of tools, but by far not the only place changes to options can be "
2234 "made. All tools therefore share the configuration files and also use a "
2235 "common command line parser to provide a uniform environment."
2238 #. type: Content of: <refentry><refsect1><orderedlist><para>
2239 #: apt.conf.5.xml:47
2241 "When an APT tool starts up it will read the configuration files in the "
2245 #. type: Content of: <refentry><refsect1><orderedlist><listitem><para>
2246 #: apt.conf.5.xml:49
2248 "the file specified by the <envar>APT_CONFIG</envar> environment variable (if "
2252 #. type: Content of: <refentry><refsect1><orderedlist><listitem><para>
2253 #: apt.conf.5.xml:51
2255 "all files in <literal>Dir::Etc::Parts</literal> in alphanumeric ascending "
2256 "order which have either no or \"<literal>conf</literal>\" as filename "
2257 "extension and which only contain alphanumeric, hyphen (-), underscore (_) "
2258 "and period (.) characters. Otherwise APT will print a notice that it has "
2259 "ignored a file, unless that file matches a pattern in the "
2260 "<literal>Dir::Ignore-Files-Silently</literal> configuration list - in this "
2261 "case it will be silently ignored."
2264 #. type: Content of: <refentry><refsect1><orderedlist><listitem><para>
2265 #: apt.conf.5.xml:58
2266 msgid "the main configuration file specified by <literal>Dir::Etc::main</literal>"
2269 #. type: Content of: <refentry><refsect1><orderedlist><listitem><para>
2270 #: apt.conf.5.xml:60
2272 "the command line options are applied to override the configuration "
2273 "directives or to load even more configuration files."
2276 #. type: Content of: <refentry><refsect1><title>
2277 #: apt.conf.5.xml:64
2281 #. type: Content of: <refentry><refsect1><para>
2282 #: apt.conf.5.xml:65
2284 "The configuration file is organized in a tree with options organized into "
2285 "functional groups. Option specification is given with a double colon "
2286 "notation, for instance <literal>APT::Get::Assume-Yes</literal> is an option "
2287 "within the APT tool group, for the Get tool. Options do not inherit from "
2288 "their parent groups."
2291 #. type: Content of: <refentry><refsect1><para>
2292 #: apt.conf.5.xml:71
2294 "Syntactically the configuration language is modeled after what the ISC tools "
2295 "such as bind and dhcp use. Lines starting with <literal>//</literal> are "
2296 "treated as comments (ignored), as well as all text between "
2297 "<literal>/*</literal> and <literal>*/</literal>, just like C/C++ comments. "
2298 "Each line is of the form <literal>APT::Get::Assume-Yes "
2299 "\"true\";</literal>. The trailing semicolon and the quotes are required. The "
2300 "value must be on one line, and there is no kind of string concatenation. It "
2301 "must not include inside quotes. The behavior of the backslash \"\\\" and "
2302 "escaped characters inside a value is undefined and it should not be used. An "
2303 "option name may include alphanumerical characters and the \"/-:._+\" "
2304 "characters. A new scope can be opened with curly braces, like:"
2307 #. type: Content of: <refentry><refsect1><informalexample><programlisting>
2308 #: apt.conf.5.xml:85
2313 " Assume-Yes \"true\";\n"
2314 " Fix-Broken \"true\";\n"
2319 #. type: Content of: <refentry><refsect1><para>
2320 #: apt.conf.5.xml:93
2322 "with newlines placed to make it more readable. Lists can be created by "
2323 "opening a scope and including a single string enclosed in quotes followed by "
2324 "a semicolon. Multiple entries can be included, each separated by a "
2328 #. type: Content of: <refentry><refsect1><informalexample><programlisting>
2329 #: apt.conf.5.xml:98
2331 msgid "DPkg::Pre-Install-Pkgs {\"/usr/sbin/dpkg-preconfigure --apt\";};\n"
2334 #. type: Content of: <refentry><refsect1><para>
2335 #: apt.conf.5.xml:101
2337 "In general the sample configuration file in "
2338 "<filename>&docdir;examples/apt.conf</filename> &configureindex; is a good "
2339 "guide for how it should look."
2342 #. type: Content of: <refentry><refsect1><para>
2343 #: apt.conf.5.xml:105
2345 "The names of the configuration items are not case-sensitive. So in the "
2346 "previous example you could use <literal>dpkg::pre-install-pkgs</literal>."
2349 #. type: Content of: <refentry><refsect1><para>
2350 #: apt.conf.5.xml:108
2352 "Names for the configuration items are optional if a list is defined as it "
2353 "can be see in the <literal>DPkg::Pre-Install-Pkgs</literal> example "
2354 "above. If you don't specify a name a new entry will simply add a new option "
2355 "to the list. If you specify a name you can override the option as every "
2356 "other option by reassigning a new value to the option."
2359 #. type: Content of: <refentry><refsect1><para>
2360 #: apt.conf.5.xml:113
2362 "Two specials are allowed, <literal>#include</literal> (which is deprecated "
2363 "and not supported by alternative implementations) and "
2364 "<literal>#clear</literal>: <literal>#include</literal> will include the "
2365 "given file, unless the filename ends in a slash, then the whole directory is "
2366 "included. <literal>#clear</literal> is used to erase a part of the "
2367 "configuration tree. The specified element and all its descendants are "
2368 "erased. (Note that these lines also need to end with a semicolon.)"
2371 #. type: Content of: <refentry><refsect1><para>
2372 #: apt.conf.5.xml:121
2374 "The #clear command is the only way to delete a list or a complete scope. "
2375 "Reopening a scope or the ::-style described below will "
2376 "<emphasis>not</emphasis> override previously written entries. Only options "
2377 "can be overridden by addressing a new value to it - lists and scopes can't "
2378 "be overridden, only cleared."
2381 #. type: Content of: <refentry><refsect1><para>
2382 #: apt.conf.5.xml:126
2384 "All of the APT tools take a -o option which allows an arbitrary "
2385 "configuration directive to be specified on the command line. The syntax is a "
2386 "full option name (<literal>APT::Get::Assume-Yes</literal> for instance) "
2387 "followed by an equals sign then the new value of the option. To append a new "
2388 "element to a list, add a trailing :: to the name of the list. (As you might "
2389 "suspect: The scope syntax can't be used on the command line.)"
2392 #. type: Content of: <refentry><refsect1><para>
2393 #: apt.conf.5.xml:133
2395 "Note that you can use :: only for appending one item per line to a list and "
2396 "that you should not use it in combination with the scope syntax. (The scope "
2397 "syntax implicit insert ::) Using both syntaxes together will trigger a bug "
2398 "which some users unfortunately depend on: An option with the unusual name "
2399 "\"<literal>::</literal>\" which acts like every other option with a "
2400 "name. These introduces many problems including that a user who writes "
2401 "multiple lines in this <emphasis>wrong</emphasis> syntax in the hope to "
2402 "append to a list will gain the opposite as only the last assignment for this "
2403 "option \"<literal>::</literal>\" will be used. Upcoming APT versions will "
2404 "raise errors and will stop working if they encounter this misuse, so please "
2405 "correct such statements now as long as APT doesn't complain explicit about "
2409 #. type: Content of: <refentry><refsect1><title>
2410 #: apt.conf.5.xml:145
2411 msgid "The APT Group"
2414 #. type: Content of: <refentry><refsect1><para>
2415 #: apt.conf.5.xml:146
2417 "This group of options controls general APT behavior as well as holding the "
2418 "options for all of the tools."
2421 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
2422 #: apt.conf.5.xml:151
2424 "System Architecture; sets the architecture to use when fetching files and "
2425 "parsing package lists. The internal default is the architecture apt was "
2429 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
2430 #: apt.conf.5.xml:157
2432 "All Architectures the system supports. Processors implementing the "
2433 "<literal>amd64</literal> (also called <literal>x86-64</literal>) instruction "
2434 "set are e.g. also able to execute binaries compiled for the "
2435 "<literal>i386</literal> (<literal>x86</literal>) instruction set; This list "
2436 "is use when fetching files and parsing package lists. The internal default "
2437 "is always the native architecture (<literal>APT::Architecture</literal>) "
2438 "and all foreign architectures it can retrieve by calling <command>dpkg "
2439 "--print-foreign-architectures</command>."
2442 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
2443 #: apt.conf.5.xml:167
2445 "Default release to install packages from if more than one version "
2446 "available. Contains release name, codename or release version. Examples: "
2447 "'stable', 'testing', 'unstable', '&stable-codename;', '&testing-codename;', "
2448 "'4.0', '5.0*'. See also &apt-preferences;."
2451 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
2452 #: apt.conf.5.xml:173
2454 "Ignore Held packages; This global option causes the problem resolver to "
2455 "ignore held packages in its decision making."
2458 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
2459 #: apt.conf.5.xml:178
2461 "Defaults to on. When turned on the autoclean feature will remove any "
2462 "packages which can no longer be downloaded from the cache. If turned off "
2463 "then packages that are locally installed are also excluded from cleaning - "
2464 "but note that APT provides no direct means to reinstall them."
2467 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
2468 #: apt.conf.5.xml:185
2470 "Defaults to on which will cause APT to install essential and important "
2471 "packages as fast as possible in the install/upgrade operation. This is done "
2472 "to limit the effect of a failing &dpkg; call: If this option is disabled APT "
2473 "does treat an important package in the same way as an extra package: Between "
2474 "the unpacking of the important package A and his configuration can then be "
2475 "many other unpack or configuration calls, e.g. for package B which has no "
2476 "relation to A, but causes the dpkg call to fail (e.g. because maintainer "
2477 "script of package B generates an error) which results in a system state in "
2478 "which package A is unpacked but unconfigured - each package depending on A "
2479 "is now no longer guaranteed to work as their dependency on A is not longer "
2480 "satisfied. The immediate configuration marker is also applied to all "
2481 "dependencies which can generate a problem if the dependencies e.g. form a "
2482 "circle as a dependency with the immediate flag is comparable with a "
2483 "Pre-Dependency. So in theory it is possible that APT encounters a situation "
2484 "in which it is unable to perform immediate configuration, errors out and "
2485 "refers to this option so the user can deactivate the immediate configuration "
2486 "temporarily to be able to perform an install/upgrade again. Note the use of "
2487 "the word \"theory\" here as this problem was only encountered by now in real "
2488 "world a few times in non-stable distribution versions and was caused by "
2489 "wrong dependencies of the package in question or by a system in an already "
2490 "broken state, so you should not blindly disable this option as the mentioned "
2491 "scenario above is not the only problem immediate configuration can help to "
2492 "prevent in the first place. Before a big operation like "
2493 "<literal>dist-upgrade</literal> is run with this option disabled it should "
2494 "be tried to explicitly <literal>install</literal> the package APT is unable "
2495 "to configure immediately, but please make sure to report your problem also "
2496 "to your distribution and to the APT team with the buglink below so they can "
2497 "work on improving or correcting the upgrade process."
2500 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
2501 #: apt.conf.5.xml:208
2503 "Never Enable this option unless you -really- know what you are doing. It "
2504 "permits APT to temporarily remove an essential package to break a "
2505 "Conflicts/Conflicts or Conflicts/Pre-Depend loop between two essential "
2506 "packages. SUCH A LOOP SHOULD NEVER EXIST AND IS A GRAVE BUG. This option "
2507 "will work if the essential packages are not tar, gzip, libc, dpkg, bash or "
2508 "anything that those packages depend on."
2511 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
2512 #: apt.conf.5.xml:217
2514 "APT uses since version 0.7.26 a resizable memory mapped cache file to store "
2515 "the 'available' information. <literal>Cache-Start</literal> acts as a hint "
2516 "to which size the Cache will grow and is therefore the amount of memory APT "
2517 "will request at startup. The default value is 20971520 bytes (~20 MB). Note "
2518 "that this amount of space needs to be available for APT otherwise it will "
2519 "likely fail ungracefully, so for memory restricted devices this value should "
2520 "be lowered while on systems with a lot of configured sources it should be "
2521 "increased. <literal>Cache-Grow</literal> defines in bytes with the default "
2522 "of 1048576 (~1 MB) how much the Cache size will be increased in the event "
2523 "the space defined by <literal>Cache-Start</literal> is not enough. These "
2524 "value will be applied again and again until either the cache is big enough "
2525 "to store all information or the size of the cache reaches the "
2526 "<literal>Cache-Limit</literal>. The default of "
2527 "<literal>Cache-Limit</literal> is 0 which stands for no limit. If "
2528 "<literal>Cache-Grow</literal> is set to 0 the automatic grow of the cache is "
2532 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
2533 #: apt.conf.5.xml:233
2534 msgid "Defines which package(s) are considered essential build dependencies."
2537 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
2538 #: apt.conf.5.xml:237
2540 "The Get subsection controls the &apt-get; tool, please see its documentation "
2541 "for more information about the options here."
2544 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
2545 #: apt.conf.5.xml:242
2547 "The Cache subsection controls the &apt-cache; tool, please see its "
2548 "documentation for more information about the options here."
2551 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
2552 #: apt.conf.5.xml:247
2554 "The CDROM subsection controls the &apt-cdrom; tool, please see its "
2555 "documentation for more information about the options here."
2558 #. type: Content of: <refentry><refsect1><title>
2559 #: apt.conf.5.xml:253
2560 msgid "The Acquire Group"
2563 #. type: Content of: <refentry><refsect1><para>
2564 #: apt.conf.5.xml:254
2566 "The <literal>Acquire</literal> group of options controls the download of "
2567 "packages and the URI handlers."
2570 #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
2571 #: apt.conf.5.xml:259
2573 "Security related option defaulting to true as an expiring validation for a "
2574 "Release file prevents longtime replay attacks and can e.g. also help users "
2575 "to identify no longer updated mirrors - but the feature depends on the "
2576 "correctness of the time on the user system. Archive maintainers are "
2577 "encouraged to create Release files with the <literal>Valid-Until</literal> "
2578 "header, but if they don't or a stricter value is volitional the following "
2579 "<literal>Max-ValidTime</literal> option can be used."
2582 #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
2583 #: apt.conf.5.xml:270
2585 "Seconds the Release file should be considered valid after it was created "
2586 "(indicated by the <literal>Date</literal> header). If the Release file "
2587 "itself includes a <literal>Valid-Until</literal> header the earlier date of "
2588 "the two is used as the expiration date. The default value is "
2589 "<literal>0</literal> which stands for \"for ever valid\". Archive specific "
2590 "settings can be made by appending the label of the archive to the option "
2594 #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
2595 #: apt.conf.5.xml:281
2597 "Minimum of seconds the Release file should be considered valid after it was "
2598 "created (indicated by the <literal>Date</literal> header). Use this if you "
2599 "need to use a seldomly updated (local) mirror of a more regular updated "
2600 "archive with a <literal>Valid-Until</literal> header instead of completely "
2601 "disabling the expiration date checking. Archive specific settings can and "
2602 "should be used by appending the label of the archive to the option name."
2605 #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
2606 #: apt.conf.5.xml:292
2608 "Try to download deltas called <literal>PDiffs</literal> for Packages or "
2609 "Sources files instead of downloading whole ones. True by default."
2612 #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
2613 #: apt.conf.5.xml:295
2615 "Two sub-options to limit the use of PDiffs are also available: With "
2616 "<literal>FileLimit</literal> can be specified how many PDiff files are "
2617 "downloaded at most to update a file. <literal>SizeLimit</literal> on the "
2618 "other hand is the maximum percentage of the size of all patches compared to "
2619 "the size of the targeted file. If one of these limits is exceeded the "
2620 "complete file is downloaded instead of the patches."
2623 #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
2624 #: apt.conf.5.xml:305
2626 "Queuing mode; <literal>Queue-Mode</literal> can be one of "
2627 "<literal>host</literal> or <literal>access</literal> which determines how "
2628 "APT parallelizes outgoing connections. <literal>host</literal> means that "
2629 "one connection per target host will be opened, <literal>access</literal> "
2630 "means that one connection per URI type will be opened."
2633 #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
2634 #: apt.conf.5.xml:313
2636 "Number of retries to perform. If this is non-zero APT will retry failed "
2637 "files the given number of times."
2640 #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
2641 #: apt.conf.5.xml:318
2643 "Use symlinks for source archives. If set to true then source archives will "
2644 "be symlinked when possible instead of copying. True is the default."
2647 #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
2648 #: apt.conf.5.xml:323
2650 "HTTP URIs; http::Proxy is the default http proxy to use. It is in the "
2651 "standard form of <literal>http://[[user][:pass]@]host[:port]/</literal>. Per "
2652 "host proxies can also be specified by using the form "
2653 "<literal>http::Proxy::<host></literal> with the special keyword "
2654 "<literal>DIRECT</literal> meaning to use no proxies. If no one of the above "
2655 "settings is specified, <envar>http_proxy</envar> environment variable will "
2659 #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
2660 #: apt.conf.5.xml:331
2662 "Three settings are provided for cache control with HTTP/1.1 compliant proxy "
2663 "caches. <literal>No-Cache</literal> tells the proxy to not use its cached "
2664 "response under any circumstances, <literal>Max-Age</literal> is sent only "
2665 "for index files and tells the cache to refresh its object if it is older "
2666 "than the given number of seconds. Debian updates its index files daily so "
2667 "the default is 1 day. <literal>No-Store</literal> specifies that the cache "
2668 "should never store this request, it is only set for archive files. This may "
2669 "be useful to prevent polluting a proxy cache with very large .deb "
2670 "files. Note: Squid 2.0.2 does not support any of these options."
2673 #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
2674 #: apt.conf.5.xml:341 apt.conf.5.xml:407
2676 "The option <literal>timeout</literal> sets the timeout timer used by the "
2677 "method, this applies to all things including connection timeout and data "
2681 #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
2682 #: apt.conf.5.xml:344
2684 "The setting <literal>Acquire::http::Pipeline-Depth</literal> can be used to "
2685 "enabled HTTP pipeling (RFC 2616 section 8.1.2.2) which can be beneficial "
2686 "e.g. on high-latency connections. It specifies how many requests are send in "
2687 "a pipeline. Previous APT versions had a default of 10 for this setting, but "
2688 "the default value is now 0 (= disabled) to avoid problems with the "
2689 "ever-growing amount of webservers and proxies which choose to not conform to "
2690 "the HTTP/1.1 specification."
2693 #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
2694 #: apt.conf.5.xml:351
2696 "<literal>Acquire::http::AllowRedirect</literal> controls if APT will follow "
2697 "redirects, which is enabled by default."
2700 #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
2701 #: apt.conf.5.xml:354
2703 "The used bandwidth can be limited with "
2704 "<literal>Acquire::http::Dl-Limit</literal> which accepts integer values in "
2705 "kilobyte. The default value is 0 which deactivates the limit and tries uses "
2706 "as much as possible of the bandwidth (Note that this option implicit "
2707 "deactivates the download from multiple servers at the same time.)"
2710 #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
2711 #: apt.conf.5.xml:359
2713 "<literal>Acquire::http::User-Agent</literal> can be used to set a different "
2714 "User-Agent for the http download method as some proxies allow access for "
2715 "clients only if the client uses a known identifier."
2718 #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
2719 #: apt.conf.5.xml:366
2721 "HTTPS URIs. Cache-control, Timeout, AllowRedirect, Dl-Limit and proxy "
2722 "options are the same as for <literal>http</literal> method and will also "
2723 "default to the options from the <literal>http</literal> method if they are "
2724 "not explicitly set for https. <literal>Pipeline-Depth</literal> option is "
2725 "not supported yet."
2728 #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
2729 #: apt.conf.5.xml:372
2731 "<literal>CaInfo</literal> suboption specifies place of file that holds info "
2732 "about trusted certificates. <literal><host>::CaInfo</literal> is "
2733 "corresponding per-host option. <literal>Verify-Peer</literal> boolean "
2734 "suboption determines whether verify server's host certificate against "
2735 "trusted certificates or not. <literal><host>::Verify-Peer</literal> "
2736 "is corresponding per-host option. <literal>Verify-Host</literal> boolean "
2737 "suboption determines whether verify server's hostname or not. "
2738 "<literal><host>::Verify-Host</literal> is corresponding per-host "
2739 "option. <literal>SslCert</literal> determines what certificate to use for "
2740 "client authentication. <literal><host>::SslCert</literal> is "
2741 "corresponding per-host option. <literal>SslKey</literal> determines what "
2742 "private key to use for client "
2743 "authentication. <literal><host>::SslKey</literal> is corresponding "
2744 "per-host option. <literal>SslForceVersion</literal> overrides default SSL "
2745 "version to use. Can contain 'TLSv1' or 'SSLv3' string. "
2746 "<literal><host>::SslForceVersion</literal> is corresponding per-host "
2750 #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
2751 #: apt.conf.5.xml:391
2753 "FTP URIs; ftp::Proxy is the default ftp proxy to use. It is in the standard "
2754 "form of <literal>ftp://[[user][:pass]@]host[:port]/</literal>. Per host "
2755 "proxies can also be specified by using the form "
2756 "<literal>ftp::Proxy::<host></literal> with the special keyword "
2757 "<literal>DIRECT</literal> meaning to use no proxies. If no one of the above "
2758 "settings is specified, <envar>ftp_proxy</envar> environment variable will be "
2759 "used. To use a ftp proxy you will have to set the "
2760 "<literal>ftp::ProxyLogin</literal> script in the configuration file. This "
2761 "entry specifies the commands to send to tell the proxy server what to "
2762 "connect to. Please see &configureindex; for an example of how to do "
2763 "this. The substitution variables available are "
2764 "<literal>$(PROXY_USER)</literal> <literal>$(PROXY_PASS)</literal> "
2765 "<literal>$(SITE_USER)</literal> <literal>$(SITE_PASS)</literal> "
2766 "<literal>$(SITE)</literal> and <literal>$(SITE_PORT)</literal> Each is taken "
2767 "from it's respective URI component."
2770 #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
2771 #: apt.conf.5.xml:410
2773 "Several settings are provided to control passive mode. Generally it is safe "
2774 "to leave passive mode on, it works in nearly every environment. However "
2775 "some situations require that passive mode be disabled and port mode ftp used "
2776 "instead. This can be done globally, for connections that go through a proxy "
2777 "or for a specific host (See the sample config file for examples)."
2780 #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
2781 #: apt.conf.5.xml:417
2783 "It is possible to proxy FTP over HTTP by setting the "
2784 "<envar>ftp_proxy</envar> environment variable to a http url - see the "
2785 "discussion of the http method above for syntax. You cannot set this in the "
2786 "configuration file and it is not recommended to use FTP over HTTP due to its "
2790 #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
2791 #: apt.conf.5.xml:422
2793 "The setting <literal>ForceExtended</literal> controls the use of RFC2428 "
2794 "<literal>EPSV</literal> and <literal>EPRT</literal> commands. The default is "
2795 "false, which means these commands are only used if the control connection is "
2796 "IPv6. Setting this to true forces their use even on IPv4 connections. Note "
2797 "that most FTP servers do not support RFC2428."
2800 #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para><literallayout>
2801 #: apt.conf.5.xml:435
2803 msgid "/cdrom/::Mount \"foo\";"
2806 #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
2807 #: apt.conf.5.xml:430
2809 "CD-ROM URIs; the only setting for CD-ROM URIs is the mount point, "
2810 "<literal>cdrom::Mount</literal> which must be the mount point for the CD-ROM "
2811 "drive as specified in <filename>/etc/fstab</filename>. It is possible to "
2812 "provide alternate mount and unmount commands if your mount point cannot be "
2813 "listed in the fstab (such as an SMB mount and old mount packages). The "
2814 "syntax is to put <placeholder type=\"literallayout\" id=\"0\"/> within the "
2815 "cdrom block. It is important to have the trailing slash. Unmount commands "
2816 "can be specified using UMount."
2819 #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
2820 #: apt.conf.5.xml:441
2822 "GPGV URIs; the only option for GPGV URIs is the option to pass additional "
2823 "parameters to gpgv. <literal>gpgv::Options</literal> Additional options "
2827 #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para><synopsis>
2828 #: apt.conf.5.xml:452
2831 "Acquire::CompressionTypes::<replaceable>FileExtension</replaceable> "
2832 "\"<replaceable>Methodname</replaceable>\";"
2835 #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
2836 #: apt.conf.5.xml:447
2838 "List of compression types which are understood by the acquire methods. "
2839 "Files like <filename>Packages</filename> can be available in various "
2840 "compression formats. Per default the acquire methods can decompress "
2841 "<command>bzip2</command>, <command>lzma</command> and "
2842 "<command>gzip</command> compressed files, with this setting more formats can "
2843 "be added on the fly or the used method can be changed. The syntax for this "
2844 "is: <placeholder type=\"synopsis\" id=\"0\"/>"
2847 #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para><synopsis>
2848 #: apt.conf.5.xml:457
2850 msgid "Acquire::CompressionTypes::Order:: \"gz\";"
2853 #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para><synopsis>
2854 #: apt.conf.5.xml:460
2856 msgid "Acquire::CompressionTypes::Order { \"lzma\"; \"gz\"; };"
2859 #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
2860 #: apt.conf.5.xml:453
2862 "Also the <literal>Order</literal> subgroup can be used to define in which "
2863 "order the acquire system will try to download the compressed files. The "
2864 "acquire system will try the first and proceed with the next compression type "
2865 "in this list on error, so to prefer one over the other type simple add the "
2866 "preferred type at first - not already added default types will be added at "
2867 "run time to the end of the list, so e.g. <placeholder type=\"synopsis\" "
2868 "id=\"0\"/> can be used to prefer <command>gzip</command> compressed files "
2869 "over <command>bzip2</command> and <command>lzma</command>. If "
2870 "<command>lzma</command> should be preferred over <command>gzip</command> and "
2871 "<command>bzip2</command> the configure setting should look like this "
2872 "<placeholder type=\"synopsis\" id=\"1\"/> It is not needed to add "
2873 "<literal>bz2</literal> explicit to the list as it will be added automatic."
2876 #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para><literallayout>
2877 #: apt.conf.5.xml:464
2879 msgid "Dir::Bin::bzip2 \"/bin/bzip2\";"
2882 #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
2883 #: apt.conf.5.xml:462
2885 "Note that at run time the "
2886 "<literal>Dir::Bin::<replaceable>Methodname</replaceable></literal> will be "
2887 "checked: If this setting exists the method will only be used if this file "
2888 "exists, e.g. for the bzip2 method (the inbuilt) setting is: <placeholder "
2889 "type=\"literallayout\" id=\"0\"/> Note also that list entries specified on "
2890 "the command line will be added at the end of the list specified in the "
2891 "configuration files, but before the default entries. To prefer a type in "
2892 "this case over the ones specified in the configuration files you can set the "
2893 "option direct - not in list style. This will not override the defined list, "
2894 "it will only prefix the list with this type."
2897 #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
2898 #: apt.conf.5.xml:469
2900 "The special type <literal>uncompressed</literal> can be used to give "
2901 "uncompressed files a preference, but note that most archives don't provide "
2902 "uncompressed files so this is mostly only useable for local mirrors."
2905 #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
2906 #: apt.conf.5.xml:476
2908 "When downloading <literal>gzip</literal> compressed indexes (Packages, "
2909 "Sources, or Translations), keep them gzip compressed locally instead of "
2910 "unpacking them. This saves quite a lot of disk space at the expense of more "
2911 "CPU requirements when building the local package caches. False by default."
2914 #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
2915 #: apt.conf.5.xml:484
2917 "The Languages subsection controls which <filename>Translation</filename> "
2918 "files are downloaded and in which order APT tries to display the "
2919 "Description-Translations. APT will try to display the first available "
2920 "Description in the Language which is listed at first. Languages can be "
2921 "defined with their short or long Languagecodes. Note that not all archives "
2922 "provide <filename>Translation</filename> files for every Language - "
2923 "especially the long Languagecodes are rare, so please inform you which ones "
2924 "are available before you set here impossible values."
2927 #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para><programlisting>
2928 #: apt.conf.5.xml:500
2930 msgid "Acquire::Languages { \"environment\"; \"de\"; \"en\"; \"none\"; \"fr\"; };"
2933 #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
2934 #: apt.conf.5.xml:490
2936 "The default list includes \"environment\" and "
2937 "\"en\". \"<literal>environment</literal>\" has a special meaning here: It "
2938 "will be replaced at runtime with the languagecodes extracted from the "
2939 "<literal>LC_MESSAGES</literal> environment variable. It will also ensure "
2940 "that these codes are not included twice in the list. If "
2941 "<literal>LC_MESSAGES</literal> is set to \"C\" only the "
2942 "<filename>Translation-en</filename> file (if available) will be used. To "
2943 "force apt to use no Translation file use the setting "
2944 "<literal>Acquire::Languages=none</literal>. \"<literal>none</literal>\" is "
2945 "another special meaning code which will stop the search for a fitting "
2946 "<filename>Translation</filename> file. This can be used by the system "
2947 "administrator to let APT know that it should download also this files "
2948 "without actually use them if the environment doesn't specify this "
2949 "languages. So the following example configuration will result in the order "
2950 "\"en, de\" in an english and in \"de, en\" in a german localization. Note "
2951 "that \"fr\" is downloaded, but not used if APT is not used in a french "
2952 "localization, in such an environment the order would be \"fr, de, en\". "
2953 "<placeholder type=\"programlisting\" id=\"0\"/>"
2956 #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
2957 #: apt.conf.5.xml:501
2959 "Note: To prevent problems resulting from APT being executed in different "
2960 "environments (e.g. by different users or by other programs) all Translation "
2961 "files which are found in <filename>/var/lib/apt/lists/</filename> will be "
2962 "added to the end of the list (after an implicit "
2963 "\"<literal>none</literal>\")."
2966 #. type: Content of: <refentry><refsect1><title>
2967 #: apt.conf.5.xml:512
2971 #. type: Content of: <refentry><refsect1><para>
2972 #: apt.conf.5.xml:514
2974 "The <literal>Dir::State</literal> section has directories that pertain to "
2975 "local state information. <literal>lists</literal> is the directory to place "
2976 "downloaded package lists in and <literal>status</literal> is the name of the "
2977 "dpkg status file. <literal>preferences</literal> is the name of the APT "
2978 "<filename>preferences</filename> file. <literal>Dir::State</literal> "
2979 "contains the default directory to prefix on all sub items if they do not "
2980 "start with <filename>/</filename> or <filename>./</filename>."
2983 #. type: Content of: <refentry><refsect1><para>
2984 #: apt.conf.5.xml:521
2986 "<literal>Dir::Cache</literal> contains locations pertaining to local cache "
2987 "information, such as the two package caches <literal>srcpkgcache</literal> "
2988 "and <literal>pkgcache</literal> as well as the location to place downloaded "
2989 "archives, <literal>Dir::Cache::archives</literal>. Generation of caches can "
2990 "be turned off by setting their names to be blank. This will slow down "
2991 "startup but save disk space. It is probably preferred to turn off the "
2992 "pkgcache rather than the srcpkgcache. Like <literal>Dir::State</literal> the "
2993 "default directory is contained in <literal>Dir::Cache</literal>"
2996 #. type: Content of: <refentry><refsect1><para>
2997 #: apt.conf.5.xml:530
2999 "<literal>Dir::Etc</literal> contains the location of configuration files, "
3000 "<literal>sourcelist</literal> gives the location of the sourcelist and "
3001 "<literal>main</literal> is the default configuration file (setting has no "
3002 "effect, unless it is done from the config file specified by "
3003 "<envar>APT_CONFIG</envar>)."
3006 #. type: Content of: <refentry><refsect1><para>
3007 #: apt.conf.5.xml:536
3009 "The <literal>Dir::Parts</literal> setting reads in all the config fragments "
3010 "in lexical order from the directory specified. After this is done then the "
3011 "main config file is loaded."
3014 #. type: Content of: <refentry><refsect1><para>
3015 #: apt.conf.5.xml:540
3017 "Binary programs are pointed to by "
3018 "<literal>Dir::Bin</literal>. <literal>Dir::Bin::Methods</literal> specifies "
3019 "the location of the method handlers and <literal>gzip</literal>, "
3020 "<literal>bzip2</literal>, <literal>lzma</literal>, <literal>dpkg</literal>, "
3021 "<literal>apt-get</literal> <literal>dpkg-source</literal> "
3022 "<literal>dpkg-buildpackage</literal> and <literal>apt-cache</literal> "
3023 "specify the location of the respective programs."
3026 #. type: Content of: <refentry><refsect1><para>
3027 #: apt.conf.5.xml:548
3029 "The configuration item <literal>RootDir</literal> has a special meaning. If "
3030 "set, all paths in <literal>Dir::</literal> will be relative to "
3031 "<literal>RootDir</literal>, <emphasis>even paths that are specified "
3032 "absolutely</emphasis>. So, for instance, if <literal>RootDir</literal> is "
3033 "set to <filename>/tmp/staging</filename> and "
3034 "<literal>Dir::State::status</literal> is set to "
3035 "<filename>/var/lib/dpkg/status</filename>, then the status file will be "
3036 "looked up in <filename>/tmp/staging/var/lib/dpkg/status</filename>."
3039 #. type: Content of: <refentry><refsect1><para>
3040 #: apt.conf.5.xml:561
3042 "The <literal>Ignore-Files-Silently</literal> list can be used to specify "
3043 "which files APT should silently ignore while parsing the files in the "
3044 "fragment directories. Per default a file which end with "
3045 "<literal>.disabled</literal>, <literal>~</literal>, <literal>.bak</literal> "
3046 "or <literal>.dpkg-[a-z]+</literal> is silently ignored. As seen in the last "
3047 "default value these patterns can use regular expression syntax."
3050 #. type: Content of: <refentry><refsect1><title>
3051 #: apt.conf.5.xml:570
3052 msgid "APT in DSelect"
3055 #. type: Content of: <refentry><refsect1><para>
3056 #: apt.conf.5.xml:572
3058 "When APT is used as a &dselect; method several configuration directives "
3059 "control the default behaviour. These are in the <literal>DSelect</literal> "
3063 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
3064 #: apt.conf.5.xml:577
3066 "Cache Clean mode; this value may be one of always, prompt, auto, pre-auto "
3067 "and never. always and prompt will remove all packages from the cache after "
3068 "upgrading, prompt (the default) does so conditionally. auto removes only "
3069 "those packages which are no longer downloadable (replaced with a new version "
3070 "for instance). pre-auto performs this action before downloading new "
3074 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
3075 #: apt.conf.5.xml:586
3077 "The contents of this variable is passed to &apt-get; as command line options "
3078 "when it is run for the install phase."
3081 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
3082 #: apt.conf.5.xml:591
3084 "The contents of this variable is passed to &apt-get; as command line options "
3085 "when it is run for the update phase."
3088 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
3089 #: apt.conf.5.xml:596
3091 "If true the [U]pdate operation in &dselect; will always prompt to continue. "
3092 "The default is to prompt only on error."
3095 #. type: Content of: <refentry><refsect1><title>
3096 #: apt.conf.5.xml:602
3097 msgid "How APT calls dpkg"
3100 #. type: Content of: <refentry><refsect1><para>
3101 #: apt.conf.5.xml:603
3103 "Several configuration directives control how APT invokes &dpkg;. These are "
3104 "in the <literal>DPkg</literal> section."
3107 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
3108 #: apt.conf.5.xml:608
3110 "This is a list of options to pass to dpkg. The options must be specified "
3111 "using the list notation and each list item is passed as a single argument to "
3115 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
3116 #: apt.conf.5.xml:614
3118 "This is a list of shell commands to run before/after invoking &dpkg;. Like "
3119 "<literal>options</literal> this must be specified in list notation. The "
3120 "commands are invoked in order using <filename>/bin/sh</filename>, should any "
3121 "fail APT will abort."
3124 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
3125 #: apt.conf.5.xml:621
3127 "This is a list of shell commands to run before invoking dpkg. Like "
3128 "<literal>options</literal> this must be specified in list notation. The "
3129 "commands are invoked in order using <filename>/bin/sh</filename>, should any "
3130 "fail APT will abort. APT will pass to the commands on standard input the "
3131 "filenames of all .deb files it is going to install, one per line."
3134 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
3135 #: apt.conf.5.xml:627
3137 "Version 2 of this protocol dumps more information, including the protocol "
3138 "version, the APT configuration space and the packages, files and versions "
3139 "being changed. Version 2 is enabled by setting "
3140 "<literal>DPkg::Tools::options::cmd::Version</literal> to "
3141 "2. <literal>cmd</literal> is a command given to "
3142 "<literal>Pre-Install-Pkgs</literal>."
3145 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
3146 #: apt.conf.5.xml:635
3148 "APT chdirs to this directory before invoking dpkg, the default is "
3149 "<filename>/</filename>."
3152 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
3153 #: apt.conf.5.xml:640
3155 "These options are passed to &dpkg-buildpackage; when compiling packages, the "
3156 "default is to disable signing and produce all binaries."
3159 #. type: Content of: <refentry><refsect1><refsect2><title>
3160 #: apt.conf.5.xml:645
3161 msgid "dpkg trigger usage (and related options)"
3164 #. type: Content of: <refentry><refsect1><refsect2><para>
3165 #: apt.conf.5.xml:646
3167 "APT can call dpkg in a way so it can make aggressive use of triggers over "
3168 "multiple calls of dpkg. Without further options dpkg will use triggers only "
3169 "in between his own run. Activating these options can therefore decrease the "
3170 "time needed to perform the install / upgrade. Note that it is intended to "
3171 "activate these options per default in the future, but as it changes the way "
3172 "APT calling dpkg drastically it needs a lot more testing. <emphasis>These "
3173 "options are therefore currently experimental and should not be used in "
3174 "productive environments.</emphasis> Also it breaks the progress reporting so "
3175 "all frontends will currently stay around half (or more) of the time in the "
3176 "100% state while it actually configures all packages."
3179 #. type: Content of: <refentry><refsect1><refsect2><para><literallayout>
3180 #: apt.conf.5.xml:661
3183 "DPkg::NoTriggers \"true\";\n"
3184 "PackageManager::Configure \"smart\";\n"
3185 "DPkg::ConfigurePending \"true\";\n"
3186 "DPkg::TriggersPending \"true\";"
3189 #. type: Content of: <refentry><refsect1><refsect2><para>
3190 #: apt.conf.5.xml:655
3192 "Note that it is not guaranteed that APT will support these options or that "
3193 "these options will not cause (big) trouble in the future. If you have "
3194 "understand the current risks and problems with these options, but are brave "
3195 "enough to help testing them create a new configuration file and test a "
3196 "combination of options. Please report any bugs, problems and improvements "
3197 "you encounter and make sure to note which options you have used in your "
3198 "reports. Asking dpkg for help could also be useful for debugging proposes, "
3199 "see e.g. <command>dpkg --audit</command>. A defensive option combination "
3200 "would be <placeholder type=\"literallayout\" id=\"0\"/>"
3203 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
3204 #: apt.conf.5.xml:668
3206 "Add the no triggers flag to all dpkg calls (except the ConfigurePending "
3207 "call). See &dpkg; if you are interested in what this actually means. In "
3208 "short: dpkg will not run the triggers when this flag is present unless it is "
3209 "explicitly called to do so in an extra call. Note that this option exists "
3210 "(undocumented) also in older apt versions with a slightly different meaning: "
3211 "Previously these option only append --no-triggers to the configure calls to "
3212 "dpkg - now apt will add these flag also to the unpack and remove calls."
3215 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
3216 #: apt.conf.5.xml:676
3218 "Valid values are \"<literal>all</literal>\", \"<literal>smart</literal>\" "
3219 "and \"<literal>no</literal>\". \"<literal>all</literal>\" is the default "
3220 "value and causes APT to configure all packages explicit. The "
3221 "\"<literal>smart</literal>\" way is it to configure only packages which need "
3222 "to be configured before another package can be unpacked (Pre-Depends) and "
3223 "let the rest configure by dpkg with a call generated by the next "
3224 "option. \"<literal>no</literal>\" on the other hand will not configure "
3225 "anything and totally rely on dpkg for configuration (which will at the "
3226 "moment fail if a Pre-Depends is encountered). Setting this option to "
3227 "another than the all value will implicitly activate also the next option per "
3228 "default as otherwise the system could end in an unconfigured status which "
3229 "could be unbootable!"
3232 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
3233 #: apt.conf.5.xml:687
3235 "If this option is set apt will call <command>dpkg --configure "
3236 "--pending</command> to let dpkg handle all required configurations and "
3237 "triggers. This option is activated automatic per default if the previous "
3238 "option is not set to <literal>all</literal>, but deactivating could be "
3239 "useful if you want to run APT multiple times in a row - e.g. in an "
3240 "installer. In these sceneries you could deactivate this option in all but "
3244 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
3245 #: apt.conf.5.xml:694
3247 "Useful for <literal>smart</literal> configuration as a package which has "
3248 "pending triggers is not considered as <literal>installed</literal> and dpkg "
3249 "treats them as <literal>unpacked</literal> currently which is a dealbreaker "
3250 "for Pre-Dependencies (see debbugs #526774). Note that this will process all "
3251 "triggers, not only the triggers needed to configure this package."
3254 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
3255 #: apt.conf.5.xml:700
3257 "As the configuration can be deferred to be done at the end by dpkg it can be "
3258 "tried to order the unpack series only by critical needs, e.g. by "
3259 "Pre-Depends. Default is true and therefore the \"old\" method of ordering in "
3260 "various steps by everything. While both method were present in earlier APT "
3261 "versions the <literal>OrderCritical</literal> method was unused, so this "
3262 "method is very experimental and needs further improvements before becoming "
3266 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para><literallayout>
3267 #: apt.conf.5.xml:715
3270 "OrderList::Score {\n"
3272 "\tEssential 200;\n"
3274 "\tPreDepends 50;\n"
3278 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
3279 #: apt.conf.5.xml:708
3281 "Essential packages (and there dependencies) should be configured immediately "
3282 "after unpacking. It will be a good idea to do this quite early in the "
3283 "upgrade process as these these configure calls require currently also "
3284 "<literal>DPkg::TriggersPending</literal> which will run quite a few triggers "
3285 "(which maybe not needed). Essentials get per default a high score but the "
3286 "immediate flag is relatively low (a package which has a Pre-Depends is "
3287 "higher rated). These option and the others in the same group can be used to "
3288 "change the scoring. The following example shows the settings with there "
3289 "default values. <placeholder type=\"literallayout\" id=\"0\"/>"
3292 #. type: Content of: <refentry><refsect1><title>
3293 #: apt.conf.5.xml:728
3294 msgid "Periodic and Archives options"
3297 #. type: Content of: <refentry><refsect1><para>
3298 #: apt.conf.5.xml:729
3300 "<literal>APT::Periodic</literal> and <literal>APT::Archives</literal> groups "
3301 "of options configure behavior of apt periodic updates, which is done by "
3302 "<literal>/etc/cron.daily/apt</literal> script. See header of this script for "
3303 "the brief documentation of these options."
3306 #. type: Content of: <refentry><refsect1><title>
3307 #: apt.conf.5.xml:737
3308 msgid "Debug options"
3311 #. type: Content of: <refentry><refsect1><para>
3312 #: apt.conf.5.xml:739
3314 "Enabling options in the <literal>Debug::</literal> section will cause "
3315 "debugging information to be sent to the standard error stream of the program "
3316 "utilizing the <literal>apt</literal> libraries, or enable special program "
3317 "modes that are primarily useful for debugging the behavior of "
3318 "<literal>apt</literal>. Most of these options are not interesting to a "
3319 "normal user, but a few may be:"
3322 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
3323 #: apt.conf.5.xml:750
3325 "<literal>Debug::pkgProblemResolver</literal> enables output about the "
3326 "decisions made by <literal>dist-upgrade, upgrade, install, remove, "
3330 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
3331 #: apt.conf.5.xml:758
3333 "<literal>Debug::NoLocking</literal> disables all file locking. This can be "
3334 "used to run some operations (for instance, <literal>apt-get -s "
3335 "install</literal>) as a non-root user."
3338 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
3339 #: apt.conf.5.xml:767
3341 "<literal>Debug::pkgDPkgPM</literal> prints out the actual command line each "
3342 "time that <literal>apt</literal> invokes &dpkg;."
3346 #. motivating example, except I haven't a clue why you'd want
3348 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
3349 #: apt.conf.5.xml:775
3351 "<literal>Debug::IdentCdrom</literal> disables the inclusion of statfs data "
3355 #. type: Content of: <refentry><refsect1><para>
3356 #: apt.conf.5.xml:785
3357 msgid "A full list of debugging options to apt follows."
3360 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
3361 #: apt.conf.5.xml:794
3362 msgid "Print information related to accessing <literal>cdrom://</literal> sources."
3365 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
3366 #: apt.conf.5.xml:805
3367 msgid "Print information related to downloading packages using FTP."
3370 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
3371 #: apt.conf.5.xml:816
3372 msgid "Print information related to downloading packages using HTTP."
3375 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
3376 #: apt.conf.5.xml:827
3377 msgid "Print information related to downloading packages using HTTPS."
3380 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
3381 #: apt.conf.5.xml:838
3383 "Print information related to verifying cryptographic signatures using "
3384 "<literal>gpg</literal>."
3387 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
3388 #: apt.conf.5.xml:849
3390 "Output information about the process of accessing collections of packages "
3391 "stored on CD-ROMs."
3394 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
3395 #: apt.conf.5.xml:859
3396 msgid "Describes the process of resolving build-dependencies in &apt-get;."
3399 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
3400 #: apt.conf.5.xml:869
3402 "Output each cryptographic hash that is generated by the "
3403 "<literal>apt</literal> libraries."
3406 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
3407 #: apt.conf.5.xml:879
3409 "Do not include information from <literal>statfs</literal>, namely the number "
3410 "of used and free blocks on the CD-ROM filesystem, when generating an ID for "
3414 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
3415 #: apt.conf.5.xml:890
3417 "Disable all file locking. For instance, this will allow two instances of "
3418 "<quote><literal>apt-get update</literal></quote> to run at the same time."
3421 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
3422 #: apt.conf.5.xml:902
3423 msgid "Log when items are added to or removed from the global download queue."
3426 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
3427 #: apt.conf.5.xml:912
3429 "Output status messages and errors related to verifying checksums and "
3430 "cryptographic signatures of downloaded files."
3433 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
3434 #: apt.conf.5.xml:922
3436 "Output information about downloading and applying package index list diffs, "
3437 "and errors relating to package index list diffs."
3440 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
3441 #: apt.conf.5.xml:934
3443 "Output information related to patching apt package lists when downloading "
3444 "index diffs instead of full indices."
3447 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
3448 #: apt.conf.5.xml:945
3449 msgid "Log all interactions with the sub-processes that actually perform downloads."
3452 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
3453 #: apt.conf.5.xml:956
3455 "Log events related to the automatically-installed status of packages and to "
3456 "the removal of unused packages."
3459 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
3460 #: apt.conf.5.xml:966
3462 "Generate debug messages describing which packages are being automatically "
3463 "installed to resolve dependencies. This corresponds to the initial "
3464 "auto-install pass performed in, e.g., <literal>apt-get install</literal>, "
3465 "and not to the full <literal>apt</literal> dependency resolver; see "
3466 "<literal>Debug::pkgProblemResolver</literal> for that."
3469 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
3470 #: apt.conf.5.xml:980
3472 "Generate debug messages describing which package is marked as "
3473 "keep/install/remove while the ProblemResolver does his work. Each addition "
3474 "or deletion may trigger additional actions; they are shown indented two "
3475 "additional space under the original entry. The format for each line is "
3476 "<literal>MarkKeep</literal>, <literal>MarkDelete</literal> or "
3477 "<literal>MarkInstall</literal> followed by <literal>package-name <a.b.c "
3478 "-> d.e.f | x.y.z> (section)</literal> where <literal>a.b.c</literal> "
3479 "is the current version of the package, <literal>d.e.f</literal> is the "
3480 "version considered for installation and <literal>x.y.z</literal> is a newer "
3481 "version, but not considered for installation (because of a low pin "
3482 "score). The later two can be omitted if there is none or if it is the same "
3483 "version as the installed. <literal>section</literal> is the name of the "
3484 "section the package appears in."
3487 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
3488 #: apt.conf.5.xml:1002
3489 msgid "Dump the default configuration to standard error on startup."
3492 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
3493 #: apt.conf.5.xml:1012
3495 "When invoking &dpkg;, output the precise command line with which it is being "
3496 "invoked, with arguments separated by a single space character."
3499 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
3500 #: apt.conf.5.xml:1023
3502 "Output all the data received from &dpkg; on the status file descriptor and "
3503 "any errors encountered while parsing it."
3506 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
3507 #: apt.conf.5.xml:1034
3509 "Generate a trace of the algorithm that decides the order in which "
3510 "<literal>apt</literal> should pass packages to &dpkg;."
3513 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
3514 #: apt.conf.5.xml:1046
3515 msgid "Output status messages tracing the steps performed when invoking &dpkg;."
3518 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
3519 #: apt.conf.5.xml:1057
3520 msgid "Output the priority of each package list on startup."
3523 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
3524 #: apt.conf.5.xml:1067
3526 "Trace the execution of the dependency resolver (this applies only to what "
3527 "happens when a complex dependency problem is encountered)."
3530 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
3531 #: apt.conf.5.xml:1078
3533 "Display a list of all installed packages with their calculated score used by "
3534 "the pkgProblemResolver. The description of the package is the same as "
3535 "described in <literal>Debug::pkgDepCache::Marker</literal>"
3538 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
3539 #: apt.conf.5.xml:1090
3541 "Print information about the vendors read from "
3542 "<filename>/etc/apt/vendors.list</filename>."
3545 #. type: Content of: <refentry><refsect1><title>
3546 #: apt.conf.5.xml:1112 apt_preferences.5.xml:545 sources.list.5.xml:211 apt-ftparchive.1.xml:596
3550 #. type: Content of: <refentry><refsect1><para>
3551 #: apt.conf.5.xml:1113
3553 "&configureindex; is a configuration file showing example values for all "
3557 #. ? reading apt.conf
3558 #. type: Content of: <refentry><refsect1><para>
3559 #: apt.conf.5.xml:1125
3560 msgid "&apt-cache;, &apt-config;, &apt-preferences;."
3563 #. type: Content of: <refentry><refnamediv><refpurpose>
3564 #: apt_preferences.5.xml:32
3565 msgid "Preference control file for APT"
3568 #. type: Content of: <refentry><refsect1><para>
3569 #: apt_preferences.5.xml:37
3571 "The APT preferences file <filename>/etc/apt/preferences</filename> and the "
3572 "fragment files in the <filename>/etc/apt/preferences.d/</filename> folder "
3573 "can be used to control which versions of packages will be selected for "
3577 #. type: Content of: <refentry><refsect1><para>
3578 #: apt_preferences.5.xml:42
3580 "Several versions of a package may be available for installation when the "
3581 "&sources-list; file contains references to more than one distribution (for "
3582 "example, <literal>stable</literal> and <literal>testing</literal>). APT "
3583 "assigns a priority to each version that is available. Subject to dependency "
3584 "constraints, <command>apt-get</command> selects the version with the highest "
3585 "priority for installation. The APT preferences override the priorities that "
3586 "APT assigns to package versions by default, thus giving the user control "
3587 "over which one is selected for installation."
3590 #. type: Content of: <refentry><refsect1><para>
3591 #: apt_preferences.5.xml:52
3593 "Several instances of the same version of a package may be available when the "
3594 "&sources-list; file contains references to more than one source. In this "
3595 "case <command>apt-get</command> downloads the instance listed earliest in "
3596 "the &sources-list; file. The APT preferences do not affect the choice of "
3597 "instance, only the choice of version."
3600 #. type: Content of: <refentry><refsect1><para>
3601 #: apt_preferences.5.xml:59
3603 "Preferences are a strong power in the hands of a system administrator but "
3604 "they can become also their biggest nightmare if used without care! APT will "
3605 "not question the preferences, so wrong settings can lead to uninstallable "
3606 "packages or wrong decisions while upgrading packages. Even more problems "
3607 "will arise if multiple distribution releases are mixed without a good "
3608 "understanding of the following paragraphs. Packages included in a specific "
3609 "release aren't tested in (and therefore don't always work as expected in) "
3610 "older or newer releases, or together with other packages from different "
3611 "releases. You have been warned."
3614 #. type: Content of: <refentry><refsect1><para>
3615 #: apt_preferences.5.xml:70
3617 "Note that the files in the <filename>/etc/apt/preferences.d</filename> "
3618 "directory are parsed in alphanumeric ascending order and need to obey the "
3619 "following naming convention: The files have either no or "
3620 "\"<literal>pref</literal>\" as filename extension and only contain "
3621 "alphanumeric, hyphen (-), underscore (_) and period (.) characters. "
3622 "Otherwise APT will print a notice that it has ignored a file, unless that "
3623 "file matches a pattern in the <literal>Dir::Ignore-Files-Silently</literal> "
3624 "configuration list - in this case it will be silently ignored."
3627 #. type: Content of: <refentry><refsect1><refsect2><title>
3628 #: apt_preferences.5.xml:79
3629 msgid "APT's Default Priority Assignments"
3632 #. type: Content of: <refentry><refsect1><refsect2><para><programlisting>
3633 #: apt_preferences.5.xml:94
3636 "<command>apt-get install -t testing "
3637 "<replaceable>some-package</replaceable></command>\n"
3640 #. type: Content of: <refentry><refsect1><refsect2><para><programlisting>
3641 #: apt_preferences.5.xml:97
3643 msgid "APT::Default-Release \"stable\";\n"
3646 #. type: Content of: <refentry><refsect1><refsect2><para>
3647 #: apt_preferences.5.xml:81
3649 "If there is no preferences file or if there is no entry in the file that "
3650 "applies to a particular version then the priority assigned to that version "
3651 "is the priority of the distribution to which that version belongs. It is "
3652 "possible to single out a distribution, \"the target release\", which "
3653 "receives a higher priority than other distributions do by default. The "
3654 "target release can be set on the <command>apt-get</command> command line or "
3655 "in the APT configuration file <filename>/etc/apt/apt.conf</filename>. Note "
3656 "that this has precedence over any general priority you set in the "
3657 "<filename>/etc/apt/preferences</filename> file described later, but not over "
3658 "specifically pinned packages. For example, <placeholder "
3659 "type=\"programlisting\" id=\"0\"/> <placeholder type=\"programlisting\" "
3663 #. type: Content of: <refentry><refsect1><refsect2><para>
3664 #: apt_preferences.5.xml:101
3666 "If the target release has been specified then APT uses the following "
3667 "algorithm to set the priorities of the versions of a package. Assign:"
3670 #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term>
3671 #: apt_preferences.5.xml:106
3675 #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara>
3676 #: apt_preferences.5.xml:107
3678 "to the versions coming from archives which in their "
3679 "<filename>Release</filename> files are marked as \"NotAutomatic: yes\" but "
3680 "<emphasis>not</emphasis> as \"ButAutomaticUpgrades: yes\" like the Debian "
3681 "<literal>experimental</literal> archive."
3684 #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term>
3685 #: apt_preferences.5.xml:113
3686 msgid "priority 100"
3689 #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara>
3690 #: apt_preferences.5.xml:114
3692 "to the version that is already installed (if any) and to the versions coming "
3693 "from archives which in their <filename>Release</filename> files are marked "
3694 "as \"NotAutomatic: yes\" and \"ButAutomaticUpgrades: yes\" like the Debian "
3695 "backports archive since <literal>squeeze-backports</literal>."
3698 #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term>
3699 #: apt_preferences.5.xml:121
3700 msgid "priority 500"
3703 #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara>
3704 #: apt_preferences.5.xml:122
3706 "to the versions that are not installed and do not belong to the target "
3710 #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term>
3711 #: apt_preferences.5.xml:126
3712 msgid "priority 990"
3715 #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara>
3716 #: apt_preferences.5.xml:127
3717 msgid "to the versions that are not installed and belong to the target release."
3720 #. type: Content of: <refentry><refsect1><refsect2><para>
3721 #: apt_preferences.5.xml:132
3723 "If the target release has not been specified then APT simply assigns "
3724 "priority 100 to all installed package versions and priority 500 to all "
3725 "uninstalled package versions, except versions coming from archives which in "
3726 "their <filename>Release</filename> files are marked as \"NotAutomatic: yes\" "
3727 "- these versions get the priority 1 or priority 100 if it is additionally "
3728 "marked as \"ButAutomaticUpgrades: yes\"."
3731 #. type: Content of: <refentry><refsect1><refsect2><para>
3732 #: apt_preferences.5.xml:139
3734 "APT then applies the following rules, listed in order of precedence, to "
3735 "determine which version of a package to install."
3738 #. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara>
3739 #: apt_preferences.5.xml:142
3741 "Never downgrade unless the priority of an available version exceeds 1000. "
3742 "(\"Downgrading\" is installing a less recent version of a package in place "
3743 "of a more recent version. Note that none of APT's default priorities "
3744 "exceeds 1000; such high priorities can only be set in the preferences file. "
3745 "Note also that downgrading a package can be risky.)"
3748 #. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara>
3749 #: apt_preferences.5.xml:148
3750 msgid "Install the highest priority version."
3753 #. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara>
3754 #: apt_preferences.5.xml:149
3756 "If two or more versions have the same priority, install the most recent one "
3757 "(that is, the one with the higher version number)."
3760 #. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara>
3761 #: apt_preferences.5.xml:152
3763 "If two or more versions have the same priority and version number but either "
3764 "the packages differ in some of their metadata or the "
3765 "<literal>--reinstall</literal> option is given, install the uninstalled one."
3768 #. type: Content of: <refentry><refsect1><refsect2><para>
3769 #: apt_preferences.5.xml:158
3771 "In a typical situation, the installed version of a package (priority 100) "
3772 "is not as recent as one of the versions available from the sources listed in "
3773 "the &sources-list; file (priority 500 or 990). Then the package will be "
3774 "upgraded when <command>apt-get install "
3775 "<replaceable>some-package</replaceable></command> or <command>apt-get "
3776 "upgrade</command> is executed."
3779 #. type: Content of: <refentry><refsect1><refsect2><para>
3780 #: apt_preferences.5.xml:165
3782 "More rarely, the installed version of a package is <emphasis>more</emphasis> "
3783 "recent than any of the other available versions. The package will not be "
3784 "downgraded when <command>apt-get install "
3785 "<replaceable>some-package</replaceable></command> or <command>apt-get "
3786 "upgrade</command> is executed."
3789 #. type: Content of: <refentry><refsect1><refsect2><para>
3790 #: apt_preferences.5.xml:170
3792 "Sometimes the installed version of a package is more recent than the version "
3793 "belonging to the target release, but not as recent as a version belonging to "
3794 "some other distribution. Such a package will indeed be upgraded when "
3795 "<command>apt-get install <replaceable>some-package</replaceable></command> "
3796 "or <command>apt-get upgrade</command> is executed, because at least "
3797 "<emphasis>one</emphasis> of the available versions has a higher priority "
3798 "than the installed version."
3801 #. type: Content of: <refentry><refsect1><refsect2><title>
3802 #: apt_preferences.5.xml:179
3803 msgid "The Effect of APT Preferences"
3806 #. type: Content of: <refentry><refsect1><refsect2><para>
3807 #: apt_preferences.5.xml:181
3809 "The APT preferences file allows the system administrator to control the "
3810 "assignment of priorities. The file consists of one or more multi-line "
3811 "records separated by blank lines. Records can have one of two forms, a "
3812 "specific form and a general form."
3815 #. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara>
3816 #: apt_preferences.5.xml:187
3818 "The specific form assigns a priority (a \"Pin-Priority\") to one or more "
3819 "specified packages with a specified version or version range. For example, "
3820 "the following record assigns a high priority to all versions of the "
3821 "<filename>perl</filename> package whose version number begins with "
3822 "\"<literal>&good-perl;</literal>\". Multiple packages can be separated by "
3826 #. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><programlisting>
3827 #: apt_preferences.5.xml:194
3831 "Pin: version &good-perl;*\n"
3832 "Pin-Priority: 1001\n"
3835 #. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara>
3836 #: apt_preferences.5.xml:200
3838 "The general form assigns a priority to all of the package versions in a "
3839 "given distribution (that is, to all the versions of packages that are listed "
3840 "in a certain <filename>Release</filename> file) or to all of the package "
3841 "versions coming from a particular Internet site, as identified by the site's "
3842 "fully qualified domain name."
3845 #. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara>
3846 #: apt_preferences.5.xml:206
3848 "This general-form entry in the APT preferences file applies only to groups "
3849 "of packages. For example, the following record assigns a high priority to "
3850 "all package versions available from the local site."
3853 #. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><programlisting>
3854 #: apt_preferences.5.xml:211
3858 "Pin: origin \"\"\n"
3859 "Pin-Priority: 999\n"
3862 #. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara>
3863 #: apt_preferences.5.xml:216
3865 "A note of caution: the keyword used here is \"<literal>origin</literal>\" "
3866 "which can be used to match a hostname. The following record will assign a "
3867 "high priority to all versions available from the server identified by the "
3868 "hostname \"ftp.de.debian.org\""
3871 #. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><programlisting>
3872 #: apt_preferences.5.xml:220
3876 "Pin: origin \"ftp.de.debian.org\"\n"
3877 "Pin-Priority: 999\n"
3880 #. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara>
3881 #: apt_preferences.5.xml:224
3883 "This should <emphasis>not</emphasis> be confused with the Origin of a "
3884 "distribution as specified in a <filename>Release</filename> file. What "
3885 "follows the \"Origin:\" tag in a <filename>Release</filename> file is not an "
3886 "Internet address but an author or vendor name, such as \"Debian\" or "
3890 #. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara>
3891 #: apt_preferences.5.xml:229
3893 "The following record assigns a low priority to all package versions "
3894 "belonging to any distribution whose Archive name is "
3895 "\"<literal>unstable</literal>\"."
3898 #. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><programlisting>
3899 #: apt_preferences.5.xml:233
3903 "Pin: release a=unstable\n"
3904 "Pin-Priority: 50\n"
3907 #. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara>
3908 #: apt_preferences.5.xml:238
3910 "The following record assigns a high priority to all package versions "
3911 "belonging to any distribution whose Codename is "
3912 "\"<literal>&testing-codename;</literal>\"."
3915 #. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><programlisting>
3916 #: apt_preferences.5.xml:242
3920 "Pin: release n=&testing-codename;\n"
3921 "Pin-Priority: 900\n"
3924 #. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara>
3925 #: apt_preferences.5.xml:247
3927 "The following record assigns a high priority to all package versions "
3928 "belonging to any release whose Archive name is \"<literal>stable</literal>\" "
3929 "and whose release Version number is \"<literal>&stable-version;</literal>\"."
3932 #. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><programlisting>
3933 #: apt_preferences.5.xml:252
3937 "Pin: release a=stable, v=&stable-version;\n"
3938 "Pin-Priority: 500\n"
3941 #. type: Content of: <refentry><refsect1><refsect2><title>
3942 #: apt_preferences.5.xml:262
3943 msgid "Regular expressions and &glob; syntax"
3946 #. type: Content of: <refentry><refsect1><refsect2><para>
3947 #: apt_preferences.5.xml:264
3949 "APT also supports pinning by &glob; expressions, and regular expressions "
3950 "surrounded by slashes. For example, the following example assigns the "
3951 "priority 500 to all packages from experimental where the name starts with "
3952 "gnome (as a &glob;-like expression) or contains the word kde (as a POSIX "
3953 "extended regular expression surrounded by slashes)."
3956 #. type: Content of: <refentry><refsect1><refsect2><programlisting>
3957 #: apt_preferences.5.xml:273
3960 "Package: gnome* /kde/\n"
3961 "Pin: release n=experimental\n"
3962 "Pin-Priority: 500\n"
3965 #. type: Content of: <refentry><refsect1><refsect2><para>
3966 #: apt_preferences.5.xml:279
3968 "The rule for those expressions is that they can occur anywhere where a "
3969 "string can occur. Thus, the following pin assigns the priority 990 to all "
3970 "packages from a release starting with &ubuntu-codename;."
3973 #. type: Content of: <refentry><refsect1><refsect2><programlisting>
3974 #: apt_preferences.5.xml:285
3978 "Pin: release n=&ubuntu-codename;*\n"
3979 "Pin-Priority: 990\n"
3982 #. type: Content of: <refentry><refsect1><refsect2><para>
3983 #: apt_preferences.5.xml:291
3985 "If a regular expression occurs in a <literal>Package</literal> field, the "
3986 "behavior is the same as if this regular expression were replaced with a list "
3987 "of all package names it matches. It is undecided whether this will change in "
3988 "the future; thus you should always list wild-card pins first, so later "
3989 "specific pins override it. The pattern \"<literal>*</literal>\" in a "
3990 "Package field is not considered a &glob; expression in itself."
3993 #. type: Content of: <refentry><refsect1><refsect2><title>
3994 #: apt_preferences.5.xml:307
3995 msgid "How APT Interprets Priorities"
3998 #. type: Content of: <refentry><refsect1><refsect2><para>
3999 #: apt_preferences.5.xml:310
4001 "Priorities (P) assigned in the APT preferences file must be positive or "
4002 "negative integers. They are interpreted as follows (roughly speaking):"
4005 #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term>
4006 #: apt_preferences.5.xml:315
4010 #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara>
4011 #: apt_preferences.5.xml:316
4013 "causes a version to be installed even if this constitutes a downgrade of the "
4017 #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term>
4018 #: apt_preferences.5.xml:320
4019 msgid "990 < P <=1000"
4022 #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara>
4023 #: apt_preferences.5.xml:321
4025 "causes a version to be installed even if it does not come from the target "
4026 "release, unless the installed version is more recent"
4029 #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term>
4030 #: apt_preferences.5.xml:326
4031 msgid "500 < P <=990"
4034 #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara>
4035 #: apt_preferences.5.xml:327
4037 "causes a version to be installed unless there is a version available "
4038 "belonging to the target release or the installed version is more recent"
4041 #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term>
4042 #: apt_preferences.5.xml:332
4043 msgid "100 < P <=500"
4046 #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara>
4047 #: apt_preferences.5.xml:333
4049 "causes a version to be installed unless there is a version available "
4050 "belonging to some other distribution or the installed version is more recent"
4053 #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term>
4054 #: apt_preferences.5.xml:338
4055 msgid "0 < P <=100"
4058 #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara>
4059 #: apt_preferences.5.xml:339
4061 "causes a version to be installed only if there is no installed version of "
4065 #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term>
4066 #: apt_preferences.5.xml:343
4070 #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara>
4071 #: apt_preferences.5.xml:344
4072 msgid "prevents the version from being installed"
4075 #. type: Content of: <refentry><refsect1><refsect2><para>
4076 #: apt_preferences.5.xml:349
4078 "If any specific-form records match an available package version then the "
4079 "first such record determines the priority of the package version. Failing "
4080 "that, if any general-form records match an available package version then "
4081 "the first such record determines the priority of the package version."
4084 #. type: Content of: <refentry><refsect1><refsect2><para>
4085 #: apt_preferences.5.xml:355
4087 "For example, suppose the APT preferences file contains the three records "
4088 "presented earlier:"
4091 #. type: Content of: <refentry><refsect1><refsect2><programlisting>
4092 #: apt_preferences.5.xml:359
4096 "Pin: version &good-perl;*\n"
4097 "Pin-Priority: 1001\n"
4100 "Pin: origin \"\"\n"
4101 "Pin-Priority: 999\n"
4104 "Pin: release unstable\n"
4105 "Pin-Priority: 50\n"
4108 #. type: Content of: <refentry><refsect1><refsect2><para>
4109 #: apt_preferences.5.xml:372
4113 #. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara>
4114 #: apt_preferences.5.xml:374
4116 "The most recent available version of the <literal>perl</literal> package "
4117 "will be installed, so long as that version's version number begins with "
4118 "\"<literal>&good-perl;</literal>\". If <emphasis>any</emphasis> "
4119 "&good-perl;* version of <literal>perl</literal> is available and the "
4120 "installed version is &bad-perl;*, then <literal>perl</literal> will be "
4124 #. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara>
4125 #: apt_preferences.5.xml:379
4127 "A version of any package other than <literal>perl</literal> that is "
4128 "available from the local system has priority over other versions, even "
4129 "versions belonging to the target release."
4132 #. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara>
4133 #: apt_preferences.5.xml:383
4135 "A version of a package whose origin is not the local system but some other "
4136 "site listed in &sources-list; and which belongs to an "
4137 "<literal>unstable</literal> distribution is only installed if it is selected "
4138 "for installation and no version of the package is already installed."
4141 #. type: Content of: <refentry><refsect1><refsect2><title>
4142 #: apt_preferences.5.xml:393
4143 msgid "Determination of Package Version and Distribution Properties"
4146 #. type: Content of: <refentry><refsect1><refsect2><para>
4147 #: apt_preferences.5.xml:395
4149 "The locations listed in the &sources-list; file should provide "
4150 "<filename>Packages</filename> and <filename>Release</filename> files to "
4151 "describe the packages available at that location."
4154 #. type: Content of: <refentry><refsect1><refsect2><para>
4155 #: apt_preferences.5.xml:399
4157 "The <filename>Packages</filename> file is normally found in the directory "
4158 "<filename>.../dists/<replaceable>dist-name</replaceable>/<replaceable>component</replaceable>/<replaceable>arch</replaceable></filename>: "
4160 "<filename>.../dists/stable/main/binary-i386/Packages</filename>. It "
4161 "consists of a series of multi-line records, one for each package available "
4162 "in that directory. Only two lines in each record are relevant for setting "
4166 #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term>
4167 #: apt_preferences.5.xml:407
4168 msgid "the <literal>Package:</literal> line"
4171 #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara>
4172 #: apt_preferences.5.xml:408
4173 msgid "gives the package name"
4176 #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term>
4177 #: apt_preferences.5.xml:411 apt_preferences.5.xml:461
4178 msgid "the <literal>Version:</literal> line"
4181 #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara>
4182 #: apt_preferences.5.xml:412
4183 msgid "gives the version number for the named package"
4186 #. type: Content of: <refentry><refsect1><refsect2><para>
4187 #: apt_preferences.5.xml:417
4189 "The <filename>Release</filename> file is normally found in the directory "
4190 "<filename>.../dists/<replaceable>dist-name</replaceable></filename>: for "
4191 "example, <filename>.../dists/stable/Release</filename>, or "
4192 "<filename>.../dists/&stable-codename;/Release</filename>. It consists of a "
4193 "single multi-line record which applies to <emphasis>all</emphasis> of the "
4194 "packages in the directory tree below its parent. Unlike the "
4195 "<filename>Packages</filename> file, nearly all of the lines in a "
4196 "<filename>Release</filename> file are relevant for setting APT priorities:"
4199 #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term>
4200 #: apt_preferences.5.xml:428
4201 msgid "the <literal>Archive:</literal> or <literal>Suite:</literal> line"
4204 #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara>
4205 #: apt_preferences.5.xml:429
4207 "names the archive to which all the packages in the directory tree belong. "
4208 "For example, the line \"Archive: stable\" or \"Suite: stable\" specifies "
4209 "that all of the packages in the directory tree below the parent of the "
4210 "<filename>Release</filename> file are in a <literal>stable</literal> "
4211 "archive. Specifying this value in the APT preferences file would require "
4215 #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting>
4216 #: apt_preferences.5.xml:439
4218 msgid "Pin: release a=stable\n"
4221 #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term>
4222 #: apt_preferences.5.xml:445
4223 msgid "the <literal>Codename:</literal> line"
4226 #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara>
4227 #: apt_preferences.5.xml:446
4229 "names the codename to which all the packages in the directory tree belong. "
4230 "For example, the line \"Codename: &testing-codename;\" specifies that all of "
4231 "the packages in the directory tree below the parent of the "
4232 "<filename>Release</filename> file belong to a version named "
4233 "<literal>&testing-codename;</literal>. Specifying this value in the APT "
4234 "preferences file would require the line:"
4237 #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting>
4238 #: apt_preferences.5.xml:455
4240 msgid "Pin: release n=&testing-codename;\n"
4243 #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara>
4244 #: apt_preferences.5.xml:462
4246 "names the release version. For example, the packages in the tree might "
4247 "belong to Debian release version &stable-version;. Note that there is "
4248 "normally no version number for the <literal>testing</literal> and "
4249 "<literal>unstable</literal> distributions because they have not been "
4250 "released yet. Specifying this in the APT preferences file would require one "
4251 "of the following lines."
4254 #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting>
4255 #: apt_preferences.5.xml:471
4258 "Pin: release v=&stable-version;\n"
4259 "Pin: release a=stable, v=&stable-version;\n"
4260 "Pin: release &stable-version;\n"
4263 #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term>
4264 #: apt_preferences.5.xml:480
4265 msgid "the <literal>Component:</literal> line"
4268 #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara>
4269 #: apt_preferences.5.xml:481
4271 "names the licensing component associated with the packages in the directory "
4272 "tree of the <filename>Release</filename> file. For example, the line "
4273 "\"Component: main\" specifies that all the packages in the directory tree "
4274 "are from the <literal>main</literal> component, which entails that they are "
4275 "licensed under terms listed in the Debian Free Software Guidelines. "
4276 "Specifying this component in the APT preferences file would require the "
4280 #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting>
4281 #: apt_preferences.5.xml:490
4283 msgid "Pin: release c=main\n"
4286 #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term>
4287 #: apt_preferences.5.xml:496
4288 msgid "the <literal>Origin:</literal> line"
4291 #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara>
4292 #: apt_preferences.5.xml:497
4294 "names the originator of the packages in the directory tree of the "
4295 "<filename>Release</filename> file. Most commonly, this is "
4296 "<literal>Debian</literal>. Specifying this origin in the APT preferences "
4297 "file would require the line:"
4300 #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting>
4301 #: apt_preferences.5.xml:503
4303 msgid "Pin: release o=Debian\n"
4306 #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term>
4307 #: apt_preferences.5.xml:509
4308 msgid "the <literal>Label:</literal> line"
4311 #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara>
4312 #: apt_preferences.5.xml:510
4314 "names the label of the packages in the directory tree of the "
4315 "<filename>Release</filename> file. Most commonly, this is "
4316 "<literal>Debian</literal>. Specifying this label in the APT preferences "
4317 "file would require the line:"
4320 #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting>
4321 #: apt_preferences.5.xml:516
4323 msgid "Pin: release l=Debian\n"
4326 #. type: Content of: <refentry><refsect1><refsect2><para>
4327 #: apt_preferences.5.xml:523
4329 "All of the <filename>Packages</filename> and <filename>Release</filename> "
4330 "files retrieved from locations listed in the &sources-list; file are stored "
4331 "in the directory <filename>/var/lib/apt/lists</filename>, or in the file "
4332 "named by the variable <literal>Dir::State::Lists</literal> in the "
4333 "<filename>apt.conf</filename> file. For example, the file "
4334 "<filename>debian.lcs.mit.edu_debian_dists_unstable_contrib_binary-i386_Release</filename> "
4335 "contains the <filename>Release</filename> file retrieved from the site "
4336 "<literal>debian.lcs.mit.edu</literal> for <literal>binary-i386</literal> "
4337 "architecture files from the <literal>contrib</literal> component of the "
4338 "<literal>unstable</literal> distribution."
4341 #. type: Content of: <refentry><refsect1><refsect2><title>
4342 #: apt_preferences.5.xml:536
4343 msgid "Optional Lines in an APT Preferences Record"
4346 #. type: Content of: <refentry><refsect1><refsect2><para>
4347 #: apt_preferences.5.xml:538
4349 "Each record in the APT preferences file can optionally begin with one or "
4350 "more lines beginning with the word <literal>Explanation:</literal>. This "
4351 "provides a place for comments."
4354 #. type: Content of: <refentry><refsect1><refsect2><title>
4355 #: apt_preferences.5.xml:547
4356 msgid "Tracking Stable"
4359 #. type: Content of: <refentry><refsect1><refsect2><para><programlisting>
4360 #: apt_preferences.5.xml:555
4363 "Explanation: Uninstall or do not install any Debian-originated\n"
4364 "Explanation: package versions other than those in the stable distro\n"
4366 "Pin: release a=stable\n"
4367 "Pin-Priority: 900\n"
4370 "Pin: release o=Debian\n"
4371 "Pin-Priority: -10\n"
4374 #. type: Content of: <refentry><refsect1><refsect2><para>
4375 #: apt_preferences.5.xml:549
4377 "The following APT preferences file will cause APT to assign a priority "
4378 "higher than the default (500) to all package versions belonging to a "
4379 "<literal>stable</literal> distribution and a prohibitively low priority to "
4380 "package versions belonging to other <literal>Debian</literal> "
4381 "distributions. <placeholder type=\"programlisting\" id=\"0\"/>"
4384 #. type: Content of: <refentry><refsect1><refsect2><para><programlisting>
4385 #: apt_preferences.5.xml:572 apt_preferences.5.xml:618 apt_preferences.5.xml:676
4388 "apt-get install <replaceable>package-name</replaceable>\n"
4390 "apt-get dist-upgrade\n"
4393 #. type: Content of: <refentry><refsect1><refsect2><para>
4394 #: apt_preferences.5.xml:567
4396 "With a suitable &sources-list; file and the above preferences file, any of "
4397 "the following commands will cause APT to upgrade to the latest "
4398 "<literal>stable</literal> version(s). <placeholder type=\"programlisting\" "
4402 #. type: Content of: <refentry><refsect1><refsect2><para><programlisting>
4403 #: apt_preferences.5.xml:584
4405 msgid "apt-get install <replaceable>package</replaceable>/testing\n"
4408 #. type: Content of: <refentry><refsect1><refsect2><para>
4409 #: apt_preferences.5.xml:578
4411 "The following command will cause APT to upgrade the specified package to the "
4412 "latest version from the <literal>testing</literal> distribution; the package "
4413 "will not be upgraded again unless this command is given again. <placeholder "
4414 "type=\"programlisting\" id=\"0\"/>"
4417 #. type: Content of: <refentry><refsect1><refsect2><title>
4418 #: apt_preferences.5.xml:590
4419 msgid "Tracking Testing or Unstable"
4422 #. type: Content of: <refentry><refsect1><refsect2><para><programlisting>
4423 #: apt_preferences.5.xml:599
4427 "Pin: release a=testing\n"
4428 "Pin-Priority: 900\n"
4431 "Pin: release a=unstable\n"
4432 "Pin-Priority: 800\n"
4435 "Pin: release o=Debian\n"
4436 "Pin-Priority: -10\n"
4439 #. type: Content of: <refentry><refsect1><refsect2><para>
4440 #: apt_preferences.5.xml:592
4442 "The following APT preferences file will cause APT to assign a high priority "
4443 "to package versions from the <literal>testing</literal> distribution, a "
4444 "lower priority to package versions from the <literal>unstable</literal> "
4445 "distribution, and a prohibitively low priority to package versions from "
4446 "other <literal>Debian</literal> distributions. <placeholder "
4447 "type=\"programlisting\" id=\"0\"/>"
4450 #. type: Content of: <refentry><refsect1><refsect2><para>
4451 #: apt_preferences.5.xml:613
4453 "With a suitable &sources-list; file and the above preferences file, any of "
4454 "the following commands will cause APT to upgrade to the latest "
4455 "<literal>testing</literal> version(s). <placeholder type=\"programlisting\" "
4459 #. type: Content of: <refentry><refsect1><refsect2><para><programlisting>
4460 #: apt_preferences.5.xml:633
4462 msgid "apt-get install <replaceable>package</replaceable>/unstable\n"
4465 #. type: Content of: <refentry><refsect1><refsect2><para>
4466 #: apt_preferences.5.xml:624
4468 "The following command will cause APT to upgrade the specified package to the "
4469 "latest version from the <literal>unstable</literal> distribution. "
4470 "Thereafter, <command>apt-get upgrade</command> will upgrade the package to "
4471 "the most recent <literal>testing</literal> version if that is more recent "
4472 "than the installed version, otherwise, to the most recent "
4473 "<literal>unstable</literal> version if that is more recent than the "
4474 "installed version. <placeholder type=\"programlisting\" id=\"0\"/>"
4477 #. type: Content of: <refentry><refsect1><refsect2><title>
4478 #: apt_preferences.5.xml:640
4479 msgid "Tracking the evolution of a codename release"
4482 #. type: Content of: <refentry><refsect1><refsect2><para><programlisting>
4483 #: apt_preferences.5.xml:654
4486 "Explanation: Uninstall or do not install any Debian-originated package "
4488 "Explanation: other than those in the distribution codenamed with "
4489 "&testing-codename; or sid\n"
4491 "Pin: release n=&testing-codename;\n"
4492 "Pin-Priority: 900\n"
4494 "Explanation: Debian unstable is always codenamed with sid\n"
4496 "Pin: release n=sid\n"
4497 "Pin-Priority: 800\n"
4500 "Pin: release o=Debian\n"
4501 "Pin-Priority: -10\n"
4504 #. type: Content of: <refentry><refsect1><refsect2><para>
4505 #: apt_preferences.5.xml:642
4507 "The following APT preferences file will cause APT to assign a priority "
4508 "higher than the default (500) to all package versions belonging to a "
4509 "specified codename of a distribution and a prohibitively low priority to "
4510 "package versions belonging to other <literal>Debian</literal> distributions, "
4511 "codenames and archives. Note that with this APT preference APT will follow "
4512 "the migration of a release from the archive <literal>testing</literal> to "
4513 "<literal>stable</literal> and later <literal>oldstable</literal>. If you "
4514 "want to follow for example the progress in <literal>testing</literal> "
4515 "notwithstanding the codename changes you should use the example "
4516 "configurations above. <placeholder type=\"programlisting\" id=\"0\"/>"
4519 #. type: Content of: <refentry><refsect1><refsect2><para>
4520 #: apt_preferences.5.xml:671
4522 "With a suitable &sources-list; file and the above preferences file, any of "
4523 "the following commands will cause APT to upgrade to the latest version(s) in "
4524 "the release codenamed with <literal>&testing-codename;</literal>. "
4525 "<placeholder type=\"programlisting\" id=\"0\"/>"
4528 #. type: Content of: <refentry><refsect1><refsect2><para><programlisting>
4529 #: apt_preferences.5.xml:691
4531 msgid "apt-get install <replaceable>package</replaceable>/sid\n"
4534 #. type: Content of: <refentry><refsect1><refsect2><para>
4535 #: apt_preferences.5.xml:682
4537 "The following command will cause APT to upgrade the specified package to the "
4538 "latest version from the <literal>sid</literal> distribution. Thereafter, "
4539 "<command>apt-get upgrade</command> will upgrade the package to the most "
4540 "recent <literal>&testing-codename;</literal> version if that is more recent "
4541 "than the installed version, otherwise, to the most recent "
4542 "<literal>sid</literal> version if that is more recent than the installed "
4543 "version. <placeholder type=\"programlisting\" id=\"0\"/>"
4546 #. type: Content of: <refentry><refsect1><para>
4547 #: apt_preferences.5.xml:706
4548 msgid "&apt-get; &apt-cache; &apt-conf; &sources-list;"
4551 #. type: Content of: <refentry><refnamediv><refpurpose>
4552 #: sources.list.5.xml:33
4553 msgid "Package resource list for APT"
4556 #. type: Content of: <refentry><refsect1><para>
4557 #: sources.list.5.xml:37
4559 "The package resource list is used to locate archives of the package "
4560 "distribution system in use on the system. At this time, this manual page "
4561 "documents only the packaging system used by the Debian system. This control "
4562 "file is <filename>/etc/apt/sources.list</filename>."
4565 #. type: Content of: <refentry><refsect1><para>
4566 #: sources.list.5.xml:42
4568 "The source list is designed to support any number of active sources and a "
4569 "variety of source media. The file lists one source per line, with the most "
4570 "preferred source listed first. The format of each line is: <literal>type uri "
4571 "args</literal> The first item, <literal>type</literal> determines the format "
4572 "for <literal>args</literal>. <literal>uri</literal> is a Universal Resource "
4573 "Identifier (URI), which is a superset of the more specific and well-known "
4574 "Universal Resource Locator, or URL. The rest of the line can be marked as a "
4575 "comment by using a #."
4578 #. type: Content of: <refentry><refsect1><title>
4579 #: sources.list.5.xml:53
4580 msgid "sources.list.d"
4583 #. type: Content of: <refentry><refsect1><para>
4584 #: sources.list.5.xml:54
4586 "The <filename>/etc/apt/sources.list.d</filename> directory provides a way to "
4587 "add sources.list entries in separate files. The format is the same as for "
4588 "the regular <filename>sources.list</filename> file. File names need to end "
4589 "with <filename>.list</filename> and may only contain letters (a-z and A-Z), "
4590 "digits (0-9), underscore (_), hyphen (-) and period (.) characters. "
4591 "Otherwise APT will print a notice that it has ignored a file, unless that "
4592 "file matches a pattern in the <literal>Dir::Ignore-Files-Silently</literal> "
4593 "configuration list - in this case it will be silently ignored."
4596 #. type: Content of: <refentry><refsect1><title>
4597 #: sources.list.5.xml:65
4598 msgid "The deb and deb-src types"
4601 #. type: Content of: <refentry><refsect1><para>
4602 #: sources.list.5.xml:66
4604 "The <literal>deb</literal> type describes a typical two-level Debian "
4605 "archive, <filename>distribution/component</filename>. Typically, "
4606 "<literal>distribution</literal> is generally an archivename like "
4607 "<literal>stable</literal> or <literal>testing</literal> or a codename like "
4608 "<literal>&stable-codename;</literal> or "
4609 "<literal>&testing-codename;</literal> while component is one of "
4610 "<literal>main</literal> <literal>contrib</literal> or "
4611 "<literal>non-free</literal>. The <literal>deb-src</literal> type describes a "
4612 "debian distribution's source code in the same form as the "
4613 "<literal>deb</literal> type. A <literal>deb-src</literal> line is required "
4614 "to fetch source indexes."
4617 #. type: Content of: <refentry><refsect1><para>
4618 #: sources.list.5.xml:78
4620 "The format for a <filename>sources.list</filename> entry using the "
4621 "<literal>deb</literal> and <literal>deb-src</literal> types is:"
4624 #. type: Content of: <refentry><refsect1><literallayout>
4625 #: sources.list.5.xml:81
4627 msgid "deb [ options ] uri distribution [component1] [component2] [...]"
4630 #. type: Content of: <refentry><refsect1><para>
4631 #: sources.list.5.xml:83
4633 "The URI for the <literal>deb</literal> type must specify the base of the "
4634 "Debian distribution, from which APT will find the information it needs. "
4635 "<literal>distribution</literal> can specify an exact path, in which case the "
4636 "components must be omitted and <literal>distribution</literal> must end with "
4637 "a slash (/). This is useful for when the case only a particular sub-section "
4638 "of the archive denoted by the URI is of interest. If "
4639 "<literal>distribution</literal> does not specify an exact path, at least one "
4640 "<literal>component</literal> must be present."
4643 #. type: Content of: <refentry><refsect1><para>
4644 #: sources.list.5.xml:92
4646 "<literal>distribution</literal> may also contain a variable, "
4647 "<literal>$(ARCH)</literal> which expands to the Debian architecture (i386, "
4648 "m68k, powerpc, ...) used on the system. This permits "
4649 "architecture-independent <filename>sources.list</filename> files to be "
4650 "used. In general this is only of interest when specifying an exact path, "
4651 "<literal>APT</literal> will automatically generate a URI with the current "
4652 "architecture otherwise."
4655 #. type: Content of: <refentry><refsect1><para>
4656 #: sources.list.5.xml:100
4658 "Since only one distribution can be specified per line it may be necessary to "
4659 "have multiple lines for the same URI, if a subset of all available "
4660 "distributions or components at that location is desired. APT will sort the "
4661 "URI list after it has generated a complete set internally, and will collapse "
4662 "multiple references to the same Internet host, for instance, into a single "
4663 "connection, so that it does not inefficiently establish an FTP connection, "
4664 "close it, do something else, and then re-establish a connection to that same "
4665 "host. This feature is useful for accessing busy FTP sites with limits on the "
4666 "number of simultaneous anonymous users. APT also parallelizes connections to "
4667 "different hosts to more effectively deal with sites with low bandwidth."
4670 #. type: Content of: <refentry><refsect1><para>
4671 #: sources.list.5.xml:112
4673 "<literal>options</literal> is always optional and needs to be surounded by "
4674 "square brackets. It can consist of multiple settings in the form "
4675 "<literal><replaceable>setting</replaceable>=<replaceable>value</replaceable></literal>. "
4676 "Multiple settings are separated by spaces. The following settings are "
4677 "supported by APT, note though that unsupported settings will be ignored "
4681 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
4682 #: sources.list.5.xml:117
4684 "<literal>arch=<replaceable>arch1</replaceable>,<replaceable>arch2</replaceable>,…</literal> "
4685 "can be used to specify for which architectures packages information should "
4686 "be downloaded. If this option is not set all architectures defined by the "
4687 "<literal>APT::Architectures</literal> option will be downloaded."
4690 #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
4691 #: sources.list.5.xml:121
4693 "<literal>trusted=yes</literal> can be set to indicate that packages from "
4694 "this source are always authenticated even if the "
4695 "<filename>Release</filename> file is not signed or the signature can't be "
4696 "checked. This disables parts of &apt-secure; and should therefore only be "
4697 "used in a local and trusted context. <literal>trusted=no</literal> is the "
4698 "opposite which handles even correctly authenticated sources as not "
4702 #. type: Content of: <refentry><refsect1><para>
4703 #: sources.list.5.xml:128
4705 "It is important to list sources in order of preference, with the most "
4706 "preferred source listed first. Typically this will result in sorting by "
4707 "speed from fastest to slowest (CD-ROM followed by hosts on a local network, "
4708 "followed by distant Internet hosts, for example)."
4711 #. type: Content of: <refentry><refsect1><para>
4712 #: sources.list.5.xml:133
4713 msgid "Some examples:"
4716 #. type: Content of: <refentry><refsect1><literallayout>
4717 #: sources.list.5.xml:135
4720 "deb http://ftp.debian.org/debian &stable-codename; main contrib non-free\n"
4721 "deb http://security.debian.org/ &stable-codename;/updates main contrib "
4726 #. type: Content of: <refentry><refsect1><title>
4727 #: sources.list.5.xml:141
4728 msgid "URI specification"
4731 #. type: Content of: <refentry><refsect1><para>
4732 #: sources.list.5.xml:143
4733 msgid "The currently recognized URI types are:"
4736 #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
4737 #: sources.list.5.xml:147
4739 "The file scheme allows an arbitrary directory in the file system to be "
4740 "considered an archive. This is useful for NFS mounts and local mirrors or "
4744 #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
4745 #: sources.list.5.xml:154
4747 "The cdrom scheme allows APT to use a local CD-ROM drive with media "
4748 "swapping. Use the &apt-cdrom; program to create cdrom entries in the source "
4752 #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
4753 #: sources.list.5.xml:161
4755 "The http scheme specifies an HTTP server for the archive. If an environment "
4756 "variable <envar>http_proxy</envar> is set with the format "
4757 "http://server:port/, the proxy server specified in <envar>http_proxy</envar> "
4758 "will be used. Users of authenticated HTTP/1.1 proxies may use a string of "
4759 "the format http://user:pass@server:port/. Note that this is an insecure "
4760 "method of authentication."
4763 #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
4764 #: sources.list.5.xml:172
4766 "The ftp scheme specifies an FTP server for the archive. APT's FTP behavior "
4767 "is highly configurable; for more information see the &apt-conf; manual "
4768 "page. Please note that a ftp proxy can be specified by using the "
4769 "<envar>ftp_proxy</envar> environment variable. It is possible to specify a "
4770 "http proxy (http proxy servers often understand ftp urls) using this method "
4771 "and ONLY this method. ftp proxies using http specified in the configuration "
4772 "file will be ignored."
4775 #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
4776 #: sources.list.5.xml:183
4778 "The copy scheme is identical to the file scheme except that packages are "
4779 "copied into the cache directory instead of used directly at their location. "
4780 "This is useful for people using a zip disk to copy files around with APT."
4783 #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
4784 #: sources.list.5.xml:190
4786 "The rsh/ssh method invokes rsh/ssh to connect to a remote host as a given "
4787 "user and access the files. It is a good idea to do prior arrangements with "
4788 "RSA keys or rhosts. Access to files on the remote uses standard "
4789 "<command>find</command> and <command>dd</command> commands to perform the "
4790 "file transfers from the remote."
4793 #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><term>
4794 #: sources.list.5.xml:198
4795 msgid "adding more recognizable URI types"
4798 #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
4799 #: sources.list.5.xml:200
4801 "APT can be extended with more methods shipped in other optional packages "
4802 "which should follow the nameing scheme "
4803 "<package>apt-transport-<replaceable>method</replaceable></package>. The APT "
4804 "team e.g. maintains also the <package>apt-transport-https</package> package "
4805 "which provides access methods for https-URIs with features similar to the "
4806 "http method, but other methods for using e.g. debtorrent are also available, "
4807 "see &apt-transport-debtorrent;."
4810 #. type: Content of: <refentry><refsect1><para>
4811 #: sources.list.5.xml:212
4813 "Uses the archive stored locally (or NFS mounted) at /home/jason/debian for "
4814 "stable/main, stable/contrib, and stable/non-free."
4817 #. type: Content of: <refentry><refsect1><literallayout>
4818 #: sources.list.5.xml:214
4820 msgid "deb file:/home/jason/debian stable main contrib non-free"
4823 #. type: Content of: <refentry><refsect1><para>
4824 #: sources.list.5.xml:216
4825 msgid "As above, except this uses the unstable (development) distribution."
4828 #. type: Content of: <refentry><refsect1><literallayout>
4829 #: sources.list.5.xml:217
4831 msgid "deb file:/home/jason/debian unstable main contrib non-free"
4834 #. type: Content of: <refentry><refsect1><para>
4835 #: sources.list.5.xml:219
4836 msgid "Source line for the above"
4839 #. type: Content of: <refentry><refsect1><literallayout>
4840 #: sources.list.5.xml:220
4842 msgid "deb-src file:/home/jason/debian unstable main contrib non-free"
4845 #. type: Content of: <refentry><refsect1><para>
4846 #: sources.list.5.xml:222
4848 "The first line gets package information for the architectures in "
4849 "<literal>APT::Architectures</literal> while the second always retrieves "
4850 "<literal>amd64</literal> and <literal>armel</literal>."
4853 #. type: Content of: <refentry><refsect1><literallayout>
4854 #: sources.list.5.xml:224
4857 "deb http://ftp.debian.org/debian &stable-codename; main\n"
4858 "deb [ arch=amd64,armel ] http://ftp.debian.org/debian &stable-codename; main"
4861 #. type: Content of: <refentry><refsect1><para>
4862 #: sources.list.5.xml:227
4864 "Uses HTTP to access the archive at archive.debian.org, and uses only the "
4868 #. type: Content of: <refentry><refsect1><literallayout>
4869 #: sources.list.5.xml:229
4871 msgid "deb http://archive.debian.org/debian-archive hamm main"
4874 #. type: Content of: <refentry><refsect1><para>
4875 #: sources.list.5.xml:231
4877 "Uses FTP to access the archive at ftp.debian.org, under the debian "
4878 "directory, and uses only the &stable-codename;/contrib area."
4881 #. type: Content of: <refentry><refsect1><literallayout>
4882 #: sources.list.5.xml:233
4884 msgid "deb ftp://ftp.debian.org/debian &stable-codename; contrib"
4887 #. type: Content of: <refentry><refsect1><para>
4888 #: sources.list.5.xml:235
4890 "Uses FTP to access the archive at ftp.debian.org, under the debian "
4891 "directory, and uses only the unstable/contrib area. If this line appears as "
4892 "well as the one in the previous example in <filename>sources.list</filename> "
4893 "a single FTP session will be used for both resource lines."
4896 #. type: Content of: <refentry><refsect1><literallayout>
4897 #: sources.list.5.xml:239
4899 msgid "deb ftp://ftp.debian.org/debian unstable contrib"
4902 #. type: Content of: <refentry><refsect1><para><literallayout>
4903 #: sources.list.5.xml:248
4905 msgid "deb http://ftp.tlh.debian.org/universe unstable/binary-$(ARCH)/"
4908 #. type: Content of: <refentry><refsect1><para>
4909 #: sources.list.5.xml:241
4911 "Uses HTTP to access the archive at ftp.tlh.debian.org, under the universe "
4912 "directory, and uses only files found under "
4913 "<filename>unstable/binary-i386</filename> on i386 machines, "
4914 "<filename>unstable/binary-amd64</filename> on amd64, and so forth for other "
4915 "supported architectures. [Note this example only illustrates how to use the "
4916 "substitution variable; official debian archives are not structured like "
4917 "this] <placeholder type=\"literallayout\" id=\"0\"/>"
4920 #. type: Content of: <refentry><refsect1><para>
4921 #: sources.list.5.xml:253
4922 msgid "&apt-cache; &apt-conf;"
4925 #. type: Content of: <refentry><refmeta><manvolnum>
4926 #: apt-extracttemplates.1.xml:26 apt-sortpkgs.1.xml:26 apt-ftparchive.1.xml:26
4930 #. type: Content of: <refentry><refnamediv><refpurpose>
4931 #: apt-extracttemplates.1.xml:33
4933 "Utility to extract <command>debconf</command> config and templates from "
4937 #. type: Content of: <refentry><refsect1><para>
4938 #: apt-extracttemplates.1.xml:39
4940 "<command>apt-extracttemplates</command> will take one or more Debian package "
4941 "files as input and write out (to a temporary directory) all associated "
4942 "config scripts and template files. For each passed in package that contains "
4943 "config scripts and templates, one line of output will be generated in the "
4947 #. type: Content of: <refentry><refsect1><para>
4948 #: apt-extracttemplates.1.xml:44
4949 msgid "package version template-file config-script"
4952 #. type: Content of: <refentry><refsect1><para>
4953 #: apt-extracttemplates.1.xml:45
4955 "template-file and config-script are written to the temporary directory "
4956 "specified by the <option>-t</option> or <option>--tempdir</option> "
4957 "(<literal>APT::ExtractTemplates::TempDir</literal>) directory, with "
4958 "filenames of the form <filename>package.template.XXXX</filename> and "
4959 "<filename>package.config.XXXX</filename>"
4962 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
4963 #: apt-extracttemplates.1.xml:58
4965 "Temporary directory in which to write extracted <command>debconf</command> "
4966 "template files and config scripts. Configuration Item: "
4967 "<literal>APT::ExtractTemplates::TempDir</literal>"
4970 #. type: Content of: <refentry><refsect1><para>
4971 #: apt-extracttemplates.1.xml:75
4973 "<command>apt-extracttemplates</command> returns zero on normal operation, "
4974 "decimal 100 on error."
4977 #. type: Content of: <refentry><refnamediv><refpurpose>
4978 #: apt-sortpkgs.1.xml:33
4979 msgid "Utility to sort package index files"
4982 #. type: Content of: <refentry><refsect1><para>
4983 #: apt-sortpkgs.1.xml:39
4985 "<command>apt-sortpkgs</command> will take an index file (Source index or "
4986 "Package index) and sort the records so that they are ordered by the package "
4987 "name. It will also sort the internal fields of each record according to the "
4988 "internal sorting rules."
4991 #. type: Content of: <refentry><refsect1><para>
4992 #: apt-sortpkgs.1.xml:45
4993 msgid "All output is sent to stdout, the input must be a seekable file."
4996 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
4997 #: apt-sortpkgs.1.xml:54
4999 "Use Source index field ordering. Configuration Item: "
5000 "<literal>APT::SortPkgs::Source</literal>."
5003 #. type: Content of: <refentry><refsect1><para>
5004 #: apt-sortpkgs.1.xml:68
5006 "<command>apt-sortpkgs</command> returns zero on normal operation, decimal "
5010 #. type: Content of: <refentry><refnamediv><refpurpose>
5011 #: apt-ftparchive.1.xml:33
5012 msgid "Utility to generate index files"
5015 #. type: Content of: <refentry><refsect1><para>
5016 #: apt-ftparchive.1.xml:39
5018 "<command>apt-ftparchive</command> is the command line tool that generates "
5019 "the index files that APT uses to access a distribution source. The index "
5020 "files should be generated on the origin site based on the content of that "
5024 #. type: Content of: <refentry><refsect1><para>
5025 #: apt-ftparchive.1.xml:43
5027 "<command>apt-ftparchive</command> is a superset of the &dpkg-scanpackages; "
5028 "program, incorporating its entire functionality via the "
5029 "<literal>packages</literal> command. It also contains a contents file "
5030 "generator, <literal>contents</literal>, and an elaborate means to 'script' "
5031 "the generation process for a complete archive."
5034 #. type: Content of: <refentry><refsect1><para>
5035 #: apt-ftparchive.1.xml:49
5037 "Internally <command>apt-ftparchive</command> can make use of binary "
5038 "databases to cache the contents of a .deb file and it does not rely on any "
5039 "external programs aside from &gzip;. When doing a full generate it "
5040 "automatically performs file-change checks and builds the desired compressed "
5044 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5045 #: apt-ftparchive.1.xml:60
5047 "The packages command generates a package file from a directory tree. It "
5048 "takes the given directory and recursively searches it for .deb files, "
5049 "emitting a package record to stdout for each. This command is approximately "
5050 "equivalent to &dpkg-scanpackages;."
5053 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5054 #: apt-ftparchive.1.xml:65 apt-ftparchive.1.xml:89
5055 msgid "The option <option>--db</option> can be used to specify a binary caching DB."
5058 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5059 #: apt-ftparchive.1.xml:70
5061 "The <literal>sources</literal> command generates a source index file from a "
5062 "directory tree. It takes the given directory and recursively searches it "
5063 "for .dsc files, emitting a source record to stdout for each. This command is "
5064 "approximately equivalent to &dpkg-scansources;."
5067 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5068 #: apt-ftparchive.1.xml:75
5070 "If an override file is specified then a source override file will be looked "
5071 "for with an extension of .src. The --source-override option can be used to "
5072 "change the source override file that will be used."
5075 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5076 #: apt-ftparchive.1.xml:82
5078 "The <literal>contents</literal> command generates a contents file from a "
5079 "directory tree. It takes the given directory and recursively searches it for "
5080 ".deb files, and reads the file list from each file. It then sorts and writes "
5081 "to stdout the list of files matched to packages. Directories are not written "
5082 "to the output. If multiple packages own the same file then each package is "
5083 "separated by a comma in the output."
5086 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5087 #: apt-ftparchive.1.xml:94
5089 "The <literal>release</literal> command generates a Release file from a "
5090 "directory tree. It recursively searches the given directory for uncompressed "
5091 "<filename>Packages</filename> and <filename>Sources</filename> files and "
5092 "ones compressed with <command>gzip</command>, <command>bzip2</command> or "
5093 "<command>lzma</command> as well as <filename>Release</filename> and "
5094 "<filename>md5sum.txt</filename> files by default "
5095 "(<literal>APT::FTPArchive::Release::Default-Patterns</literal>). Additional "
5096 "filename patterns can be added by listing them in "
5097 "<literal>APT::FTPArchive::Release::Patterns</literal>. It then writes to "
5098 "stdout a <filename>Release</filename> file containing an MD5, SHA1 and "
5099 "SHA256 digest for each file."
5102 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5103 #: apt-ftparchive.1.xml:104
5105 "Values for the additional metadata fields in the Release file are taken from "
5106 "the corresponding variables under "
5107 "<literal>APT::FTPArchive::Release</literal>, "
5108 "e.g. <literal>APT::FTPArchive::Release::Origin</literal>. The supported "
5109 "fields are: <literal>Origin</literal>, <literal>Label</literal>, "
5110 "<literal>Suite</literal>, <literal>Version</literal>, "
5111 "<literal>Codename</literal>, <literal>Date</literal>, "
5112 "<literal>Valid-Until</literal>, <literal>Architectures</literal>, "
5113 "<literal>Components</literal>, <literal>Description</literal>."
5116 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5117 #: apt-ftparchive.1.xml:117
5119 "The <literal>generate</literal> command is designed to be runnable from a "
5120 "cron script and builds indexes according to the given config file. The "
5121 "config language provides a flexible means of specifying which index files "
5122 "are built from which directories, as well as providing a simple means of "
5123 "maintaining the required settings."
5126 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5127 #: apt-ftparchive.1.xml:126
5129 "The <literal>clean</literal> command tidies the databases used by the given "
5130 "configuration file by removing any records that are no longer necessary."
5133 #. type: Content of: <refentry><refsect1><title>
5134 #: apt-ftparchive.1.xml:132
5135 msgid "The Generate Configuration"
5138 #. type: Content of: <refentry><refsect1><para>
5139 #: apt-ftparchive.1.xml:134
5141 "The <literal>generate</literal> command uses a configuration file to "
5142 "describe the archives that are going to be generated. It follows the typical "
5143 "ISC configuration format as seen in ISC tools like bind 8 and dhcpd. "
5144 "&apt-conf; contains a description of the syntax. Note that the generate "
5145 "configuration is parsed in sectional manner, but &apt-conf; is parsed in a "
5146 "tree manner. This only effects how the scope tag is handled."
5149 #. type: Content of: <refentry><refsect1><para>
5150 #: apt-ftparchive.1.xml:142
5151 msgid "The generate configuration has four separate sections, each described below."
5154 #. type: Content of: <refentry><refsect1><refsect2><title>
5155 #: apt-ftparchive.1.xml:144
5156 msgid "<literal>Dir</literal> Section"
5159 #. type: Content of: <refentry><refsect1><refsect2><para>
5160 #: apt-ftparchive.1.xml:146
5162 "The <literal>Dir</literal> section defines the standard directories needed "
5163 "to locate the files required during the generation process. These "
5164 "directories are prepended certain relative paths defined in later sections "
5165 "to produce a complete an absolute path."
5168 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
5169 #: apt-ftparchive.1.xml:153
5171 "Specifies the root of the FTP archive, in a standard Debian configuration "
5172 "this is the directory that contains the <filename>ls-LR</filename> and dist "
5176 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
5177 #: apt-ftparchive.1.xml:160
5178 msgid "Specifies the location of the override files."
5181 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
5182 #: apt-ftparchive.1.xml:165
5183 msgid "Specifies the location of the cache files."
5186 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
5187 #: apt-ftparchive.1.xml:170
5189 "Specifies the location of the file list files, if the "
5190 "<literal>FileList</literal> setting is used below."
5193 #. type: Content of: <refentry><refsect1><refsect2><title>
5194 #: apt-ftparchive.1.xml:176
5195 msgid "<literal>Default</literal> Section"
5198 #. type: Content of: <refentry><refsect1><refsect2><para>
5199 #: apt-ftparchive.1.xml:178
5201 "The <literal>Default</literal> section specifies default values, and "
5202 "settings that control the operation of the generator. Other sections may "
5203 "override these defaults with a per-section setting."
5206 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
5207 #: apt-ftparchive.1.xml:184
5209 "Sets the default compression schemes to use for the Package index files. It "
5210 "is a string that contains a space separated list of at least one of: '.' (no "
5211 "compression), 'gzip' and 'bzip2'. The default for all compression schemes is "
5215 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
5216 #: apt-ftparchive.1.xml:192
5218 "Sets the default list of file extensions that are package files. This "
5219 "defaults to '.deb'."
5222 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
5223 #: apt-ftparchive.1.xml:198
5225 "This is similar to <literal>Packages::Compress</literal> except that it "
5226 "controls the compression for the Sources files."
5229 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
5230 #: apt-ftparchive.1.xml:204
5232 "Sets the default list of file extensions that are source files. This "
5233 "defaults to '.dsc'."
5236 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
5237 #: apt-ftparchive.1.xml:210
5239 "This is similar to <literal>Packages::Compress</literal> except that it "
5240 "controls the compression for the Contents files."
5243 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
5244 #: apt-ftparchive.1.xml:216
5246 "This is similar to <literal>Packages::Compress</literal> except that it "
5247 "controls the compression for the Translation-en master file."
5250 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
5251 #: apt-ftparchive.1.xml:222
5253 "Specifies the number of kilobytes to delink (and replace with hard links) "
5254 "per run. This is used in conjunction with the per-section "
5255 "<literal>External-Links</literal> setting."
5258 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
5259 #: apt-ftparchive.1.xml:229
5261 "Specifies the mode of all created index files. It defaults to 0644. All "
5262 "index files are set to this mode with no regard to the umask."
5265 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
5266 #: apt-ftparchive.1.xml:236 apt-ftparchive.1.xml:382
5268 "Specifies whether long descriptions should be included in the "
5269 "<filename>Packages</filename> file or split out into a master "
5270 "<filename>Translation-en</filename> file."
5273 #. type: Content of: <refentry><refsect1><refsect2><title>
5274 #: apt-ftparchive.1.xml:242
5275 msgid "<literal>TreeDefault</literal> Section"
5278 #. type: Content of: <refentry><refsect1><refsect2><para>
5279 #: apt-ftparchive.1.xml:244
5281 "Sets defaults specific to <literal>Tree</literal> sections. All of these "
5282 "variables are substitution variables and have the strings $(DIST), "
5283 "$(SECTION) and $(ARCH) replaced with their respective values."
5286 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
5287 #: apt-ftparchive.1.xml:251
5289 "Sets the number of kilobytes of contents files that are generated each "
5290 "day. The contents files are round-robined so that over several days they "
5291 "will all be rebuilt."
5294 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
5295 #: apt-ftparchive.1.xml:258
5297 "Controls the number of days a contents file is allowed to be checked without "
5298 "changing. If this limit is passed the mtime of the contents file is "
5299 "updated. This case can occur if the package file is changed in such a way "
5300 "that does not result in a new contents file [override edit for instance]. A "
5301 "hold off is allowed in hopes that new .debs will be installed, requiring a "
5302 "new file anyhow. The default is 10, the units are in days."
5305 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
5306 #: apt-ftparchive.1.xml:269
5308 "Sets the top of the .deb directory tree. Defaults to "
5309 "<filename>$(DIST)/$(SECTION)/binary-$(ARCH)/</filename>"
5312 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
5313 #: apt-ftparchive.1.xml:275
5315 "Sets the top of the source package directory tree. Defaults to "
5316 "<filename>$(DIST)/$(SECTION)/source/</filename>"
5319 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
5320 #: apt-ftparchive.1.xml:281
5322 "Sets the output Packages file. Defaults to "
5323 "<filename>$(DIST)/$(SECTION)/binary-$(ARCH)/Packages</filename>"
5326 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
5327 #: apt-ftparchive.1.xml:287
5329 "Sets the output Sources file. Defaults to "
5330 "<filename>$(DIST)/$(SECTION)/source/Sources</filename>"
5333 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
5334 #: apt-ftparchive.1.xml:293
5336 "Sets the output Translation-en master file with the long descriptions if "
5337 "they should be not included in the Packages file. Defaults to "
5338 "<filename>$(DIST)/$(SECTION)/i18n/Translation-en</filename>"
5341 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
5342 #: apt-ftparchive.1.xml:300
5344 "Sets the path prefix that causes a symlink to be considered an internal link "
5345 "instead of an external link. Defaults to "
5346 "<filename>$(DIST)/$(SECTION)/</filename>"
5349 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
5350 #: apt-ftparchive.1.xml:307
5352 "Sets the output Contents file. Defaults to "
5353 "<filename>$(DIST)/Contents-$(ARCH)</filename>. If this setting causes "
5354 "multiple Packages files to map onto a single Contents file (as is the "
5355 "default) then <command>apt-ftparchive</command> will integrate those "
5356 "package files together automatically."
5359 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
5360 #: apt-ftparchive.1.xml:316
5361 msgid "Sets header file to prepend to the contents output."
5364 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
5365 #: apt-ftparchive.1.xml:321
5367 "Sets the binary cache database to use for this section. Multiple sections "
5368 "can share the same database."
5371 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
5372 #: apt-ftparchive.1.xml:327
5374 "Specifies that instead of walking the directory tree, "
5375 "<command>apt-ftparchive</command> should read the list of files from the "
5376 "given file. Relative files names are prefixed with the archive directory."
5379 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
5380 #: apt-ftparchive.1.xml:334
5382 "Specifies that instead of walking the directory tree, "
5383 "<command>apt-ftparchive</command> should read the list of files from the "
5384 "given file. Relative files names are prefixed with the archive directory. "
5385 "This is used when processing source indexes."
5388 #. type: Content of: <refentry><refsect1><refsect2><title>
5389 #: apt-ftparchive.1.xml:342
5390 msgid "<literal>Tree</literal> Section"
5393 #. type: Content of: <refentry><refsect1><refsect2><para>
5394 #: apt-ftparchive.1.xml:344
5396 "The <literal>Tree</literal> section defines a standard Debian file tree "
5397 "which consists of a base directory, then multiple sections in that base "
5398 "directory and finally multiple Architectures in each section. The exact "
5399 "pathing used is defined by the <literal>Directory</literal> substitution "
5403 #. type: Content of: <refentry><refsect1><refsect2><para>
5404 #: apt-ftparchive.1.xml:349
5406 "The <literal>Tree</literal> section takes a scope tag which sets the "
5407 "<literal>$(DIST)</literal> variable and defines the root of the tree (the "
5408 "path is prefixed by <literal>ArchiveDir</literal>). Typically this is a "
5409 "setting such as <filename>dists/&stable-codename;</filename>."
5412 #. type: Content of: <refentry><refsect1><refsect2><para>
5413 #: apt-ftparchive.1.xml:354
5415 "All of the settings defined in the <literal>TreeDefault</literal> section "
5416 "can be used in a <literal>Tree</literal> section as well as three new "
5420 #. type: Content of: <refentry><refsect1><refsect2><para><programlisting>
5421 #: apt-ftparchive.1.xml:360
5424 "for i in Sections do \n"
5425 " for j in Architectures do\n"
5426 " Generate for DIST=scope SECTION=i ARCH=j\n"
5430 #. type: Content of: <refentry><refsect1><refsect2><para>
5431 #: apt-ftparchive.1.xml:357
5433 "When processing a <literal>Tree</literal> section "
5434 "<command>apt-ftparchive</command> performs an operation similar to: "
5435 "<placeholder type=\"programlisting\" id=\"0\"/>"
5438 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
5439 #: apt-ftparchive.1.xml:368
5441 "This is a space separated list of sections which appear under the "
5442 "distribution; typically this is something like <literal>main contrib "
5443 "non-free</literal>"
5446 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
5447 #: apt-ftparchive.1.xml:375
5449 "This is a space separated list of all the architectures that appear under "
5450 "search section. The special architecture 'source' is used to indicate that "
5451 "this tree has a source archive."
5454 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
5455 #: apt-ftparchive.1.xml:388
5457 "Sets the binary override file. The override file contains section, priority "
5458 "and maintainer address information."
5461 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
5462 #: apt-ftparchive.1.xml:394
5464 "Sets the source override file. The override file contains section "
5468 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
5469 #: apt-ftparchive.1.xml:400 apt-ftparchive.1.xml:446
5470 msgid "Sets the binary extra override file."
5473 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
5474 #: apt-ftparchive.1.xml:405 apt-ftparchive.1.xml:451
5475 msgid "Sets the source extra override file."
5478 #. type: Content of: <refentry><refsect1><refsect2><title>
5479 #: apt-ftparchive.1.xml:410
5480 msgid "<literal>BinDirectory</literal> Section"
5483 #. type: Content of: <refentry><refsect1><refsect2><para>
5484 #: apt-ftparchive.1.xml:412
5486 "The <literal>bindirectory</literal> section defines a binary directory tree "
5487 "with no special structure. The scope tag specifies the location of the "
5488 "binary directory and the settings are similar to the <literal>Tree</literal> "
5489 "section with no substitution variables or "
5490 "<literal>Section</literal><literal>Architecture</literal> settings."
5493 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
5494 #: apt-ftparchive.1.xml:420
5495 msgid "Sets the Packages file output."
5498 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
5499 #: apt-ftparchive.1.xml:425
5501 "Sets the Sources file output. At least one of <literal>Packages</literal> or "
5502 "<literal>Sources</literal> is required."
5505 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
5506 #: apt-ftparchive.1.xml:431
5507 msgid "Sets the Contents file output (optional)."
5510 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
5511 #: apt-ftparchive.1.xml:436
5512 msgid "Sets the binary override file."
5515 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
5516 #: apt-ftparchive.1.xml:441
5517 msgid "Sets the source override file."
5520 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
5521 #: apt-ftparchive.1.xml:456
5522 msgid "Sets the cache DB."
5525 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
5526 #: apt-ftparchive.1.xml:461
5527 msgid "Appends a path to all the output paths."
5530 #. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
5531 #: apt-ftparchive.1.xml:466
5532 msgid "Specifies the file list file."
5535 #. type: Content of: <refentry><refsect1><title>
5536 #: apt-ftparchive.1.xml:473
5537 msgid "The Binary Override File"
5540 #. type: Content of: <refentry><refsect1><para>
5541 #: apt-ftparchive.1.xml:474
5543 "The binary override file is fully compatible with &dpkg-scanpackages;. It "
5544 "contains four fields separated by spaces. The first field is the package "
5545 "name, the second is the priority to force that package to, the third is the "
5546 "section to force that package to and the final field is the maintainer "
5547 "permutation field."
5550 #. type: Content of: <refentry><refsect1><para><literallayout>
5551 #: apt-ftparchive.1.xml:480
5553 msgid "old [// oldn]* => new"
5556 #. type: Content of: <refentry><refsect1><para><literallayout>
5557 #: apt-ftparchive.1.xml:482
5562 #. type: Content of: <refentry><refsect1><para>
5563 #: apt-ftparchive.1.xml:479
5565 "The general form of the maintainer field is: <placeholder "
5566 "type=\"literallayout\" id=\"0\"/> or simply, <placeholder "
5567 "type=\"literallayout\" id=\"1\"/> The first form allows a double-slash "
5568 "separated list of old email addresses to be specified. If any of those are "
5569 "found then new is substituted for the maintainer field. The second form "
5570 "unconditionally substitutes the maintainer field."
5573 #. type: Content of: <refentry><refsect1><title>
5574 #: apt-ftparchive.1.xml:490
5575 msgid "The Source Override File"
5578 #. type: Content of: <refentry><refsect1><para>
5579 #: apt-ftparchive.1.xml:492
5581 "The source override file is fully compatible with &dpkg-scansources;. It "
5582 "contains two fields separated by spaces. The first field is the source "
5583 "package name, the second is the section to assign it."
5586 #. type: Content of: <refentry><refsect1><title>
5587 #: apt-ftparchive.1.xml:497
5588 msgid "The Extra Override File"
5591 #. type: Content of: <refentry><refsect1><para>
5592 #: apt-ftparchive.1.xml:499
5594 "The extra override file allows any arbitrary tag to be added or replaced in "
5595 "the output. It has three columns, the first is the package, the second is "
5596 "the tag and the remainder of the line is the new value."
5599 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5600 #: apt-ftparchive.1.xml:510
5602 "Generate the given checksum. These options default to on, when turned off "
5603 "the generated index files will not have the checksum fields where possible. "
5604 "Configuration Items: "
5605 "<literal>APT::FTPArchive::<replaceable>Checksum</replaceable></literal> and "
5606 "<literal>APT::FTPArchive::<replaceable>Index</replaceable>::<replaceable>Checksum</replaceable></literal> "
5607 "where <literal><replaceable>Index</replaceable></literal> can be "
5608 "<literal>Packages</literal>, <literal>Sources</literal> or "
5609 "<literal>Release</literal> and "
5610 "<literal><replaceable>Checksum</replaceable></literal> can be "
5611 "<literal>MD5</literal>, <literal>SHA1</literal> or "
5612 "<literal>SHA256</literal>."
5615 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5616 #: apt-ftparchive.1.xml:521
5618 "Use a binary caching DB. This has no effect on the generate command. "
5619 "Configuration Item: <literal>APT::FTPArchive::DB</literal>."
5622 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5623 #: apt-ftparchive.1.xml:527
5625 "Quiet; produces output suitable for logging, omitting progress indicators. "
5626 "More q's will produce more quiet up to a maximum of 2. You can also use "
5627 "<option>-q=#</option> to set the quiet level, overriding the configuration "
5628 "file. Configuration Item: <literal>quiet</literal>."
5631 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5632 #: apt-ftparchive.1.xml:535
5634 "Perform Delinking. If the <literal>External-Links</literal> setting is used "
5635 "then this option actually enables delinking of the files. It defaults to on "
5636 "and can be turned off with <option>--no-delink</option>. Configuration "
5637 "Item: <literal>APT::FTPArchive::DeLinkAct</literal>."
5640 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5641 #: apt-ftparchive.1.xml:543
5643 "Perform contents generation. When this option is set and package indexes are "
5644 "being generated with a cache DB then the file listing will also be extracted "
5645 "and stored in the DB for later use. When using the generate command this "
5646 "option also allows the creation of any Contents files. The default is on. "
5647 "Configuration Item: <literal>APT::FTPArchive::Contents</literal>."
5650 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5651 #: apt-ftparchive.1.xml:553
5653 "Select the source override file to use with the <literal>sources</literal> "
5654 "command. Configuration Item: "
5655 "<literal>APT::FTPArchive::SourceOverride</literal>."
5658 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5659 #: apt-ftparchive.1.xml:559
5661 "Make the caching databases read only. Configuration Item: "
5662 "<literal>APT::FTPArchive::ReadOnlyDB</literal>."
5665 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5666 #: apt-ftparchive.1.xml:564
5668 "Accept in the <literal>packages</literal> and <literal>contents</literal> "
5669 "commands only package files matching <literal>*_arch.deb</literal> or "
5670 "<literal>*_all.deb</literal> instead of all package files in the given "
5671 "path. Configuration Item: <literal>APT::FTPArchive::Architecture</literal>."
5674 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5675 #: apt-ftparchive.1.xml:572
5677 "&apt-ftparchive; caches as much as possible of metadata in a cachedb. If "
5678 "packages are recompiled and/or republished with the same version again, this "
5679 "will lead to problems as the now outdated cached metadata like size and "
5680 "checksums will be used. With this option enabled this will no longer happen "
5681 "as it will be checked if the file was changed. Note that this option is set "
5682 "to \"<literal>false</literal>\" by default as it is not recommend to upload "
5683 "multiply versions/builds of a package with the same versionnumber, so in "
5684 "theory nobody will have these problems and therefore all these extra checks "
5688 #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
5689 #: apt-ftparchive.1.xml:584
5691 "This configuration option defaults to \"<literal>true</literal>\" and should "
5692 "only be set to <literal>\"false\"</literal> if the Archive generated with "
5693 "&apt-ftparchive; also provides <filename>Translation</filename> files. Note "
5694 "that the <filename>Translation-en</filename> master file can only be created "
5695 "in the generate command."
5698 #. type: Content of: <refentry><refsect1><para><programlisting>
5699 #: apt-ftparchive.1.xml:602
5702 "<command>apt-ftparchive</command> packages "
5703 "<replaceable>directory</replaceable> | <command>gzip</command> > "
5704 "<filename>Packages.gz</filename>\n"
5707 #. type: Content of: <refentry><refsect1><para>
5708 #: apt-ftparchive.1.xml:598
5710 "To create a compressed Packages file for a directory containing binary "
5711 "packages (.deb): <placeholder type=\"programlisting\" id=\"0\"/>"
5714 #. type: Content of: <refentry><refsect1><para>
5715 #: apt-ftparchive.1.xml:612
5717 "<command>apt-ftparchive</command> returns zero on normal operation, decimal "
5730 msgid "16 June 1998"
5747 msgid "apt - Advanced Package Tool"
5770 "APT is a management system for software packages. For normal day to day "
5771 "package management there are several frontends available, such as "
5772 "B<aptitude>(8) for the command line or B<synaptic>(8) for the X Window "
5773 "System. Some options are only implemented in B<apt-get>(8) though."
5785 "B<apt-cache>(8), B<apt-get>(8), B<apt.conf>(5), B<sources.list>(5), "
5786 "B<apt_preferences>(5), B<apt-secure>(8)"
5797 msgid "apt returns zero on normal operation, decimal 100 on error."
5808 msgid "This manpage isn't even started."
5814 "See E<lt>http://bugs.debian.org/aptE<gt>. If you wish to report a bug in "
5815 "B<apt>, please see I</usr/share/doc/debian/bug-reporting.txt> or the "
5816 "B<reportbug>(1) command."
5827 msgid "apt was written by the APT team E<lt>apt@packages.debian.orgE<gt>."
5830 #. type: <title></title>
5832 msgid "APT User's Guide"
5835 #. type: <author></author>
5836 #: guide.sgml:6 offline.sgml:6
5837 msgid "<name>Jason Gunthorpe </name><email>jgg@debian.org</email>"
5840 #. type: <version></version>
5842 msgid "$Id: guide.sgml,v 1.7 2003/04/26 23:26:13 doogie Exp $"
5845 #. type: <abstract></abstract>
5848 "This document provides an overview of how to use the the APT package "
5852 #. type: <copyrightsummary></copyrightsummary>
5854 msgid "Copyright © Jason Gunthorpe, 1998."
5858 #: guide.sgml:21 offline.sgml:22
5860 "\"APT\" and this document are free software; you can redistribute them "
5861 "and/or modify them under the terms of the GNU General Public License as "
5862 "published by the Free Software Foundation; either version 2 of the License, "
5863 "or (at your option) any later version."
5867 #: guide.sgml:24 offline.sgml:25
5869 "For more details, on Debian systems, see the file "
5870 "/usr/share/common-licenses/GPL for the full license."
5873 #. type: <heading></heading>
5881 "The APT package currently contains two sections, the APT "
5882 "<prgn>dselect</prgn> method and the <prgn>apt-get</prgn> command line user "
5883 "interface. Both provide a way to install and remove packages as well as "
5884 "download new packages from the Internet."
5887 #. type: <heading></heading>
5889 msgid "Anatomy of the Package System"
5895 "The Debian packaging system has a large amount of information associated "
5896 "with each package to help assure that it integrates cleanly and easily into "
5897 "the system. The most prominent of its features is the dependency system."
5903 "The dependency system allows individual programs to make use of shared "
5904 "elements in the system such as libraries. It simplifies placing infrequently "
5905 "used portions of a program in separate packages to reduce the number of "
5906 "things the average user is required to install. Also, it allows for choices "
5907 "in mail transport agents, X servers and so on."
5913 "The first step to understanding the dependency system is to grasp the "
5914 "concept of a simple dependency. The meaning of a simple dependency is that a "
5915 "package requires another package to be installed at the same time to work "
5922 "For instance, mailcrypt is an emacs extension that aids in encrypting email "
5923 "with GPG. Without GPGP installed mailcrypt is useless, so mailcrypt has a "
5924 "simple dependency on GPG. Also, because it is an emacs extension it has a "
5925 "simple dependency on emacs, without emacs it is completely useless."
5931 "The other important dependency to understand is a conflicting dependency. It "
5932 "means that a package, when installed with another package, will not work and "
5933 "may possibly be extremely harmful to the system. As an example consider a "
5934 "mail transport agent such as sendmail, exim or qmail. It is not possible to "
5935 "have two mail transport agents installed because both need to listen to the "
5936 "network to receive mail. Attempting to install two will seriously damage the "
5937 "system so all mail transport agents have a conflicting dependency with all "
5938 "other mail transport agents."
5944 "As an added complication there is the possibility for a package to pretend "
5945 "to be another package. Consider that exim and sendmail for many intents are "
5946 "identical, they both deliver mail and understand a common interface. Hence, "
5947 "the package system has a way for them to declare that they are both "
5948 "mail-transport-agents. So, exim and sendmail both declare that they provide "
5949 "a mail-transport-agent and other packages that need a mail transport agent "
5950 "depend on mail-transport-agent. This can add a great deal of confusion when "
5951 "trying to manually fix packages."
5957 "At any given time a single dependency may be met by packages that are "
5958 "already installed or it may not be. APT attempts to help resolve dependency "
5959 "issues by providing a number of automatic algorithms that help in selecting "
5960 "packages for installation."
5963 #. type: <heading></heading>
5971 "<prgn>apt-get</prgn> provides a simple way to install packages from the "
5972 "command line. Unlike <prgn>dpkg</prgn>, <prgn>apt-get</prgn> does not "
5973 "understand .deb files, it works with the package's proper name and can only "
5974 "install .deb archives from a <em>Source</em>."
5980 "The first <footnote><p>If you are using an http proxy server you must set "
5981 "the http_proxy environment variable first, see "
5982 "sources.list(5)</p></footnote> thing that should be done before using "
5983 "<prgn>apt-get</prgn> is to fetch the package lists from the <em>Sources</em> "
5984 "so that it knows what packages are available. This is done with <tt>apt-get "
5985 "update</tt>. For instance,"
5988 #. type: <example></example>
5992 "# apt-get update\n"
5993 "Get http://ftp.de.debian.org/debian-non-US/ stable/binary-i386/ Packages\n"
5994 "Get http://llug.sep.bnl.gov/debian/ testing/contrib Packages\n"
5995 "Reading Package Lists... Done\n"
5996 "Building Dependency Tree... Done"
5999 #. type: <p><taglist>
6001 msgid "Once updated there are several commands that can be used:"
6004 #. type: <tag></tag>
6012 "Upgrade will attempt to gently upgrade the whole system. Upgrade will never "
6013 "install a new package or remove an existing package, nor will it ever "
6014 "upgrade a package that might cause some other package to break. This can be "
6015 "used daily to relatively safely upgrade the system. Upgrade will list all of "
6016 "the packages that it could not upgrade, this usually means that they depend "
6017 "on new packages or conflict with some other package. <prgn>dselect</prgn> or "
6018 "<tt>apt-get install</tt> can be used to force these packages to install."
6021 #. type: <tag></tag>
6029 "Install is used to install packages by name. The package is automatically "
6030 "fetched and installed. This can be useful if you already know the name of "
6031 "the package to install and do not want to go into a GUI to select it. Any "
6032 "number of packages may be passed to install, they will all be "
6033 "fetched. Install automatically attempts to resolve dependency problems with "
6034 "the listed packages and will print a summary and ask for confirmation if "
6035 "anything other than its arguments are changed."
6038 #. type: <tag></tag>
6040 msgid "dist-upgrade"
6046 "Dist-upgrade is a complete upgrader designed to simplify upgrading between "
6047 "releases of Debian. It uses a sophisticated algorithm to determine the best "
6048 "set of packages to install, upgrade and remove to get as much of the system "
6049 "to the newest release. In some situations it may be desired to use "
6050 "dist-upgrade rather than spend the time manually resolving dependencies in "
6051 "<prgn>dselect</prgn>. Once dist-upgrade has completed then "
6052 "<prgn>dselect</prgn> can be used to install any packages that may have been "
6059 "It is important to closely look at what dist-upgrade is going to do, its "
6060 "decisions may sometimes be quite surprising."
6066 "<prgn>apt-get</prgn> has several command line options that are detailed in "
6067 "its man page, <manref section=\"8\" name=\"apt-get\">. The most useful "
6068 "option is <tt>-d</tt> which does not install the fetched files. If the "
6069 "system has to download a large number of package it would be undesired to "
6070 "start installing them in case something goes wrong. When <tt>-d</tt> is used "
6071 "the downloaded archives can be installed by simply running the command that "
6072 "caused them to be downloaded again without <tt>-d</tt>."
6075 #. type: <heading></heading>
6083 "The APT <prgn>dselect</prgn> method provides the complete APT system with "
6084 "the <prgn>dselect</prgn> package selection GUI. <prgn>dselect</prgn> is used "
6085 "to select the packages to be installed or removed and APT actually installs "
6092 "To enable the APT method you need to select [A]ccess in <prgn>dselect</prgn> "
6093 "and then choose the APT method. You will be prompted for a set of "
6094 "<em>Sources</em> which are places to fetch archives from. These can be "
6095 "remote Internet sites, local Debian mirrors or CD-ROMs. Each source can "
6096 "provide a fragment of the total Debian archive, APT will automatically "
6097 "combine them to form a complete set of packages. If you have a CD-ROM then "
6098 "it is a good idea to specify it first and then specify a mirror so that you "
6099 "have access to the latest bug fixes. APT will automatically use packages on "
6100 "your CD-ROM before downloading from the Internet."
6103 #. type: <example></example>
6107 " Set up a list of distribution source locations\n"
6109 " Please give the base URL of the debian distribution.\n"
6110 " The access schemes I know about are: http file\n"
6113 " file:/mnt/debian,\n"
6114 " ftp://ftp.debian.org/debian,\n"
6115 " http://ftp.de.debian.org/debian,\n"
6118 " URL [http://llug.sep.bnl.gov/debian]:"
6124 "The <em>Sources</em> setup starts by asking for the base of the Debian "
6125 "archive, defaulting to a HTTP mirror. Next it asks for the distribution to "
6129 #. type: <example></example>
6133 " Please give the distribution tag to get or a path to the\n"
6134 " package file ending in a /. The distribution\n"
6135 " tags are typically something like: stable unstable testing non-US\n"
6137 " Distribution [stable]:"
6143 "The distribution refers to the Debian version in the archive, "
6144 "<em>stable</em> refers to the latest released version and <em>unstable</em> "
6145 "refers to the developmental version. <em>non-US</em> is only available on "
6146 "some mirrors and refers to packages that contain encryption technology or "
6147 "other things that cannot be exported from the United States. Importing these "
6148 "packages into the US is legal however."
6151 #. type: <example></example>
6155 " Please give the components to get\n"
6156 " The components are typically something like: main contrib non-free\n"
6158 " Components [main contrib non-free]:"
6164 "The components list refers to the list of sub distributions to fetch. The "
6165 "distribution is split up based on software licenses, main being DFSG free "
6166 "packages while contrib and non-free contain things that have various "
6167 "restrictions placed on their use and distribution."
6173 "Any number of sources can be added, the setup script will continue to prompt "
6174 "until you have specified all that you want."
6180 "Before starting to use <prgn>dselect</prgn> it is necessary to update the "
6181 "available list by selecting [U]pdate from the menu. This is a superset of "
6182 "<tt>apt-get update</tt> that makes the fetched information available to "
6183 "<prgn>dselect</prgn>. [U]pdate must be performed even if <tt>apt-get "
6184 "update</tt> has been run before."
6190 "You can then go on and make your selections using [S]elect and then perform "
6191 "the installation using [I]nstall. When using the APT method the [C]onfig and "
6192 "[R]emove commands have no meaning, the [I]nstall command performs both of "
6199 "By default APT will automatically remove the package (.deb) files once they "
6200 "have been successfully installed. To change this behavior place "
6201 "<tt>Dselect::clean \"prompt\";</tt> in /etc/apt/apt.conf."
6204 #. type: <heading></heading>
6206 msgid "The Interface"
6212 "Both that APT <prgn>dselect</prgn> method and <prgn>apt-get</prgn> share the "
6213 "same interface. It is a simple system that generally tells you what it will "
6214 "do and then goes and does it. <footnote><p>The <prgn>dselect</prgn> method "
6215 "actually is a set of wrapper scripts to <prgn>apt-get</prgn>. The method "
6216 "actually provides more functionality than is present in <prgn>apt-get</prgn> "
6217 "alone.</p></footnote> After printing out a summary of what will happen APT "
6218 "then will print out some informative status messages so that you can "
6219 "estimate how far along it is and how much is left to do."
6222 #. type: <heading></heading>
6230 "Before all operations except update, APT performs a number of actions to "
6231 "prepare its internal state. It also does some checks of the system's "
6232 "state. At any time these operations can be performed by running <tt>apt-get "
6236 #. type: <example></example>
6241 "Reading Package Lists... Done\n"
6242 "Building Dependency Tree... Done"
6248 "The first thing it does is read all the package files into memory. APT uses "
6249 "a caching scheme so this operation will be faster the second time it is "
6250 "run. If some of the package files are not found then they will be ignored "
6251 "and a warning will be printed when apt-get exits."
6257 "The final operation performs a detailed analysis of the system's "
6258 "dependencies. It checks every dependency of every installed or unpacked "
6259 "package and considers if it is OK. Should this find a problem then a report "
6260 "will be printed out and <prgn>apt-get</prgn> will refuse to run."
6263 #. type: <example></example>
6268 "Reading Package Lists... Done\n"
6269 "Building Dependency Tree... Done\n"
6270 "You might want to run apt-get -f install' to correct these.\n"
6271 "Sorry, but the following packages have unmet dependencies:\n"
6272 " 9fonts: Depends: xlib6g but it is not installed\n"
6273 " uucp: Depends: mailx but it is not installed\n"
6274 " blast: Depends: xlib6g (>= 3.3-5) but it is not installed\n"
6275 " adduser: Depends: perl-base but it is not installed\n"
6276 " aumix: Depends: libgpmg1 but it is not installed\n"
6277 " debiandoc-sgml: Depends: sgml-base but it is not installed\n"
6278 " bash-builtins: Depends: bash (>= 2.01) but 2.0-3 is installed\n"
6279 " cthugha: Depends: svgalibg1 but it is not installed\n"
6280 " Depends: xlib6g (>= 3.3-5) but it is not installed\n"
6281 " libreadlineg2: Conflicts:libreadline2 (<< 2.1-2.1)"
6287 "In this example the system has many problems, including a serious problem "
6288 "with libreadlineg2. For each package that has unmet dependencies a line is "
6289 "printed out indicating the package with the problem and the dependencies "
6290 "that are unmet. A short explanation of why the package has a dependency "
6291 "problem is also included."
6297 "There are two ways a system can get into a broken state like this. The first "
6298 "is caused by <prgn>dpkg</prgn> missing some subtle relationships between "
6299 "packages when performing upgrades. <footnote><p>APT however considers all "
6300 "known dependencies and attempts to prevent broken "
6301 "packages</p></footnote>. The second is if a package installation fails "
6302 "during an operation. In this situation a package may have been unpacked "
6303 "without its dependents being installed."
6309 "The second situation is much less serious than the first because APT places "
6310 "certain constraints on the order that packages are installed. In both cases "
6311 "supplying the <tt>-f</tt> option to <prgn>apt-get</prgn> will cause APT to "
6312 "deduce a possible solution to the problem and then continue on. The APT "
6313 "<prgn>dselect</prgn> method always supplies the <tt>-f</tt> option to allow "
6314 "for easy continuation of failed maintainer scripts."
6320 "However, if the <tt>-f</tt> option is used to correct a seriously broken "
6321 "system caused by the first case then it is possible that it will either fail "
6322 "immediately or the installation sequence will fail. In either case it is "
6323 "necessary to manually use dpkg (possibly with forcing options) to correct "
6324 "the situation enough to allow APT to proceed."
6327 #. type: <heading></heading>
6329 msgid "The Status Report"
6335 "Before proceeding <prgn>apt-get</prgn> will present a report on what will "
6336 "happen. Generally the report reflects the type of operation being performed "
6337 "but there are several common elements. In all cases the lists reflect the "
6338 "final state of things, taking into account the <tt>-f</tt> option and any "
6339 "other relevant activities to the command being executed."
6342 #. type: <heading></heading>
6344 msgid "The Extra Package list"
6347 #. type: <example></example>
6351 "The following extra packages will be installed:\n"
6352 " libdbd-mysql-perl xlib6 zlib1 xzx libreadline2 libdbd-msql-perl\n"
6353 " mailpgp xdpkg fileutils pinepgp zlib1g xlib6g perl-base\n"
6354 " bin86 libgdbm1 libgdbmg1 quake-lib gmp2 bcc xbuffy\n"
6355 " squake pgp-i python-base debmake ldso perl libreadlineg2\n"
6362 "The Extra Package list shows all of the packages that will be installed or "
6363 "upgraded in excess of the ones mentioned on the command line. It is only "
6364 "generated for an <tt>install</tt> command. The listed packages are often the "
6365 "result of an Auto Install."
6368 #. type: <heading></heading>
6370 msgid "The Packages to Remove"
6373 #. type: <example></example>
6377 "The following packages will be REMOVED:\n"
6378 " xlib6-dev xpat2 tk40-dev xkeycaps xbattle xonix\n"
6379 " xdaliclock tk40 tk41 xforms0.86 ghostview xloadimage xcolorsel\n"
6380 " xadmin xboard perl-debug tkined xtetris libreadline2-dev perl-suid\n"
6387 "The Packages to Remove list shows all of the packages that will be removed "
6388 "from the system. It can be shown for any of the operations and should be "
6389 "given a careful inspection to ensure nothing important is to be taken "
6390 "off. The <tt>-f</tt> option is especially good at generating packages to "
6391 "remove so extreme care should be used in that case. The list may contain "
6392 "packages that are going to be removed because they are only partially "
6393 "installed, possibly due to an aborted installation."
6396 #. type: <heading></heading>
6398 msgid "The New Packages list"
6401 #. type: <example></example>
6405 "The following NEW packages will installed:\n"
6406 " zlib1g xlib6g perl-base libgdbmg1 quake-lib gmp2 pgp-i python-base"
6412 "The New Packages list is simply a reminder of what will happen. The packages "
6413 "listed are not presently installed in the system but will be when APT is "
6417 #. type: <heading></heading>
6419 msgid "The Kept Back list"
6422 #. type: <example></example>
6426 "The following packages have been kept back\n"
6427 " compface man-db tetex-base msql libpaper svgalib1\n"
6428 " gs snmp arena lynx xpat2 groff xscreensaver"
6434 "Whenever the whole system is being upgraded there is the possibility that "
6435 "new versions of packages cannot be installed because they require new things "
6436 "or conflict with already installed things. In this case the package will "
6437 "appear in the Kept Back list. The best way to convince packages listed there "
6438 "to install is with <tt>apt-get install</tt> or by using <prgn>dselect</prgn> "
6439 "to resolve their problems."
6442 #. type: <heading></heading>
6444 msgid "Held Packages warning"
6447 #. type: <example></example>
6451 "The following held packages will be changed:\n"
6458 "Sometimes you can ask APT to install a package that is on hold, in such a "
6459 "case it prints out a warning that the held package is going to be "
6460 "changed. This should only happen during dist-upgrade or install."
6463 #. type: <heading></heading>
6465 msgid "Final summary"
6470 msgid "Finally, APT will print out a summary of all the changes that will occur."
6473 #. type: <example></example>
6477 "206 packages upgraded, 8 newly installed, 23 to remove and 51 not "
6479 "12 packages not fully installed or removed.\n"
6480 "Need to get 65.7M/66.7M of archives. After unpacking 26.5M will be used."
6486 "The first line of the summary simply is a reduced version of all of the "
6487 "lists and includes the number of upgrades - that is packages already "
6488 "installed that have new versions available. The second line indicates the "
6489 "number of poorly configured packages, possibly the result of an aborted "
6490 "installation. The final line shows the space requirements that the "
6491 "installation needs. The first pair of numbers refer to the size of the "
6492 "archive files. The first number indicates the number of bytes that must be "
6493 "fetched from remote locations and the second indicates the total size of all "
6494 "the archives required. The next number indicates the size difference between "
6495 "the presently installed packages and the newly installed packages. It is "
6496 "roughly equivalent to the space required in /usr after everything is "
6497 "done. If a large number of packages are being removed then the value may "
6498 "indicate the amount of space that will be freed."
6504 "Some other reports can be generated by using the -u option to show packages "
6505 "to upgrade, they are similar to the previous examples."
6508 #. type: <heading></heading>
6510 msgid "The Status Display"
6516 "During the download of archives and package files APT prints out a series of "
6520 #. type: <example></example>
6524 "# apt-get update\n"
6525 "Get:1 http://ftp.de.debian.org/debian-non-US/ stable/non-US/ Packages\n"
6526 "Get:2 http://llug.sep.bnl.gov/debian/ testing/contrib Packages\n"
6527 "Hit http://llug.sep.bnl.gov/debian/ testing/main Packages\n"
6528 "Get:4 http://ftp.de.debian.org/debian-non-US/ unstable/binary-i386/ "
6530 "Get:5 http://llug.sep.bnl.gov/debian/ testing/non-free Packages\n"
6531 "11% [5 testing/non-free `Waiting for file' 0/32.1k 0%] 2203b/s 1m52s"
6537 "The lines starting with <em>Get</em> are printed out when APT begins to "
6538 "fetch a file while the last line indicates the progress of the download. The "
6539 "first percent value on the progress line indicates the total percent done of "
6540 "all files. Unfortunately since the size of the Package files is unknown "
6541 "<tt>apt-get update</tt> estimates the percent done which causes some "
6548 "The next section of the status line is repeated once for each download "
6549 "thread and indicates the operation being performed and some useful "
6550 "information about what is happening. Sometimes this section will simply read "
6551 "<em>Forking</em> which means the OS is loading the download module. The "
6552 "first word after the [ is the fetch number as shown on the history "
6553 "lines. The next word is the short form name of the object being "
6554 "downloaded. For archives it will contain the name of the package that is "
6561 "Inside of the single quote is an informative string indicating the progress "
6562 "of the negotiation phase of the download. Typically it progresses from "
6563 "<em>Connecting</em> to <em>Waiting for file</em> to <em>Downloading</em> or "
6564 "<em>Resuming</em>. The final value is the number of bytes downloaded from "
6565 "the remote site. Once the download begins this is represented as "
6566 "<tt>102/10.2k</tt> indicating that 102 bytes have been fetched and 10.2 "
6567 "kilobytes is expected. The total size is always shown in 4 figure notation "
6568 "to preserve space. After the size display is a percent meter for the file "
6569 "itself. The second last element is the instantaneous average speed. This "
6570 "values is updated every 5 seconds and reflects the rate of data transfer for "
6571 "that period. Finally is shown the estimated transfer time. This is updated "
6572 "regularly and reflects the time to complete everything at the shown transfer "
6579 "The status display updates every half second to provide a constant feedback "
6580 "on the download progress while the Get lines scroll back whenever a new file "
6581 "is started. Since the status display is constantly updated it is unsuitable "
6582 "for logging to a file, use the <tt>-q</tt> option to remove the status "
6586 #. type: <heading></heading>
6594 "APT uses <prgn>dpkg</prgn> for installing the archives and will switch over "
6595 "to the <prgn>dpkg</prgn> interface once downloading is "
6596 "completed. <prgn>dpkg</prgn> will also ask a number of questions as it "
6597 "processes the packages and the packages themselves may also ask several "
6598 "questions. Before each question there is usually a description of what it is "
6599 "asking and the questions are too varied to discuss completely here."
6602 #. type: <title></title>
6604 msgid "Using APT Offline"
6607 #. type: <version></version>
6609 msgid "$Id: offline.sgml,v 1.8 2003/02/12 15:06:41 doogie Exp $"
6612 #. type: <abstract></abstract>
6615 "This document describes how to use APT in a non-networked environment, "
6616 "specifically a 'sneaker-net' approach for performing upgrades."
6619 #. type: <copyrightsummary></copyrightsummary>
6621 msgid "Copyright © Jason Gunthorpe, 1999."
6624 #. type: <heading></heading>
6626 msgid "Introduction"
6629 #. type: <heading></heading>
6630 #: offline.sgml:34 offline.sgml:65 offline.sgml:180
6637 "Normally APT requires direct access to a Debian archive, either from a local "
6638 "media or through a network. Another common complaint is that a Debian "
6639 "machine is on a slow link, such as a modem and another machine has a very "
6640 "fast connection but they are physically distant."
6646 "The solution to this is to use large removable media such as a Zip disc or a "
6647 "SuperDisk disc. These discs are not large enough to store the entire Debian "
6648 "archive but can easily fit a subset large enough for most users. The idea is "
6649 "to use APT to generate a list of packages that are required and then fetch "
6650 "them onto the disc using another machine with good connectivity. It is even "
6651 "possible to use another Debian machine with APT or to use a completely "
6652 "different OS and a download tool like wget. Let <em>remote host</em> mean "
6653 "the machine downloading the packages, and <em>target host</em> the one with "
6654 "bad or no connection."
6660 "This is achieved by creatively manipulating the APT configuration file. The "
6661 "essential premise to tell APT to look on a disc for it's archive files. Note "
6662 "that the disc should be formated with a filesystem that can handle long file "
6663 "names such as ext2, fat32 or vfat."
6666 #. type: <heading></heading>
6668 msgid "Using APT on both machines"
6671 #. type: <p><example>
6674 "APT being available on both machines gives the simplest configuration. The "
6675 "basic idea is to place a copy of the status file on the disc and use the "
6676 "remote machine to fetch the latest package files and decide which packages "
6677 "to download. The disk directory structure should look like:"
6680 #. type: <example></example>
6694 #. type: <heading></heading>
6696 msgid "The configuration file"
6702 "The configuration file should tell APT to store its files on the disc and to "
6703 "use the configuration files on the disc as well. The sources.list should "
6704 "contain the proper sites that you wish to use from the remote machine, and "
6705 "the status file should be a copy of <em>/var/lib/dpkg/status</em> from the "
6706 "<em>target host</em>. Please note, if you are using a local archive you must "
6707 "use copy URIs, the syntax is identical to file URIs."
6710 #. type: <p><example>
6713 "<em>apt.conf</em> must contain the necessary information to make APT use the "
6717 #. type: <example></example>
6723 " /* This is not necessary if the two machines are the same arch, it "
6725 " the remote APT what architecture the target machine is */\n"
6726 " Architecture \"i386\";\n"
6728 " Get::Download-Only \"true\";\n"
6733 " /* Use the disc for state information and redirect the status file from\n"
6734 " the /var/lib/dpkg default */\n"
6735 " State \"/disc/\";\n"
6736 " State::status \"status\";\n"
6738 " // Binary caches will be stored locally\n"
6739 " Cache::archives \"/disc/archives/\";\n"
6740 " Cache \"/tmp/\";\n"
6742 " // Location of the source list.\n"
6743 " Etc \"/disc/\";\n"
6747 #. type: </example></p>
6750 "More details can be seen by examining the apt.conf man page and the sample "
6751 "configuration file in <em>/usr/share/doc/apt/examples/apt.conf</em>."
6754 #. type: <p><example>
6757 "On the target machine the first thing to do is mount the disc and copy "
6758 "<em>/var/lib/dpkg/status</em> to it. You will also need to create the "
6759 "directories outlined in the Overview, <em>archives/partial/</em> and "
6760 "<em>lists/partial/</em>. Then take the disc to the remote machine and "
6761 "configure the sources.list. On the remote machine execute the following:"
6764 #. type: <example></example>
6768 " # export APT_CONFIG=\"/disc/apt.conf\"\n"
6769 " # apt-get update\n"
6770 " [ APT fetches the package files ]\n"
6771 " # apt-get dist-upgrade\n"
6772 " [ APT fetches all the packages needed to upgrade the target machine ]"
6775 #. type: </example></p>
6778 "The dist-upgrade command can be replaced with any other standard APT "
6779 "commands, particularly dselect-upgrade. You can even use an APT front end "
6780 "such as <em>dselect</em>. However this presents a problem in communicating "
6781 "your selections back to the local computer."
6784 #. type: <p><example>
6787 "Now the disc contains all of the index files and archives needed to upgrade "
6788 "the target machine. Take the disc back and run:"
6791 #. type: <example></example>
6795 " # export APT_CONFIG=\"/disc/apt.conf\"\n"
6796 " # apt-get check\n"
6797 " [ APT generates a local copy of the cache files ]\n"
6798 " # apt-get --no-d -o dir::state::status=/var/lib/dpkg/status dist-upgrade\n"
6799 " [ Or any other APT command ]"
6805 "It is necessary for proper function to re-specify the status file to be the "
6806 "local one. This is very important!"
6812 "If you are using dselect you can do the very risky operation of copying "
6813 "disc/status to /var/lib/dpkg/status so that any selections you made on the "
6814 "remote machine are updated. I highly recommend that people only make "
6815 "selections on the local machine - but this may not always be possible. DO "
6816 "NOT copy the status file if dpkg or APT have been run in the mean time!!"
6819 #. type: <heading></heading>
6821 msgid "Using APT and wget"
6827 "<em>wget</em> is a popular and portable download tool that can run on nearly "
6828 "any machine. Unlike the method above this requires that the Debian machine "
6829 "already has a list of available packages."
6835 "The basic idea is to create a disc that has only the archive files "
6836 "downloaded from the remote site. This is done by using the --print-uris "
6837 "option to apt-get and then preparing a wget script to actually fetch the "
6841 #. type: <heading></heading>
6846 #. type: <p><example>
6849 "Unlike the previous technique no special configuration files are "
6850 "required. We merely use the standard APT commands to generate the file list."
6853 #. type: <example></example>
6857 " # apt-get dist-upgrade \n"
6858 " [ Press no when prompted, make sure you are happy with the actions ]\n"
6859 " # apt-get -qq --print-uris dist-upgrade > uris\n"
6860 " # awk '{print \"wget -O \" $2 \" \" $1}' < uris > /disc/wget-script"
6863 #. type: </example></p>
6866 "Any command other than dist-upgrade could be used here, including "
6873 "The /disc/wget-script file will now contain a list of wget commands to "
6874 "execute in order to fetch the necessary archives. This script should be run "
6875 "with the current directory as the disc's mount point so as to save the "
6876 "output on the disc."
6879 #. type: <p><example>
6881 msgid "The remote machine would do something like"
6884 #. type: <example></example>
6889 " # sh -x ./wget-script\n"
6893 #. type: </example><example>
6896 "Once the archives are downloaded and the disc returned to the Debian machine "
6897 "installation can proceed using,"
6900 #. type: <example></example>
6903 msgid " # apt-get -o dir::cache::archives=\"/disc/\" dist-upgrade"
6906 #. type: </example></p>
6908 msgid "Which will use the already fetched archives on the disc."