Article: How to Upgrade openSUSE 12.x to Tumbleweed

Introduction

Tumbleweed can be a challenge for new Linux users. The system is gradually and perpetually upgraded with new RPMs appearing almost daily in the Tumbleweed repositories. Zypper is the recommended tool for keeping your Tumbleweed distro up to date. You will receive messages from zypper regarding dependencies where you will make choices (very infrequently). If that could make you stressed, don’t install Tumbleweed.

There are various methods for upgrading to be found on the Net. The method here is designed to be cautious and low risk, and only a little confusing LOL.

First, have a look at the Tumbleweed Portal at openSUSE.org. Next join the mailing list mentioned there.

Be aware that your distro will no longer be openSUSE 12.x after the upgrade, it will be openSUSE Tumbleweed (based on the contemporary version of openSUSE).

Three steps

You will have installed the underlying, standard version 12.x of openSUSE. There are three principle steps after that:

  1. make all necessary software updates to your standard 12.x plus install of Packman’s 12.x RPMs before you do the upgrade
  2. add the Tumbleweed Repository and realign your Packman and openSUSE 12.x repositories (see further down the page)
  3. use zypper to upgrade your distro from openSUSE 12.x to openSUSE Tumbleweed

Repositories:

OpenSUSE 12.x users should already have these four key repositories installed/activated as a matter of course:

  • openSUSE 12.x oss
  • openSUSE 12.x non-oss
  • Updates for openSUSE 12.x
  • Packman for openSUSE 12.x

You might also have one or more of these Community repositories activated:

  • Main Repository Contrib
  • NVIDIA or ATI Repository
  • other specialist repos like Google Earth etc

You shouldn’t have any factory repos activated unless you really know what you’re doing.

Now, before anything else, do step 1 above (make all necessary software updates plus installations of Packman’s 12.x RPMs before you start the Tumbleweed-upgrade process).

Next you rearrange your repos quite simply:

  • add “openSUSE Tumbleweed” from here:
http://download.opensuse.org/repositories/openSUSE:/Tumbleweed/standard/
  • remove any 12.x standard Packman repositories
  • add “Packman Tumbleweed” from here:
http://packman.inode.at/suse/openSUSE_Tumbleweed
  • replace “openSUSE 12.x oss” with “openSUSE Current oss” from here:
http://download.opensuse.org/distribution/openSUSE-current/repo/oss/
  • replace “openSUSE 12.x non-oss” with “openSUSE Current non-oss” from here:
http://download.opensuse.org/distribution/openSUSE-current/repo/non-oss/
  • replace “openSUSE 12.x Updates” with “openSUSE Current updates” from here:
http://download.opensuse.org/update/openSUSE-current/
  • add “openSUSE non-oss Current updates” from here:
http://download.opensuse.org/update/openSUSE-non-oss-current/
  • disable/remove NVIDIA or ATI repos (you have to install drivers for these “the hard way” after each kernel update).

You can use zypper to alter your repos or if yopu’re not a zypper expert you can go to Yast → Software → Software Repositories.

When you finish you should have repos as listed by “zypper ls” somewhat like this (I’ve chopped some unnecessary bits out to make it fit the page better):

john@tumbleweed:~> zypper lr -d
#  | Name                             |Enable|Refresh|Priority|             URI                                                          |
---+----------------------------------+------+-------+--------+--------------------------------------------------------------------------+
 1 | openSUSE Current updates         | Yes  | Yes   |   99   | http://download.opensuse.org/update/openSUSE-current/                    |
 2 | openSUSE non-oss-Current updates | Yes  | Yes   |   99   | http://download.opensuse.org/update/openSUSE-non-oss-current/            |
 3 | openSUSE Current non-oss         | Yes  | Yes   |   99   | http://download.opensuse.org/distribution/openSUSE-current/repo/non-oss/ |
 4 | openSUSE Current oss             | Yes  | Yes   |   99   | http://download.opensuse.org/distribution/openSUSE-current/repo/oss/     |
 5 | openSUSE Tumbleweed              | Yes  | Yes   |   99   | http://download.opensuse.org/repositories/openSUSE:/Tumbleweed/standard/ |
 6 | Packman Tumbleweed               | Yes  | Yes   |   99   | http://packman.inode.at/suse/openSUSE_Tumbleweed                         |

Run the Upgrade: Become root in a console window and run this command

zypper dup

PS if you prefer to do a dummy run, then run this version first, using the dummy-run switch -D, like so: zypper dup -D

**[Updating your RPMs from this point forwards[/b]: Tumleweed is a distro with dynamic software. The RPMs are constantly evolving. Here is a strategy for upgrading your RPMs to keep abreast of the developing Tumbleweed distro. It’s not the only strategy. Feel free to use some other strategy.

Tumbleweed is being maintained by Greg K-H (see openSUSE Factory) who maintains the packages in the repos. He advocates having the following repos attached and enabled for going forward with the new distro (Tumbleweed): openSUSE Update repo, openSUSE-oss repo, openSUSE-non-oss repo and Tumbleweed repo/s. (reference: Gmane Loom)

I understand this to mean that repos 1-4 above are mandatory but as far as I’m concerned, you should/must have 5 (Packman Tumbleweed) as well.

If you use special packages from additional repos, you can/should enable the special repos, for example:
opensuse-contrib → http: //download.opensuse.org/repositories/openSUSE:/12.x:/Contrib/standard/
Tumbleweed VirtualBox → http: //download.virtualbox.org/virtualbox/rpm/opensuse/12.x/
Others as required…

Command for regular updates: zypper dup
Continue to use a simple dup with the command:

zypper   dup

I recommend this approach because it’s the method used and recommended by the developer (Greg K-H, maintainer of the Tumbleweed repos).**

[QUOTE=;][/QUOTE]
What is Tumbleweed and what the pros and cons of having it if there is going to be all of these problems with it?

Q1: It’s a rolling release that keeps the software updated to the latest stable releases.
Q2: all what problems?

[QUOTE=;][/QUOTE]
FYI:
openSUSE:Contrib - openSUSE Deprecated:Contrib Please note that from the openSUSE 12.1 release onwards, the Contrib repository is deprecated! If you are a user, rest assured that the vast majority of these packages is now integrated in the main repository of openSUSE. Some of them are available on the build service and you can find them using the [software.opensuse.org/ software search]. If you’re a developer, please push your packages to Factory! This is not complicated and gets your package to all openSUSE users out

I’ve written an italian translation of this guide. I hope it can be useful:
Pimp My Linux - Guida all’uso di OpenSUSE Tumbleweed
Bye! :wink:

Excellent.

@ swerdna,
nice article. thanks a lot to Greg K-H and other developers involved in this project and thanks to you swerdna for all those useful articleslol!

Thank you swerdna.

You don’t mention this part:

Isn’t this step necessary? Thanks.

John is just making clear that fact. Running zypper dup
Will automatically install everything to the newest available package and during the process zypper will inform you of the changes it making in switching packages to tumbleweed.

I’ve done over 6 tumbleweed installs in the past month and I only have 4 repos enabled (I don’t use packman in tumbleweed installs) (you may need to)

1 | openSUSE Current updates | Yes  | Yes   |   99   | [Index of /update/openSUSE-current](http://download.opensuse.org/update/openSUSE-current/)                    | 
2 | openSUSE Current non-oss | Yes  | Yes   |   99   | [Index of /distribution/openSUSE-current/repo/non-oss](http://download.opensuse.org/distribution/openSUSE-current/repo/non-oss/) |  
3 | openSUSE Current oss     | Yes  | Yes   |   99   | [Index of /distribution/openSUSE-current/repo/oss](http://download.opensuse.org/distribution/openSUSE-current/repo/oss/)     |  
4 | openSUSE Tumbleweed      | Yes  | Yes   |   99   | [Index of /repositories/openSUSE:/Tumbleweed/standard](http://download.opensuse.org/repositories/openSUSE:/Tumbleweed/standard/) 

I just run zypper dup and I’m done

To answer : Is it necessary - Yes, if you actually want to be running tumbleweed

Thank you Carl, but if it is necessary, why isn’t it mentioned here?

                        Thank you Carl, but if it is necessary, why isn't it mentioned in the How To?

About the repos, the How To says:

zypper dup and the use of tumbleweed assume the user has sufficient knowledge to understand that such a switch will take place

The vendor change is mentioned in the link provided in the guide: Portal:Tumbleweed - openSUSE

Thank you, but isn’t this thread about this How To? My question is:
If creating a file named Tumbleweed.conf in the /etc/zypp/vendors.d/ directory is necessary, why isn’t it mentioned in the How To this thread is about?

Now I feel like fleas arguing over the space on a dogs back

The How To does say early on, “First, have a look at the Tumbleweed Portal at openSUSE.org,” where it is mentioned that you’ll need to create the Tumbleweed.conf file. But it certainly wouldn’t hurt to mention that in the How To, IMHO.

Please feel free to feel whatever feeling you are carrying in your heart.
For me it feels like asking something which is not obvious.

@ MALsPa
Thank you for the clarification.

I believe that it doesn’t matter. Consider an instance when a vendor change is about to occur: If you run zypper dup when the .conf file IS NOT in place, you are formally advised that a vendor change will occur. If you run zypper dup when the .conf file IS in place, you are not advised that a vendor change will occur. In both cases the vendor change proceeds. So IMHO it doesn’t matter whether you create the file file tumbleweed.conf.

For those of you (like me) who now think “I can’t decide what to do now”, I recommend to forget about making the file LOL. What say you Carl?

swerdna, your answer cleared up the confusion. Thanks.