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 に変更されます。