Czy zwykle bezpieczne jest uruchomienie „apt-get upgrade” (pod względem stabilności) na serwerze produkcyjnym?

18

Często loguję się na moim serwerze Ubuntu 12.04.2 (z Postgres 9.2.4 działającym z danymi produkcyjnymi na żywo) i widzę coś podobnego do:

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

Oczywiście dzieje się to co kilka dni. Nie jestem zainteresowany automatycznymi aktualizacjami (im mniej rzeczy mogę zmienić, kiedy śpię, tym lepiej), ale jestem zainteresowany ciągłym aktualizowaniem serwera, więc moje pytanie brzmi: kiedy widzę dane wyjściowe, takie jak to jest zawsze uważane za bezpieczne do uruchomienia apt-get upgrade, czy są chwile, kiedy może to popsuć. Rozumiem, że łatki nie zawsze są idealne (stąd cytowany „zawsze” w tytule), ale co do zasady zakłada się, że można to bezpiecznie uruchomić (zwłaszcza biorąc pod uwagę, że jest to serwer bazy danych w porównaniu z czymś, co obsługuje pliki CSS przez Nginx )?

orokusaki
źródło

Odpowiedzi:

9

Zasadniczo tak, jest to bezpieczne. Jednak w przypadku pakietów krytycznych (Postgres, Nginx itp.) Zalecam przypinanie tych pakietów do konkretnej wersji, aby nie były aktualizowane. Na przykład, gdy Postgres zostanie zaktualizowany, zrestartuje serwer bazy danych, co jest planowane w przypadku planowanego przestoju.

To powiedziawszy, zawsze najlepiej przetestować aktualizacje na serwerze pomostowym przed awansowaniem ich do wersji produkcyjnej, więc warto pomyśleć o dodaniu do procesu wdrażania.

EEAA
źródło
1
i uruchom ponownie, jeśli istnieje aktualizacja jądra. Nic gorszego niż znalezienie serwera, który nie uruchamia się już bez interwencji w nagłych wypadkach.
Sirex,
„Polecam przypięcie tych pakietów do konkretnej wersji, aby nie były aktualizowane”: Jak?
vcardillo
1
@vcardillo Wyszukaj w Google hasło „apt pinning”.
EEAA
5

Aptitude ma łatwiejszy do zapamiętania poleceń: aptitude safe-upgradeVs. aptitude full-upgrade. Nadal warto zainstalować, apt-listchangesaby otrzymywać informacje o zmianach w zaktualizowanych pakietach i opcję anulowania aktualizacji.

ptman
źródło
4

Tak i nie. Większość aplikacji jest w porządku, ale niektóre aplikacje mogą nie być zbyt zadowolone z aktualizacji.

Widziałem przykłady, w których aplikacje korzystające z Java od 1.6.29 do 1.6.30 psują aplikację. Widziałem także mysql zrywający między 5.0.X 5.0.X + 1 (nie pamiętam tutaj dokładnych liczb).

Aplikacje systemowe powinny być w większości OK, ale należy uważnie przeczytać informacje o wydaniu aplikacji, które serwer faktycznie udostępnia.

Przeczytaj, jakie zmiany nginx, spróbuj zrozumieć, czy są jakieś zmiany, które mogą wpłynąć na twoją konfigurację. Im bardziej zaawansowana aplikacja używasz, tym łatwiej jest ją złamać.

espenfjo
źródło