Właśnie próbowałem zrobić sudo do_release_upgrade
na serwerze AWS EC2 Ubuntu 13.10, aby zaktualizować do wersji 14.04. Wszystko szło dobrze, dopóki nie dostałem następującej wiadomości:
A new version of /boot/grub/menu.lst is available, but the version installed currently has been locally modified. What would you like to do about menu.lst? * install the package maintainer's version * keep the local version currently installed * show the differences between the versions * show a side-by-side difference between the versions * show a 3-way difference between available versions * do a 3-way merge between available versions (experimental) * start a new shell to examine the situation <Ok>
Na pewno nie zmodyfikowałem menu.lst, więc zakładam, że lokalne modyfikacje robią Amazon. Zamierzam skorzystać z opcji „zachowaj zainstalowaną wersję lokalną” i mam nadzieję na najlepsze.
Ale dlaczego otrzymuję tę wiadomość i czy jest to właściwy sposób, aby sobie z nią poradzić?
ubuntu
amazon-ec2
upgrade
Mark Amery
źródło
źródło
Odpowiedzi:
Ten problem może być spowodowany szeregiem różnych problemów, więc nie ma jednego rozwiązania. Te kroki powinny działać na EC2.
Źródło:
Przyczyną tego problemu jest lokalny i zdalny konflikt zmian w starszej konfiguracji Grub . Grub starsze i Grub2 używają różnych lokalizacji konfiguracji:
/boot/grub/menu.lst
/boot/grub/grub.cfg
Przyczyny:
Prawdopodobnie używasz AMI wspieranego przez Amazon EBS. Instancje konstruują swój główny system plików z gotowego obrazu podstawowego (migawki). Konfiguracja GRUB jest zapisana w migawce, ale rejestr UCF nie jest poprawnie czyszczony. Oznacza to, że masz migawkę, która uważa, że
menu.lst
konfiguracja została lokalnie zmodyfikowana. Więcej informacji można znaleźć tutaj: https://bugs.launchpad.net/ubuntu/+source/cloud-init/+bug/1485685Dlaczego ubuntu używa UCF dla gruba wyjaśniono tutaj: https://askubuntu.com/a/147079
Rozwiązania):
Jednym z ogólnych rozwiązań, które działa, jest usunięcie menu.list i jego ponowna konfiguracja. Zapewnia to, że wpis rejestru i plik konfiguracyjny ucf są przetwarzane na ten sam skrót.
Drugim rozwiązaniem jest modyfikacja konfiguracji UCF, aby automatycznie akceptować zmiany opiekuna
Zrzeczenie się:
Ten problem jest bardzo szeroki i przypadki użycia wpłyną na wymagane rozwiązanie. Jeśli to możliwe, zdecydowanie zaleca się aktualizację do grub2. Grub2 można skonfigurować bez modyfikowania plików systemowych.
Istnieje również mnóstwo różnych rozwiązań i raporty problemów otwierane w trackerze ubuntu. Chciałbym połączyć się z nimi wszystkimi, ale nie mam przedstawiciela.
Powodzenia :)
źródło
Moja wersja tego pytania brzmi: „Mam automatyczne aktualizacje jądra w ec2, a ostatnio to zrobiłem
apt-get autoremove -y
. Nawet po tym, jaksudo update-grub
widzę tylko3.13.0-48
wymienione na liście/boot/grub/menu.lst
zainstalowanych jąder, ale nie ma ich.Moja odpowiedź: „Prawdopodobnie nie wkręca się. W innych systemach Ubuntu.
menu.lst
Nawet nie istnieje iupdate-grub
wydaje się, że wprowadza konfigurację/boot/grub/grub.cfg
. Domyślam się, żemenu.lst
jest to jakiś dziwny artefakt z Ubuntu AMI EC2, lub niektóre wchodzące w interakcje z pakowaniem lub lokalnym zarządzaniem konfiguracją. „źródło
Osobiście chciałbym „pokazać różnicę między wersjami”, dokładnie zanotować zmiany, a następnie poeksperymentować z nowymi różnicami w „rozwojowej” instancji AWS. Gdybym był bardzo ostrożny, po prostu przeczytałbym stronę podręcznika użytkownika dotyczącą omawianych zmian (mogą one nie dotyczyć menu.lst, ale niektóre inne oprogramowanie, takie jak jądro lub cholera, cokolwiek naprawdę), aby dowiedzieć się dokładnie, co się zmienia .
Alternatywnie możesz sklonować tę maszynę wirtualną, wykonać aktualizację, zobaczyć, co się stanie, a jeśli to się nie powiedzie, nuke nowej maszyny wirtualnej i ponownie rozpocząć proces z innym wyborem. Maszyny wirtualne są świetne tylko z tego powodu.
źródło
Właśnie natrafiłem na ten sam „problem” z VPS z OVH.
W moim przypadku (i wielu innych, które znalazłem podczas Google), jedynymi zmianami były białe spacje.
Skąd pochodzą, nie wiem, ale jeśli wybierzesz,
show the differences between the versions
a odpowiedź brzmi:No non whitespace changes detected
weź wersję opiekuna.źródło
Twój wybór
następnie
lub
W każdym razie teraz możesz biegać
źródło