Updated: 15 February, 2016
11. Software Repositories
As mentioned in the previous chapter, the package manager installs software by fetching packages from software repositories, therefore the software available for easy installation via the package manager depends on the configured repositories.
A software repository is a collection of RPM packages (the openSUSE packaging format) and metadata for the available packages. Usually repositories are on online servers, but it can also be on a CD/DVD or on other media.
11.1 Managing Repositories
Respositories can be added, removed and configured via YaST, in the module called Software Repositories.
11.1.1 Adding Repositories
The official repositories are pre-configured, but many unofficial repositories exist and can be added too.
||Add repositories with care.
- Unofficial repositories might include experimental packages
- Not all repositories are mutually compatible
- The risk level of a repository can change over time
- Too many repositories makes the package manager slower
The easiest and safest way to add repositories is using the list of online community repositories in YaST. This provides you with a selection of popular and quite safe repositories to choose from:
YaST => Software => Software Repositories => Click on "Add" => Select "Community Repositories" and click "Next"
Note that the openSUSE BuildService
is a service for the community to build and share packages. openSUSE BuildService repositories are unofficial and unsupported
. Use at your own risk.
11.1.2 Recommended Repositories
You should always have the four official
repositories (which are configured out of the box).
- Main Repository (OSS)
- Main Repository (NON-OSS)
- Main Update Repository
- Main Update Repository (NON-OSS)
Additionally I recommend adding the following unofficial
repositories from the Community Repositories list, for having a good balance of software supply and stability for most users.
11.1.3 Vendor Change Updates
Updating installed packages from one repository to versions from a different repository with a different vendor
, is a little bit complicated. Read about it here:
11.2 Repository Management in the Terminal
If you wish, you can manage your repositories via a terminal too.
Add a repository with auto-refresh enabled zypper addrepo -f [URL] [Alias]
zypper addrepo -f http://packman.inode.at/suse/openSUSE_Leap_42.1/ packman
Disable a repository zypper modifyrepo -d [URL|Alias]
zypper modifyrepo -d Packman
Remove a repository zypper removerepo [URL|Alias]
zypper removerepo http://packman.inode.at/suse/openSUSE_Leap_42.1/
List configured repositories, showing details (priorities, URL, etc.):
zypper repos -d
See man zypper
Or for help on indvidual commands use for example:
zypper addrepo --help
Send your comments via e-mail to admin [at] opensuse-guide.org