[volunteers] Upgrades done, on www.svlug.org
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_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:
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:
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:
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
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:
Linode's upgrade help:
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