読者です 読者をやめる 読者になる 読者になる

ytooyamaのブログ

サーバ構築とか、仕事で発見したこととか、趣味のこととかを書いています。

アップデートがあるかないかrootユーザーでログインした時に表示

LinuxでしょうがWindowsでしょうが、アップデートパッチが公開されたら適用すべきです。特にそれがセキュリティパッチだったらなおさらです。

ただ、パッチの自動更新というのは便利な反面、障害の原因になることも多いようです。そこでLinuxでアップデートの通知をする方法を考えてみました。色々やり方を考えてみたのですが、今の所このやり方が一番手っ取り早いようです。

以下、太字はコマンドです。

# vi /opt/update-check.sh

#!/bin/bash
/usr/bin/apt-get update
/usr/bin/apt-get -s upgrade > /opt/update-check.txt

[5/24 追記] apt-get updateを忘れていたので追記。

シェルスクリプトのコマンドをyum check-updateにすれば、FedoraRHELCentOSなんかでも使えると思います。

# crontab cron-settings
# crontab -l
0 0 * * 7 /opt/update-check.sh

  • .bash_profileにログファイルの内容を記述(このファイルに書いたコマンドはログインした時に一度だけ実行される)

# vi /root/.bash_profile

if [ -e /opt/update-check.txt ]; then
echo "check-update:"
cat /opt/update-check.txt
echo "Welcome."
else
bash /opt/update-check.sh
echo "check-update:"
cat /opt/update-check.txt
echo "Welcome."
fi

  • rootユーザーでログインしてみる

$ su -
パスワード:
check-update:
パッケージリストを読み込んでいます...
依存関係ツリーを作成しています...
状態情報を読み取っています...
アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 0 個。
Welcome.
#

これでアップデートを見過ごすことなく済むかな?
ちなみにDebianUbuntuでアップデートを自動化するにはcron-apt、FedoraRHELCentOSではyum-cronを使うと良いです。