branch10480’s blog

Topics that I've learned.

パッケージ管理 (2)~ Red Hat系 - 1

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

長くなったので、続きは別記事にします🙋‍♂️