|software.opensuse.org in action|
What does it all mean?A basic explanation of repositories, packages and software.openSUSE.org.
On Linux, Software usually comes from a central location: your distribution. Apple used this model for its appstore, so did Google with the playstore - they are the same thing, expect that there is a payment system included. Every piece of software comes in a package (.rpm on openSUSE, .apk on Android). Like with Android app stores, there are various locations where you can get 'additional software'. As we all know, Apple prefers to keep you in your golden cage, no additional legal application stores for you there.
Thanks to the unique Open Build Service, openSUSE has also been offering a central place to get additional software outside the distribution: software.opensuse.org. This web based application store allows you to search not only in the official, released openSUSE packages but also offers access to the numerous (200K+) packages on build.opensuse.org. These are build as part of the process of developing openSUSE (in the 'devel projects', often offering newer versions of official software) or by private users for their own purposes (in their 'home projects', offering newer versions, obscure packages or special builds).
OBS is not all about obscure or updated software: some software is build by software vendors or otherwise 'officially blessed'; other things are there because they are too big for openSUSE Factory (games for example) or require very frequent updates (some software development tools and libraries).
The web interface works with openSUSE's One Click Install, a tool which makes it easy to install packages while adding the originating devel- or home projects to your software sources ('repositories').
|Software vendors integrate OBS for official packages|
Adding repositories or not?So, should you use software.opensuse.org and should you add the repositories which One Click Install will offer you? Installing software from software.opensuse.org should be fine as long as you follow the rules below.
- Add the repo. Yes, you should. Your package gets updated/fixed, giving you security and stability improvements and preventing future system updates from getting stuck on a single obsolete package.
- Make sure you pick repos for your specific openSUSE version. Don't mix repo's of Factory with 12.2 and 12.3 or such...
- Pick 'devel projects' over home repos, devel projects are maintained by a group of people and thus safer from a stability and security point of view. Home projects start with 'home:'.
- When upgrading to a new openSUSE, make sure all repos are modified for the new version or remove those which are not available (yet). Use the Apper or YaST repository management tool for this.
- Don't use zypper dup after adding repositories unless you keep a very close eye on what is changing repositories and know what it means. Zypper up should service you fine (tools like Apper and YaST are safe by default).
|What and how to pick on software.o.o|
- KDE:Distro:Factory - Factory is where we develop openSUSE. The packages are often available for older openSUSE releases, but be careful, Factory is usually not very stable!
- KDE:Release:410 - the KDE team maintains repositories with KDE releases. You can pick one of these and be sure to have quite stable, yet up to date software.
- KDE:Unstable:Playground - guess... No, it is not very stable, as a matter of fact, this is a checkout directly from the source repositories at KDE - no guarantees, applications might not even start up.
- KDE:UpdatedApps - this is a repository with updated applications. It is by far the best, safest choice.
- devel:ARM:AArch64:12.3 - this is where the openSUSE ARM team develops their software. Only interesting if you run ARM hardware!
- home:XX - these are home projects from individual users. If they are your only choice you should proceed with caution. Note that SOME home projects have tens of thousands of users and are very reliable - it just isn't visible from software.o.o (something we should indeed fix, help is welcome).
Zypper powerIn dealing with multiple repositories, there are a few more advanced things you can do to keep things from breaking.
- locking - if a package tends to break often and you want to keep total control over what happens to it, you can lock it. Commandline: "zypper addlock PACKAGENAME"
- repository priorities - you can set priorities on repositories. "zypper dup" will always prefer packages from the highest priority (lowest number). Commandline: "zypper mr -p PRIORITY REPOSITORY"
- zypper help - learn more on any command from zypper by typing "zypper help COMMAND"
You can find more information, as well as some more tips, in this article on news.opensuse.org.