I’m running some sort of an experimental KVM guest with IPv6 connectivity only. Since it still had Ubuntu Server 13.10 installed I tried to run a
do-release-upgrade on it to upgrade it to the latest Ubuntu Server release – which at the time of this writing is 14.10. However, the
do-release-upgrade command kept saying that no new release could be found:
root@ipv6lab:~# do-release-upgrade Checking for a new Ubuntu release No new release found
I verified the
/etc/update-manager/release-upgrades configuration file but it already contained the
Prompt=normal line. After doing some digging I found out that the
do-release-upgrade tries to connect to http://changelogs.ubuntu.com but there is no AAAA DNS record for this host. Essentially, this means that an Ubuntu server can’t be upgraded to a newer release over IPv6 because it can’t connect to the update info site over IPv6.
root@ipv6lab:~# dig +short changelogs.ubuntu.com A 126.96.36.199 root@ipv6lab:~# dig +short changelogs.ubuntu.com AAAA root@ipv6lab:~#
Interestingly, the Ubuntu APT repository update site is accessible over IPv6, which is why something like
apt-get update runs fine on IPv6-only Ubuntu servers.
I solved the problem by creating an IPv6 to IPv4 HTTP proxy using HAProxy on a IPv4/IPv6 dual stack server. The proxy listens on an IPv6 address and “tunnels” all requests to changelogs.ubuntu.com using the IPv4 address of the changelogs server. I was able to upgrade to a newer Ubuntu release this way on an IPv6-only Ubuntu server.
If you want to use my Ubuntu changelogs-proxy to release-upgrade your IPv6-only Ubuntu server, add this entry to the
do-release-upgrade now should display something like:
root@ipv6lab:~# do-release-upgrade Checking for a new Ubuntu release Your Ubuntu release is not supported anymore. For upgrade information, please visit: http://www.ubuntu.com/releaseendoflife Get:1 Upgrade tool signature [198 B] Get:2 Upgrade tool [1,146 kB] Fetched 1,146 kB in 0s (0 B/s) authenticate 'trusty.tar.gz' against 'trusty.tar.gz.gpg' extracting 'trusty.tar.gz'
Use this at your own risk and don’t forget to undo the changes in
I’d really appreciate if Canonical could add IPv6 connectivity to its changelogs site. I mean… come on, it’s 2014 and IPv6 isn’t that exotic anymore after all, right?