kazmax - Linux で自宅サーバー

yum|yum リポジトリの有効/無効

yumコマンド実行時の有効なリポジトリ、無効なリポジトリの確認方法、設定方法、切り替え方法を説明します。設定にかかわらずyumコマンド実行時だけ有効/無効を切り替えるオプションもあります。

Last Update : 2015年02月12日

yum|yum リポジトリの有効/無効 項目

  1. リポジトリが有効か無効かを確認する
  2. リポジトリの設定で有効/無効を切り替える
  3. yum コマンド実行時だけリポジトリの有効/無効を切り替える

1. リポジトリが有効か無効かを確認する

システムに登録されているyumリポジトリは以下のようにして確認することができます。

リポジトリの確認 書式

# yum repolist [ all | enabled | disabled ]

各オプションについての説明は以下のとおり

オプション動作
allシステムに登録されている全てのリポジトリを表示
enabled有効なリポジトリだけを表示
disabled無効になっているリポジトリだけを表示

※ [ all | enabled | disabled ]のオプションを指定しない場合は、enabled が指定されたことになります。

有効なリポジトリの一覧を表示する

# yum repolist
読み込んだプラグイン:downloadonly, fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * extras: centos.mirror.secureax.com
 * updates: ftp.iij.ad.jp
リポジトリー ID     リポジトリー名        状態
base                CentOS-6 - Base       6,518  ← 有効なリポジトリ
extras              CentOS-6 - Extras        36  ← 有効なリポジトリ
updates             CentOS-6 - Updates      593  ← 有効なリポジトリ
repolist: 7,147

無効なリポジトリの一覧を表示する

# yum repolist disabled  ← disabled オプションを指定
読み込んだプラグイン:downloadonly, fastestmirror, refresh-packagekit, security
リポジトリー ID    リポジトリー名
rhel-src           Red Hat Enterprise Linux 6 - x86_64 - Source  ← 無効なリポジトリ
rpmforge           RHEL 6 - RPMforge.net - dag  ← 無効なリポジトリ
rpmforge-extras    RHEL 6 - RPMforge.net - extras  ← 無効なリポジトリ
rpmforge-testing   RHEL 6 - RPMforge.net - testing  ← 無効なリポジトリ
・・・

「-v」をつけて実行するとより詳細なリポジトリの状態を表示します。

# yum repolist all -v  ← 「-v」オプションで詳細を表示
プラグイン「downloadonly」を読み込んでいます
プラグイン「fastestmirror」を読み込んでいます
プラグイン「refresh-packagekit」を読み込んでいます
プラグイン「security」を読み込んでいます
Config time: 0.022
Yum Version: 3.2.29
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * extras: centos.mirror.secureax.com
 * updates: ftp.iij.ad.jp
Setting up Package Sacks
pkgsack time: 0.018
リポジトリー ID            : C6.0-base
リポジトリーの名前         : CentOS-6.0 - Base
リポジトリーの状態         : 無効  ← 無効ということがわかる
リポジトリー基準 URL       : http://vault.centos.org/6.0/os/x86_64/
リポジトリーの期限         : 21,600 秒 (最終: 不明)

リポジトリー ID            : C6.0-centosplus
リポジトリーの名前         : CentOS-6.0 - CentOSPlus
リポジトリーの状態         : 無効
リポジトリー基準 URL       : http://vault.centos.org/6.0/centosplus/x86_64/
リポジトリーの期限         : 21,600 秒 (最終: 不明)

・・・

リポジトリー ID            : base
リポジトリーの名前         : CentOS-6 - Base
リポジトリーの状態         : 有効  ← 有効ということがわかる
リポジトリーのリビジョン   : 1414158954
リポジトリー更新日         : Fri Oct 24 22:59:03 2014
リポジトリー内パッケージ数 : 6,518
リポジトリー容量           : 5.3 G
リポジトリーのミラー       : http://mirrorlist.centos.org/?release=6&arch=x86_64&repo=os
リポジトリー基準 URL       : http://ftp.iij.ad.jp/pub/linux/centos/6.6/os/x86_64/ (9 more)
リポジトリーの期限         : 21,600 秒 (最終: Fri Jan 23 08:24:16 2015)

リポジトリー ID            : c6-media
リポジトリーの名前         : CentOS-6 - Media
リポジトリーの状態         : 無効
リポジトリー基準 URL       : file:///media/CentOS/, file:///media/cdrom/, file:///media/cdrecorder/
リポジトリーの期限         : 21,600 秒 (最終: 不明)
・・・

特定のリポジトリについて調べたい場合

リポジトリIDを指定すると、その特定のリポジトリについてだけを調べることができます。

# yum repolist base -v  ← 「base」リポジトリについて調べる
プラグイン「downloadonly」を読み込んでいます
プラグイン「fastestmirror」を読み込んでいます
プラグイン「refresh-packagekit」を読み込んでいます
プラグイン「security」を読み込んでいます
Config time: 0.023
Yum Version: 3.2.29
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * extras: centos.mirror.secureax.com
 * updates: ftp.iij.ad.jp
Setting up Package Sacks
pkgsack time: 0.019
リポジトリー ID            : base
リポジトリーの名前         : CentOS-6 - Base
リポジトリーの状態         : 有効
リポジトリーのリビジョン   : 1414158954
リポジトリー更新日         : Fri Oct 24 22:59:03 2014
リポジトリー内パッケージ数 : 6,518
リポジトリー容量           : 5.3 G
リポジトリーのミラー       : http://mirrorlist.centos.org/?release=6&arch=x86_64&repo=os
リポジトリー基準 URL       : http://ftp.iij.ad.jp/pub/linux/centos/6.6/os/x86_64/ (9 more)
リポジトリーの期限         : 21,600 秒 (最終: Fri Jan 23 08:24:16 2015)

repolist: 6,518

2. リポジトリの設定で有効/無効を切り替える

/etc/yum.repos.d/*.repo ファイルでリポジトリごとの動作を設定できます。yumコマンド実行時のリポジトリの有効/無効についても、この構成ファイルの中で設定できます。

「enabled」オプションを使って設定します。

[kazmax.zpp.jp_repo]
name=added from: http://kazmax.zpp.jp/repo
baseurl=http://kazmax.zpp.jp/repo
enabled=0  ← enabled オプション

指定する値についての説明は以下のとおり

意味
0リポジトリを無効にする。enable=0 のように書く
1リポジトリを有効にする。enable=1 のように書く

ここで設定していても、yum コマンド実行時に、--enablerepo=リポジトリID、--disablerepo=リポジトリIDでリポジトリの有効無効を切り替えることは可能です。

3. yum コマンド実行時だけリポジトリの有効/無効を切り替える

「今回の yum コマンド実行時だけこのリポジトリを有効にする」、「このリポジトリ上のパッケージだけを対象にする」のような動作をさせたい場合は、yum コマンド実行時に、--enablerepo=リポジトリID、--disablerepo=リポジトリID オプションを指定することでリポジトリの有効無効を切り替えることができます。

enablerepo, disablerepo の書式

# yum --enablerepo=リポジトリID search,install,update等のコマンド ・・・
# yum --disablerepo=リポジトリID search,install,update等のコマンド ・・・

enablerepo, disablerepo の使用例

# yum repolist rpmforge -v
プラグイン「downloadonly」を読み込んでいます
プラグイン「fastestmirror」を読み込んでいます
プラグイン「refresh-packagekit」を読み込んでいます
プラグイン「security」を読み込んでいます
Config time: 0.022
Yum Version: 3.2.29
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * extras: ftp.iij.ad.jp
 * updates: centos.mirror.secureax.com
Setting up Package Sacks
pkgsack time: 0.021
リポジトリー ID            : rpmforge
リポジトリーの名前         : RHEL 6 - RPMforge.net - dag
リポジトリーの状態         : 無効  ← 初期値は無効 
リポジトリー基準 URL       : http://apt.sw.be/redhat/el6/en/x86_64/rpmforge
リポジトリーのミラー       : http://mirrorlist.repoforge.org/el6/mirrors-rpmforge
リポジトリーの期限         : 21,600 秒 (最終: Fri Jan 23 08:24:20 2015)

repolist: 0

rpmforge リポジトリの状態は、「無効」ということがわかる。

# yum --enablerepo=rpmforge repolist rpmforge -v  ← rpmforge リポジトリを有効にする
プラグイン「downloadonly」を読み込んでいます
プラグイン「fastestmirror」を読み込んでいます
プラグイン「refresh-packagekit」を読み込んでいます
プラグイン「security」を読み込んでいます
Config time: 0.023
Yum Version: 3.2.29
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * extras: ftp.iij.ad.jp
 * rpmforge: apt.sw.be
 * updates: centos.mirror.secureax.com
Setting up Package Sacks
pkgsack time: 0.033
リポジトリー ID            : rpmforge
リポジトリーの名前         : RHEL 6 - RPMforge.net - dag
リポジトリーの状態         : 有効  ← yumコマンド実行時だけ有効になる 
リポジトリー更新日         : Fri Jul 11 10:46:59 2014
リポジトリー内パッケージ数 : 4,718
リポジトリー容量           : 2.2 G
リポジトリー基準 URL       : http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/
リポジトリーのミラー       : http://mirrorlist.repoforge.org/el6/mirrors-rpmforge
リポジトリーの期限         : 21,600 秒 (最終: Thu Feb 12 08:55:34 2015)

repolist: 4,718

yum コマンド実行時だけrpmforgeリポジトリの状態が「有効」になる。

yumコマンドで特定のリポジトリだけを動作の対象としたい場合

yumコマンド実行時に、通常有効になっているリポジトリを無効にして、特定のリポジトリだけを動作の対象としたい場合は、disablerepo を以下のようにして利用すると実現できます。

# yum --disablerepo=* --enablerepo=rpmforge repolist
読み込んだプラグイン:downloadonly, fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
 * rpmforge: apt.sw.be
リポジトリー ID  リポジトリー名                状態
rpmforge         RHEL 6 - RPMforge.net - dag   4,718  ← rpmforgeリポジトリだけが有効
repolist: 4,718

「disablerepo」に「*」を指定して全てのリポジトリを無効にして、「enablerepo」で有効にしたいリポジトリだけを有効にしています。

パッケージ管理 関連記事
Linux 基礎知識 関連記事