apt - izudon/izudon.github.io GitHub Wiki

結論

  • OS(カーネル)のパッチも、パッケージと同じ仕組み = apt でバージョンアップできる。

    各種パッケージapt upgrade でバージョンアップできる(常識)。
    OS(カーネル) は? これも apt upgrade でバージョンアップできる。

  • 再起動は?

    各種パッケージcheckrestart コマンドなどで、
    再起動の必要なサービスを確認できる。
    OS(カーネル) は? これは /var/run/reboot-required
    というファイルの有無を確認することで、再起動要否を知ることができる。
    このファイルがある場合にある時刻が来ると自動再起動する仕組みも apt が持っている。

  • ゼロデイ攻撃もこれで 防御万全!

パッチ

  • 各種パッケージapt upgrade でバージョンアップできる(常識)。
    • /etc/apt/apt.conf.d/20auto-upgrades というファイルに書いておくことで、
      毎日定期的に確認し、アップグレードしておいてもらうことができる。
    • upgrade の結果再起動が必要となってしまったサービスは、
      checkrestart -t などとして確認できる。
  • OS(カーネル) は? これも apt upgrade でバージョンアップできる。
    • パッケージには linux-image- なんちゃらというものが含まれている。
      これがカーネルである。
      • linux-image-unsigned-5.15.0-60-generic
        メジャーバージョン.マイナーバージョン.パッチバージョン-ビルド番号-用途
    • 結果再起動が必要となると /var/run/reboot-required というファイルができる。
      • これがあると毎度ログイン時のメッセージに「再起動が必要です」が加わる。
      • 何のせいで再起動が必要なのかは /var/run/reboot-required.pkgs という
        ファイルに書かれる。2つでワンセットらしく、手動再起動してこいつらが消えるには、
        両方ないといけないらしい。
      • これらがあるとき(一日のうちのある時刻を指定して)自動で再起動する設定を書ける。
        • /etc/apt/apt.conf.d/50unattended-upgrades というファイルの、
          Unattended-Upgrade::Automatic-Reboot "false"; を、
          Unattended-Upgrade::Automatic-Reboot "true"; に変え、
          Unattended-Upgrade::Automatic-Reboot-Time "02:00"; ここに、
          再起動をかけて大丈夫な時刻を指定すると良い。