Friday, June 01, 2007

Upgrading from Ubuntu 6.06 to 7.04

Well, I haven't blogged in a while and I thought I would write about something I have been doing today. While it can be searched for online, I thought I would go ahead and write my experiences down.

We have 5 linux machines in the lab at school. Two of them are Kubuntu and 3 are Ubuntu. So, I thought since they have release 7.04 out that it might be good to A) update those machines and B) it would give me some extra experience with Linux.

First off, you cannot upgrade directly from 6.06 to 7.04. Instead its a two step process where you have to upgrade 6.06 to 6.10 then upgrade 6.10 to 7.04. While you cannot simply do it through the package manager it has to be done from a shell.

First off you need to get to the /etc/apt/ directory and modify the sources.list file. The code name for 6.06 is Dapper Drake so this sources file references 'Dapper' for updates. You need to find and replace these with 'Edgy' (Edgy Eft is the code name for 6.10). While I had found that you could use the command "sed 's/dapper/edgy/' /etc/apt/sources.list" to find and replace text within a file. However, I could not get it to save it.

So, under Ubuntu I used "sudo vi /etc/apt/sources.list" to open VI as a super user and modify it. After typing 'i' to put VI into insert mode, I go through the file and replace 'dapper' with 'edgy', they hit Escape a couple times to make sure to get back to command mode. Then I can type ZZ and it will save and exit VI. But for Kubuntu, I may have done it a bit less nicely by using "sudo kate /etc/apt/sources.list" where I can use a find and replace in the file without having to do it by hand like I did in VI.

I then verify that all instances of dapper have been replaced with edgy and continue. Then again from the shell, I use the command "sudo apt-get update" for apt to get the updates from the server. After than finishes, then the long process begins. This is the distribution update portion. So, I use the this shell command "sudo apt-get dist-upgrade". Then it will go out and download all of the required packages and stuff to install.

Once the distribution upgrade finishes, you should double check your process finished properly by using the command "sudo apt-get -f install". Once this finishes, you can reboot your machine and you will be up and running with Ubuntu or Kubuntu Edgy Eft.

Now, updating from Edgy Eft (6.10) to Feisty Fawn (7.04) is a bit easier. You don't have to go to the shell, update the sources list and run apt-get. Instead, this time you can run {gksu "update-manager -c"}. The software update tool will start and it will tell you that you can install X number of updates. But it will also have a place saying "New distribution release '7.04' is available" and a button you can press to begin the upgrade. Click this button and it will pop up a window with the release notes for you to read over. You then click the 'upgrade' button again and another dialog will pop up asking if you want to start the upgrade and give you an estimate of how long it will take to download them.

The next dialog will show the progress of preparing for upgrade, modifying the software channel, fetching and installing the upgrades, clean up, and then prompt you to restart the system. To verify the version you are now running you can run "cat /etc/issue" and it should say something to the affect of "Ubuntu feisty ". Then you can enjoy running Ubuntu/Kubuntu Feisty Fawn release.

The next version is slated to be an LTS or Long Term Support version, which the last LTS version released was 6.06 Dapper Drake. On the ubuntu website it says that they issue a new desktop and server release every six months. Plus, you get free security updates for at least 18 months on the desktop and server. With the LTS version, you get three years support on the desktop and five years on the server.

Hopefully, if any of the readers out there is running Dapper and is thinking about upgrading their distribution, this will be helpful.

Also, if anyone reading this can give tell me a better way to find and replace text within a the sources.list file I will update this with that information.