• 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:
      HTML Code:
      http://download.opensuse.org/repositories/openSUSE:/Tumbleweed/standard/
    • remove any 12.x standard Packman repositories
    • add "Packman Tumbleweed" from here:
      HTML Code:
      http://packman.inode.at/suse/openSUSE_Tumbleweed
    • replace "openSUSE 12.x oss" with "openSUSE Current oss" from here:
      HTML Code:
      http://download.opensuse.org/distribution/openSUSE-current/repo/oss/
    • replace "openSUSE 12.x non-oss" with "openSUSE Current non-oss" from here:
      HTML Code:
      http://download.opensuse.org/distribution/openSUSE-current/repo/non-oss/
    • replace "openSUSE 12.x Updates" with "openSUSE Current updates" from here:
      HTML Code:
      http://download.opensuse.org/update/openSUSE-current/
    • add "openSUSE non-oss Current updates" from here:
      HTML Code:
      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):
    Code:
    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
    Code:
    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: 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:
    Code:
    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).
    Comments 16 Comments
    1. macmikeal's Avatar
      macmikeal -
      What is Tumbleweed and what the pros and cons of having it if there is going to be all of these problems with it?
    1. swerdna's Avatar
      swerdna -
      Quote Originally Posted by macmikeal View Post
      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?
    1. Winux2's Avatar
      Winux2 -
      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
    1. frasmog's Avatar
      frasmog -
      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!
    1. swerdna's Avatar
      swerdna -
      Quote Originally Posted by frasmog View Post
      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!
      Excellent.
    1. smithark's Avatar
      smithark -
      @ 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 articles
    1. afshine's Avatar
      afshine -
      Thank you swerdna.

      You don't mention this part:
      Quote Originally Posted by Portal:Tumbleweed View Post
      You will need to allow vendor change from Tumbleweed. This is done by creating a file named Tumbleweed.conf in the /etc/zypp/vendors.d/ directory with the following content:
      [main] vendors = suse,opensuse,obs://build.opensuse.org/openSUSE:Tumbleweed
      Isn't this step necessary? Thanks.
    1. caf4926's Avatar
      caf4926 -
      Quote Originally Posted by afshine View Post
      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)


      Code:
      1 | openSUSE Current updates | Yes  | Yes   |   99   | Index of /update/openSUSE-current                    | 
      2 | openSUSE Current non-oss | Yes  | Yes   |   99   | Index of /distribution/openSUSE-current/repo/non-oss |  
      3 | openSUSE Current oss     | Yes  | Yes   |   99   | Index of /distribution/openSUSE-current/repo/oss     |  
      4 | openSUSE Tumbleweed      | Yes  | Yes   |   99   | Index of /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
    1. afshine's Avatar
      afshine -
      Quote Originally Posted by caf4926 View Post
      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 in the How To?

      About the repos, the How To says:
      Quote Originally Posted by swerdna View Post
      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.
    1. caf4926's Avatar
      caf4926 -
      Quote Originally Posted by afshine View Post
      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
    1. afshine's Avatar
      afshine -
      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?
    1. caf4926's Avatar
      caf4926 -
      Quote Originally Posted by afshine View Post
      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
    1. MALsPa's Avatar
      MALsPa -
      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.
    1. afshine's Avatar
      afshine -
      Quote Originally Posted by caf4926 View Post
      Now I feel like fleas arguing over the space on a dogs back
      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.
    1. swerdna's Avatar
      swerdna -
      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?
    1. afshine's Avatar
      afshine -
      swerdna, your answer cleared up the confusion. Thanks.