For anyone who doesn't use Linux (Ubuntu) or who frequently hits the upgrade buttons in the Update Manager, divert your attention elsewhere now because this is about to get technical. Your brain may hurt if you lack the computer smarts.
I wrote this up because in May I could not upgrade Edgy due to the wonderful
/boot disk space bug. I was trying to avert the recent
Debian SSH woes. So I waited because I wanted to buy a couple 1TB hard drives. They arrived this week. Edgy hit End of Life April 26th and the mirrors were pulled off the repositories days after the SSH news hit and after my upgrade failed. So now I needed to do two things: trick Ubuntu into changing mirrors (thanks to lamont on #ubuntu-mirrors IRC for this trick), and kill the /boot disk space check.
Here's how I did it:
1. Modify /etc/apt/sources.list to the old-releases mirror:
deb
http://old-releases.ubuntu.com/ubuntu/ edgy main restricted
deb-src
http://old-releases.ubuntu.com/ubuntu/ edgy main restricted
deb
http://old-releases.ubuntu.com/ubuntu/ edgy-updates main restricted
deb-src
http://old-releases.ubuntu.com/ubuntu/ edgy-updates main restricted
deb
http://old-releases.ubuntu.com/ubuntu/ edgy universe multiverse
deb-src
http://old-releases.ubuntu.com/ubuntu/ edgy universe multiverse
deb
http://old-releases.ubuntu.com/ubuntu edgy-security main restricted
deb-src
http://old-releases.ubuntu.com/ubuntu edgy-security main restricted
2. Install update-manager-core if running from console:
apt-get install update-manager-core
3. Run release upgrade:
do-release-upgrade
Let the script end with the error it provides about missing Package.gz files. Answer "N" (no) to cancel the upgrade.
4. Go to /tmp/tmpSOMETHING (SOMETHING is random, so look for the most recent "tmp" folder by date. Edit DistUpgradeControler.py:
Starting with the comment at line 571, modify the disk space requirements for /boot if needed (Recommend about 20mb):
# we check for various sizes:
# archivedir is were we download the debs
# /usr is assumed to get *all* of the install space (incorrect,
# but as good as we can do currently + savety buffer
# /boot is assumed to get at least 50 Mb
# / has a small savety buffer as well
for (dir, size) in [(archivedir, self.cache.requiredDownload),
("/usr", self.cache.additionalRequiredSpace),
("/usr", 50*1024*1024), # savetfy buffer /usr
("/boot", 20*1024*1024), # savetfy buffer /boot
("/", 10*1024*1024), # small savetfy buffer /
]:
5. From that "tmp" folder, run "feisty" to restart the process again.
cd /tmp/tmpSOMETHING
./feisty
6. It will notify you that no mirrors are available with a "[yN]" question. Don't answer yet. Open a new console and modify /etc/apt/sources.list like this:
deb
http://us.archive.ubuntu.com/ubuntu/ feisty main restricted
deb-src
http://us.archive.ubuntu.com/ubuntu/ feisty main restricted
deb
http://us.archive.ubuntu.com/ubuntu/ feisty-updates main restricted
deb-src
http://us.archive.ubuntu.com/ubuntu/ feisty-updates main restricted
deb
http://us.archive.ubuntu.com/ubuntu/ feisty universe multiverse
deb-src
http://us.archive.ubuntu.com/ubuntu/ feisty universe multiverse
deb
http://security.ubuntu.com/ubuntu feisty-security main restricted
deb-src
http://security.ubuntu.com/ubuntu feisty-security main restricted
07/25/08 - Corrected above sources. Thanks anonymous commenter! My bad, meant to say feisty here but had left edgy there by accident.
7. Save and continue.
8. Allow it to upgrade packages, crack open a beer and watch some TV as you wait for 1gb of updates to install.