私は現在SaaSの会社で働いており、現在、アプリケーションをサポートするためにデータセンターで複数のDebianサーバーを実行しています。
以前は、セキュリティアップデートがリリースされたときに、各マシンにログインして、必要なアップデートで手動でアップデートすることができました。より多くのクライアント(したがって、より多くのサーバー)が増えるにつれて、これを手作業で行うことが大きな問題になり始めていることがわかりました。
更新が行われるたびに複数のサーバーを同時にアップグレードする方法(またはベストプラクティス)であるかどうか疑問に思っていましたか?
毎週末にすべての更新を自動的に適用するcronスクリプトを作成することを検討していますが、これを行うにはおそらくもっとエレガントな方法があると考えていましたか?
nattended-upgrades パッケージをデフォルトのビルドの一部として、既存のサーバーにさかのぼってインストールするのに十分な理由のように思えます。説明自体が言うように:
このパッケージは、構成されたAPTソースからのパッケージのみをインストールし、構成ファイルの変更に関するdpkgプロンプトをチェックするように注意しながら、セキュリティアップグレードを自動的に無人でダウンロードしてインストールできます。
このスクリプトは、APT :: Periodic :: Unattended-Upgradeオプションのバックエンドです。
インストールしたら、/etc/apt/apt.conf.d/50unattended-upgrades
を変更して、アップグレードを処理するOrigins
を指定し、無人でアップグレードしないように特定のパッケージをブラックリストに登録するだけです。レポートを送信する電子メールアドレスと、アップグレード後にパッケージが要求した場合に自動的に再起動するかどうかを指定することもできます。
私はこれをクライアント用に管理しているすべてのリモートサーバーに使用し、レポートを送信してもらうので、それらすべてに1つずつログインしてアップグレードを実行する必要はありません。
apt-dater SSH経由でサーバーにアクセスできる限り、一元化されたパッケージ管理に役立つ場合があります。追加のデーモンに依存する可能性のある構成管理ツールよりも簡単な場合があります...