When you define a repository, zypper holds a configuration that tells zypper where to find software to work with. If you have configured software locations in YaST, zypper
will
use them as well as other installation sources you may have configured through
aptRPM, local file sources, and most ZENworks management systems. You can use zypper to list, add, rename and delete repositories. Table 2-5 shows the commands needed for managing zypper repositories, along with shortcut abbreviations for the commands. Also, keep in mind that command line help can be obtained by typing
zypper –h at the command line.
Table 2-5: Managing zypper Repositories
zypper Command Abbreviation Description
|
addrepo ar Adds a new repository. You will need to provide a
URI for the install source as well as a name for it.
|
removerepo rr Removes a
repository.
|
repos rr Lists all known repositories and shows informa- tion
about the repository such as its
name and whether it’s enabled or not.
|
renamerepo nr Renames the alias of a repository. The source repos-
itory has to be referred to by its alias. Remember to
use quotes if you have whitespace or special shell
characters in the alias.
|
modifyrepo mr Modifies whether the repository is automatically refreshed
or not, and whether it is enabled or not.
|
refresh ref Re-downloads metadata for all known services or specific alias if given.
|
In the YaST
section earlier, we added a repository from ftp.gwdg.de. We can demon- strate adding a Zypper repository using this same install location. First we’ll remove the install location and then add, refresh,
modify, and rename it.
The following example tells
zypper to show all the repositories it knows about as well as the status of those repositories (in all example output, fields too long to display have been
edited to fit the page width).
#
zypper lr
# | Enabled | Refresh | Type | Alias | Name
--+---------+---------+--------+-------------------+---------------
1 | Yes
|
| No
|
| yast2 | openSUSE-10.3-...
|
| openSUSE-10.3-...
|
2 | Yes
|
| Yes
|
| rpm-md | madwifi
|
| madwifi
|
3 | Yes
|
| Yes
|
| rpm-md | Guru’s RPM site
|
| Guru’s RPM
si...
|
4 | Yes
|
| Yes
|
| Main
Repositor...
|
|
5 | Yes
|
| Yes
|
| rpm-md | openSUSE-10.3-...
|
|
openSUSE-10.3-...
|
6 | Yes
|
| No
|
| yast2 | testcdrom
|
| testcdrom
|
7 | Yes
|
| Yes
|
| Main
Repositor...
|
Zypper shows the repositories we had configured in
YaST (your list may look a bit
different). The following command will remove the repository named Guru’s RPM site:
#
zypper rr
“Guru’s RPM
site”
* Removing repository
‘Guru’s_RPM_site’
Repository Guru’s
RPM site 1 has been
removed.
To add this location using zypper and give it the alias name Guru’s RPM site, issue the zypper command as follows (you
must use quotes around the service
name as it contains whitespace and a single quote):
# zypper ar http://ftp.gwdg.de/pub/linux/misc/suser-guru/rpm/10.3/RPMS/
\ “Guru’s RPM site”
*
Adding repository
‘Guru’s RPM
site’
Repository ‘Guru’s RPM site’ successfully added: Enabled: Yes
Autorefresh: Yes
Zypper will configure the new repository for use. After
zypper is done, you can see it has added the new repository by issuing zypper lr as before. If you decide at a later date to rename the Guru’s site to something different, you can use
the zypper command like this to do so:
#
zypper nr “Guru’s RPM site” ftp.gwdg.de
Repository Guru’s RPM site renamed to ftp.gwdg.de
#
zypper lr
# | Enabled | Refresh | Type | Alias | Name
--+---------+---------+--------+-------------------+---------------
1 | Yes
|
| No
|
| yast2 | openSUSE-10.3-...
|
| openSUSE-10.3-...
|
2 | Yes
|
| Yes
|
| rpm-md | madwifi
|
| madwifi
|
3 | Yes
|
| Yes
|
| rpm-md | ftp.gwdg.de
|
| ftp.gwdg.de
|
...
|
|
|
|
You can use the mr command to modify the Refresh or Enabled repository attrib-
utes. Turning off the Refresh attribute will mean you have to refresh
this repository manually; zypper will not do it automatically. You may want to disable repositories that you’ve added that deal
with development software so you aren’t automatically retrieving software from places that may
be unstable. Here’s an example of disabling a repository:
#
zypper mr
-d “ftp.gwdg.de”
Repository ftp.gwdg.de has been sucessfully modified.
You can see the ftp.gwdg.de repository as disabled now:
#
zypper lr
# | Enabled | Refresh | Type | Alias | Name
--+---------+---------+--------+-------------------+---------------
1 | Yes
|
| No
|
| yast2 | openSUSE-10.3-...
|
| openSUSE-10.3-...
|
2 | Yes
|
| Yes
|
| rpm-md | madwifi
|
| madwifi
|
3 | No
|
| Yes
|
| rpm-md | ftp.gwdg.de
|
| ftp.gwdg.de
|
...
|
|
|
|
Likewise, the following command turns off
the
Refresh of the ftp.gwdg.de repository:
#
zypper mr
--disable-autorefresh “ftp.gwdg.de”
Repository ftp.gwdg.de has been sucessfully modified.
If you refresh all the repositories now, you
can see ftp.gwdg.de is left alone:
#
zypper ref
Repository ‘openSUSE-10.3-DVD
10.3’ is up
to date. Repository ‘madwifi’ is up to date.
Repository ‘Main Repository (NON-OSS)’ is
up
to date. Repository ‘openSUSE-10.3-Updates’ is up
to date.
Repository ‘testcdrom’ is up
to date.
Repository ‘Main
Repository (OSS)’
is up to date.
All repositories have been refreshed.
Note that the first repository is a
DVD. You need to have the DVD mounted to refresh from that repository. You can use the –e flag, just as the –d flag was used, to re-enable the ftp.gwdg.de
repository. The –a flag, used the
same way, will re-enable automatic-refresh.
#
zypper mr
-a
ftp.gwdg.de
Repository ftp.gwdg.de has been sucessfully modified.
#
zypper mr
-e ftp.gwdg.de
Repository ftp.gwdg.de has been sucessfully modified.
In the course of adding repositories, you may get prompted to accept a Package
Signing Key.
...
Do you want to trust
key id A84EDAE89C800ACA SuSE Package Signing Key
<build@suse.de> fingerprint:79C179B2E1C820C1890F9994A84EDAE89C800ACA
?
[y/n]:
This is a method of digitally
verifying the authenticity of packages you download from
various installation sources. There is a potential for malicious software to be introduced into your system through the use of third-party sources, which may be difficult to verify. The signing key is a way for your system to verify that the software came from where it says it came from. There is no 100 percent surefire way to absolutely guarantee that
the key you are about to accept
hasn’t been inserted into your network session some- where in the middle of your network connection. The odds may be
slim, but nonethe- less there is
some risk because the Internet is a public network.
NOTE For more information on GPG and digitally signed
packages, visit the GnuPG web site (www.gnupg.org) or
have a look at the Security and Authentication with Digital Signatures article on the Linux Journal web site (www.linuxjournal.com/article/2304).
For more information about adding zypper services to openSUSE, visit the opensuse-
community.org web site (http://opensuse-community.org/Package_ Sources).
No comments:
Post a Comment