Image of the glider from the Game of Life by John Conway
Skip to content

To Upgrade or Fresh Install

This past Ubuntu release, I did a fresh install, rather than upgrade my machine. You see, I've been upgrading it since Breezy, and well, I felt that I was experiencing some sort of operating system bloat. Edgy had been getting relatively slow and it seemed like more and more of my precious RAM was getting eaten alive. All-in-all, I wasn't enjoying my computing.

So, when Feisty hit the streets, I did a fresh install, and it was like new life had been breathed into my laptop. And, for the first time in my Linux career, wireless worked! I don't blame wireless not working on Linux, because it was spotty at best on Windows. That's what you get, when you try to save money on a laptop, and end up purchasing one that is hardware modified by the laptop manufacturer. So in other words, I've never really experienced wireless on this machine, so I've never missed it. But I've gone off topic. Suffice it to say, wireless works great now, even with WEP & WPA. Thanks Feisty!

So, at any rate, I did a new install with Feisty on this machine, and things are running smoothly again. But, then this got me thinking. The fact that I've let my machine slip into a bloated state is no person's fault but my own. I should be able to administrate my system better. In fact, I should be able to administrate it to the point, where upgrades shouldn't feel any different than a fresh install. Am I wrong in thinking this?

I look back at my Windows days and see the same thing happening. From Windows 98 to Windows ME to Windows XP, they were all upgrades, and the operating system slowed to a crawl. Some how, bloat had entered the computer. I don't blame Windows necessarily, as much as my lack to decently administer an operating system. However, all the mailing list posts, and forums posts say the same thing: don't upgrade. Do a fresh install instead.

So, I come to a crossroads, I think. Obviously, it takes some time and effort to keep your system administered, clean, and running smoothly. It is hard work. But, I don't think new upgrades are easier. I have software and config files on my system just the way I want it, and to install fresh, means to backup all those configuration files and data as well as installing all the software that I love and use. So, I don't think a fresh install is any easier than keeping your system maintained from upgrade to upgrade. In fact, I would think that doing a fresh install, rather than an upgrade, is a cop-out from actual work at your computer.

I'm interested on thoughts about this. Upon each new Ubuntu release, should I upgrade, keeping my system tuned, and in decent running order, or should I do a fresh install?

{ 14 } Comments

  1. Jonas | May 24, 2007 at 8:18 am | Permalink

    Well, I've had the same experience using both Linux (and different distros doesn't seem to make a difference either) and with Windows.

    However, it's far easier to do a fresh install using Linux IMO and not as much of a drag. That is, assuming you have home on a separate partition. Last time I did that, most of my settings were left intact. Well, I had to backup the system-wide settings beforehand of course but the personal settings, well there was a thing or two I had to adjust but most stayed the same.

    I had to reinstall the software I needed/wanted to have but that was about it.

    Now, I would suggest something like this if doing a fresh install:

    1. Keep /home on a separate partition
    2. Make sure you have a current backup of system-wide settings (you should anyway...)
    3. Use aptoncd to make a cd/dvd of the software you've installed.
    4. If you're paranoid, backup your home directory. Shouldn't be necessary if you're not gonna repartition your disk(s). Never hurts though ๐Ÿ™‚
    5. Do a fresh reinstall
    6. Install the extra software from point 3.
    7. Restore the backup from point 2.
    8. Do whatever minor adjustments in settings necessary.

    The entire process shouldn't take too long. Add an hour or two to the standard install, maybe.

    This process shouldn't be necessary since, as you say, constant upgrades in lieu of a fresh install shouldn't downgrade the performance.

  2. LT | May 24, 2007 at 8:19 am | Permalink

    I find if you compile a lot, clearing out your /usr/local/ directory. Most things install to it by default using configure, make, make install.

    I once built some things from source and wanted to get back to the system ones. I deleted everything in /usr/local/ and it was still running afterwards. After all when you do a fresh install this directory is likely to be empty.

    I don't know if this is sane advise, but you decide.

  3. AndrewMc | May 24, 2007 at 8:28 am | Permalink

    I've found the deborphan package very useful for identifying leftover rubbish. It lists libraries (and optionally, other packages) that are installed but have no dependencies on them. You can fairly quickly purge a lot of obsolete packages from a system that has been upgraded several times. Just be careful ๐Ÿ™‚

  4. Marcelo Shima | May 24, 2007 at 9:25 am | Permalink

    I feel the same way. Then I remind that the livecd is fine tunned to boot faster. All files is in the right place. So probably when it is installed it keeps the same order, so our fresh install is fine tunned. ๐Ÿ™‚
    Now, when it is possible it make a fresh install.

  5. Colin Watson | May 24, 2007 at 9:54 am | Permalink

    Obviously, it depends whether you've explicitly installed anything extra. But in general, assuming you're following the upgrade directions (ideally, using update-manager), we would like you to tell us details if upgrading doesn't produce the same results in a fresh install. We believe that upgrading is a first-class operation, and we would much rather support a system where everyone upgrades than one where everyone does a fresh install. It's very important to us, and the recent trend towards everyone doing a fresh install is quite distressing.

  6. Tiago Rodrigues | May 24, 2007 at 10:02 am | Permalink

    I've also ran into that question before, and i've also written an article about it before.

    One conclusion i reached on that article is: if you are trying beta versions, then fresh installs are in order.

    You don't refer if you've tried beta versions or not in your case, but i believe you don't. And i believe that on previous incarnations (breezy, dapper), Ubuntu was not so good on the upgrade scheme. Things seemed to go much better with the edgy -> dapper upgrade.

    On all previous upgrades i've had issues. Some dependency which was not properly solved, stuff like that. On this upgrade, everything went ok. In fact, it almost seemed like i hadn't upgraded anything at all.

    And if my hard drive hadn't died a couple months ago i would've had a dapper to edgy to feisty install right now.

  7. Rusty | May 24, 2007 at 3:56 pm | Permalink

    While some may view doing a fresh install as a bit of a cop-out, I don't. Most of the reasons you want to do an upgrade instead of a fresh install have to do with working applications and being used to them. When as much changes between releases as you see in Ubuntu, or even more explicitly Windows, I think it make sense to delete everything (except your home folder) and see what the new distribution provides.

    Windows is a special case, in that along the way, it was extremely common to get or give the advice to reformat and re-install whenever bloat became an issue, whether there was a new release available or not. At least with Linux I've found that it is generally rare to find an upgrade significantly breaks a working configuration. (Apache being my bugaboo as they like to 'fix' discovered holes in the platform by making things, that were working, stop working with almost every patch. I really don't want to have to study arcane aspects of software to make use of it. Configuration and security should not get in the way of usability, they should enhance it.

    If you are in a large corporate setup, the upgrade/reinstall question tends to bend towards the other direction. In that case you are hopefully paying someone to become familiar with the foibles of the platform, who can test out updates, patches, etc. on non-mission critical equipment, and advise as to what should be upgraded, or when a platform should be replaced. I don't think that describes most of us however.


  8. hermeni | May 24, 2007 at 8:10 pm | Permalink

    Different Approach:
    make /home it's own partition. Most things you customize store their customizations in your home directory. Other than that, have a crontab entry that backs up /etc to your home directory.

    This let's me skip backup/restore of my home partition, and let's me pick and choose which bits of /etc/ I want to restore. (Such as my apache configs for websites I'm working on.) But let's me be lazy about choosing what to back up. RARELY I will have some strange app that puts everything in /opt or /usr/local but usually I'm willing to part with it as I was just testing it anyways, since most apps worth their salt will move to a normal install location eventually. (like /srv for network services.)

  9. Keith | May 24, 2007 at 9:59 pm | Permalink

    I'm also at the point where I would like to start working for a better administering, and also cleaning up. To this end I've started reading up on how to first tweak a ubuntu install. To keep things running smoothly it helps to know what's running on your computer, and what is loaded at boot-up, etc. So far I've started checking out the services Ubuntu loads up on boot (via sysv-rc-conf), and also booting in verbose mode every now and then to make sure things are going smoothly. I found on some laptop installs for example that the boot-up would take much longer than they should. Booting in verbose mode showed the culprit to be network interface detection. Then using sysv-rc-conf to switch the run-level to 5 instead of 3 and things work much better ๐Ÿ™‚

    I'd love to know if anyone else has any tips for understanding some of the key things that affect Ubuntu's performance.

  10. Samat | May 25, 2007 at 4:21 pm | Permalink

    I reinstalled Fiesty on my laptop last week, and I too noticed that bootups were faster, suspend/resume was faster, and this nasty random hardlock problem I was having after upgrading from edgy (on a system that had itself had been upgraded by dapper on hoary) went away.

    This kind of behavior is reminding me of Windows... there's no registry to become filled with crud, why should upgrading or installing make a difference?

    Regardless, it was still pretty easy to reinstall everything.

  11. Greg K Nicholson | May 26, 2007 at 7:21 am | Permalink

    Shouldn't the operating system take care of this itself?

  12. Paul Kishimoto | May 26, 2007 at 10:35 am | Permalink

    I've got a dapper-to-edgy-to-feisty install that seems to be working just fine.

    Although it probably doesn't affect performance much, I try and keep my package load down with a few tricks in Synaptic:

    * As AndrewMc suggests, I have deporphan installed. In Synaptic ยป Settings ยป Filters, create a new filter that only shows "Orphaned" and "Automatic Removable" packages. Click on Custom Filters, select the new filter and remove nearly everything shown. New packages randomly show up all the time (today I found libnl1-pre6 and libnm-util0).

    * Create another new filter that shows installed packages only. In the Properties tab, create a new rule on the Dependent packages field that exlcudes ^.* (i.e. everything). This filter will show only "leaf" packages that are not required dependencies for other installed packages. This usually helps me find (and remove) applications that I've installed and then forgot about.

    * After an upgrade, search package descriptions for words like "transition", "deprecated", "obsolete", "upgrade". Some packages are installed simply to provide an upgrade path to packages with new names, or to bridge to a new organization of an application/libraries into multiple packages. Most of these can safely be removed.

    For reference, I've got about 1370 packages installed on my desktop. Under edgy, it was usually around 1280.

  13. Dag | November 10, 2007 at 12:01 pm | Permalink

    I also install instead of upgrade. I have an extra 80GB disk and when I want to upgrade, I copy my current disk to the other one (takes 50min), swap disks and make a fresh install including formatting. Then I copy my home catalog from the original disk. Finally I do the small tricks to get the environment I want (see

    But once I tried an upgrade from Feisty to Gutsy and my Oracle installation didn't work. Reinstall didn't fix it.

    So I will keep fresh installing.

  14. plamen | March 19, 2008 at 11:34 am | Permalink

    Hi. Nice, interesting and useful topic.

    I am new linux user. I moved from Windows recently. Linux is not more easy, but at least things are possible. The most simplest example: multi user environment. Anyway, I do not want to prove or give more examples. This is just my point of view.

    About install or upgrade, my point is the same. If new install, then why I move to linux. I really hope that I will find a way to upgrade successfully.

    Paul Kishimoto:
    Your ideas are very nice but looks like they are not perfect.

    Paul Kishimoto: "Dependent packages field that exlcudes ^.*"
    I have package X and package Y. It is the same program, different builds. Package Y "conflicts" with package X. For package X in "dependants" it show: "dependency of package Y". This is how, package X is not included in "leaf" packages. There is no one installed package which require package X. But package X is not inside the list of "leaf" packages.

    What are meta packages?

Post a Comment

Your email is never published nor shared.