104

Is it better to install Ubuntu completely new or is the upgrade process just as good? In other words, will my computer run just as problem-free and efficiently when I upgrade as opposed to a fresh install?

1
  • From a brief look it doesn't look like you can use APTonCD to do a release upgrade. And I'm pretty sure it won't help you to backup/recover you documents in case you go for a clean install.
    – Sergey
    May 7, 2012 at 21:09

19 Answers 19

51

Typically, upgrades are just fine in Ubuntu. It's not like Windows where you have a huge registry to carry over from your last system. As long as you haven't had to follow many tutorials or done any workarounds to fix problems in a unique way (i.e. using a special application to enable your wireless card or made some major changes to your kernel for whatever reason) you'll be fine.

In fact, I'd say about 90% of people who are asking this question will be fine with the upgrade.

If you want to stay absolutely safe, you can always wait for the vetted point release upgrade, or even maybe wait for the next LTS release in a few years. It's your choice. You'll still be supported for the next three years with updates if you're on 10.04 right now.

32

That depends what you use Ubuntu for.

  • If your installation is only a toy or an appliance (e.g. just for web browsing) and you haven't customized it, reinstall. Make sure you save any personal data (typically you'll want to back up your home directory and restore selected parts).
  • If the only customizations you've done on your installation are to install additional drivers or make other tweaks because your hardware was poorly supported under the old version, it may be better to do a clean reinstall.
  • If you've customized your installation in any other way (configured system settings, installed more than a couple of additional programs, etc.), upgrade. If you've used Ubuntu actively, this case probably applies (if nothing else, you're likely to have installed a bunch of packages).

At the system level, Ubuntu is very good at smooth upgrades. Upgrades are tested before each release. This is a supported mode of operation, and it's more likely to leave you with the system you want than reinstalling and trying to remember all your customizations.

At the user level, Ubuntu's default interface is Gnome, which is not so good at importing settings from one version to another. Thus the choice is between

  • starting from a fresh home directory and restoring all documents and selected settings from a backup; and
  • keeping your home directory across the upgrade, and looking into the problem if something goes wrong.

In either case, you might as well do a system upgrade.

5
  • How safe is it to upgrade a development pc? Is upgrading going to delete existing cmd line tools etc? Also what about existing proprietary drivers (radeon graphics)? Im thinking if I should upgrade 13.04 to 13.10 or wait for LTS.
    – latusaki
    Mar 17, 2014 at 21:05
  • 1
    @latusaki You can't skip a version when upgrading, so you'll have to go 13.04 → 13.10 → 14.04LTS anyway. 13.04 is no longer supported so I recommend upgrading to 13.10 now. Upgrading doesn't delete anything, except when a package has disappeared. On a typical development machine, upgrading is painless unless you were relying on a compiler bug. Mar 17, 2014 at 21:25
  • 13.04 is an exception tho. They enables upgrading from 12.10 to 13.10 and to 14.04.
    – Braiam
    May 14, 2014 at 13:02
  • @Braiam Uh? Where do you get this? I've always seen “only from one release to the next or from one LTS to the next”. UpgradeNotes still says that today, no mention of upgrades from 12.10 to 13.10 or to 14.04. May 14, 2014 at 13:05
  • 1
    Here askubuntu.com/a/368099/169736, they made an exception for 13.04 since it reached EOL before 12.10. Also here meta.askubuntu.com/a/7813/169736
    – Braiam
    May 14, 2014 at 13:12
14

Generally a fresh install is preferred for the reason I have seen a lot of issues with the upgrading process. Upgrading process generally ends up going in some crappy graphic driver problem or a GPU one. I even got weird problems, like non availability of shared folders and data loss.

Well its all up to you, as problem also persists when you are going for a clean install. But clean install problems are generally easily understood and recoverable.
Well enjoy installing Ubuntu :)

5
  • 1
    I would go for the fresh install, if you can. Several people ran into problems when upgrading. The new install works very well, BTW. Have fun, ....Erik.
    – Erik
    May 7, 2012 at 17:59
  • I can confirm this: Tried to upgrade Kubuntu, but then got various system errors. Right now I'm installing a fresh 12.04 (yes, can use Firefox during installation ;-))
    – Yogu
    May 7, 2012 at 18:06
  • yeah thats the spirit what i was talking about. :)
    – ashutosh
    May 7, 2012 at 18:11
  • I agree I would do a fresh install. I upgraded mine from 11.10 to 12.04 and it upgraded ok but soon after I was getting program crashes, etc. So save your self time back up your files via Dropbox or Ubuntu one, etc and do a fresh install.
    – Steve
    May 20, 2012 at 6:36
  • What dou you mean a 'fresh install' ? It means format my drive, then install ubuntu ?
    – falconR
    May 20, 2012 at 6:46
13

There are no guarantees in life

You can have crashes in a fresh install or in an upgrade. Most people will not experience a crash. If you are in that unlucky minority it is best to:

  • have a backup you can restore or,
  • test the install/upgrade on a separate partition.

Clean install advantages and disadvantages

For a clean install all that old garbage you've installed over two years between LTS versions is gone. This however can be a disadvantage as you often forget the good stuff you've added in /usr and /etc subdirectories.

Upgrade advantages and disadvantages

In the process of upgrading you are told for each configuration file what each new package version will be changing. You can select to keep the old or take the new version. For example during Ubuntu 16.04 LTS to 18.04 LTS upgrade these changed on my system:

  • Scanner configuration - /etc/sane.d/dll.conf
  • /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf
  • Sound override to keep HDMI TV active - /etc/pulse/default.pa
  • Grub override to hide menu at boot unless Escape pressed - /etc/grub.d/30_os-prober
  • Cron(you would loose all on fresh install!) - /etc/cron.d/anacron
  • Total network traffic monitoring utility - /etc/vnstat.conf

Running the upgrade on May 6, 2018 I was told that 203 packages will be removed. Over time support for more packages will be added so fewer will be dropped during upgrade. It is best to ensure all your critical needs packages are there or you have alternatives from other developers to use.

Backup first or run upgrade on cloned partition

Backing up and restoring is a pain. It's time consuming and often times your restore doesn't proceed as planned. An alternative is to clone your 16.04 LTS (or whichever version) to a new test partition and upgrade to 18.04 LTS (or whichever version) there.

I use a script to clone Ubuntu to a test partition for upgrading: Bash script to clone Ubuntu to new partition for testing 18.04 LTS upgrade

The script will:

  • Use rsync to ensure mirror image from real partition to test partition
  • Update test partition /boot/grub/grub.cfg with proper UUID's for booting
  • Update test partition /etc/fstab with proper UUID's for booting
  • Run sudo update-grub to add test partition to boot menu
  • Allow you now reboot and run upgrade on test partition

After upgrade on test partition you can take your time exploring all the new features and checking for bugs. You still have your original Ubuntu installation for day to day work. If you find bugs in the new version, you can rerun the cloning and upgrade a week or two later after they have been fixed. You would also re-clone and re-upgrade if packages critical to your work were not supported but now support has been added.

1
  • Nice coverage of pros and cons. The Backup first advice is sound.
    – Elder Geek
    May 16, 2018 at 16:03
11

Do a fresh install if at all possible.

I was presented with this choice last year.

Best of all I had TWO systems to upgrade so I could compare by doing each.

In summary, as others have noted, if you can do a fresh install, that's the best option. It will clear out things that miht otherwise be issues going forward. It'll make you ensure that all your important data and personal programs are not fixed to that machine (obviously you'll be backing them up in this case).

My 'production' machine was the one I upgraded because I was using that for key work stuff.

One thing I would recommend though, as I know hard nerve-wrecking this process can be: Get another machine (you can get a bar bones machine for < $300 now. Set THAT up with your key stuff and then when it's really working ok, do your core machine. That way if something goes wrong, which with an OS install/upgrade can be pretty scary, you can use your other machine while you resolve it. You'll also end up with a physical backup of your data plus a 'go-to' machine if yours fails in the future. Its basically insurance.

10

For me upgrading always led to problems, sometimes big sometimes small. And most of them was in old config files in home folder.

So my usual flow is like this -

  1. Backup critical data which may reside on root partition like mysql dbs for example
  2. Boot into live cd
  3. Carefully delete hidden files in your home folder, but you may leave some of them like .purple, .VirtualBox, .wine etc
  4. Format root partition and use old home partition
9

For an inexperienced Ubuntu user a clean installation of Ubuntu is probably safer than a distribution upgrade assuming that you have the self-discipline to backup all your personal data before upgrading, the same way you would backup all your personal data before completely reinstalling Ubuntu.

If you are prompted for an upgrade, that means it's a supported upgrade, but how do you know that a supported upgrade will be successful? Even upgrading a brand new installation of Ubuntu can go wrong. I've seen this happen, but the error that was caused by this upgrade was petty and easy to fix.

Sometimes the upgraded system will contain many unnecessary files, config files which aren't working with the new system, etc. Config files which aren't working are identified by the Ubuntu installer when upgrading. When I upgraded from Ubuntu 18.04 to Ubuntu 20.04 it took about an hour and I received one notification about a config file that needed to be edited. I copy/pasted the suggested edit into a text file and edited the config file after the upgrade was completed. It should be noted that if I hadn't watched the terminal output for the entire hour that it took to upgrade to 20.04 I would have missed the suggested edit which worked perfectly.

For removing unnecessary files from the upgraded system I use the following commands:

  • sudo apt autoremove
  • sudo apt clean
  • deborphan - Install this package management tool with sudo apt install deborphan.

Running these commands after upgrading takes me about 5 minutes. My workstation has a lot of installed software. If I had done a fresh install instead of an upgrade configuring all the installed applications on my workstation would have taken me 2-3 days.

A successful upgrade is almost entirely dependent of your level of understanding of the Ubuntu operating system. Problems caused by an upgrade can almost always be solved if you have the level of skill necessary to solve them. When I am upgrading Ubuntu I keep a second laptop running alongside the computer being upgraded, so that I can immediately search Ask Ubuntu for the solution as soon as something goes wrong. I rely on my own experience and the experience of others to help me to solve problems that are caused by an upgrade. Otherwise you're gambling on any distribution upgrade – especially if you're an inexperienced Linux user.

1
  • I like the gambling analogy. Well said.
    – Elder Geek
    May 16, 2018 at 16:04
8

Sometimes new features (e.g. the update from ext3 to ext4) are only enabled on fresh installs. I'd recommend you check release notes or changelogs for that, but otherwise there is no real difference.

1
7

A clean install is the best way to insure you're getting the experience the developers intended for the release, whereas upgrading can use old data, configurations, packages, etc. or create scenarios developers didn't anticipate or failed to tolerate correctly.

If you're asking - fresh install. Just copy your home directory to the base and change the name to something not used by the system, then during the installation select that partition as "/" and make sure not to select "format" This will install the operating system, but you'll have access to your data without a re-format or anything.

2
  • First, I am not sure if it's possible to instruct the installer not to format the partition that will be mounted as /. Second, In case the partition is not formatted the old data/ configurations etc that you mention would still remain, isn't it ?
    – koushik
    Oct 10, 2010 at 6:07
  • Of course best is to have a separate system and documents partition to begin with.
    – bobince
    Oct 10, 2010 at 7:20
5

The AptOnCD software is used to create an offline repository of your downloaded packages in a cd. You can use your AptOnCD (created by you, with all your downloaded packages) as a repository source. It is a useful tool for those with less bandwidth. (I have used this before). You can also have a metapackage which install all the installed packages.

you can get more information about AptOnCD here.


Actually you can restore(install) all the packages in a single AptOnCD compilation with a metapackage, if you choose the 'create a metapackage' option. From the metapackage description: "Auto generated meta-package that contains as dependencies all packages in APTonCD media, previously generated by APTonCD".

But you can backup the list of packages by entering command dpkg --get-selections > packages_list, where packages_list is the filename. You can later use this list to install all your packages with the program synaptic or dpkg. this may help you. But make sure your newly installed system also has the repository sources which was in your previous installed system. otherwise, it will not work.

To install all the packages using 'Synaptic Package Manager', follow these

  • Install synaptic with sudo apt-get install synaptic
  • Open synaptic by typing synaptic in the dash
  • Select 'File' from menu, Click 'Read markings'.
  • In 'Open Changes' window, select the file which you created using dpkg --get-selections command. In this context it is packages_list file.
  • Then click 'Apply' button.
2
  • can i use AptOnCD to restore my installed programs back on the freshly installed ubuntu...i have a low bandwidth internet connection...
    – Mayank
    May 8, 2012 at 5:44
  • Added more info on the answer, since comment has a limited character size.
    – Anwar
    May 8, 2012 at 9:12
4

I've encountered a few problems with upgrading from v11.10 to v12.04-LTS, however I was able to perform first an automated cleanup via ubuntu-tweak, and then later I followed that up with a manual cleanup from the command-line by first running 'updatedb' to update my location database of all items within the filesystem, then 'locate oneiric' to locate any objects that called to the 11.10 distribution specifically, then I simply opened a 2nd terminal and deleted each object tied to oneiric that wasn't obviously something that needed to be handled differently, such as via an uninstall/reinstall, first.

I did have to reinstall my graphics drivers for my laptop's Nvidia Go chipset, and I've encountered a few problems from some of my screenlets that I carried over from oneiric, but overall it's not been a bad deal.

I'll say this about upgrades: If you have a lot of experience with troubleshooting an Ubuntu or other Linux based system, then upgrading is not a bad deal because it doesn't seem to produce any problems that a competent Linux technician cannot sort out fairly quickly. But, if you do not fit into this category of users, then I recommend backing up all of your personal data from the system before you start, along with a package list of everything you have installed on the OS you want to replace, and then do a clean install. Personally, I have 15 years of experience in working with Linux based systems, so for me... working out the problems after an upgrade were pretty simple.

I had done some testing with the Beta 2 release in preparation for the final release so I would know what I would need to adjust for when the final release was available. This has helped immensely. For instance, I knew from my testing that in order to get manual login capability to lightdm, I would have to add "greeter-show-manual-login=true" to /etc/lightdm/lightdm.conf. I also knew that I would have to make a few slight adjustments to /etc/sudoers and /etc/group in order to allow flawless management and login of my system by any member of the "Domain Admins" group in Active Directory, which I require since I run AD on my home LAN for single-sign-on authentication across all of my systems, both Windows & Linux based. Knowing these facts up-front have served me very well, since I'm now running Ubuntu 12.04-LTS final on my laptop that I'd been running Ubuntu 11.10 on the previous day, and for the past 6 to 8 months. With this system-upgrade being a stunning success overall, I have much less in-trepidation about upgrading several of my other systems to Ubuntu 12.04. However... that said, not all of my Ubuntu systems are equally loaded out, so in some cases I will still want to do a clean install and base that install on the particular hardware I'm working with. My Zotac ZboxHD ID-41 Plus will require much more care where the upgrade is concerned, because it's a dual boot system that runs Windows 7 and Ubuntu 10.04-LTS. Fortunately, I'm well versed enough to perform the installation without wrecking the system overall and having to start from scratch. I will simply backup all of my personal data from the Ubuntu partitions and reload after I've wiped those partitions to ensure a clean environment. I also have to take into consideration that each of my systems are configured to be connected to via an xrdp gateway on another system (a virtual server, running Ubuntu 10.04-LTS Server), and so I must have XDMCP capability. But, I've already researched and tested the solution for that, using lightdm, vnc4server, and xinetd. The main thing there is to simply remove 'vino' up front so that port 5900 is freed up for vnc4server. The rest is a standard installation and configuration. I will publish several articles soon in regard to my research and howto's on www.stormnine.net. But, it may be a few weeks before I get around to that, since I have a fairly large group of systems that I want to port to Ubuntu 12.04 first, which could end up leading to my writing a few more articles and howto's based on that experience.

Anyway, I know this response is kinda long winded, but I hope that it gives some insight into the upgrade process from a resulting-experience perspective, coming from a technician that works with multiple operating systems professionally. Good luck, everyone, in your own projects. :)

3

The upgrade can have some issues on certain software and it definitely isn't full proof against idionsyncries with older packages. For the most you shouldn't have problem but remember to back up any settings or data that is important to you.

For a full proof installation reformatting and installing from scratch is the best option. Though it will take much longer of course to set it all back up correctly.

3

Both of them should not be (necessarily) true.

Upgrading is always supported from:

  • previous to current (for example, from 11.04 to 11.10)
  • previous LTS(*) to current LTS (for example, from 10.04 to 12.04)

Updating online: no reason either, except for time and bandwidth. If you download the ISO, and update from the ISO, the update experience would be better than online, if you do not have a fast Internet connection. Of course, I am not counting the time to download the ISO, but this is usually a fire & forget action: we start the download, and go do something else.

This is all supposing you did not install packages from external sources, or manually built & deployed other things. In this case, it is difficult to say if an update will work flawlessly or not -- it depends on what you installed, and where you installed.

(*) Long Term Support

3

People mess with their systems. Adding this and removing that. A fresh install from a Live CD with the / partition being formatted will start off with clean configuration files. And this sometimes fixes some annoying little problems that are difficult to solve.

Do not forget that when you install from a CD with an internet connection, the install process will update the system as the process moves along. As for danger this is no worse or better than upgrading over the internet.

I have found it quicker to download the iso and upgrade from that with an internet connection than when upgrading directly over the internet. This is just my impression. It is not scientific fact. I also like to have a copy of the latest live CD available in case I mess up my system so much that a fresh install is needed.

At the moment I am in two minds as to whether I upgrade 11.04 to 11.10 or fresh install 11.10. I may wait until 12.04 to do the fresh install. It is a matter of personal preference. People should not make comments that suggest one method is more dangerous than the other. It is misleading.

3

I'd suggest one of two things:

  1. Back up critical files and data in Dropbox. This way no matter what you do, ever, you can retrieve them (even on completely new computers)
  2. Back up critical files and data to a thumb drive. This might be the best option for you, as it will not require a high-bandwidth Internet connection.

I suggest you do (2) in either case. If you upgrade, you risk losing data. If you do a fresh install, you will lose data.

2
  • what about the software APTonCD ??
    – Mayank
    May 7, 2012 at 18:45
  • @mayank, APTonCD only backs up installation packages, it doesn't backup things like configuration files, or local user-generated state such as family pictures.
    – theonewolf
    Sep 3, 2015 at 19:12
2

I suggest you wait and see how other upgrades went. Then see what issues they caused, since the release before this was a LTS, no need really to jump ship until your sure, its stable. :)

just my opinion, really! there are some cool features 10.10 though FONTS for example. also something to do with clouds :P

2

I did a fresh install of 12.04 Beta 2 after backing up my home folder on an external hard drive, then joined the AU community. It was the best learning experience ever. I updated every day and experienced issues others were having and when 26th April came around I was done and the ride was smooth. This way I had the best of both worlds, trouble free and highly recommended.

2

Upgrading is fine but if you are "that" active and have so many softwares and packages installed, you will be having "obsolete package" alerts. So,

  1. if you are a Common user do Upgrade
  2. If you are an Active user do fresh install
0

Hands down always prefer to do a fresh install. The success of the Infrastructure as Code approach and containerized software deployment (Dockerfiles) has taught us that the best way to set up a computer system for a specific purpose is to always start fresh and have an automated way (a script) to install exactly the customizations/tools that you need for your work.

Stop maintaining snowflake machines manually in irreproducible ways.

A script to set up your computer(s) for the way you work might grow quite large, but having this knowledge of how you set up your computer in an executable form that is executed regularly (maybe monthly, at least a few times as year) is unbeatable.

The only disadvantage is that a setup from scratch might take a bit longer than just updating bits and pieces of software here and there, but we should always prefer to rely on as little of the (supposed) functionality of our tools as possible.

Clearly, the manufacturer of any type of software tests the fresh-install usecase if they want to aquire any new customers (which probably everyone wants), but they might not test each and every imaginable update scenario on every type of system with who-knows-what other software and updates installed.

For reasons of isolation, if you can afford it, you should even have one dedicated physical computer, or one VM, or one docker container with only the minimal dependencies for any individual tool you use. This is the devcontainers idea.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .