| 無料ホームページスペース無料メールアドレスをご提供します。 KANSAI WEBサービス会員規約 |
| コンピュータ/通信総合サイト・広島の関西商事 管理人:大内 雅司 |
★パッケージの取り扱いをマスターする「RPMファイルの操作」・・・バイナリ・パッケージ編
| このセクションのポイント |
| @複数のファイルをまとめたものをアーカイブと呼ばれる。Fedora Coreでは、特にRPMファイルと して用意されている。 Aprmコマンドを使うと、RPMファイルのインストールや削除を簡単に行える。 Brpmコマンドでは、ほかにパッケージファイルの情報やインストールされているパッケージ情報も 得ることができる。 |
RPM コマンドは,Red Hat 系ディストリビューションのLinux
で特有のパッケージ配布形態です。
プログラムなどを容易にインストールや削除することが可能であり,make
などが必要なくLinux 活用の敷居を低くしてくれる。
RPMパッケージ及びそれらに含まれるファイルのじょうほうを、データベースとして/var/lib/rpmディレクトリの各ファイルに保存しています。このデータベースを利用して、「現在どういうパッケージがインストールされているのか」「そのパッケージはどういうファイルが含まれているのか」など、様々なパッケージの情報を得ることができます。
また、RPMファイルの場合は命令に規則があり、具体的には以下のような構成になっています。
ソフトウェア名-バージョン番号.CPUの種類.rpmーーーーー>dhcp-3.0.2-12.i386.rpm
RPM コマンドのオプションには,インストールや削除を行う以外にもたくさんのものが用意されており,
覚えておくと便利なものを厳選して紹介します。
覚えておくと便利な厳選オプション
■インストール -ivh
通常のインストールには,「-ivh」オプションで指定する。「i」はインストール,「v」は詳細な情報出力,
「h」がインストールの進行状況表示を指定している。
| # rpm -ivh xxxxxx.rpm |
-------># rpm -ivh dhcp-3.0.2012.i386.rpm
(補足)debianパッケージの場合には、
| #dpkg -i パッケージ名 |
■依存関係を解決
上記の手順でバイナリ・パッケージがうまくインストールできない場合、パッケージの依存関係の問題が考えられます。
依存関係とは、「導入したいパッケージを動かすには、そのパッケージに加えて、さらに必要なソフトやライブラリが存在する」ことです。
つまり、依存関係の問題とは、必要なソフトやライブラリがシステムに存在しないため、導入したいパッケージをインストールできない状態なのです。
RPMパッケージでは、依存関係に問題があれば、エラーが表示されます。
(例)
| [root@linux ~]# rpm -ivh samba-client-3.0.10.1.fc4.i286.rpm エラー Failed dependencies: samba-common = 0:3.0.10 is needed by samba-client-3.0.10.1.fc4.i386 |
つまり、「samba-client-3.0.10-1.fc4.i386.rpm」を導入しようとしても、「samba-common-3.0.10」のパッケージがインストールされていないというエラーが表示されています。
この場合は、samba-client-3.0.10.1.fc4.i386.rpmなどを入手してあらかじめインストールしておく必要があります。
(注意)以上のように依存関係を単純に解決できれば良いのですが、できないことも多々あります。
例えば、依存関係を解消するために数多くのパッケージが必要な場合があるからです。
(対策)こうした問題を解決するために、多くのディストリビューションには、依存関係を解消しながら自動インストールする仕組みが用意されています。
それが、Fedora Core4の「yum」やDebianの「apt」などが代表的です。
アプリケーションのアップグレードにも使用しますので、これらの仕組みがあることは覚えておきましょう。
■アップグレード -Uvh
「U」はアップグレードを示し,すでにインストールされている同一の古いパッケージがあれば,アップ
グレード処理をしてくれる。最初のインストールでも,「U」オプションを指定しても問題はない。
| # rpm -Uvh xxxxxx.rpm |
-------># rpm -ivh dhcp-3.0.2012.i386.rpm
■テスト --test
インストールは行わず,テストのみを行う。パッケージが正常であるかチェックする場合に使用する。
| # rpm -i --test xxxxxx.rpm |
-------># rpm -ivh dhcp-3.0.2012.i386.rpm
■複数のパッケージをインストールする場合には,拡張子rpmのファイルを続けて記述すればよい。
| # rpm -i xxxxxx.rpm xxxxxx.rpm |
------>#rpm -ihv php-pear-5.0.4010.i386.rpm
php-5.0.4-10.i386.rpm
■ワイルドカード *
ただし, ワイルドカード(「*」など)も利用できるため,こちらのほうが便利かもしれない。
| # rpm -i *.rpm |
■アンインストール -e
(注意)アンインストールする場合はRPMファイル名ではなく、「ソフトウェア名」を指定します。「ソフトウェア名」はRPMファイルのバージョン番号部分以降を除いたものです。(上記記載)
| # rpm -e ファイル名のみ |
-------># rpm -e dhcp
■クエリー(問い合わせ)
インストール済みのソフトウェアすべてを表示させたい場合は、-qオプションとともに-aオプションを使用します。表示させるソフトウェア名には、バージョンも含まれます。
目的のソフトウェア名が分かっている場合は、以下のようにパイプとgrepコマンドを使用して、インストールされているかどうか確認できます。
| [root@linux ~]# rpm -qa | grep lynx lynx-2.8.5-23 |
-------->と言うように表示されます。
■RPMパッケージに含まれるファイルを表示
RPMファイルはアーカイブファイル、つまり複数のファイルが1つに収められたものです。実際に、どのようなファイルがシステムにインストールされているのか確認するには、-qオプションとともに-lオプションをしようします。問合せ先がRPMのデータベースの場合は、引数にソフトウェア名を指定します。
| [root@linux ~]# rpm -ql lynx |
また、問合せ先がRPMファイルのばあいは、さらに-pオプションが必要です。引数にはRPMファイルを指定します。
| [root@linux ~]# rpm -qpl lynx-2.8.5-23.i386.rpm |
表示される方法は・・・・・・
|
・・・・・・・・という感じで表示されます。
■RPMパッケージの情報を表示
そのソフトウェアが何に使用されているものなのかを知るためには、-qオプションとともに、-iオプションをしようします。問合せ先がRPMのデータベースの場合は、引数にソフトウェア名を指定します。
| [root@linux ~]# rpm -qi lynx |
問合せ先がRPMファイルの場合は、さらに、-pオプションが必要です。引数にRPMファイルを指定します。
| name :linux Relocaions:
(not relocatable) Version :2.8.5 Vender: Red Hat, Inc. Release :23 Build Date: 2005年03月30日 00時58分41秒 Install Date : (not installed) build Host: porky.build.redhat.com Group :アプリケーション/インターネット Soutce RPM: lynx-2.8.5-23.src.rpm Size :4580183 License: GPL Signaure : DSA/sha1, Inc. 2005年05月21日 02時34分18秒, Key ID b44269d04f2a6fd2 Packager : Red Hat,Inc, <http://bugzilla.redhat.com/bugzilla> URL : http://lynx.isc.org/ Summary : てきすとべーすの WEB ブラウザ Description : lynx はテキストベースの Web ブラウザです。画像は表示しませんが フレーム、テーブルのほかほとんどの HTML タグをサポートしています。 グラフィカルなブラウザと比べての lynx の利点はそのスピードにあり ます。lynx の起動や終了は軽快で Web ページもすばやく表示されます。 |
■システムに存在するファイルからRPMパッケージを逆引きする。
ここまでは、ソフトウェア名やRPMファイル名から情報を得ていましたが、逆にシステムに存在するファイルを指定して、そのファイルがどのソフトウェアに含まれているか知ることもできます。そのためのオプションが、-fオプションです。-qオプションとともに使用します。
| [root:linux ~]# rpm -qf /usr/bin/lynx
lynv-2.8.5-23 |
■インターネットから直接ファイルをダウンロード
wgetはHTTPやFTPを使ってファイルをダウンロードするためのソフトウェアです。wgetを使用することによって、ブラウザやFTPクライアントを使用しなくても、コマンド1つで直接Linuxにファイルをダウンロードすることが可能です。
使い方は簡単で、wgetに続いて、ダウンロードしたいファイルへのURLを記述すればそれでOKです。
例えば、Apacheのソースを入手したい場合には以下のようなコマンドを入力します。(URLは事前に知っておく必要があります。)
| [root@linux ~]# wget http://ftp.kddilabs.jp/infosystems/apache/httpd/httpd-2.0.54,tar.gz |
| copy right kansai-syoji,.co all right reserved Web-Master masashi ouchi http://kansai.homelinux.com/~Linux |