[volunteers] Upgrades done, on www.svlug.org

Rick Moen rick at linuxmafia.com
Wed Mar 30 21:30:15 PST 2011


Courtesy of /usr/bin/do-release-upgrade and a little tinkering,
I've upgraded the www.svlug.org Linode virthost's Ubuntu Server
software set from 7.10 Gutsy Gibbon to 10.04.1 LTS Lucid Lynx.

root at gruyere:~# cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=10.04
DISTRIB_CODENAME=lucid
DISTRIB_DESCRIPTION="Ubuntu 10.04.1 LTS"
root at gruyere:~#

The tinkering was necessary because the (supported and recommended) jump
from 8.04 LTS Hardy Heron to 10.04.1 LTS Lucid Lynx broke severely 
on account of a known-broken package, GNU tar 1.22-2:


  Preparing to replace tar 1.19-3 (using .../archives/tar_1.22-2_i386.deb) ...
  Unpacking replacement tar ...
  Setting up tar (1.22-2) ...

  tar: ./md5sums: Cannot utime: Bad file descriptor
  tar: ./control: Cannot utime: Bad file descriptor
  tar: .: Cannot utime: Bad file descriptor
  tar: Exiting with failure status due to previous errors
  dpkg-deb: subprocess tar returned error exit status 2
  dpkg: error processing /var/cache/apt/archives/diff_1%3a2.8.1-18_all.deb (--unpack):
  subprocess dpkg-deb --control returned error exit status 2
  Errors were encountered while processing:
   /var/cache/apt/archives/diff_1%3a2.8.1-18_all.deb
  Exception during pm.DoInstall():  E:Sub-process /usr/bin/dpkg returned an error code (1)

  Could not install the upgrades 

  The upgrade is now aborted. Your system could be in an unusable 
  state. A recovery will run now (dpkg --configure -a). 

  Please report this bug against the 'update-manager' package and 
  include the files in /var/log/dist-upgrade/ in the bug report. 
  E:Sub-process /usr/bin/dpkg returned an error code (1) 



Manual kludge to permit the upgrade to continue is given here:
http://serverfault.com/questions/155210/cannot-utime-bad-file-descriptor-when-upgrading-ubuntu-8-04-to-10-04

Essentially, you create a /usr/local/sbin/tar shell script (which will
be found and used during upgrade in preference to the installed regular
/bin/tar), that is a wrapper around /bin/tar adding a '--touch' option:

#!/bin/sh
exec /bin/tar --touch -"$@"


That then permits resumption of the upgrade using 'apt-get dist-upgrade'.
(The cited Web page says aptitude rather than apt-get, but we use
apt-get.)

The '--touch' option makes GNU tar ignore the stored mtime on files it's
pulling out of tarballs.  Apparently, that finesses the bad file
descriptors stored as metadata for a couple of housekeeping files in
Ubuntu's tar package.

Here's the Ubuntu bug:
https://bugs.launchpad.net/ubuntu/+source/tar/+bug/539814

Linode's upgrade help:
http://library.linode.com/troubleshooting/upgrade-to-ubuntu-10.04-lucid

Um, Ubuntu guys?  Your upgrade between the two most recent Long Term
Support releases has been severely broken for almost a year, and you 
haven't bothered to fix it, leaving people to Web-search for solutions? 
That's not too impressive.


Unique to Linode's UML virtual hosts, the kernel is not part of the 
mounted filesystem, and so has to be selected in the customer Web
administrative interface.  Since I didn't come across Linode's upgrade
help page until I completed upgrading the virthost proper, I didn't
follow its instructions to pick "Latest Paravirt" kernel in the admin
interface (and add a devtmpfs line for /dev to /etc/fstab) until the
very end.  Accordingly, I haven't yet rebooted the virtual machine,
which will need to be done before we can be sure that all's well.





More information about the volunteers mailing list