Red Hat Enterprise Linux(RHEL)やCentOSのパッケージ管理といえば「yum」コマンドです。
将来的には、より新しい「dnf」コマンドに移行していくようですが、まだまだyumが主流です。
このページでは、「yum」コマンドを中心に、RPMパッケージの操作をまとめました。
- 更新可能なパッケージの確認 – yum check-update
- パッケージの更新 – yum update
- パッケージの検索 – yum search
- パッケージのインストール – yum install
- パッケージの削除 – yum remove
- パッケージの自動削除 – yum autoremove
- パッケージキャッシュの削除 – yum clean all
- ローカルパッケージのインストール – yum localinstall
- インストール済みパッケージの一覧 – yum list installed
- 全パッケージ一覧 – yum list
- インストール済みパッケージのファイル一覧 – rpm -ql
- パッケージ情報の表示 – yum info
- パッケージの依存関係を表示 – yum deplist
- ファイルや機能を含むパッケージを表示 – yum provides
- リポジトリの一覧を表示 – yum repolist
- リポジトリの情報を表示 – yum repoinfo
- グループの一覧を表示 – yum -v groups list
- グループ名を指定してインストール – yum groupinstall
- グループ名を指定して削除 – yum groupremove
更新可能なパッケージの確認 – yum check-update
sudo yum check-update
# 以下のコマンドでも確認できる
sudo yum list updates
# 出力をlessにパイプする例
sudo yum check-update | less
sudo yum list updates | less
パッケージのリポジトリ(貯蔵庫)から、パッケージの名前やバージョン、依存関係を取得し、更新可能なパッケージを出力します。出力が長くなるので、lessなどのページャーにパイプすると良いでしょう。
パッケージの更新 – yum update
# 更新可能なパッケージをすべて更新する例
sudo yum update
# 特定のパッケージだけを指定して更新することもできます。以下は「firefox」パッケージと、その依存するパッケージを更新します。
sudo yum update firefox
アップグレード可能なパッケージを更新します。デスクトップだと更新ダイアログで実行できますが、コマンドも覚えておくと便利です。
パッケージの検索 – yum search
yum search 検索語句
# 「game」で検索してページャでスクロールする例
yum search game | less
パッケージを検索します。検索語句によっては大量に出力されるので、パイプでlessに送ったほうが良いでしょう。
パッケージのインストール – yum install
sudo yum install パッケージ名
# 「-y」を付けると最終確認を行わずインストール処理が行われる
sudo yum -y install パッケージ名
# 「openssh-server」をインストールする例
sudo yum install openssh-server
# 複数のパッケージを一度にインストールする例
sudo yum install htop iotop
# パターン「ruby-*」に合ったパッケージをすべてインストールする例
sudo yum install 'ruby-*'
# 再インストールを行う場合は「reinstall」を用いる
sudo yum reinstall bash
パッケージの削除 – yum remove
sudo yum remove パッケージ名
# 「-y」を付けると最終確認を行わず削除処理が行われる
sudo yum -y remove パッケージ名
# 「openssh-server」 を削除する例
sudo yum remove openssh-server
# 複数のパッケージを一度に削除する例
sudo yum remove htop iotop
# パターン「ruby-*」に合ったパッケージをすべて削除する例
sudo yum remove 'ruby-*'
パッケージの自動削除 – yum autoremove
sudo yum autoremove
# パッケージの削除と同時に行うこともできる
sudo yum autoremove パッケージ名
これは、パッケージが削除されたことで「必要なくなった」パッケージを削除するコマンドです。
パッケージキャッシュの削除 – yum clean all
sudo yum clean all
# enableに設定されていないリポジトリのキャッシュも含めて削除する場合
sudo yum --enablerepo='*' clean all
自動でダウンロードされたrpmパッケージやメタデータなどは、ストレージ内にキャッシュされています。これを削除して、ストレージ容量を空けるコマンドです。
ローカルパッケージのインストール – yum localinstall
sudo yum localinstall RPMファイル
# カレントディレクトリにある「jdk-8u162-linux-x64.rpm」をインストールする例
sudo yum localinstall jdk-8u162-linux-x64.rpm
ダウンロード済みのrpmをインストールします。必要に応じて、依存するパッケージが自動でインストールされます。
インストール済みパッケージの一覧 – yum list installed
yum list installed
# lessにパイプする例
yum list installed | less
# rpmコマンドを用いる例
rpm -qa | less
全パッケージ一覧 – yum list
# lessにパイプする例
yum list | less
インストール済みパッケージのファイル一覧 – rpm -ql
rpm -ql パッケージ名
# yum-utilsパッケージに含まれるrepoqueryコマンドでも可能
repoquery --list パッケージ名
# yumパッケージに含まれるファイルの一覧を出力する例
rpm -ql yum
パッケージ情報の表示 – yum info
yum info パッケージ名
# 「nginx」パッケージの情報を表示する例
yum info nginx
パッケージの依存関係を表示 – yum deplist
yum deplist パッケージ名
# 「httpd」パッケージの依存関係を表示する例
yum deplist httpd | less
指定したパッケージの依存性と、その依存性を提供するパッケージを表示します。
ファイルや機能を含むパッケージを表示 – yum provides
yum provides ファイル名(もしくは機能名)
# 「*/bin/vim*」にマッチするファイルを含むパッケージを表示
yum provides '*/bin/vim*'
# 「webserver」を提供するパッケージを表示
yum provides webserver | less
ファイル名や機能名からパッケージを探して表示します。
リポジトリの一覧を表示 – yum repolist
yum repolist
リポジトリの一覧を表示します。
リポジトリの情報を表示 – yum repoinfo
# lessにパイプする例
yum repoinfo | less
リポジトリの情報を表示します。
グループの一覧を表示 – yum -v groups list
# lessにパイプする例
yum -v groups list | less
グループ名を指定してインストール – yum groupinstall
sudo yum groupinstall グループ名
# 「Web Server」グループのパッケージをまとめてインストールする例
sudo yum groupinstall 'Web Server'
グループ名を指定して削除 – yum groupremove
sudo yum groupremove グループ名
# 「Web Server」グループのパッケージをまとめて削除する例
sudo yum groupremove 'Web Server'
なお、Ubuntuで用いられている「apt」を使ったパッケージ管理は以下のページにまとめています。
コメント