3.6. RedHat系のパッケージ管理

3.6.1. rpmコマンドによるパッケージ管理

パッケージファイル名の構成

パッケージであるrpmファイルは以下のような構成となる。

sample_1.2.3-1_x86_64.rpm
  • sample … パッケージ名
  • 1.2.3 … バージョン番号
  • 1 … リビジョン番号
  • x86_64 … CPUアーキテクチャ

rpmコマンド

rpm -i <パッケージ名(.rpm含む)>
オプション説明
-v, –verbose詳細を表示
-h, –hash#で進捗表示
-i, –installインストール
-F, –freshenパッケージがインストールされていればアップグレード
-U, –upgradeパッケージがインストールされていればアップグレード。なければインストールする
-e, –eraseパッケージをアンインストール

使用例は以下の通り。

rpm -ivh nmap-5.51-2.el6.i686.rpm # nmapのインストール

rpm -qコマンド

rpmの照会モード。

rpm -q<オプション>
オプション説明
-a, –aインストール済みパッケージの全表示
-i, –info情報の表示
-f, –fileファイルをバッケージに
-l, –listパッケージ->ファイル群
-pパッケージ名でパッケージ指定
-R, –requires依存関係調べる
–changelog変更履歴見る
-K, –checksigRPMパッケージの電子署名の検証

使用例は以下の通り。

rpm -qa | grep bash # bashというパッケージ探す
rpm -qi bash # bashパッケージの情報取得
rpm -qR bash # bashの依存関係の調査

rpmパッケージの展開

rpmパッケージの展開はrpm2cpioコマンドで行う。 このコマンドではRPMバッケージをインストールせず、内容を展開を行う。

3.6.2. yumコマンドによるパッケージ管理

yumはAPTツール同様、パッケージ間の依存関係を解決しながらダウンロード、インストール、アップデート、アンインストールすることができ、またインターネット経由で最新パッケージ取得してくれるコマンド。

yumコマンド

yum <オプション> <パッケージ名>
オプション説明
installインストール
removeアンインストール
update全パッケージのアップデート
update [package]指定のパッケージのアップデート実施
check-updateアップデートパッケージが存在するパッケージを一覧表示
info [package]パッケージ情報の確認
listリポジトリにあるすべてのパッケージ情報表示
searchキーワード検索

パッケージの取得先(設定ファイル)

パッケージの設定ファイルは/etc/yum.conf/etc/yum.repos.d/*に保存される。

/etc/yum.repos.d/hogehoge.repoの中身の例は以下のように表示される。

...
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#released updates 
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

3.6.3. dnfコマンドによるパッケージ管理

dnfコマンドは基本的にyumとほぼ同じように使えるコマンド。

3.6.4. zipperコマンドによるパッケージ管理

openSUSEではzypperコマンドでパッケージ管理を行う。