Rug
aus openSUSE, der freien Wissensdatenbank
rug ist ein Kommandozeilen-Frontend zu zmd. Es bewirkt lediglich die Übergabe von Befehlen an zmd und berichtet dem Benutzer den Status des Befehls. Legen wir nun los mit rug!
Inhaltsverzeichnis |
Prüfen, ob zmd läuft
Zuerst muss man prüfen, ob zmd läuft. Dazu ruft man rug ping auf:
$ rug ping ZMD 7.1.1, Copyright (C) 2006 Novell, Inc. Started at 7/17/2006 2:47:39 PM (uptime: 1 days, 0 hours, 38 minutes) RSS size: 42252 Network Connected: Yes Running on Mono 1.1.13.8 OS Target: SUSE Linux Enterprise Server 10 (i586) Module Name | Description -------------------+------------------------------------------ NetworkManager | NetworkManager support Package Management | Package Management module for Linux ZENworks Server | SOAP methods used by a ZENworks server XML-RPC interface | Export ZMD public interfaces over XML-RPC
Wenn zmd nicht läuft, erscheint eine Meldung wie diese:
$ rug ping ERROR: ZMD does not appear to be running.
In diesem Fall meldet man sich als root an und gibt % rczmd start ein.
Einen Dienst hinzufügen
Bevor man irgendwelche Packages installieren kann, muss ein Dienst hinzugefügt werden. Dazu muss man generell root sein oder den Befehl mit sudo eingeben. Die allgemeine Syntax ist:
$ rug service-add --type=zypp URL unique-name
Um den SUSE-Mirror ftp.gwdg.de zu verwenden, gibt man ein:
$ rug sa --type=zypp http://ftp.gwdg.de/pub/opensuse/distribution/SL-OSS-factory/inst-source/suse factory
Adding ZYPP service http://ftp.gwdg.de/pub/opensuse/distribution/SL-OSS-factory/inst-source/suse...
100%
Prüfen wir nun, welche Dienste zmd benützt:
$ rug service-list # | Status | Type | Name | URI --+--------+------+-----------+------------------------------------------------- 1 | Active | ZYPP | factory | http://ftp.gwdg.de/pub/opensuse/distribution/...
Einen Dienst umbenennen
Einen Katalog abonnieren
Es genügt nicht einfach nur, einen Dienst hinzuzufügen und Packages zu installieren. Dienste können einen oder mehrere Kataloge enthalten, und Kataloge können Packages und Patches enthalten. Um die vorhandenen Kataloge zu bestimmen, gibt man ein:
$ rug catalogs
Sub'd? | Name | Service
-------+-----------+----------
| factory | factory
Der Katalog "factory" ist in dem Dienst "factory" enthalten, der weiter oben hinzugefügt wurde. Nun kann er abonniert werden:
$ rug subscribe factory Subscribed to 'factory'
Packages finden, installieren, upgraden und entfernen
Nun, da wir einen Katalog abonniert haben, können wir einige Packages installieren. Für viele dieser Befehle sollte man normalerweise root sein oder sie mit sudo ausführen. Angenommen, man interessiert sich für ein Programm namens boo für mono, aber der Packagename ist nicht bekannt. So kann man ihn finden:
$ rug search boo S | Catalog | Bundle | Name | Version | Arch --+---------+--------+---------------------------------+----------------------------+------- | factory | | boo | 0.7.0.1921-17 | noarch ...
Der Packagename ist "boo", nun kann es installiert werden:
$ rug install boo
Resolving Dependencies...
The following packages will be installed:
boo 0.7.0.1921-17 (http://ftp.gwdg.de/pub/opensuse/distribution/SL-OSS-factory/inst-source/suse)
Transaction...
100%
Transaction Finished
Nun kann man boo-Programme erstellen. *5 Jahre später* "Oh, schon sind 5 Jahre vergangen! Höchste Zeit, boo upzugraden!" Glücklicherweise dient der Befehl "install" sowohl für ein Upgrade eines zuvor installierten Paketes als auch für die Erstinstallation eines Packages.
$ rug install boo
Resolving Dependencies...
The following packages will be installed:
boo 0.7.0.1921-17.2 (http://ftp.gwdg.de/pub/opensuse/distribution/SL-OSS-factory/inst-source/suse)
Transaction...
100%
Transaction Finished
Nun hat boo die Version 0.7.0.1921-17.2! Angenommen, man programmiert nun nicht mehr in in boo, sondern in Perl 6 unter Parrot. Dann müsste man boo wieder loswerden:
$ rug remove boo
root's password:
Resolving Dependencies...
The following packages will be removed:
boo 0.7.0.1921-17.2 (system)
Transaction...
100%
Transaction Finished
Weitere Möglichkeiten. Hilfe
rug ist ein robustes Programm mit vielen Optionen. Eine Liste der Optionen erhält man mit:
$ rug --help
To get help on any specific command try:
$ rug <command> --help

