[RHEL6] なぜか使えないwgetやyumをproxyやサブスクリプションの壁を超えて実行する方法

何かと問題が起こるproxyサーバ下での作業ですが、とにかくyumやwgetが使えないという問題がよく起こってそれで一日が終わってしまうこと請け合い!!
というわけで、1日かからずに10分で問題が解決できるように覚書です。

proxyサーバの設定

まずはwgetを使えるようにします。
これを実行するためには、proxyの壁をこえる必要がある。そのためには、環境変数http_proxyを設定する必要ありです。
プロキシサーバを「http://proxy.tazakazushi.net:8080」だとすると、以下のように設定。


[追記]
yumを使うにあたってもこの設定が必要でした。
なので、とりあえずこれを設定するのがオススメ。

(この一行でOK!)
# export http_proxy=https://tazakazushi.net:8080/

(確認しとく?)
# echo $http_proxy
https://tazakazushi.net:8080/

恒久的に設定したい場合は「/etc/bashrc」に設定ですかね。

yumレポジトリの設定

RedHatはデフォルトだとサブスクリプションがないとyumを使えない。yumをやろうとすると、こんなエラー?メッセージが必ず流る。

# yum install php
Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.

これには困っちゃいますが、以下の手順でyumが使えるようになるみたい。(dag repositoryの追加)

とりあえず、以下で自分のOSに対応するバージョンを探しておいて下さい。
http://dag.wieers.com/rpm/packages/rpmforge-release/

# wget http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.5.2-1.el6.rf.x86_64.rpm
# rpm -ivh rpmforge-release-0.5.2-1.el6.rf.x86_64.rpm

これでyumが使えるようになる…はず?
なんか、エラーメッセージは相変わらずですが、使えるようになったっぽいです。

でも、結局、レポジトリがこれだとダメみたいで、
別のレポジトリ入れました。
この作業の意味ってあったのか謎。。

もしかしたらこの一文が足りなかったのかもしれないけど、いまとなってはわかりません(笑)
※次回試します。

# yum -y update rpmforge-release

CentOSのレポジトリを追加

とりあえず、CentOSのレポジトリを追加してあげたら、いろいろインストールできるようになった。CentOSのレポジトリの追加は以下の要領。

# vi /etc/yum.repos.d/CentOS-Base.repo

(以下をコピー)

[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=6.4&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/6.4/os/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=6.4&arch=$basearch&repo=updates
#baseurl=http://mirror.centos.org/centos/6.4/updates/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

[extras]
name=CentOS-6.4 - Extras
mirrorlist=http://mirrorlist.centos.org/?release=6.4&arch=$basearch&repo=extras
#baseurl=http://mirror.centos.org/centos/6.4/extras/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

(:wqで終了)

どうも「$releasever」という変数を使って記載してあったサイトもあったんですが、それだと「6server」と置換されてうまくいかなかったので、直接「6.4」とか「6」とか書いています。
ちなみに、gpgkeyの最後が6.4ではなくて6になっているところがポイントで、最初はここが違っていて、コケました。

[追記]
時間が経って、以前の設定だとエラーになるようになりました。
いまは「6.4」になっているところを「6」にすると、正しく動作します!
詳細は以下の記事を参考にして下さい。

[RHEL][yum] CentOS6.4のレポジトリが使えなくなっていた。
https://tazakazushi.net/yum-repository-change.html

余談:yum lock

yumを実行しようとすると、yumBackend.pyというのがいるせいで作業できない!みたいな状態になることがありました。
基本的には待っているとこのバックエンド作業が終わって、問題なくyumが使えるようになるんですが、どうしても問題が残る場合には、いかのようにすれば良いみたいです。

(yum.pidを削除する)

# cd /var/run/
# rm -f yum.pid
# yum update

yumのproxy設定

もしかしたらyumはyumでproxyの設定が必要かもしれないので、そのあたりに関して補足。
yumのproxy設定に関しては、RedHatの場合は「/etc/sysconfig/rhn/up2date」に記載します。

# vi /etc/sysconfig/rhn/up2date

(以下の行を編集)

enableProxy=1
…
httpProxy=http://proxy.tazakazushi.net:8080/

(:wqで保存して終了)

これに関しては、CentOSの場合は場所が違って、「/etc/yum.conf」のproxyのところに設定するみたい。

おしまい

これはあとから見返した時にすごい役に立つ予感がする!!(笑)

タイトルとURLをコピーしました