Rugの利用

Using 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