基本的な使い方
パッケージをインストールする
yum install package-name
インストール済みのパッケージに更新があるか確認する
yum check-update yum list updates
パッケージを更新する
yum update package-name
パッケージを削除する
yum remove package-name
基本設定
詳細は man yum.conf
を参照すること
proxyを設定する
# vi /etc/yum.conf proxy=http://proxy:8080
タイムアウトしてしまう場合、タイムアウトを追加する
# /etc/yum.conf timeout=60
情報の表示
インストール済みのパッケージ表示
$ yum list all $ yum list vim/* $ yum list installed
アップデート可能なパッケージ表示
$ yum list updates
利用可能なパッケージ表示
$ yum list available $ yum list available | grep mysql
パッケージ情報表示
$ yum info PACKAGE_NAME
依存関係を確認する
# pythonが依存するパッケージを表示 yum deplist python # pythonに依存するパッケージを表示 rpm -q --whatrequires <パッケージA>
パッケージ操作関連
リポジトリ更新の確認
$ yum check-update
パッケージ更新
$ yum update package-name $ yum update $ yum upgrade
yum upgrade
は yum update --obsoletes
と同じ
古いパッケージを削除しつつupdateしてくれる
CentOSでは、/etc/yum.confにobsoletes=1
と書いてあるため、デフォルトで--obsoletes
が有効の状態
よって、yum update
もyum upgrade
も変わらない
セキュリティ更新のみをアップデート
$ yum --security check-update $ yum --security update
リポジトリの清掃
$ yum clearn all
パッケージの削除
$ yum remove package-name
エラー対処
AWS のRedhatEnterpriseLinuxでエラーが出てしまう yumを実行すると以下のエラーになる
This system is not registered with an entitlement server
EC2の RHEL AMII には基本サブスクリプションが含まれるため、subscription-managerを有効にする必要はない。エラーが目障りという場合は設定を変更するだけでいい [参考] https://dev.classmethod.jp/articles/tsnote-ec2-dnf-upgrade-error-001/
sudo vi /etc/yum/pluginconf.d/subscription-manager.conf (変更前)enabled=1 (変更後)enabled=0
リポジトリの管理
登録済みリポジトリ一覧
$ yum repolist [ all | enabled | disabled ] -v
リポジトリの有効/無効を切り替える
vi /etc/yum.repos.d/*.repo [...] enabled=1 (無効)
$ yum-config-manager --disable nodesource $ yum-config-manager --enable nodesource
yum コマンド実行時に一時的にリポジトリを有効化、無効化する
$ yum --enablerepo=リポジトリID search,install,update等のコマンド ・・・ $ yum --disablerepo=リポジトリID search,install,update等のコマンド ・・・
ソフトウェアコレクションのリポジトリ登録
[参考] https://stupiddog.jp/note/archives/1074
$ yum install centos-release-scl-rh
より新しいバージョンをインストールするためのリポジトリ
- AppStream (CentOS8, RedHat8)
- Red Hat Software Collection (RHEL6以降)
- EPEL
- IUS
AppStream RHEL リリース5年目まで最新バージョンが提供され、それ以降は特定のストリームだけがサポート対象になる。
Red Hat Software Collections 同じバージョンが10年間サポートされる
EPEL Fedoraに含まれているパッケージを利用できる RHEL同等のサポート、CVEを受けられるわけではない。
$ sudo yum install epel-release
IUS(Inline with Upstream Stable) 標準パッケージより新しいパッケージが利用できる。
$ sudo yum install https://repo.ius.io/ius-release-el7.rpm \ https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
その他エラー対処
remi GPG 関連のエラー
エラー内容
Failed to download metadata for repo 'remi-modular': repomd.xml GPG signature verification error: gpgme_engine_check_version() error: Invalid crypto engine
remi、epelのパッケージを再インストールしてみる remiのパッケージはインストール対象によってURLが変化するので都度確認すること