Red Hat系
rpm コマンドでのパッケージ管理
RPM は Red Hat社が開発したパッケージ管理システムで、現在は Red Hat Enterprise Linux, Fedora, CentOS などで使用されています。
RPMパッケージ名は以下の形式になっています。
例 bash
bash-4.2.46-30.el7.x86_64.rpm
セクション | 説明 |
---|---|
bash | パッケージ名称 |
4.2.46 | バージョン |
30.el7 | リリース番号 |
x86_64 | CPUアーキテクチャ |
.rpm | 拡張子 |
パッケージのインストール
-i
オプションでインストールができます。
インストールの家庭を表示するために -v
オプションと -h
オプションも併用するのが一般的です。
オプション | 説明 |
---|---|
-i (-install) | パッケージのインストールを行う |
-v | 詳細な情報を表示する |
-h (-hash) | 進行状況を # を使って表示する |
例 zshをインストールする
rpm -ivh zsh-5.0.2-28.el7.x86_64.rpm
パッケージのアップグレード
-U
オプションか -F
オプションでアップグレードします。
オプション | 説明 |
---|---|
-U | 新規インストールとして扱われる |
-F | 純粋なアップグレードとして扱われる。つまり、インストールされていなければ失敗する。 |
パッケージのアンインストール
-e
オプションでアンインストールできます。
例 httpdをアンインストール
rpm -e httpd
パッケージ情報の照会
パッケージを調査する時には -q
オプションを使います。
例 vimが含まれているパッケージを照会
rpm -qa | grep vim
例 パッケージを指定して情報を表示する
rpm -qi bash
例 パッケージファイルを指定して情報を表示する
rpm -qip vimfilesystem7.4.1605.el7.x86_64
例 bashをインストールした時のファイル名を取得する
rpm -qf /bin/bash bash-4.2.46-30.el7.x86_64
例 bashパッケージがインストールするファイルを調べる
rpm -qlp bash-4.2.46-30.el7.x86_64.rpm
例 lessパッケージの依存について調べる
rpm -qR less
オプション | 説明 |
---|---|
-q | パッケージ情報を照会する |
-a (-all) | インストール済みの全てのパッケージを表示する |
-i (-info) | 対象としてパッケージを指定する |
-p パッケージファイル名 | 対象としてパッケージファイルを指定する(インストール前に有効。インストール後のパッケージ自体ではなく、パッケージファイルを指定するので。) |
-f | 指定したファイルを含んでいるパッケージ名を表示する |
-l | 指定したパッケージに含まれるファイルを表示する |
-R (-requires) | 依存しているファイル等を表示する |
パッケージの署名を確認する
--checksig
または -K
オプションを使うことで署名を確認できます。
rpm --checksig httpd-2.4.6-80.el7.x86_64.rpm
パッケージを展開する
rpm2cpio
コマンドでアーカイブを生成し、 cpio
コマンドでそれをカレントディレクトリに展開できます。
rpm2cpio tree-1.6.0-10.el7.centos.1.x86_64.rpm | cpio -id
長くなったので、続きは別記事にします🙋♂️