なぜこれを書いたか?
- RHELサーバー を RHN に登録してから数か月が経過し、すでに subscription-manager の設定などは綺麗さっぱり忘れていた。
- そしてproxyサーバーのIPアドレスが変わった際に、誤って /etc/yum.repos.d/redhat.repo を編集した。
- しかし変更したはずのproxyの設定が反映されず、また何故か書いたはずの設定が元に戻ってしまってちょっと困った(redhat.repo ファイルの冒頭には「このファイルを直接編集するな」と書いてある。)。
- 私の様な忘れんぼが居るとは思えないが、自分はまた忘れるかもしれないので。
環境
- RHEL 6.5 | 7.1 にて確認済み。
- proxy経由でインターネットに接続している。
- 過去に Red Hat Network に登録済み。
やりたいこと
上記又は類似の環境下で、次の何れか、又は全てが変更された際に、yumが正しく動作する様に、proxy関連の設定を変更して反映したい。
- http proxyサーバーのホスト名、又はIPアドレス。
- http proxyサーバーのポート番号
- 認証proxyのユーザー名
- 認証proxyのパスワード
作業の概要
- sudo か su で作業する。
- 以下の 手順1-a か 手順1-b の何れか一方をやる。
- 次に 手順2 をやる。
- 最後に 確認 をして終わり。
手順1-a
/etc/rhsm/rhsm.conf ファイルをテキストエディタで直接編集し、次の項目を設定する。
rhsm.conf
proxy_hostname =<PROXY_SERVER_NAME or IP-Addr>
proxy_port =<PORT_NUMBER>
proxy_user =<USER_NAME>
proxy_password =<PASSWORD>
- <>の部分は各自の設定に置き換える。
- proxy_user と proxy_password はproxy認証が必要な場合のみに記述する。
手順1-b
subscription-manager コマンドを介して /etc/rhsm/rhsm.conf の内容を書き換える。
[root@localhost ~]# /usr/sbin/subscription-manager config --server.proxy_hostname=<PROXY_SERVER_NAME or IP-Addr> --server.proxy_port=<PORT_NUMBER> --server.proxy_user=<USER_NAME> --server.proxy_password=<PASSWORD>
- <>の部分は各自の設定に置き換える。
- --server.proxy_user と --server.proxy_password はproxy認証が必要な場合のみに記述する。
手順2
適当な yum コマンドを発行すると、/etc/yum.repos.d/redhat.repo に設定が反映される。
[root@localhost ~]# /usr/sbin/yum repolist
確認
/etc/yum.repos.d/redhat.repo ファイルを less 等で見ると、上記で行った作業が反映されている事がわかる。