bigmac-jp blog

web開発関連のメモ

yumコマンド調査 その1

Linuxサーバでパッケージをインストールする際にyumコマンドを利用することが多いですが、
正直ちゃんとyumの仕組みを理解していないまま使っていました。

このタイミングでyumの基礎から調査して、その過程で残しておきたい情報を記載していきます。

調査環境
AWS ec2(os:Red Hat Enterprise Linux 7.5 (HVM))サーバ

yumレポジトリ一覧コマンド
$ yum repolist all
読み込んだプラグイン:amazon-id, rhui-lb, search-disabled-repos
リポジトリー ID                                             リポジトリー名                                                  状態
rhui-REGION-client-config-server-7/x86_64                   Red Hat Update Infrastructure 2.0 Client Configuration Server 7 有効:      0
rhui-REGION-rhel-server-debug-extras/7Server/x86_64         Red Hat Enterprise Linux Server 7 Extra Debug (Debug RPMs)      無効
rhui-REGION-rhel-server-debug-optional/7Server/x86_64       Red Hat Enterprise Linux Server 7 Optional Debug (Debug RPMs)   無効
rhui-REGION-rhel-server-debug-rh-common/7Server/x86_64      Red Hat Enterprise Linux Server 7 RH Common Debug (Debug RPMs)  無効
rhui-REGION-rhel-server-debug-rhscl/7Server/x86_64          Red Hat Enterprise Linux Server 7 RHSCL Debug (Debug RPMs)      無効
rhui-REGION-rhel-server-debug-supplementary/7Server/x86_64  Red Hat Enterprise Linux Server 7 Supplementary Debug (Debug RP 無効
rhui-REGION-rhel-server-extras/7Server/x86_64               Red Hat Enterprise Linux Server 7 Extra(RPMs)                   無効
rhui-REGION-rhel-server-optional/7Server/x86_64             Red Hat Enterprise Linux Server 7 Optional (RPMs)               無効
rhui-REGION-rhel-server-releases/7Server/x86_64             Red Hat Enterprise Linux Server 7 (RPMs)                        有効: 20,908
rhui-REGION-rhel-server-releases-debug/7Server/x86_64       Red Hat Enterprise Linux Server 7 Debug (Debug RPMs)            無効
rhui-REGION-rhel-server-releases-source/7Server/x86_64      Red Hat Enterprise Linux Server 7 (SRPMs)                       無効
rhui-REGION-rhel-server-rh-common/7Server/x86_64            Red Hat Enterprise Linux Server 7 RH Common (RPMs)              有効:    233
rhui-REGION-rhel-server-rhscl/7Server/x86_64                Red Hat Enterprise Linux Server 7 RHSCL (RPMs)                  無効
rhui-REGION-rhel-server-source-extras/7Server/x86_64        Red Hat Enterprise Linux Server 7 Extra (SRPMs)                 無効
rhui-REGION-rhel-server-source-optional/7Server/x86_64      Red Hat Enterprise Linux Server 7 Optional (SRPMs)              無効
rhui-REGION-rhel-server-source-rh-common/7Server/x86_64     Red Hat Enterprise Linux Server 7 RH Common (SRPMs)             無効
rhui-REGION-rhel-server-source-rhscl/7Server/x86_64         Red Hat Enterprise Linux Server 7 RHSCL (SRPMs)                 無効
rhui-REGION-rhel-server-source-supplementary/7Server/x86_64 Red Hat Enterprise Linux Server 7 Supplementary (SRPMs)         無効
rhui-REGION-rhel-server-supplementary/7Server/x86_64        Red Hat Enterprise Linux Server 7 Supplementary (RPMs)          無効
repolist: 21,141

コマンドの結果がずらりと並んでいますが、実際に状態が有効なリポジトリは3つ。
状態の"有効"と"無効"は各リポジトリの設定ファイルにて記載されています。
一般的には拡張子が.repoのものがリポジトリの設定ファイルとなります。

$ cd /etc/yum.repos.d/
$ ll
合計 20
-rw-r--r--. 1 root root  607  8月 25 14:16 redhat-rhui-client-config.repo
-rw-r--r--. 1 root root 8679  8月 25 14:27 redhat-rhui.repo
-rw-r--r--. 1 root root   90  8月 25 14:16 rhui-load-balancers.conf
$ll

redhat-rhui-client-config.repoとredhat-rhui.repo内で"enabled=1"になっているリポジトリが"有効"になっているものと一致します。

rhui-REGION-rhel-server-releases/7Server/x86_64を無効にしてみます。

vi redhat-rhui.repo 

[rhui-REGION-rhel-server-releases]
name=Red Hat Enterprise Linux Server 7 (RPMs)
mirrorlist=https://rhui2-cds01.REGION.aws.ce.redhat.com/pulp/mirror/content/dist/rhel/rhui/server/7/$releasever/$basearch/os
enabled=1    ← enabled=0に変更して保存
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
sslverify=1
sslclientkey=/etc/pki/rhui/content-rhel7.key
sslclientcert=/etc/pki/rhui/product/content-rhel7.crt
sslcacert=/etc/pki/rhui/cdn.redhat.com-chain.crt

再度yum repolist allコマンドでrhui-REGION-rhel-server-releases/7Server/x86_64が無効になっていることを確認

$ yum repolist all
読み込んだプラグイン:amazon-id, rhui-lb, search-disabled-repos
リポジトリー ID                                             リポジトリー名                                                     状態
rhui-REGION-client-config-server-7/x86_64                   Red Hat Update Infrastructure 2.0 Client Configuration Server 7    有効:   0
rhui-REGION-rhel-server-debug-extras/7Server/x86_64         Red Hat Enterprise Linux Server 7 Extra Debug (Debug RPMs)         無効
rhui-REGION-rhel-server-debug-optional/7Server/x86_64       Red Hat Enterprise Linux Server 7 Optional Debug (Debug RPMs)      無効
rhui-REGION-rhel-server-debug-rh-common/7Server/x86_64      Red Hat Enterprise Linux Server 7 RH Common Debug (Debug RPMs)     無効
rhui-REGION-rhel-server-debug-rhscl/7Server/x86_64          Red Hat Enterprise Linux Server 7 RHSCL Debug (Debug RPMs)         無効
rhui-REGION-rhel-server-debug-supplementary/7Server/x86_64  Red Hat Enterprise Linux Server 7 Supplementary Debug (Debug RPMs) 無効
rhui-REGION-rhel-server-extras/7Server/x86_64               Red Hat Enterprise Linux Server 7 Extra(RPMs)                      無効
rhui-REGION-rhel-server-optional/7Server/x86_64             Red Hat Enterprise Linux Server 7 Optional (RPMs)                  無効
rhui-REGION-rhel-server-releases/7Server/x86_64             Red Hat Enterprise Linux Server 7 (RPMs)                           無効
rhui-REGION-rhel-server-releases-debug/7Server/x86_64       Red Hat Enterprise Linux Server 7 Debug (Debug RPMs)               無効
rhui-REGION-rhel-server-releases-source/7Server/x86_64      Red Hat Enterprise Linux Server 7 (SRPMs)                          無効
rhui-REGION-rhel-server-rh-common/7Server/x86_64            Red Hat Enterprise Linux Server 7 RH Common (RPMs)                 有効: 233
rhui-REGION-rhel-server-rhscl/7Server/x86_64                Red Hat Enterprise Linux Server 7 RHSCL (RPMs)                     無効
rhui-REGION-rhel-server-source-extras/7Server/x86_64        Red Hat Enterprise Linux Server 7 Extra (SRPMs)                    無効
rhui-REGION-rhel-server-source-optional/7Server/x86_64      Red Hat Enterprise Linux Server 7 Optional (SRPMs)                 無効
rhui-REGION-rhel-server-source-rh-common/7Server/x86_64     Red Hat Enterprise Linux Server 7 RH Common (SRPMs)                無効
rhui-REGION-rhel-server-source-rhscl/7Server/x86_64         Red Hat Enterprise Linux Server 7 RHSCL (SRPMs)                    無効
rhui-REGION-rhel-server-source-supplementary/7Server/x86_64 Red Hat Enterprise Linux Server 7 Supplementary (SRPMs)            無効
rhui-REGION-rhel-server-supplementary/7Server/x86_64        Red Hat Enterprise Linux Server 7 Supplementary (RPMs)             無効
repolist: 233

有効と無効の変更はyumコマンドでも可能です。

//有効 --enable
$ yum-config-manager --enable rhui-REGION-rhel-server-releases

//無効  --disable
$ yum-config-manager --disable rhui-REGION-rhel-server-releases

上記を実行すると.repoファイルのenabled=1 or enabled=0 に変更されます。