OpenSUSE Administation with Zypper
On this page
- Zypper command groups
- 1.The Basic Zypper Command syntax
- 2. Repository Management with Zypper
- 3. Zypper Queries
- 4. Software Management with Zypper
- 5. Update Management with Zypper
- 6. Reference
Zypper is the command line package manager for openSUSE, introduced in openSUSE 10.2 which uses the libzypp library. Zypper provides a command line interface to manage repositories, the software installation, packages, patches, verifying dependencies etc.
Zypper command groups
Zypper provides a lot of commands. These commands are grouped into the following groups:
Commands to manage openSUSE repositories. Add new repository, delete or edit the repository etc.
Repository Index service management.
Manage packages and install software. Install or remove packages, verify the integrity of packages etc.
Update management for openSUSE. Update installed software, install patches for packages, upgrade the openSUSE distribution.
The zypper query command is used to search for packages by name, show detailed info about packages, list available patches, etc.
Other useful zypper commands.
1.The Basic Zypper Command syntax
The basic syntax of zypper is:
zypper command options..
If you need to get help with a command, you can use help:
zypper help command..
Zypper provides a long and short syntax for commands. An example: if you want to install a new package, you can use:
zypper install newpackages
in long syntax or you can use "in" instead "install" for for the short syntax:
zypper in newpackages
2. Repository Management with Zypper
In this section, I will explain how to use the zypper command to manage openSUSE repositories. I will use the zypper command to add a new repository, remove a repository and get a list of all available repositories.
Before we start the case, if you want to see the options of one of the commands, you can use help:
zypper help command..
We will add the packman repository to openSUSE leap. Packman is the largest external openSUSE repository, it provides packages for multimedia applications, libraries and many other useful packages that for your system.
Add packman repository
Add the packman repository with the "zypper ar" command:
zypper ar -f -n packman http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_42.1/ packman
You can see the results:
Adding repository 'packman' ...................................................................................................................................................[done]
Repository 'packman' successfully added
Enabled : Yes
Autorefresh : Yes
GPG Check : Yes
URI : http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_42.1/
Option - to use zypper help to see the option.
-f = enable auto-refresh the repository
-n = name of the new repository
Now refresh the packman repository:
zypper ref packman
Then check the packman repository and you will see the repository on the list:
Modify the packman repository
We can use the "mr" or "modifyrepo" command to alter the repository. There is an option to modify the repository, in this step I will just use the option to enable or disable the repository.
Disable the packman repository without removing the repository:
zypper mr -d packman
If you want to enable it again, you can use the "-e" option:
zypper mr -e packman
To remove the repository completely use:
zypper rr packman
3. Zypper Queries
In this chapter, I will show you how to search for software or packages with the zypper command. The package search is based on the name. The commands will show the details of the package, list available patches, and available updates.
We want to search for a new package for "mariadb", then get detailed info's about it like size, version, architecture etc.
Search Packages by Name
Search for the mariadb package with the "zypper se" command:
zypper se -n mariadb
You can see all packages that have "mariadb" in their name. Choose the packages that you want and get the package details for and use "zypper if" command below to display them:
zypper if mariadb
Now you know all available details of the package that you want to install.
Another useful command - see all available patches or update of your system:
4. Software Management with Zypper
Now I will show you how to manage software packages on openSUSE leap with the zypper command. We will install a new package, remove a package and clean packages.
In the zypper queries section, we searched for MariaDB, now we will install that package.
Install a software package with zypper
Install mariadb with "zypper in" command:
zypper in mariadb mariadb-client
Type "y" to continue the installation.
Next, check that MariaDB is installed and up to date with zypper query command below:
zypper if mariadb mariadb-client
If you want to remove mariadb from your system, use the rm command:
zypper rm mariadb
MariaDB has been removed from the system. Now we want to download the MariaDB rpm package with zypper and then install it manually. Before doing these stuff, make sure you clean the repository cache with:
Download the MariaDB rpm with zypper by using the "-d" option:
zypper in -d mariadb
To see the mariadb rpm, check the /var/cache/ directory:
You will see mariadb.rpm in that directory:
To install the rpm package, you can use the rpm command or do it with zypper (automatically retriveving package from local). Go to /var/cache/ directory and install it with zypper:
zypper --non-interactive in mariadb-10.0.22-3.1.x86_64.rpm
Now MariaDB is installed again. This time, we installed it from the previously downloaded rpm package with zypper command.
5. Update Management with Zypper
In this chapter, we will learn more about the update management with Zypper. There are 2 types of updates in openSUSE Leap:
It's an update for anyone using a stable release of openSUSE and wants to update their system with new patches through an online repository. By default, the patch update repository is enabled in the openSUSE, so we do not have to add a new repository.
This method installs updates by downloading complete new packages. This is used for general Linux updates, and can be used for updating packages to newer versions from any repository on the system.
Here are some commands to manage updates and patches on openSUSE:
List available Patches with zypper
To see all patches for your system, use the command below:
If you want to count the available patches, use the command below:
there are 138 patches available, 42 of these patches are security related.
To apply/install all patches you can use "patches" command:
List available package updates
To get a list of all available package updates, run this command:
zypper lu -a
If you want to update all packages, you can use "up" or "update" command:
The update process will ask for confirmation, type "y" and press enter to download and update all packages. Wait for the update process, it may take some time.
When all updates are installed, restart your openSUSE when the update installed a new Linux Kernel. Then log in again and check the list of updates and patches:
zypper lu -a
all packages have been updated.
If you want to update (upgrade) your openSUSE to the next major release, you can use "dup" command:
This is just simple guide with the most used commands, I suggest to read more documentation here: