読者です 読者をやめる 読者になる 読者になる

らくがきちょう

なんとなく

yum-config-manager でリポジトリの有効/無効を切り替える

Linux

yum リポジトリの定義ファイルは /etc/yum.repos.d 配下に存在します。定義ファイル中、enabled=1 になっていればリポジトリは有効、enabled=0 になっていれば無効です。リポジトリの有効 / 無効を切り替えるにはこの定義ファイルを手動で書き換えても良いのですが、yum-utils パッケージに含まれる yum-config-manager を使って設定変更することも可能です。

インストール

RHEL7 には yum-utils がデフォルトでインストールされているようですが、CentOS7 にはインストールされていないようです。但し、CentOS7 の標準リポジトリ(base)に含まれているのでインストールは簡単です。

# yum info yum-utils
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * epel: ftp.jaist.ac.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
Available Packages
Name        : yum-utils
Arch        : noarch
Version     : 1.1.31
Release     : 34.el7
Size        : 113 k
Repo        : base/7/x86_64
Summary     : Utilities based around the yum package manager
URL         : http://yum.baseurl.org/download/yum-utils/
License     : GPLv2+
Description : yum-utils is a collection of utilities and examples for the yum package
            : manager. It includes utilities by different authors that make yum easier and
            : more powerful to use. These tools include: debuginfo-install,
            : find-repos-of-install, needs-restarting, package-cleanup, repoclosure,
            : repodiff, repo-graph, repomanage, repoquery, repo-rss, reposync,
            : repotrack, show-installed, show-changed-rco, verifytree, yumdownloader,
            : yum-builddep, yum-complete-transaction, yum-config-manager, yum-debug-dump,
            : yum-debug-restore and yum-groups-manager.

yum でインストールします。

yum -y install yum-utils

現時点では 1.0 がインストールされました。

# yum-config-manager --version
yum-config-manager - 1.0 (yum - 3.4.3)

リポジトリを無効化してみる

yum-config-manager を使って epel リポジトリを無効化してみます。作業前は epel の定義ファイル(/etc/yum.repos.d/epel.repo)は以下のようになっていました。epel が「enabled=1」になっています。

# cat /etc/yum.repos.d/epel.repo
[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

[epel-debuginfo]
name=Extra Packages for Enterprise Linux 7 - $basearch - Debug
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch/debug
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-7&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1

[epel-source]
name=Extra Packages for Enterprise Linux 7 - $basearch - Source
#baseurl=http://download.fedoraproject.org/pub/epel/7/SRPMS
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-source-7&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1

yum-config-manager を使って epel を無効化してみます。

# yum-config-manager --disable epel
Loaded plugins: fastestmirror
========================================================== repo: epel ==========================================================
[epel]
async = True
bandwidth = 0
base_persistdir = /var/lib/yum/repos/x86_64/7
baseurl =
cache = 0
cachedir = /var/cache/yum/x86_64/7/epel
check_config_file_age = True
cost = 1000
deltarpm_metadata_percentage = 100
deltarpm_percentage =
enabled = 0
enablegroups = True
exclude =
failovermethod = priority
gpgcadir = /var/lib/yum/repos/x86_64/7/epel/gpgcadir
gpgcakey =
gpgcheck = True
gpgdir = /var/lib/yum/repos/x86_64/7/epel/gpgdir
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
hdrdir = /var/cache/yum/x86_64/7/epel/headers
http_caching = all
includepkgs =
ip_resolve =
keepalive = True
keepcache = False
mddownloadpolicy = sqlite
mdpolicy = group:small
mediaid =
metadata_expire = 21600
metadata_expire_filter = read-only:present
metalink =
minrate = 0
mirrorlist = https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=x86_64
mirrorlist_expire = 86400
name = Extra Packages for Enterprise Linux 7 - x86_64
old_base_cache_dir =
password =
persistdir = /var/lib/yum/repos/x86_64/7/epel
pkgdir = /var/cache/yum/x86_64/7/epel/packages
proxy = False
proxy_dict =
proxy_password =
proxy_username =
repo_gpgcheck = False
retries = 10
skip_if_unavailable = False
ssl_check_cert_permissions = True
sslcacert =
sslclientcert =
sslclientkey =
sslverify = True
throttle = 0
timeout = 30.0
ui_id = epel/x86_64
ui_repoid_vars = releasever,
   basearch
username =

epel が「enabled=0」になり、無効化されました。

# cat /etc/yum.repos.d/epel.repo
[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

[epel-debuginfo]
name=Extra Packages for Enterprise Linux 7 - $basearch - Debug
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch/debug
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-7&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1

[epel-source]
name=Extra Packages for Enterprise Linux 7 - $basearch - Source
#baseurl=http://download.fedoraproject.org/pub/epel/7/SRPMS
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-source-7&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1