web-dev-qa-db-ja.com

通常、本番サーバーで「安定性の観点から」「apt-get upgrade」を実行しても安全ですか?

私はよくUbuntu 12.04.2サーバーにログインし(Postgres 9.2.4を稼働中の本番データで実行しています)、次のようなものが表示されます。

4 packages can be updated.
4 updates are security updates.

もちろん、これは数日おきに起こります。自動更新には興味がありません(眠っているときに変更できるものは少ないほど良いです)が、サーバーを常に最新の状態に保つことに興味があるので、私の質問は次のとおりです。つまり、常にapt-get upgradeを実行しても安全であると考えられていますか、それとも問題が発生する可能性があります。私はパッチが常に完璧ではないことを理解しています(したがって、タイトルに「常に」引用されています)が、一般的には、これを実行しても安全であると想定されています(これは、データベースサーバーとNginxを介してCSSファイルを提供するだけのサーバーであると仮定して) )?

18
orokusaki

一般的に、これは安全です。重要なパッケージ(Postgres、Nginxなど)については、更新されないように、それらのパッケージを特定のバージョンに固定することをお勧めします。たとえば、Postgresが更新されると、データベースサーバーが再起動されます。これは、計画的なダウンタイムの前後にスケジュールできるようにするものです。

とはいえ、アップグレードを運用環境に昇格させる前に、ステージングサーバーでアップグレードをテストすることが常に最善であるため、展開プロセスへの追加について検討する必要があります。

9
EEAA

Aptitudeはコマンドを覚えやすくなりました:aptitude safe-upgradeaptitude full-upgrade。更新されたパッケージの変更に関する情報とアップグレードをキャンセルするオプションが提供されるように、apt-listchangesをインストールすることをお勧めします。

5
ptman

はいといいえ。ほとんどのアプリケーションは問題ありませんが、一部のアプリケーションはアップグレードするには満足できません。

Javaを使用するアプリケーションがアプリケーションを壊す例を見てきました。5.0.X5.0.X + 1の間でmysqlが壊すのも見ました(正確な数値をここに覚えないでください) 。

システムアプリケーションはほとんど問題ないはずですが、サーバーが実際に提供しているアプリケーションのリリースノートを注意深く読む必要があります。

Nginxの変更内容を読んで、特定の設定に影響を与える可能性のある変更があるかどうかを理解してください。アプリケーションを使いこなすほど、破りやすくなります。

4
espenfjo