RPM パッケージ
RPM パッケージのファイル名は以下のようになっている。
[書式] bash-4.2.45-5.el70.4.x8664.rpm
それぞれ以下を表している。
bash | パッケージの名称 |
---|---|
4.2.45 | バージョン番号 |
-5.el7_0.4 | リリース番号 |
x86_64 | CPU アーキテクチャ |
rpm | 拡張子 |
rpm コマンドの利用
rpm コマンドを使って RPM パッケージをインストールしたり、削除、アップデートしたりできる。
rpm コマンドにはインストールモード、照会モードなどさまざまなモードがあり、モード毎にオプションが用意されている。
インストール/アップグレードモード
オプション | 説明 |
---|---|
-i パッケージファイル名 (—install) | パッケージをインストールする |
-U パッケージファイル名 (—upgrade) | パッケージをアップグレードする (なければインストールする) |
-F パッケージファイル名 (—freshen) | パッケージがインストールされていればアップグレードする |
-v | 詳細な情報を表示する |
-h (—hash) | 進行状況を # で表示する |
—nodeps | 依存関係を無視してインストールする |
—force | 既存のファイルを新しいものに置き換える |
—test | 実際にはインストールせずにテストを実施する |
$ sudo rpm -ivh httpd-2.2.34-1.16.amzn1.src.rpm
Updating / installing...
1:httpd-2.2.34-1.16.amzn1 ################################# [100%]
アンインストールモード
「-e パッケージ名」でパッケージをアンインストールすることが可能。—nodeps で依存関係を無視する。
$ sudo rpm -e httpd
照会モード
「-q パッケージ名」で照会モードが使用できる。
オプションは以下の通り。
オプション | 説明 |
---|---|
-a (—all) | インストール済みの全てのパッケージを表示する |
-f ファイル | 指定したファイルを含むパッケージ名を表示する |
-p パッケージファイル名 | 対象としてパッケージファイルを指定する |
-c (—configfiles) | 設定ファイルのみを表示する |
-d (—docfiles) | ドキュメントのみを表示する |
-i (—info) | 指定したパッケージの情報を表示する |
-l (—list) | 指定したパッケージに含まれるファイルを表示する |
-R (—requires) | 指定したパッケージが依存しているファイル等を表示する |
—changelog | 変更履歴を表示する |
$ sudo rpm -qa | grep emacs
emacs-common-24.3-20.22.amzn1.x86_64
emacs-24.3-20.22.amzn1.x86_64
$ sudo rpm -qi emacs
Name : emacs
Epoch : 1
Version : 24.3
Release : 20.22.amzn1
Architecture: x86_64
Install Date: Wed 02 May 2018 10:33:49 PM UTC
Group : Applications/Editors
Size : 13178752
License : GPLv3+
...
$ sudo rpm -qd time
/usr/share/doc/time-1.7/COPYING
/usr/share/doc/time-1.7/NEWS
/usr/share/doc/time-1.7/README
/usr/share/info/time.info.gz
$ sudo rpm -qR httpd
/bin/bash
/bin/sh
/bin/sh
/bin/sh
/bin/sh
/bin/sh
/etc/mime.types
/usr/sbin/useradd
apr-util-ldap
chkconfig
config(httpd) = 2.2.34-1.16.amzn1
expat >= 2.1.0
httpd-tools = 2.2.34-1.16.amzn1
initscripts >= 8.36
...
$ sudo rpm -qf /usr/bin/emacs
emacs-24.3-20.22.amzn1.x86_64
$ sudo rpm -qlp httpd-2.2.34-1.16.amzn1.src.rpm
README.confd
htcacheclean.init
htcacheclean.sysconf
httpd-2.0.45-export.patch
httpd-2.0.52-logresline.patch
httpd-2.1.10-apctl.patch
httpd-2.1.10-apxs.patch
httpd-2.1.10-disablemods.patch
httpd-2.1.10-layout.patch
httpd-2.2.0-authnoprov.patch
httpd-2.2.11-corelimit.patch
httpd-2.2.11-selinux.patch
httpd-2.2.11-xfsz.patch
...
YUM
CentOS や Fedora では APT ツールに相当するものとして YUM (Yellow dog Updater, Modified) がある。
YUM の設定は、/etc/yum.conf 及び /etc/yum/repos.d ディレクトリ以下のファイルで行う。
$ cat /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
distroverpkg=system-release
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=3
deltarpm=0
timeout=5
retries=3
/etc/yum/repos.d 以下にはリポジトリ情報の設定ファイルが配置される。
$ ls /etc/yum.repos.d/
amzn-main.repo amzn-nosrc.repo amzn-preview.repo amzn-updates.repo epel.repo epel-testing.repo
$ cat /etc/yum.repos.d/amzn-main.repo
[amzn-main]
name=amzn-main-Base
mirrorlist=http://repo.$awsregion.$awsdomain/$releasever/main/mirror.list
mirrorlist_expire=300
metadata_expire=300
priority=10
failovermethod=priority
fastestmirror_enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-amazon-ga
enabled=1
retries=3
timeout=5
report_instanceid=yes
yum のサブコマンドは以下の通り。
サブコマンド | 説明 |
---|---|
check-update | アップデート対象のパッケージリストを表示する |
update パッケージ名 | 指定したパッケージをアップデートする |
install パッケージ名 | 指定したパッケージをインストールする |
remove パッケージ名 | 指定したパッケージをアンインストールする |
info パッケージ名 | 指定したパッケージの情報を表示する |
list | 全パッケージ情報をリスト表示する |
repolist | リポジトリ一覧を表示する |
search キーワード | パッケージ情報をキーワード検索する |
search all キーワード | パッケージをキーワードで検索する (パッケージ名及び説明文等全て) |
grouplist | パッケージグループをリスト表示する |
groupinstall グループ | 指定したグループのパッケージをインストールする |
$ yum info httpd
Loaded plugins: priorities, update-motd, upgrade-helper
Installed Packages
Name : httpd
Arch : x86_64
Version : 2.2.34
Release : 1.16.amzn1
Size : 3.1 M
Repo : installed
From repo : amzn-main
Summary : Apache HTTP Server
URL : http://httpd.apache.org/
License : ASL 2.0
Description : The Apache HTTP Server is a powerful, efficient, and extensible
: web server.
$ yum list | grep emacs
emacs.x86_64 1:24.3-20.22.amzn1 @amzn-main
emacs-common.x86_64 1:24.3-20.22.amzn1 installed
emacs-a2ps.x86_64 4.14-10.1.8.amzn1 amzn-main
emacs-a2ps-el.x86_64 4.14-10.1.8.amzn1 amzn-main
emacs-auctex.noarch 11.85-10.2.amzn1 amzn-main
$ yum search ruby
Loaded plugins: priorities, update-motd, upgrade-helper
graphviz-ruby.x86_64 : Ruby 1.8 extension for graphviz
libselinux-ruby.x86_64 : SELinux ruby bindings for libselinux
munin-ruby-plugins.noarch : ruby-plugins for munin
rrdtool-ruby18.x86_64 : Ruby RRDtool bindings
rrdtool-ruby20.x86_64 : Ruby RRDtool bindings
...
$ yum grouplist
Loaded plugins: priorities, update-motd, upgrade-helper
Available Groups:
Console internet tools
DNS Name Server
Development Libraries
Development tools
Editors
FTP Server
Java Development
Legacy UNIX compatibility
Mail Server
MySQL Database
MySQL Database client
NFS file server
Network Servers
Networking Tools
PHP Support
Performance Tools
Perl Support
Scientific support
System Tools
TeX support
Technical Writing
Web Server
Web Servlet Engine
Done