Przygotowanie do stosowania aktualizacji na Red Hat Linux

Przygotowanie do stosowania aktualizacji na Red Hat Linux

Cel

Naszym celem jest upewnienie się, że aktualizacja systemu operacyjnego będzie działać sprawnie i bez błędów.

Wersje systemu operacyjnego i oprogramowania

  • System operacyjny: Red Hat Enterprise Linux 6+

Wymagania

Uprzywilejowany dostęp do systemów

Trudność

ŁATWY

Konwencje

  • # - Wymaga, aby podane polecenia Linux są wykonywane z uprawnieniami root bezpośrednio jako użytkownik root lub za pomocą sudo Komenda
  • $ - Biorąc pod uwagę polecenia Linux, które mają być wykonywane jako zwykły użytkownik niepewny

Wstęp

Utrzymanie systemu jest codziennym zadaniem dla sysadminu, a także użytkownika komputerów stacjonarnych. Stosując najnowsze (stabilne) dostępne oprogramowanie w systemie, możemy skorzystać z najnowszych funkcji i będziemy bardziej chronione przed problemami bezpieczeństwa i miejmy nadzieję, że mniej cierpią z powodu błędów. Aby zaktualizować system, którego potrzebujesz skonfigurowane mniam repozytoria, które działają jako źródło zaktualizowanego oprogramowania.

Jeśli siedzisz obok komputera, który uruchomi system operacyjny, który ma zostać zaktualizowany, możesz łatwo działać, jeśli coś pójdzie nie tak podczas aktualizacji, na przykład sprawdzanie wyjścia na terminalu, lub uruchomić system na żywo, jeśli zaktualizowany nie powróci Uruchom ponownie - ale nie zawsze tak jest. Pomyśl o centrum danych z setkami lub tysiącami (wirtualnych) maszyn lub po prostu fizycznym komputerem, który musisz zdalnie zaktualizować.

Istnieją proste kroki, które możemy wykonać, aby przygotować system do aktualizacji, i być może wyczyścić każdy problem, który zagroziłby udanej aktualizacji.



Proces aktualizacji

Podczas wykonywania bezwarunkowej aktualizacji (co oznacza „aktualizacja all”), mniam przyniesie wszystkie metadane z dostępnych repozytoriów i obliczyć wszystkie pakiety, które mają zostać zaktualizowane w stosunku do RPM baza danych zawierająca wszystkie metadane dotyczące pakietów zainstalowanych w systemie.

Proces aktualizacji oblicza również wszystkie zależności ulepszonych pakietów, może zastąpić stare pakiety i usuwać stare obrazy jądra zgodnie z jego konfiguracją. Liczba obrazów jądra do przechowywania jest ustawiona w /etc/mniam.conf plik konfiguracyjny i jest domyślnie 3:

instaltonly_limit = 3


Po wszystkich obliczonych potrzebnych modyfikacjach, mniam Zapewnia obszerną listę wszystkich pakietów, które mają zostać zaktualizowane, usunięte lub zainstalowane dla zależności, w taki sam sposób, jak podczas instalowania lub aktualizacji określonych pakietów.

W interaktywnej sesji aktualizacji mniam Zapewni podsumowanie pakietów, które mają zostać zmodyfikowane, a także obliczenia wielkości danych należy pobrać do aktualizacji, jak pokazano poniżej:

Podsumowanie interaktywnej aktualizacji Yum

Po zbadaniu wyników możemy zdecydować, czy rozpoczniemy aktualizację, czy też anulujemy. Ponieważ Yum zaktualizuje wszystko, dla czego może znaleźć aktualizacje, możemy wcześniej usunąć niepotrzebne pakiety. Możemy również zauważyć pakiet oznaczony do aktualizacji, że jesteśmy blokowani wersją, należy wykluczyć z aktualizacji.

Po zatwierdzeniu Yum pobije wszystkie nowe pakiety i zainstaluj/zaktualizuje je jeden po drugim. Po zakończeniu sprawdzi integralność zainstalowanych/zaktualizowanych pakietów, wyczyść niepotrzebne pliki. Zapewnia również informacje zwrotne podczas tego procesu, zapewniając linię tekstu dla każdego kroku, a także kod wyjściowy, który wskazuje, że aktualizacja zakończyła się powodzeniem, lub jeśli pojawił się jakiś problem. Anuluje również proces aktualizacji, jeśli pojawi się problem, który wydaje się krytyczny ze spójnej perspektywy systemu - ale są chwile, kiedy jest już za późno, więc zapobieganie problemom aktualizacji jest lepszym podejściem.

Miejsca na dysku

mniam pamięć podręczna

Z opisanego powyżej procesu możemy zgadnąć, że potrzebujemy miejsca na dysku dla procesu aktualizacji:

  • Metadane wszystkich skonfigurowanych repozytoriów muszą być przechowywane do momentu obliczenia wszystkich pakietów (i ich zależności), aby zostać zaktualizowane.
  • RPM pakiety, które stanowią samą aktualizację, muszą być przechowywane lokalnie, dopóki nie zostaną poprawnie zainstalowane.

Te dane, nazywane mniam pamięć podręczna jest potrzebny tylko podczas aktualizacji, ale może zająć znaczną przestrzeń na dysku. Domyślna lokalizacja dla tej pamięci podręcznej jest w /var/cache/mniam informator. Nie trzeba dodawać, że jeśli nie ma wystarczającej ilości miejsca do przechowywania wszystkich potrzebnych danych, proces aktualizacji zawiedzie. Niektóre niedokończone pliki do pobrania zostaną upuszczone, ale nie cała przestrzeń może zostać uwolniona, co kończy się systemem nie powiodło /var/cache prawie pełny.

Wiele instalacji przechowuje ich /var katalog na tomie poświęcony rejestrowaniu, ponieważ domyślne miejsce dla plików dziennika jest /var/log na większości dystrybucji, a większość aplikacji do dobrego gatunku przestanie działać lub nawet zawieść, jeśli nie będą w stanie napisać swoich plików dziennika. Zatem wypełnienie objętości, do której piszą, to zła rzecz.

Im więcej pakietów należy zaktualizować, a im więcej repozytoriów, tym więcej przestrzeni aktualizacja zajmie tymczasowe. Aby obliczyć to miejsce od aktualizacji do aktualizacji, jest trudne, ale można je przetestować z rozwiązaniem suchym uruchomionym opisanym później, jeśli mamy komputer testowy z dokładną zawartością oprogramowania. Dla przykładu w czasie rzeczywistym aktualizowanie z RHEL 7.1 do 7.5 (Instalacja komputerowa z GNOME) może zająć 4 GB przestrzeni pamięci podręcznej, ale instalacja kilku poprawek do systemu, który jest tylko jeden lub dwa miesiące nieaktualne, zajmie tylko kilka MB.

Aby sprawdzić, ile mamy miejsca, możemy użyć df Komenda:

# DF -H/var/FileSystem Rozmiar Używany Używany% Zamontowany ON/Dev/Mapper/VG_SYS -VAR 6.0G 1.7G 4.4G 28% /var 
Kopiuj


W powyższym przykładzie mamy 4.4 GB wolnej przestrzeni, co będzie wystarczające, biorąc pod uwagę, że serwer został zaktualizowany zaledwie kilka miesięcy temu. Aby zwolnić przestrzeń, trywialnym krokiem byłoby wyczyszczenie mniam pamięć podręczna już przechowywane (może przy ostatniej aktualizacji). Aby sprawdzić, ile miejsca zajmuje w tej chwili pamięć podręczna, możemy użyć du:

# du -mcd 1/var/cache/yum 1103/var/cache/yum/x86_64 1103/var/cache/yum 1103 
Kopiuj


Powyższe liczby są w MB, więc mniam pamięć podręczna W tym przykładzie zajmuje około 1 GB miejsca na dysku i zajmuje większość przestrzeni na /var tom.



Wyczyszczenie pamięci podręcznej

Możemy wyczyścić całą pamięć podręczną za pomocą następującego polecenia:

Yum Clean All

Ale jako mniam Powiadomi nas do wyjścia powyższego polecenia w wersjach RHEL 7, mogą być osierocone dane z usuniętych lub wyłączonych repozytoriów, które najprawdopodobniej nastąpi po drobnych ugranicznych wydania, w którym to przypadku możemy bezpiecznie usunąć dane:

rm -rf/var/cache/yum/*

Możemy uzyskać więcej miejsca na aktualizację, usuwając inne dane przechowywane na woluminie, takie jak kompresowanie/usuwanie starych plików dziennika, przenoszenie dużych plików do innych tomów lub rozszerzenie wielkości woluminu.

Poruszanie pamięci podręcznej

Pracować z możliwościami mniam, Jeśli jesteśmy naprawdę mało miejsca na dysku, nie możemy niczego wyjaśnić i nie możemy dodać więcej miejsca do głośności, możemy przenieść lokalizację mniam pamięć podręczna do kolejnego tomu z większą wolną przestrzenią. Możemy skonfigurować lokalizację pamięci podręcznej w mniam.conf Plik konfiguracyjny wspomniany powyżej. Rozważ ustawienie domyślne:

buforedir =/var/cache/yum/$ basearch/$ releasever

Zmieniając ścieżkę wcześniej $ basearch Następna operacja Yum będzie działać z tą samą strukturą katalogu, ale na innej ścieżce - mam nadzieję, że z większą wolną przestrzenią do aktualizacji. Możemy również przenieść pamięć podręczną do innego tomu, przesuwając cały katalog:

mv/var/cache/yum/extended_data_volume/


I tworzenie symlinki w oryginalnej lokalizacji, która wskazuje na nowe miejsce:

ln -s/extended_data_volume/yum/var/cache/yum


Rozsądnie jest wiedzieć, że aktualizacja nie zawiedzie na trywialnym błędu, takim jak niskie miejsce na dysku. W dużych systemach Sysadmins wdrażają narzędzia monitorowania, takie jak Nagios, które mogą zgłaszać niskie miejsce na wszystkich maszyna.

Błędy sieciowe

Jeśli występują problemy z łącznością między repozytoriami a maszyną wykonującą aktualizację, aktualizacja może się nie powieść. Może się to zdarzyć tylko na metadanych lub na nowym etapie pobierania RPM i nie złamie systemu. Możesz rozpocząć proces aktualizacji ponownie po rozwiązaniu problemu sieciowego.

Z drugiej strony, jeśli aktualizacja zostanie zainicjowana z sesji interaktywnej, w awarii sieci połączenie może pękać, pozostawiając komputer bez administratora, aby odpowiedzieć na pytania mniam może zapytać. Jeśli etap instalacji/aktualizacji pakietu już się rozpoczął, będzie kontynuowany bez nadzoru i może się nie udać lub zakończyć, jeśli w innym przypadku by to zrobiło. Po ponownym połączeniu proces można zastosować w /var/log/yum.dziennik.



Yum suchy bieg

Oprócz niewystarczającej przestrzeni dysku i problemów sieci. Należy je rozwiązać za pomocą narzędzi, które mogą obliczyć i obsługiwać zależności pakietów, ale przydatne byłoby wiedzieć, że będą problemy przed rzeczywistą aktualizacją (a zatem nie marnowanie zawsze zbyt krótkiego przestoju systemu). Aby uzyskać te cenne informacje, możemy uruchomić proces aktualizacji, ponieważ uruchomiłby rzeczywistą aktualizację, ale zatrzymaj się przed pobieraniem, instalacją lub aktualizacją pakietu.

Wokół Redhat 6.6 Wprowadzono nową opcję, która spowoduje mniam Przyjęcie „nie” na każde pytanie, które pojawia się podczas aktualizacji - w tym zatwierdzenie przed faktycznym etapem manipulacji pakietem, w wyniku czego nie jest potrzebna faktyczna interakcja, wykonaj suchy bieg:

Aktualizacja Yum -Aassumeno

Może to być idealne narzędzie do zapewnienia suchego przebiegu nadchodzącej aktualizacji, w tym pakietów, które mają zostać zaktualizowane, oraz wszelkie błędy, co może wystąpić. Rozważ następujące proste grzmotnąć scenariusz:

#!/Bin/Bash Yum Update -Aassumeno &> $ (nazwa hosta).mniam.próba.$ (data '+%y-%m-%d').wyjść $? 
Kopiuj


Powyższy skrypt można wykonać automatycznie i dostarczy raport tekstowy o suchym biegu, a także ogólny kod wyjściowy wskazujący na wszelkie problemy. Wyjście nie musi być zapisywane w lokalnym systemie plików. Celem przekierowania wyjściowego może być system plików sieciowych lub raport może zostać opublikowany na pewnym centralnym serwerze raportowania, może być gromadzony przez inne skrypty lub aplikacje. Raporty mogą być publikowane i dystrybuowane między innymi działami IT do zatwierdzenia, w ten sposób wszyscy zaangażowani mogą dokładnie zobaczyć, jakie pakiety zostaną zaktualizowane i do jakiej wersji.

Suchy bieg można zaplanować w danym okresie (być może w nocy, aby wpłynąć na wydajność systemu) Cron, lub wykonane z centralnego źródła z konfiguracją marionetki. Kod wyjściowy może być również przechowywany i przetwarzany przez monitorowanie lub Fact, w celu zebrania możliwych wyników nadchodzącego aktualizacji przed kontynuowaniem.

Wniosek

Nawet z jednym lub kilkoma komputerami powinniśmy zebrać informacje przed rozpoczęciem aktualizacji całego systemu operacyjnego, aby być po bezpiecznej stronie. Pewnego dnia pojawi się problem i jest to znacznie mniej stresujące, jeśli możesz go rozwiązać, zanim wpłynie to na faktyczną pracę danej maszyny. Na większą skalę po prostu nie można usiąść obok każdego serwera lub pulpitu i obsługiwać go z obecnością w nadziei, że pomoże to aktualizacji bezbłędnie.

Znając etapy procesu aktualizacji, pułapki, a także rozwiązanie, są niezbędne do udanych aktualizacji. Rozpoczęcie kolejnego etapu aktualizacji całej infrastruktury z pewnością, że nie będzie problemów z zrobieniem tego w stylu.

Powiązane samouczki Linux:

  • Rzeczy do zainstalowania na Ubuntu 20.04
  • Rzeczy do zrobienia po zainstalowaniu Ubuntu 20.04 Focal Fossa Linux
  • Linux Pliki konfiguracyjne: Top 30 Najważniejsze
  • Czy Linux może uzyskać wirusy? Badanie podatności Linuksa…
  • Wprowadzenie do automatyzacji, narzędzi i technik Linuksa
  • Pobierz Linux
  • Jak zaktualizować Firefox na Linux
  • Rzeczy do zrobienia po zainstalowaniu Ubuntu 22.04 JAMMY Jellyfish…
  • Najlepszy Linux Distro dla programistów
  • Mint 20: Lepsze niż Ubuntu i Microsoft Windows?