Mike Miller <mbmiller at taxa.epi.umn.edu>  wrote:
> Is it possible to just update certain packages when new versions
> become available and save the major updates for later?  Seems like
> it would be possible, but I'm not familiar with the details of
> package updating.

Depending upon the newer package's dependencies on other packages, you
may be able to use the pinning options in /etc/apt/preferences.  The
manpage is apt_preferences(5).  You can then specify multiple archives
in your /etc/apt/sources.list file without worrying about unstable
being installed instead of stable for default installations.

It allows you to do:

	apt-get install -t unstable PACKAGE

You can see what score packages from each repository will have by
using:

	apt-cache policy PACKAGE

For example:

$ apt-cache policy monotone
monotone:
  Installed: 0.18-1
  Candidate: 0.18-1
  Version Table:
     0.22-1 0
         50 http://http.us.debian.org sid/main Packages
 *** 0.18-1 0
        500 http://http.us.debian.org sarge/main Packages
        100 /var/lib/dpkg/status

This shows that sid (unstable) has version 0.22-1 available, but that
it won't be installed automatically.  Instead, 0.18-1 has a higher pin
priority and will be installed by default.

This isn't exactly fool-proof, and you'll run into conditions that the
command-line apt-get calls won't be able to handle.  In which case,
you could always install a package manually with dpkg.

> I like the idea of a low-maintenance solution with up-to-date
> versions of the most widely-used packages.

Many people tie apt_preferences with custom local archives to carry
the latest-and-greatest. i.e.

# /etc/apt/sources.list entry for local repository
deb file:/LOCAL/PATH local main contrib non-free
deb-src file:/LOCAL/PATH local main contrib non-free

In local, you've perhaps created an archive with something
mini-dinstall, a daemon for updating Debian packages in a repository,
or reprepro, a debian package repository producer.  Set up
/etc/apt/preferences to pull from local by default, stable second in
line.  etc.

-- 
Chad Walstrom <chewie at wookimus.net>           http://www.wookimus.net/
           assert(expired(knowledge)); /* core dump */