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