Ist es normalerweise sicher, ein "apt-get upgrade" (in Bezug auf die Stabilität) auf einem Produktionsserver auszuführen?

18

Ich logge mich oft in meinen Ubuntu 12.04.2-Server ein (mit Postgres 9.2.4, das mit Live-Produktionsdaten läuft) und sehe etwas Ähnliches wie:

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

Das passiert natürlich alle paar Tage. Ich bin nicht an automatischen Updates interessiert (je weniger Dinge sich ändern können, wenn ich schlafe, desto besser), aber ich bin daran interessiert, meinen Server immer auf dem neuesten Stand zu halten, daher lautet meine Frage: Wenn ich Ausgaben wie "" sehe Das heißt, es gilt immer als sicher zu laufen apt-get upgrade, oder gibt es Zeiten, in denen es Dinge brechen kann. Ich verstehe, dass Patches nicht immer perfekt sind (daher das "immer" im Titel), aber in der Regel wird davon ausgegangen, dass dies sicher ist (zumal es sich um einen Datenbankserver handelt, der nur CSS-Dateien über Nginx bereitstellt) )?

orokusaki
quelle

Antworten:

9

Im Allgemeinen ist dies ja sicher. Bei kritischen Paketen (Postgres, Nginx usw.) würde ich empfehlen, diese Pakete auf eine bestimmte Version zu fixieren, damit sie nicht aktualisiert werden. Wenn Postgres beispielsweise aktualisiert wird, wird der Datenbankserver neu gestartet. Dies ist etwas, das Sie im Hinblick auf geplante Ausfallzeiten planen möchten.

Das heißt, es ist immer am besten, Upgrades auf einem Staging-Server zu testen, bevor sie in die Produktion hochgestuft werden. Daher sollten Sie überlegen, ob Sie sie Ihrem Bereitstellungsprozess hinzufügen möchten.

EEAA
quelle
1
und neu starten, wenn es ein Kernel-Upgrade gibt. Nichts ist schlimmer, als wenn Sie feststellen, dass Ihr Server nicht mehr startet, ohne im Notfall eingreifen zu müssen.
Sirex
"Ich würde empfehlen, diese Pakete auf eine bestimmte Version zu pinnen, damit sie nicht aktualisiert werden": Wie?
Vcardillo
1
@vcardillo Führe eine Google-Suche nach "apt pinning" durch.
EEAA
5

Aptitude hat einfacher Befehle zu erinnern: aptitude safe-upgradevs aptitude full-upgrade. Die Installation ist dennoch eine gute Idee, apt-listchangesdamit Sie über die Änderungen in den aktualisierten Paketen und die Option zum Abbrechen des Upgrades informiert werden.

ptman
quelle
4

Ja und nein. Die meisten Anwendungen sind in Ordnung, aber einige Anwendungen sind möglicherweise nicht zu froh, aktualisiert zu werden.

Ich habe Beispiele gesehen, bei denen Anwendungen, die Java von 1.6.29 bis 1.6.30 verwenden, die Anwendung beschädigen. Ich habe auch gesehen, wie MySQL zwischen 5.0.X 5.0.X + 1 bricht (erinnere mich nicht an die genauen Zahlen hier).

Systemanwendungen sollten größtenteils in Ordnung sein, aber Sie sollten die Versionshinweise der Anwendungen, die Ihr Server tatsächlich bereitstellt, sorgfältig lesen.

Lesen Sie, welche nginx-Änderungen vorgenommen wurden, und versuchen Sie zu verstehen, ob Änderungen vorliegen, die sich auf Ihr spezielles Setup auswirken können. Je fortgeschrittener Sie eine Anwendung verwenden, desto einfacher ist es, sie zu unterbrechen.

espenfjo
quelle