情報メディア学科 コンピュータ基礎および演習I・ワークショップI Linux
ソフトウェアパッケージRPMとAPT

 

- RPM (RedHat Package Manager)

従来、 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 で動作するかどうかは、 次の指針で判断すると良い。

- RPM の基本コマンド

通常、スーパユーザ (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 (Advanced Packaging Tool)

APT (Advanced Packaging Tool) は、 RPM のパッケージの管理機能に加え、 指定したパッケージを自動的にダウンロードを行いインストール作業を行い、 さらにパッケージ間の依存関係を処理することができる。

APT は元々 Debian/GNU Linux で開発され、 現在は Vine Linux 等 RPM を用いたパッケージ管理が可能となっている。

Vine Linux では あらかじめインストールされているソフトウェアを最新版にアップデートしたり、 追加パッケージ集である Vine Plus にあるソフトウェアをインストールすることが可能である。

RPM/APTによるパッケージ管理 (Vine Linux マニュアル)

- APT のパッケージ情報の更新

アプリケーションのアップデートやインストールを行う前に、 自分の 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/ は認証を省略します。

上の「取得」の部分が「ヒット」となっていても良い。 エラーが起こった場合、何回か試してみると成功することがある。

 


コンピュータ基礎および演習I ワークショップI > Linux > 環境構築 > RPMとAPT
東京電機大学 工学部 情報メディア学科
mlab.im.dendai.ac.jp
im2@