No.402


【CentOS7】OpenVZの仮想環境をyum updateできるようにする

頼むから自由にyum updateさせてくれ…

 オーバーヘッドの軽さからか、DTIのServerMan@VPSなど比較的安価なVPSで使われている印象の強いOpenVZ

 こいつがやっかいで、CentOS7のパッケージinitscriptsとの相性がすこぶる悪い。
 なにも考えずにyum updateしようものなら仮想環境が起動しなくなる。
 そのため、initscriptsが更新されないようにyumが設定されているのだが、当然のごとくyumの関連ファイルチェックでこいつが問題になり、まともにyum updateできない。

/etc/yum.conf

exclude=initscripts*

CentOS7 yum update 後、VPSサーバーにアクセスができなくなった

 updateできない環境を運用するのは怖すぎる。そこで何とかできないか試してみた。
 自分は下記の手順を踏めばいけた。もちろん自己責任でよろしくです。


そもそもの原因

 initscriptsが原因なのはわかってるので情報を調べてみた。

systemd conflicts with initscripts during yum update

 バージョン9.49.24で直っているらしい。


対応方法

  1. まずinitscriptsをバージョン9.49.24以上にupdateする。
  2. それからyum updateで全部updateする。

 これだけ。


手順

 まずinitscriptsのバージョンの確認。

vi /etc/yum.conf
↓
#exclude=initscripts*

 excludeをいったん外しておく。

yum --showduplicates search  initscripts 
...
initscripts-9.49.17-1.el7_0.1.x86_64 : The inittab file and the /etc/init.d scripts
initscripts-9.49.53-1.el7.x86_64 : The inittab file and the /etc/init.d scripts
initscripts-9.49.53-1.el7_9.1.x86_64 : The inittab file and the /etc/init.d scripts
...

 バージョン9.49.53があった。
 インストールしてしまおう。

yum install initscripts-9.49.53-1.el7_9.1.x86_64

 終わったらexcludeを戻しておく。yumの関連チェックで必要になったときにまた戻せば(試せば)良いだろう。

vi /etc/yum.conf
↓
exclude=initscripts*