Ubuntu Update Question

I have been on Linode for a few years, and have been running Ubuntu 9.04 the whole time. At first, I would log in every few weeks to keep the OS updated (i.e., apt-get update and install). Often, there would be dozens of updates a month.

For the last few months, however, I have not gotten a single update. When I run apt-get update it "hits" several packages and finishes very quickly. Then, when I run apt-get install, nothing updates.

I have googled around but haven't found an answer for what might be going on. Is this simply a byproduct of my OS getting outdated and unsupported? Do I need to upgrade? Or is there something else I am missing?

8 Replies

Ubuntu stopped releasing security updates for 9.04 in October 2011.

You absolutely should upgrade to a version that hasn't been deprecated… The downside of the non-LTS relaeses is that they only receive security updates for 18 months. If you us an LTS release (the most recent being 10.04), you get security updates for 5 years (for the server version).

I see.

Do you have any idea how difficult is it to upgrade? How do I know if I am upgrading to an LTS version?

Ubuntu releases an LTS version every two years (Google should have lead you to this page: https://wiki.ubuntu.com/Releases pretty easily).

You can upgrade from 9.04 -> 9.10, then from 9.10 -> 10.04 (9.10 is also EoL'd, so don't stay there…), but it might be cleaner to just redeploy on a clean 10.04 install. You can spin up a new node for a couple days, get everything set up, then shut down your old one. Linode billing is pro-rated to the day, so it would only cost you a dollar or two extra.

The difficulty depends on what you have on your server. Is this just a standard LAMP server, or have you made extensive customizations that could break if you upgrade?

If you don't have anything complicated, you can easily upgrade Ubuntu using the following commands:

sudo apt-get install update-manager-core
sudo do-release-upgrade

Which will probably upgrade all the way to 11.04, which was released just a few days ago, but it's not an LTS release. If you don't want that, there are a few ways to target a specific version. For example, manually editing /etc/apt/sources.list and replacing all references to "jaunty" with "lucid", and then doing the usual apt-get update && apt-get upgrade, will get you to 10.04 LTS. (In some cases, things might go smoother if you first upgrade to 9.10 and then to 10.04.)

If you do this, make sure you do it over LISH (Console), not SSH. Or at least use a "screen" session, if you know how to use it.

Another option is to fire up a second Linode, do a clean install of whichever distro/version you like, and then copy your configuration files and website files over to the new Linode. This usually results in a cleaner server overall, and you can test if everything works properly and fix any problems before you point your domains at the new Linode. This could be an important advantage even if it's just a simple LAMP server, because lot of older web apps have issues with PHP 5.3.

Wikipedia has a nice list of Ubuntu releases and their schedule EOLs:

http://en.wikipedia.org/wiki/List_of_Ub … f_versions">http://en.wikipedia.org/wiki/ListofUbuntureleases#Tableof_versions

LTS releases happen every two years. Upgrading between releases isn't that hard, but you'll need to keep an eye out for issues, as something can occasionally get broken by a configuration change or something.

The proper upgrade path for you to get to the nearest LTS release is 9.04 -> 9.10, and 9.10 -> 10.04. These are the two documents that cover those upgrades:

https://help.ubuntu.com/community/KarmicUpgrades

https://help.ubuntu.com/community/LucidUpgrades

Thank you for the replies.

I have not customized the OS really, but have gotten many packages and have done enough modifications to the settings of the network, mail, Apache, nginx proxy, MySQL, cron jobs, virtual sites, SSH certs, etc etc that I don't really want to do a complete reinstall (unless there is an easy way to do it …) I could easily see forgetting what I did to get it working a certain way in the first place and spending countless hours trying to re-up it.

So, the best path for me would seem to be to upgrade to 9.10 and then to 10.04. Will that keep all my system configurations the same? The last thing I want to do is have to deal with reinstalling my certificates and network settings …

@deadwalrus:

I have not customized the OS really, but have gotten many packages and have done enough modifications to the settings of the network, mail, Apache, nginx proxy, MySQL, cron jobs, virtual sites, SSH certs, etc etc that I don't really want to do a complete reinstall (unless there is an easy way to do it …) I could easily see forgetting what I did to get it working a certain way in the first place and spending countless hours trying to re-up it.
The above could also be taken as a warning flag, in that ideally, you really ought to know what constitutes the local configuration of your server. So you could also take the upgrade as an opportunity to work your way through your configuration and identify the pieces that make your server "special" :-)

Of course, things are understandably often not quite that neat. Given the uncertainty, what I might suggest is that even if you don't use a separate Linode to do a fresh distribution install, that you consider using a separate Linode to do a test upgrade. Clone your current Linode (or if you have backups enabled, restore to a new Linode, which will avoid any downtime of your current server), and then do the upgrade on that other Linode to test out the process and identify any glitches.

Once you're happy with the process, you can either then perform the same upgrade on the production Linode, or if things are fine on the clone, just switch to using that for production.

If nothing else this will significantly reduce the risk/fear when doing the upgrade initially, give you as much time as you need to test it out without impacting your current server, and if anything glitches you can just wipe everything and try again. If you have space, before you try the first test upgrade, duplicate your system disk image, so that starting over is nothing more than deleting the failed image, and re-duplicating the original.

I use this approach sometimes even for smaller updates or when I'm going to set up a larger package the first time, so I can be sure that the process will be as non-intrusive as possible on my production box.

– David

@db3l:

@deadwalrus:

I have not customized the OS really, but have gotten many packages and have done enough modifications to the settings of the network, mail, Apache, nginx proxy, MySQL, cron jobs, virtual sites, SSH certs, etc etc that I don't really want to do a complete reinstall (unless there is an easy way to do it …) I could easily see forgetting what I did to get it working a certain way in the first place and spending countless hours trying to re-up it.

The above could also be taken as a warning flag, in that ideally, you really ought to know what constitutes the local configuration of your server. So you could also take the upgrade as an opportunity to work your way through your configuration and identify the pieces that make your server "special" :-)

Of course, things are understandably often not quite that neat. Given the uncertainty, what I might suggest is that even if you don't use a separate Linode to do a fresh distribution install, that you consider using a separate Linode to do a test upgrade. Clone your current Linode (or if you have backups enabled, restore to a new Linode, which will avoid any downtime of your current server), and then do the upgrade on that other Linode to test out the process and identify any glitches.

Once you're happy with the process, you can either then perform the same upgrade on the production Linode, or if things are fine on the clone, just switch to using that for production.

If nothing else this will significantly reduce the risk/fear when doing the upgrade initially, give you as much time as you need to test it out without impacting your current server, and if anything glitches you can just wipe everything and try again. If you have space, before you try the first test upgrade, duplicate your system disk image, so that starting over is nothing more than deleting the failed image, and re-duplicating the original.

I use this approach sometimes even for smaller updates or when I'm going to set up a larger package the first time, so I can be sure that the process will be as non-intrusive as possible on my production box.

– David

This is very good advice. Thanks David. I am pretty sure I could get it up and running again from scratch if I had to – but man, it doesn't sound like a fun job. It would be good to refresh myself on all the stuff I had configured …

Reply

Please enter an answer
Tips:

You can mention users to notify them: @username

You can use Markdown to format your question. For more examples see the Markdown Cheatsheet.

> I’m a blockquote.

I’m a blockquote.

[I'm a link] (https://www.google.com)

I'm a link

**I am bold** I am bold

*I am italicized* I am italicized

Community Code of Conduct