- SuSE    zypper -


    Borrowed / Stolen from: Ben Kevan's Blog

Using openSUSE zypper for package management (adding, removing, repository management)

First a quick introduction on zypper. Zypper is a command line package and software repository manager that will do about everything you need. Zypper will allow you to install a package from a repository, a local RPM, protect (lock) a package, add and remove repositories, let you run different query types and even more if you wanted it to.

First, lets go over the basic and most used options of zypper:

zypper help # This will give you the help and usage list
zypper help command # This will give you the help option of a specific zypper function
zypper lu # This will list updates (use the -t switch to change what package type)
zypper up # This will update patches by default (you can update packages by using -t package)
zypper in package # Install application named package
zypper rm package # Remove application named package
zypper se package # Search for application named package

Now there are some of the most used uses of zypper. So lets go into more detailed usage. First we will work with repositories:

Listing, adding and deleting a repository.

To list your repositories:

zypper lr

Note: to get more details on them run it with the –detail switch (note that’s 2 -’s and not 1 big -).
Example output of zypper lr:
zypper lr output
figure 1

To add a repository:

sudo zypper ar http://location/of/repository Name\ Of\ Repository

To remove a repository:

sudo zypper rr Name\ Of\ Repository

Note: you can also remove a repository by the repo number from the zypper lr output. (Figure 1)

Now that we have repositories, what are other things we can do with them, here we are going to look at enabling and disabling a repo:
Note: with these you can use name of repo or number gathered from lr output in figure 1

Enabling a repository:

sudo zypper mr -e Name\ Of\ Repo

Disabling a repository:

sudo zypper mr -d Name\ Of\ Repo

Renaming a repository:

sudo zypper nr Name\ Of\ Repo New\ Name\ Of\ Repo

The last great overlooked zypper tool is to export/import your repo list:

zypper lr –export /location/of/saved/repo.repo

You can later import this repo file on this or another machine by running

sudo zypper ar /location/of/saved/repo.repo

Bonus: To force a refresh of all your repositories run:

sudo zypper ref –force

This sometimes helps if you have a cached issue.

Ok, now we have our repositories and we’ve enabled em. Now lets get to managing our packages:

Installing a package via the name:

sudo zypper in bluefish

This would install the bluefish application.

Installing a package via a requirement:

sudo zypper in libnm-util.so.0

This would install NetworkManager-glib

Installing a local rpm package:

sudo zypper in /location/of/rpmpackage.rpm

Installing a package from a specific repo:

sudo zypper in education:bluefish

This would install the bluefish package from the education repo.

Force the re-installation of a package:

sudo zypper in -f bluefish

Bonus: You can install a package pattern using:

sudo zypper in -t pattern pattern_name

You can get the pattern names from:

sudo zypper se -t pattern

Now lets remove those pesky files we just installed:

sudo zypper rm bluefish

This will remove the bluefish package

Bonus: You can remove and install an application together

sudo zypper in bluefish -fslint

This will conclude this poriton of the zypper tutorial. I’ll do a part 2 which will include queries, searching, updating and distribution updating. Part 2 will hopefully be followed up later this week.






Copyright © 2004-2008 All rights reserved.