SystemUpdater for Ubuntu Server

概要

SPO GUILD JAPANのオペレーターが同じSPO GUILD JAPANのオペレーターのために作成したUbuntu OSのシステムパッケージを最新に保つためのスクリプトです。

SPOの皆さんはどうしてもノードの保守にかかりっきりになり、OSやインストールされているパッケージのセキュリティパッチなどは後手後手になりがちかと思います。しかし、現実はほぼ毎日のようにパッチが配布されているような状況です。そこでコマンド1つで簡単に済ませられればそれほど苦にならないのでは?という思いをスクリプトに込めました。

どのような違いが?

Ubuntuのパッチを当てるために最小の構成のコマンドは、

$ sudo apt update -y && sudo apt upgrade -y

かと思いますが、実はマシンの再起動が必要かどうかをチェックしたり、クリーンアップなど不要なファイルの削除などが抜けています。それを全てしようとすると結構なコマンドを打つ事に…

このスクリプトではそれらを自動で判断し、随時確認を取りながらアップデートを進めていきます。覚えるコマンドは以下だけです。

$ sudo check-update

インストール方法

$ sudo wget https://e-frontier.systems/cardano/check-update/check-update.sh -O /usr/local/bin/check-update
$ sudo chmod +x /usr/local/bin/check-update

※ wgetでエラーになる場合は以下を実行してください。

$ sudo apt install -y wget

実行方法

$ sudo check-update

このスクリプトの動作は以下の通りです。

  1. sudo(root) 権限で起動されているか確認
  2. 自スクリプトのアップデート確認
  3. システムアップデートの確認(apt update -y を実行)
  4. アップデート内容の確認(apt-get -s upgrade -V を実行)
  5. アップデートを行うか確認メッセージを表示
  6. アップデートを実行(apt -y upgrade を実行)
  7. クリーンアップ(apt -y autoremove と apt -y clean を実行)
  8. OS再起動が必要かどうかを確認(/var/run/boot-required があるかどうかで判断)
  9. 再起動をおこなうかどうか確認メッセージを表示
  10. 再起動をおこなう場合はノードをストップ(systemctl stop cardano-node を実行)
  11. システム再起動を実行(reboot を実行)

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です