CentOSのバージョンアップをするとプログラムが動作不能になるという、やむにやまれぬ事情で、セキュリティ上は望ましくないのだけれど、プログラムを改修するまでの間、バージョンを固定して使用する必要があったので、手順を調べた。
始めは、新規セットアップだったので、OSのセットアップをした後にyum updateをしなければ大丈夫!と甘く考えていたのだが、CentOSのメディアからセットアップをした後に、追加でパッケージをインストールするとなんと、たとえ、CentOS 6.4のメディアでセットアップしても、セットアップ時点で、CentOS 6.5がリリースされている場合、CentOS 6.5用のパッケージがインストールされてしまうということが判明した。
なので、yumのレポジトリも特定のOSのバージョンを参照するように、固定する必要があった。方法としては、下記の二つの方法があることがわかった。
[方法1]
/etc/yum.repos.d/CentOS-Base.repoなどのレポジトリの設定ファイル中の、レポジトリのバージョンを指定しているシェル変数$releaseverを固定したいOSのバージョンに、置き換える。CentOS 6.4にしたいのならば6.4に置き換える。
[方法2]
下記のファイルを作成して、固定したいOSのバージョンを書く。たとえば、CentOS 6.4に固定をしたいのならば、6.4と書く。
# vi /etc/yum/vars/releasever
6.4
実は、方法1で書き換えた、$relesaserverは、方法2で作成したファイルがあると変数にファイルの中身がセットされるので、方法1は、手順だけ多いだけなので、方法2を使用するほうがいいと思う。