ex1-lab

Linux, CentOS, Mac OS X, Windows, 仮想化, Apache等のLinux中心に気になることをメモがわりに・・・

Server@VPSでyum updateを叩くスクリプト

    この記事は約3分で読むことができます。

概要

DTIのServer@VPSで、OSをCentOS 7を使用している場合に、「yum update」を叩くと以下のエラーになります。

Error: systemd conflicts with initscripts-9.49.17-1.el7.x86_64

initscripts」の不具合の関係でupdateが出来ない状態です。DTIに問い合わせましたが改善の見込もないみたいです。

自分が使用しいるパッケージだけアップデートすればセキュリティ上は問題が無いかも知れませんが、使っていないパッケージも「yum update」で一括でアップデートしたいと思い簡単なスクリプトを作りました。よければになれば使って下さい

再起動したら外部からアクセスできなくなる不具合があるので、/etc/yum.conf に「exclude=initscripts*」を追記はおこなって下さい。
また、このHPで記載した「initscripts」関係の記事のリンクも掲載しています

 

【initscriptsの不具合の関係の記事】

DTIのServer@VPSでの、yum updae用スクリプト

スクリプトの内容ですが、yum updateで一旦、アップデート対象を取得しパッケージ名してテキストファイルに吐き出しています。そのファイルを読み込んでyum updateを叩いていてます。

処理は2回に別けて作ってますが、1回できると思います

yum updateのパッケージ名を取得するスクリプト

1個のコマンドを叩いているだけなので、スクリプトで記述するまでも無いですが、以下のスクリプトでyum update対象のパッケージ名のみを取得しています

上記のスクリプトを実行すると以下のようなパッケージ名のみが抜き出されたファイルが生成されます

yum updateを実行するスクリプト

上記を実行後に以下のスクリプトを実行して、yum updateを実行します。スクリプトを実行すると「initscripts」の関係でエラーなるパッケージもあります。

一個にまとめた場合の、Server@VPS用yum updateスクリプト

自分の場合は、updateされる前にエラーになるパッケージをupdate対象リストのファイルから削除したかったので2個に分けましたが、1個のパターンのスクリプトは以下となります

アップデートでエラーになるパッケージ

今の段階で、yum updateを実行するとエラーとなるパッケージ名は以下のようなパッケージです

cyrus-sasl
cyrus-sasl-lib
kmod
kmod-libs
libblkid
libmount
libuuid
procps-ng
rpcbind
rsyslog
systemd
systemd-libs
systemd-sysv
util-linux
dracut
hardlink
kpartx

 

 - Linux