]> git.saurik.com Git - apt.git/blame - doc/apt_preferences.5.xml
Add a GetListOfFilesInDir() helper method which replaces the old
[apt.git] / doc / apt_preferences.5.xml
CommitLineData
24f6490f
AL
1<?xml version="1.0" encoding="utf-8" standalone="no"?>
2<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
3 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
b2e465d6
AL
4
5<!ENTITY % aptent SYSTEM "apt.ent">
6%aptent;
7
8]>
9
10<refentry>
ec2853a7 11
5e80de29
AL
12 <refentryinfo>
13 &apt-author.team;
14 &apt-email;
15 &apt-product;
16 <!-- The last update date -->
efc487fb 17 <date>04 May 2009</date>
5e80de29
AL
18 </refentryinfo>
19
b2e465d6 20 <refmeta>
24f6490f
AL
21 <refentrytitle>apt_preferences</refentrytitle>
22 <manvolnum>5</manvolnum>
f0599b9c 23 <refmiscinfo class="manual">APT</refmiscinfo>
b2e465d6 24 </refmeta>
ec2853a7 25
b2e465d6
AL
26 <!-- Man page title -->
27 <refnamediv>
24f6490f
AL
28 <refname>apt_preferences</refname>
29 <refpurpose>Preference control file for APT</refpurpose>
b2e465d6 30 </refnamediv>
b2e465d6 31
24f6490f
AL
32<refsect1>
33<title>Description</title>
34<para>The APT preferences file <filename>/etc/apt/preferences</filename>
daa4aa52
DK
35and the fragment files in the <filename>/etc/apt/preferences.d/</filename>
36folder can be used to control which versions of packages will be selected
24f6490f 37for installation.</para>
ec2853a7 38
24f6490f 39<para>Several versions of a package may be available for installation when
ec2853a7 40the &sources-list; file contains references to more than one distribution
5b9d504e
AL
41(for example, <literal>stable</literal> and <literal>testing</literal>).
42APT assigns a priority to each version that is available.
43Subject to dependency constraints, <command>apt-get</command> selects the
408a8e0a 44version with the highest priority for installation.
5b9d504e
AL
45The APT preferences file overrides the priorities that APT assigns to
46package versions by default, thus giving the user control over which
24f6490f
AL
47one is selected for installation.</para>
48
49<para>Several instances of the same version of a package may be available when
408a8e0a
AL
50the &sources-list; file contains references to more than one source.
51In this case <command>apt-get</command> downloads the instance listed
5b9d504e 52earliest in the &sources-list; file.
408a8e0a 53The APT preferences file does not affect the choice of instance, only
24f6490f 54the choice of version.</para>
ec2853a7 55
24f6490f 56<refsect2><title>APT's Default Priority Assignments</title>
ec2853a7 57
24f6490f 58<para>If there is no preferences file or if there is no entry in the file
408a8e0a
AL
59that applies to a particular version then the priority assigned to that
60version is the priority of the distribution to which that version
61belongs. It is possible to single out a distribution, "the target release",
62which receives a higher priority than other distributions do by default.
63The target release can be set on the <command>apt-get</command> command
64line or in the APT configuration file <filename>/etc/apt/apt.conf</filename>.
99fc3e08
LB
65Note that this has precedence over any general priority you set in the
66<filename>/etc/apt/preferences</filename> file described later, but not
67over specifically pinned packages.
408a8e0a 68For example,
24f6490f 69
408a8e0a
AL
70<programlisting>
71<command>apt-get install -t testing <replaceable>some-package</replaceable></command>
72</programlisting>
73<programlisting>
74APT::Default-Release "stable";
75</programlisting>
ec2853a7
AL
76</para>
77
24f6490f 78<para>If the target release has been specified then APT uses the following
408a8e0a 79algorithm to set the priorities of the versions of a package. Assign:
24f6490f 80
ec2853a7
AL
81<variablelist>
82<varlistentry>
83<term>priority 100</term>
5b9d504e 84<listitem><simpara>to the version that is already installed (if any).</simpara></listitem>
ec2853a7 85</varlistentry>
24f6490f 86
ec2853a7
AL
87<varlistentry>
88<term>priority 500</term>
5b9d504e 89<listitem><simpara>to the versions that are not installed and do not belong to the target release.</simpara></listitem>
ec2853a7 90</varlistentry>
24f6490f 91
ec2853a7
AL
92<varlistentry>
93<term>priority 990</term>
5b9d504e 94<listitem><simpara>to the versions that are not installed and belong to the target release.</simpara></listitem>
ec2853a7
AL
95</varlistentry>
96</variablelist>
97</para>
98
24f6490f 99<para>If the target release has not been specified then APT simply assigns
5b9d504e 100priority 100 to all installed package versions and priority 500 to all
24f6490f 101uninstalled package versions.</para>
ec2853a7 102
24f6490f 103<para>APT then applies the following rules, listed in order of precedence,
5b9d504e 104to determine which version of a package to install.
ec2853a7 105<itemizedlist>
5b9d504e
AL
106<listitem><simpara>Never downgrade unless the priority of an available
107version exceeds 1000. ("Downgrading" is installing a less recent version
108of a package in place of a more recent version. Note that none of APT's
109default priorities exceeds 1000; such high priorities can only be set in
110the preferences file. Note also that downgrading a package
111can be risky.)</simpara></listitem>
112<listitem><simpara>Install the highest priority version.</simpara></listitem>
113<listitem><simpara>If two or more versions have the same priority,
114install the most recent one (that is, the one with the higher version
115number).</simpara></listitem>
116<listitem><simpara>If two or more versions have the same priority and
117version number but either the packages differ in some of their metadata or the
24f6490f 118<literal>--reinstall</literal> option is given, install the uninstalled one.</simpara></listitem>
ec2853a7
AL
119</itemizedlist>
120</para>
121
24f6490f 122<para>In a typical situation, the installed version of a package (priority 100)
5b9d504e
AL
123is not as recent as one of the versions available from the sources listed in
124the &sources-list; file (priority 500 or 990). Then the package will be upgraded
125when <command>apt-get install <replaceable>some-package</replaceable></command>
126or <command>apt-get upgrade</command> is executed.
ec2853a7
AL
127</para>
128
24f6490f 129<para>More rarely, the installed version of a package is <emphasis>more</emphasis> recent
5b9d504e
AL
130than any of the other available versions. The package will not be downgraded
131when <command>apt-get install <replaceable>some-package</replaceable></command>
24f6490f 132or <command>apt-get upgrade</command> is executed.</para>
ec2853a7 133
24f6490f 134<para>Sometimes the installed version of a package is more recent than the
ec2853a7 135version belonging to the target release, but not as recent as a version
5b9d504e
AL
136belonging to some other distribution. Such a package will indeed be upgraded
137when <command>apt-get install <replaceable>some-package</replaceable></command>
138or <command>apt-get upgrade</command> is executed,
24f6490f
AL
139because at least <emphasis>one</emphasis> of the available versions has a higher
140priority than the installed version.</para>
141</refsect2>
ec2853a7 142
24f6490f 143<refsect2><title>The Effect of APT Preferences</title>
ec2853a7 144
24f6490f 145<para>The APT preferences file allows the system administrator to control the
5b9d504e
AL
146assignment of priorities. The file consists of one or more multi-line records
147separated by blank lines. Records can have one of two forms, a specific form
148and a general form.
ec2853a7
AL
149<itemizedlist>
150<listitem>
1c62ab24
MV
151<simpara>The specific form assigns a priority (a "Pin-Priority") to one or more
152specified packages and specified version or version range. For example,
5b9d504e 153the following record assigns a high priority to all versions of
1c62ab24
MV
154the <filename>perl</filename> package whose version number begins with "<literal>5.8</literal>".
155Multiple packages can be separated by spaces.</simpara>
ec2853a7
AL
156
157<programlisting>
158Package: perl
159Pin: version 5.8*
160Pin-Priority: 1001
161</programlisting>
162</listitem>
163
24f6490f 164<listitem><simpara>The general form assigns a priority to all of the package versions in a
ec2853a7 165given distribution (that is, to all the versions of packages that are
24f6490f 166listed in a certain <filename>Release</filename> file) or to all of the package
5b9d504e 167versions coming from a particular Internet site, as identified by the
24f6490f 168site's fully qualified domain name.</simpara>
ec2853a7 169
24f6490f 170<simpara>This general-form entry in the APT preferences file applies only
5b9d504e 171to groups of packages. For example, the following record assigns a high
24f6490f 172priority to all package versions available from the local site.</simpara>
ec2853a7
AL
173
174<programlisting>
175Package: *
176Pin: origin ""
177Pin-Priority: 999
178</programlisting>
179
24f6490f 180<simpara>A note of caution: the keyword used here is "<literal>origin</literal>".
5b9d504e 181This should not be confused with the Origin of a distribution as
24f6490f
AL
182specified in a <filename>Release</filename> file. What follows the "Origin:" tag
183in a <filename>Release</filename> file is not an Internet address
184but an author or vendor name, such as "Debian" or "Ximian".</simpara>
ec2853a7 185
24f6490f
AL
186<simpara>The following record assigns a low priority to all package versions
187belonging to any distribution whose Archive name is "<literal>unstable</literal>".</simpara>
ec2853a7
AL
188
189<programlisting>
190Package: *
191Pin: release a=unstable
704c39d6 192Pin-Priority: 50
ec2853a7
AL
193</programlisting>
194
efc487fb
DK
195<simpara>The following record assigns a high priority to all package versions
196belonging to any distribution whose Codename is "<literal>squeeze</literal>".</simpara>
197
198<programlisting>
199Package: *
200Pin: release n=squeeze
201Pin-Priority: 900
202</programlisting>
203
24f6490f
AL
204<simpara>The following record assigns a high priority to all package versions
205belonging to any release whose Archive name is "<literal>stable</literal>"
206and whose release Version number is "<literal>3.0</literal>".</simpara>
ec2853a7
AL
207
208<programlisting>
209Package: *
0493db1e
MZ
210Pin: release a=stable, v=3.0
211Pin-Priority: 500
ec2853a7
AL
212</programlisting>
213</listitem>
214</itemizedlist>
215</para>
216
24f6490f 217</refsect2>
ec2853a7 218
24f6490f
AL
219<refsect2>
220<title>How APT Interprets Priorities</title>
ec2853a7 221
5b9d504e
AL
222<para>
223Priorities (P) assigned in the APT preferences file must be positive
ec2853a7
AL
224or negative integers. They are interpreted as follows (roughly speaking):
225
226<variablelist>
5b9d504e
AL
227<varlistentry>
228<term>P &gt; 1000</term>
229<listitem><simpara>causes a version to be installed even if this
230constitutes a downgrade of the package</simpara></listitem>
ec2853a7 231</varlistentry>
5b9d504e
AL
232<varlistentry>
233<term>990 &lt; P &lt;=1000</term>
234<listitem><simpara>causes a version to be installed
ec2853a7 235even if it does not come from the target release,
5b9d504e 236unless the installed version is more recent</simpara></listitem>
ec2853a7 237</varlistentry>
5b9d504e
AL
238<varlistentry>
239<term>500 &lt; P &lt;=990</term>
240<listitem><simpara>causes a version to be installed
241unless there is a version available belonging to the target release
242or the installed version is more recent</simpara></listitem>
ec2853a7 243</varlistentry>
5b9d504e
AL
244<varlistentry>
245<term>100 &lt; P &lt;=500</term>
246<listitem><simpara>causes a version to be installed
247unless there is a version available belonging to some other
248distribution or the installed version is more recent</simpara></listitem>
24f6490f 249</varlistentry>
5b9d504e 250<varlistentry>
56298634 251<term>0 &lt; P &lt;=100</term>
5b9d504e
AL
252<listitem><simpara>causes a version to be installed
253only if there is no installed version of the package</simpara></listitem>
ec2853a7 254</varlistentry>
5b9d504e
AL
255<varlistentry>
256<term>P &lt; 0</term>
257<listitem><simpara>prevents the version from being installed</simpara></listitem>
ec2853a7
AL
258</varlistentry>
259</variablelist>
260</para>
261
24f6490f 262<para>If any specific-form records match an available package version then the
5b9d504e
AL
263first such record determines the priority of the package version.
264Failing that,
265if any general-form records match an available package version then the
24f6490f 266first such record determines the priority of the package version.</para>
ec2853a7 267
24f6490f
AL
268<para>For example, suppose the APT preferences file contains the three
269records presented earlier:</para>
ec2853a7
AL
270
271<programlisting>
272Package: perl
273Pin: version 5.8*
b2e465d6 274Pin-Priority: 1001
ec2853a7 275
b2e465d6 276Package: *
ec2853a7
AL
277Pin: origin ""
278Pin-Priority: 999
279
280Package: *
281Pin: release unstable
282Pin-Priority: 50
283</programlisting>
284
24f6490f 285<para>Then:
ec2853a7 286<itemizedlist>
24f6490f 287<listitem><simpara>The most recent available version of the <literal>perl</literal>
ec2853a7 288package will be installed, so long as that version's version number begins
24f6490f
AL
289with "<literal>5.8</literal>". If <emphasis>any</emphasis> 5.8* version of <literal>perl</literal> is
290available and the installed version is 5.9*, then <literal>perl</literal> will be
ec2853a7 291downgraded.</simpara></listitem>
24f6490f 292<listitem><simpara>A version of any package other than <literal>perl</literal>
5b9d504e
AL
293that is available from the local system has priority over other versions,
294even versions belonging to the target release.
ec2853a7 295</simpara></listitem>
5b9d504e
AL
296<listitem><simpara>A version of a package whose origin is not the local
297system but some other site listed in &sources-list; and which belongs to
24f6490f 298an <literal>unstable</literal> distribution is only installed if it is selected
5b9d504e 299for installation and no version of the package is already installed.
ec2853a7
AL
300</simpara></listitem>
301</itemizedlist>
302</para>
24f6490f 303</refsect2>
ec2853a7 304
24f6490f
AL
305<refsect2>
306<title>Determination of Package Version and Distribution Properties</title>
ec2853a7 307
24f6490f 308<para>The locations listed in the &sources-list; file should provide
ec2853a7 309<filename>Packages</filename> and <filename>Release</filename> files
24f6490f 310to describe the packages available at that location. </para>
ec2853a7 311
24f6490f 312<para>The <filename>Packages</filename> file is normally found in the directory
ec2853a7
AL
313<filename>.../dists/<replaceable>dist-name</replaceable>/<replaceable>component</replaceable>/<replaceable>arch</replaceable></filename>:
314for example, <filename>.../dists/stable/main/binary-i386/Packages</filename>.
315It consists of a series of multi-line records, one for each package available
316in that directory. Only two lines in each record are relevant for setting
317APT priorities:
318<variablelist>
319<varlistentry>
24f6490f 320<term>the <literal>Package:</literal> line</term>
ec2853a7
AL
321<listitem><simpara>gives the package name</simpara></listitem>
322</varlistentry>
323<varlistentry>
24f6490f 324<term>the <literal>Version:</literal> line</term>
ec2853a7
AL
325<listitem><simpara>gives the version number for the named package</simpara></listitem>
326</varlistentry>
327</variablelist>
328</para>
329
24f6490f 330<para>The <filename>Release</filename> file is normally found in the directory
ec2853a7
AL
331<filename>.../dists/<replaceable>dist-name</replaceable></filename>:
332for example, <filename>.../dists/stable/Release</filename>,
333or <filename>.../dists/woody/Release</filename>.
24f6490f 334It consists of a single multi-line record which applies to <emphasis>all</emphasis> of
5b9d504e 335the packages in the directory tree below its parent. Unlike the
24f6490f 336<filename>Packages</filename> file, nearly all of the lines in a <filename>Release</filename>
ec2853a7
AL
337file are relevant for setting APT priorities:
338
339<variablelist>
340<varlistentry>
efc487fb 341<term>the <literal>Archive:</literal> or <literal>Suite:</literal> line</term>
5b9d504e 342<listitem><simpara>names the archive to which all the packages
ec2853a7 343in the directory tree belong. For example, the line
efc487fb
DK
344"Archive: stable" or
345"Suite: stable"
5b9d504e 346specifies that all of the packages in the directory
24f6490f
AL
347tree below the parent of the <filename>Release</filename> file are in a
348<literal>stable</literal> archive. Specifying this value in the APT preferences file
ec2853a7
AL
349would require the line:
350</simpara>
ec2853a7
AL
351<programlisting>
352Pin: release a=stable
353</programlisting>
354</listitem>
355</varlistentry>
356
efc487fb
DK
357<varlistentry>
358<term>the <literal>Codename:</literal> line</term>
359<listitem><simpara>names the codename to which all the packages
360in the directory tree belong. For example, the line
361"Codename: squeeze"
362specifies that all of the packages in the directory
363tree below the parent of the <filename>Release</filename> file belong to a version named
364<literal>squeeze</literal>. Specifying this value in the APT preferences file
365would require the line:
366</simpara>
367<programlisting>
368Pin: release n=squeeze
369</programlisting>
370</listitem>
371</varlistentry>
372
ec2853a7 373<varlistentry>
24f6490f 374<term>the <literal>Version:</literal> line</term>
ec2853a7 375<listitem><simpara>names the release version. For example, the
5b9d504e
AL
376packages in the tree might belong to Debian GNU/Linux release
377version 3.0. Note that there is normally no version number for the
24f6490f 378<literal>testing</literal> and <literal>unstable</literal> distributions because they
5b9d504e
AL
379have not been released yet. Specifying this in the APT preferences
380file would require one of the following lines.
ec2853a7
AL
381</simpara>
382
383<programlisting>
384Pin: release v=3.0
f6271220 385Pin: release a=stable, v=3.0
ec2853a7
AL
386Pin: release 3.0
387</programlisting>
388
389</listitem>
390</varlistentry>
391
392<varlistentry>
24f6490f 393<term>the <literal>Component:</literal> line</term>
ec2853a7 394<listitem><simpara>names the licensing component associated with the
24f6490f 395packages in the directory tree of the <filename>Release</filename> file.
5b9d504e 396For example, the line "Component: main" specifies that
24f6490f 397all the packages in the directory tree are from the <literal>main</literal>
5b9d504e
AL
398component, which entails that they are licensed under terms listed
399in the Debian Free Software Guidelines. Specifying this component
400in the APT preferences file would require the line:
ec2853a7 401</simpara>
ec2853a7
AL
402<programlisting>
403Pin: release c=main
404</programlisting>
405</listitem>
406</varlistentry>
407
408<varlistentry>
24f6490f 409<term>the <literal>Origin:</literal> line</term>
5b9d504e 410<listitem><simpara>names the originator of the packages in the
24f6490f
AL
411directory tree of the <filename>Release</filename> file. Most commonly, this is
412<literal>Debian</literal>. Specifying this origin in the APT preferences file
ec2853a7
AL
413would require the line:
414</simpara>
ec2853a7
AL
415<programlisting>
416Pin: release o=Debian
417</programlisting>
418</listitem>
419</varlistentry>
420
421<varlistentry>
24f6490f 422<term>the <literal>Label:</literal> line</term>
5b9d504e 423<listitem><simpara>names the label of the packages in the directory tree
24f6490f
AL
424of the <filename>Release</filename> file. Most commonly, this is
425<literal>Debian</literal>. Specifying this label in the APT preferences file
ec2853a7
AL
426would require the line:
427</simpara>
ec2853a7
AL
428<programlisting>
429Pin: release l=Debian
430</programlisting>
431</listitem>
432</varlistentry>
433</variablelist>
434</para>
435
24f6490f 436<para>All of the <filename>Packages</filename> and <filename>Release</filename>
5b9d504e 437files retrieved from locations listed in the &sources-list; file are stored
ec2853a7 438in the directory <filename>/var/lib/apt/lists</filename>, or in the file named
24f6490f 439by the variable <literal>Dir::State::Lists</literal> in the <filename>apt.conf</filename> file.
ec2853a7
AL
440For example, the file
441<filename>debian.lcs.mit.edu_debian_dists_unstable_contrib_binary-i386_Release</filename>
442contains the <filename>Release</filename> file retrieved from the site
24f6490f
AL
443<literal>debian.lcs.mit.edu</literal> for <literal>binary-i386</literal> architecture
444files from the <literal>contrib</literal> component of the <literal>unstable</literal>
445distribution.</para>
446</refsect2>
ec2853a7 447
24f6490f
AL
448<refsect2>
449<title>Optional Lines in an APT Preferences Record</title>
ec2853a7 450
24f6490f
AL
451<para>Each record in the APT preferences file can optionally begin with
452one or more lines beginning with the word <literal>Explanation:</literal>.
453This provides a place for comments.</para>
ec2853a7 454
24f6490f 455<para>The <literal>Pin-Priority:</literal> line in each APT preferences record is
e3a1f08d 456optional. If omitted, APT assigns a priority of 1 less than the last value
24f6490f
AL
457specified on a line beginning with <literal>Pin-Priority: release ...</literal>.</para>
458</refsect2>
459</refsect1>
ec2853a7 460
24f6490f
AL
461<refsect1>
462<title>Examples</title>
463<refsect2>
464<title>Tracking Stable</title>
ec2853a7 465
24f6490f 466<para>The following APT preferences file will cause APT to assign a
ec2853a7 467priority higher than the default (500) to all package versions belonging
24f6490f
AL
468to a <literal>stable</literal> distribution and a prohibitively low priority to
469package versions belonging to other <literal>Debian</literal> distributions.
ec2853a7
AL
470
471<programlisting>
5b9d504e
AL
472Explanation: Uninstall or do not install any Debian-originated
473Explanation: package versions other than those in the stable distro
ec2853a7
AL
474Package: *
475Pin: release a=stable
476Pin-Priority: 900
477
ec2853a7
AL
478Package: *
479Pin: release o=Debian
480Pin-Priority: -10
481</programlisting>
482</para>
483
24f6490f 484<para>With a suitable &sources-list; file and the above preferences file,
ec2853a7 485any of the following commands will cause APT to upgrade to the
24f6490f 486latest <literal>stable</literal> version(s).
ec2853a7
AL
487
488<programlisting>
489apt-get install <replaceable>package-name</replaceable>
490apt-get upgrade
491apt-get dist-upgrade
492</programlisting>
493</para>
494
24f6490f
AL
495<para>The following command will cause APT to upgrade the specified
496package to the latest version from the <literal>testing</literal> distribution;
5b9d504e
AL
497the package will not be upgraded again unless this command is given
498again.
ec2853a7
AL
499
500<programlisting>
501apt-get install <replaceable>package</replaceable>/testing
502</programlisting>
24f6490f
AL
503</para>
504</refsect2>
ec2853a7 505
24f6490f
AL
506 <refsect2>
507 <title>Tracking Testing or Unstable</title>
ec2853a7 508
24f6490f
AL
509<para>The following APT preferences file will cause APT to assign
510a high priority to package versions from the <literal>testing</literal>
5b9d504e 511distribution, a lower priority to package versions from the
24f6490f
AL
512<literal>unstable</literal> distribution, and a prohibitively low priority
513to package versions from other <literal>Debian</literal> distributions.
ec2853a7
AL
514
515<programlisting>
516Package: *
517Pin: release a=testing
518Pin-Priority: 900
519
520Package: *
521Pin: release a=unstable
522Pin-Priority: 800
523
524Package: *
525Pin: release o=Debian
526Pin-Priority: -10
527</programlisting>
528</para>
529
24f6490f 530<para>With a suitable &sources-list; file and the above preferences file,
5b9d504e 531any of the following commands will cause APT to upgrade to the latest
24f6490f 532<literal>testing</literal> version(s).
ec2853a7
AL
533
534<programlisting>
535apt-get install <replaceable>package-name</replaceable>
536apt-get upgrade
537apt-get dist-upgrade
538</programlisting>
539</para>
540
541<para>The following command will cause APT to upgrade the specified
24f6490f 542package to the latest version from the <literal>unstable</literal> distribution.
5b9d504e 543Thereafter, <command>apt-get upgrade</command> will upgrade
24f6490f 544the package to the most recent <literal>testing</literal> version if that is
5b9d504e 545more recent than the installed version, otherwise, to the most recent
24f6490f 546<literal>unstable</literal> version if that is more recent than the installed
5b9d504e 547version.
ec2853a7
AL
548
549<programlisting>
550apt-get install <replaceable>package</replaceable>/unstable
551</programlisting>
552</para>
efc487fb
DK
553</refsect2>
554
555
556<refsect2>
557<title>Tracking the evolution of a codename release</title>
558
559<para>The following APT preferences file will cause APT to assign a
560priority higher than the default (500) to all package versions belonging
561to a specified codename of a distribution and a prohibitively low priority to
562package versions belonging to other <literal>Debian</literal> distributions,
563codenames and archives.
564Note that with this APT preference APT will follow the migration of a release
565from the archive <literal>testing</literal> to <literal>stable</literal> and
566later <literal>oldstable</literal>. If you want to follow for example the progress
567in <literal>testing</literal> notwithstanding the codename changes you should use
568the example configurations above.
569
570<programlisting>
571Explanation: Uninstall or do not install any Debian-originated package versions
572Explanation: other than those in the distribution codenamed with squeeze or sid
573Package: *
574Pin: release n=squeeze
575Pin-Priority: 900
576
577Explanation: Debian unstable is always codenamed with sid
578Package: *
579Pin: release a=sid
580Pin-Priority: 800
581
582Package: *
583Pin: release o=Debian
584Pin-Priority: -10
585</programlisting>
586</para>
587
588<para>With a suitable &sources-list; file and the above preferences file,
589any of the following commands will cause APT to upgrade to the
590latest version(s) in the release codenamed with <literal>squeeze</literal>.
591
592<programlisting>
593apt-get install <replaceable>package-name</replaceable>
594apt-get upgrade
595apt-get dist-upgrade
596</programlisting>
597</para>
598
599<para>The following command will cause APT to upgrade the specified
600package to the latest version from the <literal>sid</literal> distribution.
601Thereafter, <command>apt-get upgrade</command> will upgrade
602the package to the most recent <literal>squeeze</literal> version if that is
603more recent than the installed version, otherwise, to the most recent
604<literal>sid</literal> version if that is more recent than the installed
605version.
ec2853a7 606
efc487fb
DK
607<programlisting>
608apt-get install <replaceable>package</replaceable>/sid
609</programlisting>
610</para>
24f6490f
AL
611</refsect2>
612</refsect1>
ec2853a7 613
daa4aa52
DK
614<refsect1>
615<title>Files</title>
616 <variablelist>
617 &file-preferences;
618 </variablelist>
619</refsect1>
620
24f6490f
AL
621<refsect1>
622<title>See Also</title>
5e80de29 623<para>&apt-get; &apt-cache; &apt-conf; &sources-list;
5b9d504e 624</para>
24f6490f 625</refsect1>
b2e465d6
AL
626
627 &manbugs;
ec2853a7 628
b2e465d6 629</refentry>