RPM (RedHat Package Manager)
RPM の基本コマンド従来、 Linux をはじめとする UNIX 環境でソフトウェアをインストールする場合、 配布されているソースコードをコンパイル (make) し、実行バイナリコードを作成する方法が一般的であった。 しかしながら、 コンパイルは、プログラミング言語の専門知識が要求される場合があり、 専門技術を持つシステム管理者の手で行われることが多かった。
Linux をはじめとする PC で動く UNIX が普及するにつれ、 コンパイル済みの実行バイナリコードを配布しそのまま使う方法や、 ソースコードとコンパイルの自動手順を同時に配布する方法が 普及してきた。このような配布形態を「パッケージ」と呼ぶ。
RPM とは、 配布ソフトウェアを「RPM パッケージ」として扱い、 RPM パッケージをインストール、アップグレード、消去するコマンド群を 用いてパッケージの管理を行う仕組みである。
RPM は元々 RedHat 社で開発され、 現在では、 Vine Linux, Turbo Linux 等さまざまな Linux ディストリビューションで使われている。
RPMパッケージは次のようなファイル名であり、 それぞれ以下の規則により名前が付けられている。
<パッケージ名>-<バージョン番号>-<リリース番号>.<アーキテクチャ>.rpm
例えば、次のようなものである。
mozilla-1.1-0vl5.i386.rpm
命名規則の「アーキテクチャ」とは、パッケージが対応する機種を示し、 PC では i386, i486, i586 または i686 となる。
配布されているパッケージが Vine Linux 2.5/2.6 で動作するかどうかは、 次の指針で判断すると良い。
- Vine Linux 2.5/2.6 対応である。→ OK
- RedHat 7.2 対応である。→ だいたい OK
- glibc 2.2 上でコンパイルされている。→ 多分 OK
- 等々…
APT (Advanced Packaging Tool)通常、スーパユーザ (root) で行う作業。
- パッケージのインストール:
- rpm -ivh パッケージのファイル名
例: rpm -ivh foo-1.0-0.i386.rpm- パッケージのアップグレード:
- rpm -Uvh パッケージのファイル名
例: rpm -Uvh foo-1.0-0.i386.rpm- パッケージ名を指定しインストール済みパッケージの表示:
- rpm -q パッケージ名
例: rpm -q foo- すべてのインストール済みパッケージの表示:
- rpm -qa
例: rpm -qa | more- パッケージの消去:
- rpm -e パッケージ名
例: rpm -e foo
APT のパッケージ情報の更新APT (Advanced Packaging Tool) は、 RPM のパッケージの管理機能に加え、 指定したパッケージを自動的にダウンロードを行いインストール作業を行い、 さらにパッケージ間の依存関係を処理することができる。
APT は元々 Debian/GNU Linux で開発され、 現在は Vine Linux 等 RPM を用いたパッケージ管理が可能となっている。
Vine Linux では あらかじめインストールされているソフトウェアを最新版にアップデートしたり、 追加パッケージ集である Vine Plus にあるソフトウェアをインストールすることが可能である。
RPM/APTによるパッケージ管理 (Vine Linux マニュアル)
アプリケーションのアップデートやインストールを行う前に、 自分の PC と Vine Linux 配布サイトのパッケージ情報を同期させる必要がある。 このためには、以下のようなコマンドを実行する。 (スーパユーザ (root) で行う作業)
# apt-get update 取得:1 http://www.ring.gr.jp 2.6/i386/base/pkglist.main [254kB] 取得:2 http://updates.vinelinux.org 2.6/i386/base/pkglist.updates [130kB] 取得:3 http://updates.vinelinux.org 2.6/i386 release.updates [134B] 取得:4 http://updates.vinelinux.org 2.6/i386/base/srclist.updates [44.4kB] 取得:5 http://updates.vinelinux.org 2.6/i386 release.updates [134B] 無視 http://updates.vinelinux.org 2.6/$(ARCH)/base/mirrors 無視 http://updates.vinelinux.org 2.6/$(ARCH)/base/mirrors 取得:6 http://www.ring.gr.jp 2.6/i386 release.main [123B] 取得:7 http://www.ring.gr.jp 2.6/i386/base/pkglist.plus [287kB] 取得:8 http://www.ring.gr.jp 2.6/i386 release.plus [121B] 取得:9 http://www.ring.gr.jp 2.6/i386/base/pkglist.plus-noarch [58.0kB] 取得:10 http://www.ring.gr.jp 2.6/i386 release.plus-noarch [127B] 取得:11 http://www.ring.gr.jp 2.6/i386/base/srclist.main [118kB] 取得:12 http://www.ring.gr.jp 2.6/i386 release.main [123B] 取得:13 http://www.ring.gr.jp 2.6/i386/base/srclist.plus [174kB] 取得:14 http://www.ring.gr.jp 2.6/i386 release.plus [121B] 無視 http://www.ring.gr.jp 2.6/$(ARCH)/base/mirrors 無視 http://www.ring.gr.jp 2.6/$(ARCH)/base/mirrors 取得完了: 1066kB を 4s (228kB/秒) ファイル依存を処理しています... 完了 パッケージリストを読みこんでいます... 完了 依存情報ツリーを作成しています... 完了 W: http://updates.vinelinux.org/apt/ は認証を省略します。 W: http://updates.vinelinux.org/apt/ は認証を省略します。 W: http://www.ring.gr.jp/pub/linux/Vine/apt/ は認証を省略します。 W: http://www.ring.gr.jp/pub/linux/Vine/apt/ は認証を省略します。上の「取得」の部分が「ヒット」となっていても良い。 エラーが起こった場合、何回か試してみると成功することがある。
mlab.im.dendai.ac.jp | |
im2@ |