Hardy heron upgrade

From Finninday
Revision as of 19:30, 29 April 2008 by Rday (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Hardy Heron upgrade status, as it happens

update-manager -d

April 24, Hardy Heron is released. All times in Pacific daylight time.

11:00am Ran update-manger -d
11:05am Accepted license, downloading the upgrade tool (1 mirror failure so far)
11:35am Third-party sources disabled for the upgrade.
11:38am Eeek, some applications are no longer supported by Canonical, 
        including courier-imap, xmms, xvnc.  If I want to continue using those packages, 
        I need to enable community support.  Here is the full list it came up with for
        my machine:
binfmt-support
console-common
console-data
courier-authdaemon
courier-base
courier-imap
courier-imap-ssl
courier-ssl
doc-debian
evms
evms-ncurses
gcj-4.1-base
gij-4.1
gnome-cups-manager
gtkhtml3.8
irssi-text
libasn1-6-heimdal
libcompfaceg1
libconvert-binhex-perl
libdvdnav4
libdvdread3
libevms-2.5
libfinance-quote-perl
libgcj7-jar
libgda2-3
libgda2-common
libglib1.2
libgnomecupsui1.0-1c2a
libgnucrypto-java
libgssapi4-heimdal
libgtk1.2
libgtk1.2-common
libhtml-tableextract-perl
libjaxp1.2-java
libkrb5-17-heimdal
liblzo1
libmailtools-perl
libmime-perl
libnet-dns-perl
libnet-ip-perl
libnetcdf3
libpq4
libroken16-heimdal
libxml1
menu-xdg
pmount
python-eunuchs
python-gadfly
python-htmltmpl
python-kjbuckets
python-netcdf
python-pgsql
python-soappy
python-sqlite
python-stats
python-syck
reportbug
ttf-baekmuk
vnc-common
xmms
xvncviewer
11:40am Do you want to start the upgrade?  It will take 2 hours and 27 minutes from 
        this point and once the download is complete, you cannot cancel.
12:36pm Still downloading packages.  It estimates completion in 19 hours.
 2:29pm Downloading 616 of 1575 packages.  It appears to be stalled.  It has 
        no prediction for completion.
 2:33pm Estimated completion in 6 hours.  It looks like other people are still
        using courier-imap with Hardy Heron.  I just have to make sure I don't
        let the installer remove those packages.  Then I can figure out what a 
        supported replacement is on my own time.
 3:09pm Downloading 717 of 1575.  Estimated completion in 5 hours.
 4:13pm Downloading 900 of 1575.  Estimated completion in 4 hours.
 
 8:25pm Downloads complete.  Installing and configuring.
 8:28pm The upgrade will continue but the
        '/var/cache/apt/archives/dpkg_1.14.16.6ubuntu3_amd64.deb' package may be in
        a not working state. Please consider submitting a bugreport about it.
 8:30pm A fatal error occured
        Please report this as a bug (if you haven't already) and include thefiles
        /var/log/dist-upgrade/main.log and /var/log/dist-upgrade/apt.log in your
        report. The upgrade aborts now.
        Your original sources.list was saved in /etc/apt/sources.list.distUpgrade.

Huh? Now what? My machine is still running. I guess not much, if anything has actually been installed. I guess I try again later.

/var/log/dist-upgrade/main.log

The full log is gigantic. Here are just the ERROR lines:

2008-04-24 11:21:18,215 ERROR IOError/SystemError in cache.update(): 'Failed to fetch http://ubuntu.compiz.net/dists/dapper/main/binary-amd64/Packages.gz 302 Found
2008-04-24 11:21:18,215 ERROR doUpdate() failed completely
2008-04-24 20:27:06,756 ERROR got an error from dpkg for pkg: '/var/cache/apt/archives/dpkg_1.14.16.6ubuntu3_amd64.deb': 'installing dpkg would break apt, and
2008-04-24 20:27:06,758 ERROR got an error from dpkg for pkg: '/var/cache/apt/archives/dpkg_1.14.16.6ubuntu3_amd64.deb': 'installing dpkg would break apt, and
2008-04-24 20:29:30,622 ERROR not handled expection:
2008-04-24 20:29:30,623 ERROR failed to import apport python module, can't report bug: No module named apport.python_hook

/var/log/dist-upgrade/apt.log


Second try

On April 25, I tried again by downloading the alternate cdrom for amd64 Hardy Heron

7:57pm Inserted the cd and tried to launch cdromupgrade, but got this error:
root@weasel:/media/cdrom0# sh ./cdromupgrade
tar: ./dists/stable/main/dist-upgrader/binary-all//hardy.tar.gz: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error exit delayed from previous errors
Could not find the upgrade application in the archive, exiting

The error appears to be a lie. The file hardy.tar.gz does exist where it should on the CD:

root@weasel:/media/cdrom0/dists/stable/main/dist-upgrader/binary-all# ls -l
total 672
-r--r--r-- 1 root root 687228 Apr 22 00:30 hardy.tar.gz
-r--r--r-- 1 root root    191 Apr 22 01:12 hardy.tar.gz.gpg

Third try

root@weasel:~# apt-get -f install
Reading package lists... Done
Building dependency tree... Done
Correcting dependencies... Done
The following extra packages will be installed:
  binutils cpp cpp-4.2 g++ g++-4.2 gcc gcc-4.2 libapr1 libaprutil1
  libarchive-dev libarchive1 libc6-dev libc6-i386 libdb4.6 libflac8
  libgnutls13 libgomp1 libkeyutils1 libkrb53 libldap-2.4-2 liblzo2-2
  libmysqlclient15off libopencdk10 libpq5 libsasl2 libsasl2-2 libsasl2-modules
  libsqlite3-0 libssl-dev libssl0.9.8 libstdc++6-4.2-dev libtasn1-3
  libvorbis-dev libvorbis0a libvorbisenc2 libvorbisfile3 linux-libc-dev
  mod-musicindex-common mysql-common postfix postfix-mysql zlib1g zlib1g-dev
Suggested packages:
  binutils-doc cpp-doc gcc-4.2-locales g++-multilib g++-4.2-multilib
  gcc-4.2-doc libstdc++6-4.2-dbg automake1.9 bison flex gcc-doc gcc-multilib
  manpages-dev gcc-4.2-multilib libgcc1-dbg libgomp1-dbg libmudflap0-4.2-dbg
  libmudflap0-4.2-dev glibc-doc gnutls-bin krb5-doc krb5-user
  libsasl2-modules-gssapi-mit libsasl2-modules-gssapi-heimdal
  libsasl2-modules-ldap libsasl2-modules-otp libsasl2-modules-sql
  libstdc++6-4.2-doc postfix-cdb postfix-ldap postfix-pcre postfix-pgsql
  resolvconf
The following packages will be REMOVED:
  apache2 g++-4.0 gcc-4.0 ia32-libs ia32-libs-gtk ia32-libs-openoffice.org
  libapache2-mod-musicindex libstdc++6-4.0-dev linux-kernel-headers
The following NEW packages will be installed:
  cpp-4.2 g++-4.2 gcc-4.2 libapr1 libaprutil1 libdb4.6 libflac8 libgnutls13
  libgomp1 libkeyutils1 libldap-2.4-2 liblzo2-2 libopencdk10 libpq5 libsasl2-2
  libstdc++6-4.2-dev libtasn1-3 linux-libc-dev
The following packages will be upgraded:
  binutils cpp g++ gcc libarchive-dev libarchive1 libc6-dev libc6-i386
  libkrb53 libmysqlclient15off libsasl2 libsasl2-modules libsqlite3-0
  libssl-dev libssl0.9.8 libvorbis-dev libvorbis0a libvorbisenc2
  libvorbisfile3 mod-musicindex-common mysql-common postfix postfix-mysql
  zlib1g zlib1g-dev
25 upgraded, 18 newly installed, 9 to remove and 1062 not upgraded.
4 not fully installed or removed.
Need to get 0B/26.4MB of archives.
After unpacking 46.7MB disk space will be freed.
12:51am Ran update-manager -d and got 545 packages to update.  Had an error with xfonts-scalable.
        Restarted apache after removing the musicindex module.
12:54am update-manger -d now fails with pango warnings about ugly output.  Fonts are screwed up.
12:57am "apt-get -f install" now gives me more info about the font error:
Setting up xfonts-scalable (1:1.0.0-6) ...
usage error: unrecognized option
Usage: update-fonts-dir DIRECTORY ...
       update-fonts-dir { -h | --help }
This program is a wrapper for mkfontdir(1x) that is primarily useful to Debian
package maintainer scripts.  See update-fonts-dir(8) for more information.
Options:
    -h, --help                               display this usage message and exitdpkg: error processing xfonts-scalable (--configure):
 subprocess post-installation script returned error exit status 2
Errors were encountered while processing:
 xfonts-scalable
E: Sub-process /usr/bin/dpkg returned an error code (1)

dpkg -l xfonts-scalable initially reported that it was installed but failed config. Since then, I've tried to remove it, update it, reinstall it, but all fail. Now it looks like this:

root@weasel:/usr/share/X11/fonts# dpkg -l xfonts-scalable
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Installed/Config-f/Unpacked/Failed-cfg/Half-inst/t-aWait/T-pend
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name           Version        Description
+++-==============-==============-============================================
iHR xfonts-scalabl 1:1.0.0-6      scalable fonts for X

There seems to be a bug related to this:

https://bugs.launchpad.net/ubuntu/+source/xfonts-scalable/+bug/150770

Bummer. I'm stuck without fonts, so I can't run synaptic, or any other X app. And this was first reported in October 2007. That doesn't give me much hope that it will be resolved soon. There isn't even any activity posted on this bug. It really seems like amd64 is a second-class platform.

Googling for other problems similar, I find that someone had a similar problem with all his X fonts showing up as tall, narrow, empty boxes and the locale was implied to be the problem but no solution was found. An idea was to verify that fonts were installed with fc-list.

My fc-list returns a list of 183 fonts. And the output looks normal.

My locale looks like this:

root@weasel:~# locale
LANG=en_US.UTF-8
LANGUAGE=en
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

tried to manually manipulate the /var/lib/dpkg/status to remove xfonts-scalable

Nothing else was working. The removal seemed to work, but then when I tried to reinstall it, I got the same failure.

root@weasel:/usr/share/fonts# cd /var/lib/dpkg/
root@weasel:/var/lib/dpkg# ls
alternatives   cmethopt        info     parts             status      updates
available      diversions      lock     statoverride      status-old
available-old  diversions-old  methods  statoverride-old  triggers
root@weasel:/var/lib/dpkg# vi status
root@weasel:/var/lib/dpkg# dpkg --purge xfonts-scalable
dpkg - warning: ignoring request to remove xfonts-scalable which isn't installed.
root@weasel:/var/lib/dpkg# apt-get install xfonts-scalable
Reading package lists... Done
Building dependency tree... Done
Suggested packages:
  xfs xserver
The following NEW packages will be installed:
  xfonts-scalable
0 upgraded, 1 newly installed, 0 to remove and 517 not upgraded.
Need to get 0B/342kB of archives.
After unpacking 635kB of additional disk space will be used.
Selecting previously deselected package xfonts-scalable.
(Reading database ... 145388 files and directories currently installed.)
Unpacking xfonts-scalable (from .../xfonts-scalable_1%3a1.0.0-6_all.deb) ...
Setting up xfonts-scalable (1:1.0.0-6) ...
usage error: unrecognized option
Usage: update-fonts-dir DIRECTORY ...
       update-fonts-dir { -h | --help }
This program is a wrapper for mkfontdir(1x) that is primarily useful to Debian
package maintainer scripts.  See update-fonts-dir(8) for more information.
Options:
    -h, --help                               display this usage message and exitdpkg: error processing xfonts-scalable (--configure):
 subprocess post-installation script returned error exit status 2
Errors were encountered while processing:
 xfonts-scalable
E: Sub-process /usr/bin/dpkg returned an error code (1)


Hey look! I'm famous! https://answers.launchpad.net/ubuntu/+question/30950

My name's Ryan, but my friends call me "question number 30950"

Seriously re-evaluating options

Well, I think I have to give up on the possibility of a smooth upgrade. The ubuntu upgrade page (http://www.ubuntu.com/getubuntu/upgrading) gives 2 options:

  • network upgrade via "update-manager -d"
That's what failed for me in the above drama
  • download the CD for the alternate installer
When I did that, the upgrader was supposed to autorun, but didn't. When I manually try to run the upgrader, it fails trying to find the repository file which looks like it is in just the right place. huh.

So I think the next step is to boot from the alternate install CD and hope for the best. I have a backup of /etc, /home, and the wiki. I should make a backup of the cookbook as well. This just might be a bare-metal restore kind of situation.

Install-over is as good as an upgrade

I used the alternate install CD for Hardy amd64 to do an installation on top of my existing Dapper. It didn't really want to do that, but I was able to coax it. I had to point it at the existing partitions and let it warn me that it really wanted to format those partitions. It was scary trying to line up the partitions and LVM meta data. It seems like there are so many more things to break than just a simple "fdisk and lilo" kind of procedure. But it turns out that the metadata that LVM keeps made it easier to get everything set up the way it was.

The install went smoothly. No signs of the previous errors with packages. Sigh, a smooth upgrade probably was possible if not for the baffling bugs I encountered.

That just left the task of re-installing all the services that Dapper was providing: firewall, smtp, dhcp, routing, http, etc etc.

So far, I have firewall, basic mail service, dhcpd, and now the wiki. One thing that has made it harder than it might have been is my lack of ability to find the right package to install to get a service, like dhcpd for instance.

I would have guessed that synaptic would let me search for dhcp and show me a few servers to choose from and let me install right there. But no, a search for dhcp yields only clients. Same for sshd. My fallback procedure is to google for "install X on ubuntu" and in the first few paragraphs there is usually a line like "apt-get install openssh-server". Ahh, so THAT'S the magic name for sshd. Why does synaptic not show me this? There must be a switch somewhere set to "easy-mode" that I can't find.