[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: How to downgrade to stable?



On Samstag, 12. Juli 2003 19:05, A.L.Meyers wrote:
> Hi!  The thread on the subject was not conclusive.
>
> Have
  [...]
> in /etc/apt/preferences.
>
> Should
>
> apt-get -t stable upgrade
>
>
> do the job?
>
> Lucien

Hi Lucien,

Recently I downgraded two mixed Debian stable/testing systems:

I first tried it in a sandbox (vmware) to collect some experience with it.
After some failures I finally succeeded and took notes about the steps which
I think were most relevant. These notes follow at the end. 

Then I did the same with a real system, which succeeded on the first try :-)

On both systems even libc6 was successfully downgraded from version 2.3.1
to version 2.2.5.

I used the information from the previous thread plus extensive Google'ing.

Of course systems differ a lot from each other. So you might experience
other problems - I can't guarantee for anything!

If you have the chance, try it in a sandbox first!

As I said it worked for me.

Good luck,  Rudolf




Downgrading Debian testing to woody
===================================

I actually first installed woody, then upgraded it to testing
(via apt-get dist-upgrade) and then applied the following steps
to downgrade it to woody again.

See also second contribution in
  http://www.debianplanet.org/node.php?id=880
as well as
  http://lists.debian.org/debian-user/2003/debian-user-200304/msg02477.html
Section 3.10 in 
  http://www.debian.org/doc/manuals/apt-howto/ch-apt-get.en.html
and possibly others.

Search Google for: 'debian downgrading coreutils'
              for: 'debian downgrading packages'
          and for: 'apt pinning'


Create /etc/apt/preferences with the contents:

	Package: *
	Pin: release a=stable
	Pin-Priority: 1001

	Package: *
	Pin: release a=testing
	Pin-Priority: 60

	Package: *
	Pin: release a=unstable
	Pin-Priority: 50


With /etc/apt/sources.list pointing to a stable and a testing
distribution do:

apt-get update
apt-get -s upgrade    (just to check what would happen)
apt-get  upgrade


Most likely errors will occur like:

  dpkg: error processing /var/cache/apt/archives/debianutils_1.16_i386.deb (--unpack):
   trying to overwrite `/bin/readlink', which is also in package coreutils

In this case the woody packages which contain the conflicting file should
be installed with '--force-overwrite'. After this 'apt-get upgrade' will
run further up to the next conflict. If in doubt about which packages to
install manually consult Debians packages search page:
  http://www.debian.org/distrib/packages

Sometimes packages (in testing) depend on packages which do not exist in
woody. This may be resolved by just removing the dependency packages.
For example libpaperg_1.1.13 (testing) depends on libpaper1 and also
libpaper-utils is in the way (both in testing): removing both by hand
(--force-depends) allows libpaperg to be downgraded.

NOTE:
coreutils is in testing only! To remove it four packages from woody must be
installed first by hand: fileutils, shellutils, textutils and debianutils.

So continue the adventure similar to this:

dpkg -i --force-overwrite /var/cache/apt/archives/fileutils_4.1-10_i386.deb
dpkg -i --force-overwrite /var/cache/apt/archives/shellutils_2.0.11-11_i386.deb
dpkg -i --force-overwrite /var/cache/apt/archives/textutils_2.0-12_i386.deb
dpkg -i --force-overwrite /var/cache/apt/archives/debianutils_1.16_i386.deb 
apt-get  upgrade
dpkg --force-depends -r dselect
dpkg -i /var/cache/apt/archives/dpkg_1.9.21_i386.deb
apt-get  upgrade
dpkg -i --force-overwrite /var/cache/apt/archives/sysvinit_2.84-2woody1_i386.deb 
dpkg  --force-depends -r libpaper1 libpaper-utils
apt-get -f  upgrade
dpkg -r tktable-dev
apt-get  upgrade

After installation of all packages 'apt-get upgrade' might still have
problems configuring these packages because of dependency problems. It may
help to remove one of the dependency packages explicitly and then reinstall
it again (together with further dependency packages if needed), as with
libgnomeprint-bin which could not be configured since it depended on the yet
unconfigured package libgnomeprint-data:

dpkg --force-depends -r libgnomeprint-data
apt-get  install libgnomeprint-bin libgnomeprint-data

Now this did set up and configure both libgnomeprint-bin as well as
libgnomeprint-data and all the remaining packages :-))))

However:  Still libc6 Version 2.3.1 was installed (from testing)!

To downgrade libc6 to Version 2.2.5 (woody) force it with:

apt-get install libc6/stable

This will again remove and downgrade a lot of things, in particular now
package coreutils will be removed which should not be problem since the
woody equivalents (fileutils, shellutils, textutils and debianutils) are
installed already. Nevertheless, if no important packages are to be
removed (without being reinstalled or downgraded or being obsolete in woody,
always check apt-get first with option -s) then affirm the execution of this 
command with 'Yes, do as I say!' as required by apt-get.

A few packages from testing still remained. Another

apt-get upgrade

reduced their number by another five. Just 14 packages from testing remained
which seem to be not very essential:


dictionaries-common/testing     uptodate  0.9.51
gcc-3.3-base/testing            uptodate  1:3.3-2
gnome-desktop-data/testing      uptodate  2.2.2-1
initscripts/testing             uptodate  2.85-4.1
libgnomecanvas2-common/testing  uptodate  2.2.1-1
libgnomeui-common/testing       uptodate  2.2.0.1-2
libwnck-common/testing          uptodate  2.2.2-1
python2.2-extclass/testing      uptodate  1.2.0zope-2.5.1-1.2
python2.2-gadfly/testing        uptodate  1.0.0-3
python2.2-htmlgen/testing       uptodate  2.2.2-9
sysv-rc/testing                 uptodate  2.85-4.1
wenglish/testing                uptodate  2.0-2.4
wngerman/testing                uptodate  20030222-1
xprt-common/testing             uptodate  0.0.8.cvs20030508-1


The rest of the system is now in woody again as confirmed by

apt-show-version

Finally, it seems to be a good idea to restart demons that depend on libc6
or just to reboot the machine (if possible) in order to make the demons depend
on the new (old) libraries.



-- 
Rudolf Lohner   ---  Universitaet Karlsruhe (TH)  ---  Rechenzentrum 
Zirkel 2,  D-76128 Karlsruhe,  phone/fax: +49 721 {608-6958 | 32550}
www:  http://www.uni-karlsruhe.de/~Rudolf.Lohner
email: Rudolf.Lohner@rz.uni-karlsruhe.de



Reply to: