参照可能な yum リポジトリを確認する yum コマンドとワンライナー

公開日: : 最終更新日:2014/08/10 プログラム , ,

あるパッケージをインストールするために配布リポジトリの設定を追加することがあります。

ビジネスユースだと環境を作るときにガッと設定をしてしまうので、時間が経つとリポジトリ設定を忘れて、ついつい同じリポジトリ設定を追加してしまいそうになります。

そんなムダを減らすために参照可能な yum リポジトリを確認する方法をまとめました。

icatch-8442052993_2978189f52_z

photo credit:Some rights reserved by Roberto Taddeo

目次

1. repolist で確認する

まずは yum を使って確認する方法です。一般的にはこの方法で確認されるんだと思います。

$ yum repolist all
Loaded plugins: fastestmirror, priorities
Loading mirror speeds from cached hostfile
 * base: www.ftp.ne.jp
 * extras: www.ftp.ne.jp
 * updates: www.ftp.ne.jp
repo id                       repo name                                      status
C6.0-base                     CentOS-6.0 - Base                              disabled
C6.0-centosplus               CentOS-6.0 - CentOSPlus                        disabled
C6.0-contrib                  CentOS-6.0 - Contrib                           disabled
C6.0-extras                   CentOS-6.0 - Extras                            disabled
C6.0-updates                  CentOS-6.0 - Updates                           disabled
C6.1-base                     CentOS-6.1 - Base                              disabled
C6.1-centosplus               CentOS-6.1 - CentOSPlus                        disabled
C6.1-contrib                  CentOS-6.1 - Contrib                           disabled
C6.1-extras                   CentOS-6.1 - Extras                            disabled
C6.1-updates                  CentOS-6.1 - Updates                           disabled
C6.2-base                     CentOS-6.2 - Base                              disabled
C6.2-centosplus               CentOS-6.2 - CentOSPlus                        disabled
C6.2-contrib                  CentOS-6.2 - Contrib                           disabled
C6.2-extras                   CentOS-6.2 - Extras                            disabled
C6.2-updates                  CentOS-6.2 - Updates                           disabled
C6.3-base                     CentOS-6.3 - Base                              disabled
C6.3-centosplus               CentOS-6.3 - CentOSPlus                        disabled
C6.3-contrib                  CentOS-6.3 - Contrib                           disabled
C6.3-extras                   CentOS-6.3 - Extras                            disabled
C6.3-updates                  CentOS-6.3 - Updates                           disabled
atrpms                        Fedora Core 6 - x86_64 - ATrpms                disabled
base                          CentOS-6 - Base                                enabled: 6,367
c6-media                      CentOS-6 - Media                               disabled
centosplus                    CentOS-6 - Plus                                disabled
contrib                       CentOS-6 - Contrib                             disabled
debug                         CentOS-6 - Debuginfo                           disabled
extras                        CentOS-6 - Extras                              enabled:    14
updates                       CentOS-6 - Updates                             enabled: 1,301
repolist: 7,682

以降でワンライナーを紹介しますが、まぁ、これだけ知っていれば充分に事が足りてしまいます。

2. リポジトリの priority で確認するワンライナー

参照する yum リポジトリには優先順位が付けられます。「最初にこのリポジトリで探して、もし配布されていなかったら次はこっちのリポジトリで探して」みたいなことができます。

これについては別記事にまとめているので、興味があれば参照してください。

で、設定した優先順位でソートするってのが次のワンライナーです。

$ sed -n -e "/^\[/h; /priority *=/{ G; s/\n/ /; s/ity=/ity = /; p }" /etc/yum.repos.d/*.repo | sort -k3n

設定ファイルに優先順位を付けた後で、このワンライナーを実行してみると次のように出力されます。

$ sed -n -e "/^\[/h; /priority *=/{ G; s/\n/ /; s/ity=/ity = /; p }" /etc/yum.repos.d/*.repo | sort -k3n                 
priority = 1 [base]
priority = 1 [centosplus]
priority = 1 [extras]
priority = 1 [updates]
priority = 2 [contrib]
priority = 10 [atrpms]

3. リポジトリの enabled で確認するワンライナー

yum コマンドを実行したときに、「このリポジトリからは探さないようにしたい。でも、こっちのリポジトリは常に探してほしい」という風に参照設定ができます。

この参照設定でソートするってのが次のワンライナーです。

sed -n -e "/^\[/h; /enabled *=/{ G; s/\n/ /; s/enabled=/enabled = /; p }" /etc/yum.repos.d/CentOS-Base.repo | sort -k3n

設定ファイル /etc/yum.repos.d/CentOS-Base.repo に参照設定をした後で、このワンライナーを実行してみると次のように出力されます。

$ sed -n -e "/^\[/h; /enabled *=/{ G; s/\n/ /; s/enabled=/enabled = /; p }" /etc/yum.repos.d/CentOS-Base.repo | sort -k3n
enabled = 0 [atrpms]
enabled = 0 [centosplus]
enabled = 0 [contrib]
enabled = 1 [base]
enabled = 1 [extras]
enabled = 1 [updates]

“enabled=0″ となっているリポジトリが「参照しないリポジトリ」、逆に、”enabled=1″ のものが「参照するリポジトリ」となります。

ただ、このワンライナーにはバグがあります。”enabled” を設定していないリポジトリは出力されません。。。これはそのうち修正するとして「こんな風にソートできるよ」という一例でした。

4. まとめ

以上、参照可能な yum リポジトリを確認する方法でした。

  • 参照可能なリポジトリはソートして表示できる
  • 参照するリポジトリには優先順位が付けられる
  • 特定のリポジトリを参照しないようにできる

5. その他 Linux に関する記事

その他の Linux に関する記事は次の通りです。
気になる記事があったらぜひチェックしてみてください!

Googleアドセンス用(PC)

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

関連記事

icatch-2015-006-1

バリデーションチェックにJava8のOptionalを使ってスマートに書く(自分比)

Web アプリのバリデーションチェックにアノテーションを使うことが増えた。だが、アノテーションで実装

記事を読む

icatch-sublimetext_9222613858_mini-thumbnail

Sublime Text3 のインストール直後に行った設定メモ

突発的に自宅のマシンにインストールしてあった Sublime Text2 を 3 にアップデートしま

記事を読む

20140811-00

64ビット版のCentOSをVMwareにインストールできない場合の対処法

Linux で検証したい作業が多かったので VMware に検証環境を作りました。OS は Cent

記事を読む

icatch_5428744075-resized

scp を使ってファイルのコピーを実行したら “command not found” と表示されたときの対処法

CentOS が起動しているサーバに scp を使ってファイルをコピーしようとコマンドを実行したら

記事を読む

icatch_5623339500-resized

Bundler を使ってプロジェクト用の Gem をインストールして Gemfile をバージョン管理ツールに登録するまでの流れ

Bundler を使い始める人向けにまとめた次の記事を書きました。 CentOSにRubyのBu

記事を読む

icatch-medium_4301351732-resized

mp3splt を実行して “undefined symbol: mp3splt_u_check_if_directory” と出力されたときの対処法

mp3 ファイルを分割してくれる mp3splt というライブラリがあります。 mp3 ファイルを

記事を読む

icatch-8587724648_24926df337_z-resized

yum のリポジトリ ATrpms を参照できるように設定する

あるツールの動作検証をしようと調べたところ、そのツールは ATrpms リポジトリが提供しているとの

記事を読む

icatch-thumbup_3507728739_mini-thumbnail

Sublime Text3 に SublimeLinter-jshint をインストールしてみた

エディタに Eclipse を使って Java のプログラムを書くことが多いんですが、JavaScr

記事を読む

no image

IE9 のキャッシュ対策

どのようなバグだったのか POST で送信した内容を確認する画面で、最新の内容が表示されないという

記事を読む

icatch-vacuum_9060011568_mini-thumbnail

GitHub にアップされているブランチをローカルに取り込む

GitHub に限らず、会社や自分で Git のサーバを使った場合にも当てはまりますが、毎回同じこと

記事を読む

Googleアドセンス用(PC)

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


9 × 七 =

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Googleアドセンス用(PC)

icatch-jersey_multi_pathparams
Jerseyの@PathParamはスラッシュの間に複数指定できる

http://hoge-api/user/{id}.{format}

icatch-vagrant_box_customize
VagrantのBoxファイルをカスタマイズして独自のBoxファイルを作成する

配布されている Vagrant の Box ファイルを使って検証環境を

icatch-2015-006-1
バリデーションチェックにJava8のOptionalを使ってスマートに書く(自分比)

Web アプリのバリデーションチェックにアノテーションを使うことが増え

icatch-2015-005-1
ユニットテストの偏りを防ぐ命名規則の付け方

ユニットテスト名に以下の命名規則を付けるようにして二ヶ月ぐらい経った。

icatch-2015-004-1
Vagrantで起動したCentOS上のOctopressをホストOSから確認する設定

タイトルの通りだが、Vagrant を使って起動した CentOS に

→もっと見る

PAGE TOP ↑