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

感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

CentOSのyumにプロキシの情報を設定する方法(プロキシ経由でyumを実行する方法)

管理・運用
<スポンサーリンク>

プロキシ環境内でyumを使う

プロキシを通さなければならない環境(プロキシ経由で外部に接続する環境)でyumを実行するときに、見慣れぬエラーが発生した。

# yum install git
・・・(略)
Error Downloading Packages:
  perl-Git-1.7.1-2.el6.noarch: failure: Packages/perl-Git-1.7.1-2.el6.noarch.rpm from c6-media: [Errno 256] No more mirrors to try.
  1:perl-Error-0.17015-4.el6.noarch: failure: Packages/perl-Error-0.17015-4.el6.noarch.rpm from c6-media: [Errno 256] No more mirrors to try.
  git-1.7.1-2.el6.x86_64: failure: Packages/git-1.7.1-2.el6.x86_64.rpm from c6-media: [Errno 256] No more mirrors to try.

まずいじったのが、/etc/yum.confの設定だ。
これに以下を追記して、プロキシを設定する。
proxy=プロキシアドレス:ポート番号/のように。

#proxy configuration
proxy=http://プロキシサーバのアドレス:ポート番号
proxy_username=プロキシのユーザ
proxy_password=プロキシのパスワード

次に、
/etc/yum.repos.d
を修正する。
デフォルトでは、以下のようにbaseurlがコメントアウトされているので、追記が必要。
デフォルト↓

[base]
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
[updates]
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
[extras]
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/

以下のように追記する。

[base]
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
baseurl=http://ftp.riken.jp/Linux/caos/centos/$releasever/updates/$basearch/
[updates]
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
baseurl=http://ftp.riken.jp/Linux/caos/centos/$releasever/updates/$basearch/
[extras]
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
baseurl=http://ftp.riken.jp/Linux/caos/centos/$releasever/updates/$basearch/
[centosplus]
baseurl=http://ftp.riken.jp/Linux/caos/centos/$releasever/addons/$basearch/

これだけだとBaseリポジトリが使えるようにならないので、デフォルトに設定されているenabledをコメントアウトした。

#enabled=0

なんかこれでもうまくいったが、後で調べてみると、ただしくは[1]が有効、[0]が無効という設定のようだ。

それでも、以下の様なエラーが出ていたので、色々と確認した結果、プロキシサーバyum.confのプロキシサーバの記述が間違っていたことがわかった(単なる書き間違い)

Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=6&arch=x86_64&repo=extras error was
14: PYCURL ERROR 7 - ""
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=6&arch=x86_64&repo=updates error was
14: PYCURL ERROR 7 - ""
 * c6-media:
http://ftp.riken.jp/Linux/caos/centos/6/os/x86_64/repodata/repomd.xml: [Errno 14] PYCURL ERROR 7 - ""
Trying other mirror.

yum.confを修正して、再度gitのインストールを試みる。

# yum install git

Loaded plugins: fastestmirror, refresh-packagekit
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * c6-media:
 * centosplus: ftp.iij.ad.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
base                                                     | 3.7 kB     00:00
base/primary_db                                          | 4.4 MB     00:04

Dependency Updated:
  zlib.x86_64 0:1.2.3-29.el6

Complete!

無事にプロキシ経由でCentOSにGitをインストールすることができた!

参考

CentOS 6で作るネットワークサーバ構築ガイド (Network Server Construction Guide S)

CentOS 6で作るネットワークサーバ構築ガイド (Network Server Construction Guide S)