Rugの利用
rug は、 zmdのコマンドライン・フロントエンド(操作ツール)です。実際には、zmdのコマンドを実行してユーザーにコマンドの動作状況を報告するだけのものです。さぁ、早速rugを使ってみましょう!
zmdの起動を確認
まず始めにzmdが起動しているかどうかを確認する必要があります。rug ping
コマンドを実行します:
$ 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
もしzmdが起動していなければ、このようなメッセージが表示されます:
$ rug ping ERROR: ZMD does not appear to be running.
In that case you must be root and do % rczmd start
.
サービスの追加
パッケージをインストールするためには、サービス(service)を追加する必要があります。rootになるか、sudo
を使ってコマンドを実行します。一般的な書式は以下のとおりです:
$ rug service-add --type=zypp URL unique-name
したがって、ftp.gwdg.deというSUSEのミラー・サイトを使うには、このようにします:
$ 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%
ここでzmdが利用中のサービスを確認してみましょう:
$ rug service-list # | Status | Type | Name | URI --+--------+------+-----------+------------------------------------------------- 1 | Active | ZYPP | factory | http://ftp.gwdg.de/pub/opensuse/distribution/...
カタログの登録
単にサービスを追加するだけでは、パッケージのインストールを開始できません。サービスは、1つまたは複数のカタログ(catalog)を持っています。つまり、サービスはカタログのリポジトリ(格納庫)であり、カタログはパッケージやパッチのリポジトリであると考えてください。どんなカタログが利用できるか確認してみましょう:
$ rug catalogs Sub'd? | Name | Service -------+-----------+---------- | factory | factory
すばらしい、先ほど追加した「factory」サービスの「factory」カタログを持っています。なので、これを登録することができます:
$ rug subscribe factory Subscribed to 'factory'
パッケージの検索、インストール、更新、削除
ここまでの作業で、パッケージをインストールすることができるようになりました。以下に紹介するコマンドの多くは、通常、rootになるかsudo
を使って実行する必要があります。さて、私の好きな「boo」と呼ばれるMono用の素晴らしいプログラム言語があります(訳注:Booは.NETフレームワーク用のスクリプト言語の1つ)。しかし、私はその正確なパッケージ名が何であるかは知りません。そこで検索してみることにします:
$ rug search boo S | Catalog | Bundle | Name | Version | Arch --+---------+--------+---------------------------------+----------------------------+------- | factory | | boo | 0.7.0.1921-17 | noarch ...
見つかったので、パッケージ名「boo」のステキなアイツをインストールしましょう:
$ 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
すばらしい。これで私はbooのステキなプログラムを書くことができます。~5年経過~あぁ、もう5年も経ってしまった! booをアップグレード(更新)しなくちゃならないよ。ですが、幸運なことに、パッケージのインストールにもアップグレードにも同じコマンド「install」が使えます。
$ 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
これでバージョン0.7.0.1921-17.2のbooが入手できました! ですがそのまた5年後、不幸なことに私はbooを使ったプログラミングをやめてしまい、Parrot上で動くPerl 6のほうが好きになっていました。booをお払い箱にする必要がありますね:
$ 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
もっと知りたい
rugはたくさんのコマンドとオプションを持つ、強力なプログラムです。利用可能なコマンドの一覧を表示するには:
$ rug --help
特定のコマンドのヘルプを見たいときは:
$ rug <command> --help