Jakie kroki należy podjąć przed wykonaniem aktualizacji wersji, aby uniknąć problemów?

10

Po otrzymaniu powiadomienia o 1404_HWE_EOL rozważam uaktualnienie ważnego systemu produkcyjnego do wersji 16.04.1. Mówię „ważny system produkcyjny”, ponieważ jest to stacja robocza, z której codziennie korzystam w pracy. Chcę uniknąć błędów lub innych problemów, ponieważ nie mam zbyt dużo czasu na debugowanie i rozwiązywanie problemów (dział IT nie pomaga w systemach Linux). Mam kopię zapasową wszystkich danych, ale nie bieżącą partycję systemu operacyjnego (mogę dodać dysk systemu operacyjnego jako kolejną warstwę rezerwową). Jakie inne kroki należy wykonać przed aktualizacją? Chcę wiedzieć, jak zminimalizować komplikacje podczas korzystania z aktualizacji wersji oferowanej w systemie Ubuntu.

Przeczytałem o usuwaniu PPA przed aktualizacją . Mam 27 zainstalowanych PPA, trochę czasu zajmie usunięcie wszystkich tych programów, które przynoszą, a następnie odwrócenie tego po aktualizacji. Czy to przynosi znaczące korzyści? Coś jeszcze?

Steven C. Howell
źródło
Czy ten system produkcyjny jest maszyną wirtualną? Jeśli tak, możesz mieć opcję wykonania migawki i / lub przywrócenia jej przed aktualizacją. Użyłem tego wcześniej, aby uniknąć nieudanych aktualizacji na lokalnej maszynie programistycznej (nie na serwerze produkcyjnym).
ashes999
To nie jest VM. W takim przypadku byłaby to świetna opcja.
Steven C. Howell,
1
Po uaktualnieniu proces automatycznie wyłączył moje dodane umowy PPA - nie musisz ich usuwać. Po aktualizacji mogłem je ponownie włączyć. Problemy z ząbkami (dla mnie) dotyczyły głównie kilku umów PPA, które nie zostały zaktualizowane do obsługi Xenial.
Paddy Landau
Uwaga Jeśli masz kartę graficzną AMD, upewnij się, że jest ona zgodna ze sterownikami dostępnymi w 16.04. Mój nie jest, i dla długowieczności mojego sprzętu wróciłem do 14.04.
Tony Martin

Odpowiedzi:

13

ważny system produkcji

Nie uaktualniłbym takiego systemu. Zainstalowałbym 16.04 na innym komputerze, skopiowałem dane na żywo na ten komputer. Przetestuj, przetestuj więcej. A następnie uczyń tę maszynę serwerem produkcyjnym.

Możesz to zrobić ponownie za pomocą 18.04 z bieżącym serwerem 14.04.

Po co w ogóle ryzykować?

Rinzwind
źródło
W mojej sytuacji nie mam kompletnego duplikatu stosu sprzętu, więc oznacza to użycie dddo klonowania dysku (SSD na HDD), przetestowania zarówno oryginalnego, jak i klonowania, a następnie nuke i brukowania, aby założyć nowy system operacyjny. Zawsze robiłem to w przeszłości, ale miałem nadzieję, że wykonanie pewnych kroków zapewni niezawodną metodę aktualizacji do nowej wersji. Czy to zbyt optymistyczne?
Steven C. Howell,
Nie. Całkowicie możliwe. 1 rzecz, którą możesz wziąć pod uwagę: 16.04 używa „systemd”. Tak więc uruchomienie wszystkich usług uległo zmianie.
Rinzwind
Więc jakie kroki prowadzą do poprawy wyników podczas do-release-upgradeaktualizacji Ubuntu do następnej wersji LTS?
Steven C. Howell,
Chociaż ta odpowiedź zawiera solidne porady, które z mojego doświadczenia są bezpiecznym sposobem aktualizacji, nie zawiera informacji na temat korzystania z wbudowanej opcji aktualizacji wersji. To chcę lepiej zrozumieć.
Steven C. Howell,
Niestety, „lepsze wyniki przy korzystaniu z aktualizacji do-release” w porównaniu do czego?
Rinzwind
2

Zrobiłbym kopię zapasową obrazu („dd” w systemie Linux Live) stacji roboczej i przekonwertował ją na maszynę wirtualną VirtualBox. (Obraz RAW do VDI). Następnie wykonaj snap i uruchom ten obraz w VB. Zagraj na wszystkich etapach aktualizacji. Jeśli coś nie działa, cofnij. Po zmodernizowanym systemie możesz przekonwertować VDI z powrotem na raw i „dd” go do swojego systemu lub odtworzyć run-book.
Ale zawsze wykonaj ostatnią kopię zapasową obrazu „dd” przed zastąpieniem starego systemu.
Wolę uruchamiać swoje systemy z napędu USB Thumb, więc instalacja systemu odbywa się za pomocą „VDI -> RAW -> USB Tumb-Drive” i rozruch z uaktualnionego / zainstalowanego systemu. gotowy. Dobra, straciłeś jeden port USB, ale nigdy nie będziesz się stresować i zawsze możesz łatwo wykonać kopię zapasową systemu.

0x0C4
źródło
1

Oto odmiana odpowiedzi @ rinzwind, która może współpracować z posiadanym sprzętem.

Jeśli masz (lub możesz zwolnić) wystarczającą ilość wolnego miejsca na wewnętrznych dyskach, możesz utworzyć 2 nowe partycje (używając czegoś takiego jak gparted z dystrybucji CD / USB na żywo) i skopiować root (/) na jedną z nich i / home do drugiego i oznacz je jako root2 i home2, aby łatwo je było znaleźć.

Jeśli root i home znajdują się na tej samej partycji, możesz to po prostu skopiować, ale jest o wiele ładniejsze z wielu powodów, jeśli są oddzielne.

Musisz wskazać nowy katalog główny na nowy / home, edytując zmiany /etc/fstabna nowej partycji root (aktualizując UUID nowych partycji / home i root).

Dostajesz je, robiąc i ls -l /dev/disk/by-labelznajdując urządzenia, na których obecnie jest włączony nowy root i home, a następnie biegając, ls -l /dev/disk/by-uuidaby przejść z nazw urządzeń do Uuids.

Następnie zaktualizuj grub (z systemu produkcyjnego) za pomocą czegoś takiego jak grub-customizer, aby dodać nowy katalog główny do menu grub.

Teraz będziesz mieć dokładną kopię swojego systemu na tych partycjach. Możesz uruchomić aktualizację na tej kopii i nadal mieć nienaruszoną wersję produkcyjną. Możesz uruchomić się na dowolnym, nad którym chcesz pracować.

Po zakończeniu aktualizacji możesz po prostu powiedzieć grubowi, że kopia jest aktywna (pozycja domyślna) i że oryginał jest teraz kopią zapasową. grub-customizer sprawia, że ​​robienie takich rzeczy jest dość łatwe.

Jeśli masz za dużo danych w katalogu / home lub root (co powoduje, że są zbyt duże, aby je zduplikować), najpierw umieść je na własnej partycji (koniecznie poinformuj programy, które uzyskują do niego dostęp, o przeniesieniu). Nie trzeba go duplikować - wystarczy wykonać kopię zapasową.

To również znacznie ułatwia tworzenie kopii zapasowych danych, ponieważ nie są one już mieszane z elementami systemowymi.

Dzięki drugiemu zestawowi partycji „testowych” możesz teraz wypróbować różne rzeczy, których nie chciałbyś ryzykować w systemie, na którym polegasz w codziennej pracy.

Obecnie używam Kubuntu 12.04 w ten sposób z 16.04 na moich partycjach „programistycznych”, dopóki nie skonfiguruję go tak, jak tego chcę.

Przy tak niskich cenach dysków twardych możesz nawet skopiować istniejący dysk wewnętrzny na nowy, większy i użyć go w razie potrzeby - jeśli Twoja firma na to pozwoli.

Ta odpowiedź obejmuje wszystkie główne szczegóły, jak to zrobić. Nie próbowałem opisywać każdego drobnego szczegółu każdego kroku. Ale ponieważ pracujesz z kopią wszystkiego, nie powinno być żadnych poważnych problemów, a wszystko inne zostało już omówione gdzieś tutaj na stackexchange.

Joe
źródło
0

Chociaż nie dotyczy to konkretnego przypadku, jeśli system Ubuntu jest maszyną wirtualną, można obejść ten problem, wykonując migawkę przed aktualizacją i cofaniem, jeśli nie działa.

Kiedyś zaktualizowałem jedną z moich maszyn wirtualnych i chociaż aktualizacja zakończyła się niepowodzeniem i podobno została wycofana, nie dostałem czystego / funkcjonalnego systemu.

Odpowiedź @ Rinzwind działa również z maszynami wirtualnymi: utwórz nową maszynę wirtualną, zainstaluj na niej nową wersję Ubuntu i rozpocznij kopiowanie.

ashes999
źródło