閉じた環境でのyum update
RHEL5環境で、本番機とテスト機がありなおかつ、外部ネットワークに出れるけど、
「テスト機でアップデートして動作不具合の無かったパッケージしか本番に適用しません!」
と微妙にもにょる事を言われました。
色々思う所があるのですが、言われたらやるしか無い。そして面倒くさいスパイラル(2.0)へ。
結局のところどうするかというと、createrepoというrpmパッケージを利用します。コマンドは以下。
(今回の実験環境はCentOS5.2(Final)ですが、RHELでも同じ手順でおk)
# cd /var/cache/yum/package/updates/ # createrepos ./
こんだけ。
あとはそのディレクトリに repond/ とかいうディレクトリと、ファイルの内容を記載した xml が出力されるので、まとめてどっかにもっていって、yum の設定ファイルを書き換えるだけ。
6/17 25:00追記
ちょいと説明不足だったので補足。/var/cache/yum/package/updates/ というディレクトリは、.rpm ファイルを配置しているディレクトリです。んで、この updates ディレクトリの中で createrepos を実行する事により、 updates ディレクトリの直下に repodata というディレクトリとファイルをマッピングしてあるらしい、各種 xml ファイルを作成します。
んで実際利用するには、updates ディレクトリ以下を丸ごと運搬すればいいです。2回目以降を行いたい場合は、 mv 等で updates ディレクトリをどこかに移動させて、また mkdir して空の updates ディレクトリを作成しておけば以降は同じ手順の繰り返し。
VirtualHost環境化でのPermission Denied
Google 先生に尋ねると、同じような症状の人がたくさんでてきますが、VirtualHostで複数切った環境下で、各VrtualHost句のDocumentRootを、標準のDocumenRootから外れた位置に宣言すると、アクセスがすべからく「Permission Denied」になってしまう。
解決策は、結局デフォルトのDocumentRootの中でどこかディレクトリを切って割り当てる、しか思いつかなかった。
これどうなってんだ?というか、会社で利用しtるiDCの筐体は問題ないんだよなー。そしてVirtualHost句にはUser Groupの宣言できないし。SuexecUserGroupはCGIだけだし、試したけど失敗したし。多分Apacheの動作ユーザ関係だと思うんだけどなんだろう?きもち悪い。
※ちなみに、各DocumetRootをapacheユーザにしたり、SELinuxをOFFにしたりしてみましたが改善されませんでした。ので、/home/Users/の下に以下のようなシンボリックリンクを設定することで、それっぽく見せる事に。
$ ln -s /var/www/users_public_html/ ./public_html
うあーきもいよー。