yum/wgetをproxy経由で使う方法(CentOS)
CentOSでproxy経由でyumとwgetを使用するための設定のまとめです。
yumの場合
yum をproxy経由で使用する場合の設定方法は、以下のとおりになります。
proxyを通過できなくてyumが失敗する
proxy情報が正しく設定されていない場合、以下のように yum の実行時にエラーが発生します。
# yum update Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=5&arch=i386&repo=addons error was [Errno 4] IOError: <urlopen error (-2, '\xe5\x90\x8d\xe5\x89\x8d\xe3\x81\xbe\xe3\x81\x9f\xe3\x81\xaf\xe3\x82\xb5\xe3\x83\xbc\xe3\x83\x93\xe3\x82\xb9\xe3\x81\x8c\xe4\xb8\x8d\xe6\x98\x8e\xe3\x81\xa7\xe3\x81\x99')> Error: Cannot find a valid baseurl for repo: addons
「/etc/yum.conf」を変更する
yum をproxy経由で使用する場合、「/etc/yum.conf」にproxy情報を記述します。
設定する項目は以下のような形になります。
対象ファイル | /etc/yum.conf |
---|
項目名 | 設定値 | 例 |
---|---|---|
proxy | プロキシサーバーのアドレス:ポート番号 | http://your.proxy.server:8080 |
proxy_username | プロキシサーバーのユーザー名(認証アリの場合のみ指定) | username |
proxy_password | プロキシサーバーのパスワード(認証アリの場合のみ指定) | password |
設定例)
# Proxy Setting
proxy=http://your.proxy.server:8080
proxy_username=username
proxy_password=password
proxy経由でのyumが成功する
もう一度「yum update」を実行してみます。
# yum update Loaded plugins: fastestmirror Determining fastest mirrors 〜 省略 〜 Complete!
今度は正常に「yum update」が実行できました。
補足)
「/etc/yum.conf」にproxy情報を設定する場合ですが、プロキシサーバーのユーザー名やパスワードに「@(アットマーク)」が含まれている場合、proxy認証が失敗して yum も失敗しました。
「/etc/yum.conf」にproxy情報を設定したのに yum が失敗する場合は、ユーザー名やパスワードに、「@」が含まれていないかを確認してみると良いと思います。
wgetの場合
wget をproxy経由で使用する場合の設定方法は、以下のとおりになります。
proxyを通過できなくてwgetが失敗する
proxy情報が正しく設定されていない場合、以下のように yum の実行時にエラーが発生します。
# wget http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5 --2011-01-25 22:56:55-- http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5 mirror.centos.org をDNSに問いあわせています... 失敗しました: 名前またはサービスが不明です. wget: ホストアドレス `mirror.centos.org' を解決できませんでした。
「~/.wgetrc」を変更する
wget をproxy経由で使用する場合、ホームディレクトリ直下の「.wgetrc」にproxy情報を記述します。
※「~/.wgetrc」が存在しない場合は、新規でファイルを作成します。
設定する項目は以下のような形になります。
対象ファイル | ~/.wgetrc ※ホームディレクトリ直下 |
---|
項目名 | 設定値 | 例 |
---|---|---|
http_proxy | プロキシサーバーのアドレス:ポート番号 | http://your.proxy.server:8080 |
proxy_user | プロキシサーバーのユーザー名(認証アリの場合のみ指定) | username |
proxy_password | プロキシサーバーのパスワード(認証アリの場合のみ指定) | password |
「/etc/yum.conf」と設定する内容はほぼ同じですが、項目名が若干違うので注意が必要です。
設定例)
# Proxy Setting
http_proxy=http://your.proxy.server:8080
proxy_user=username
proxy_password=password
proxy経由でのwgetが成功する
もう一度「wget」を実行してみます。
実行する際は、一度ログオフして再ログインが必要になります。
# wget http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5 --2011-01-25 23:02:57-- http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5 your.proxy.server をDNSに問いあわせています... 10.10.10.10 your.proxy.server | 10.10.10.10 |:8080 に接続しています... 接続しました。 Proxy による接続要求を送信しました、応答を待っています... 200 OK 長さ: 1504 (1.5K) [text/plain] `RPM-GPG-KEY-CentOS-5' に保存中 100%[====================================================================>] 1,504 --.-K/s 時間 0.1s 2011-01-25 23:02:58 (13.0 KB/s) - `RPM-GPG-KEY-CentOS-5' へ保存完了 [1504/1504]
今度は正常に「yum update」が実行できました。
今回参考にしたページ
proxy経由のyumとwget ページアウトされた記憶の残骸
http://take-blizzard.cocolog-nifty.com/blog/2008/07/proxyyumwget_e798.html
yumでproxy越え - 凸凹備忘録 Wiki
http://wikiwiki.jp/moja/?yum%A4%C7proxy%B1%DB%A4%A8