Ich habe gerade versucht, sudo do_release_upgrade
auf einem AWS EC2 Ubuntu 13.10-Server ein Upgrade auf 14.04 durchzuführen. Alles lief gut, bis ich die folgende Nachricht erhielt:
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>
Ich habe menu.lst mit Sicherheit nicht geändert, daher gehe ich davon aus, dass die lokalen Änderungen von Amazon vorgenommen werden. Ich werde die Option "Aktuelle lokale Version beibehalten" aktivieren und auf das Beste hoffen.
Aber warum erhalte ich diese Nachricht und wie gehe ich richtig damit um?
ubuntu
amazon-ec2
upgrade
Mark Amery
quelle
quelle
Antworten:
Dieses Problem kann durch eine Reihe verschiedener Probleme verursacht werden, sodass es keine einzige Lösung gibt. Diese Schritte sollten auf EC2 funktionieren.
Quelle:
Das Problem wird durch einen lokalen und Remote-Änderungskonflikt in der Grub- Legacy-Konfiguration verursacht. Grub Legacy und Grub2 verwenden unterschiedliche Konfigurationspfade:
/boot/grub/menu.lst
/boot/grub/grub.cfg
Ursachen:
Sie verwenden wahrscheinlich ein von Amazon EBS unterstütztes AMI. Instanzen erstellen ihr Root-Dateisystem aus einem vorgefertigten Basisimage (Snapshot). Die Grub-Konfiguration wird in den Snapshot geschrieben, die UCF-Registrierung wird jedoch nicht ordnungsgemäß gelöscht. Dies bedeutet, dass Sie einen Snapshot haben, der denkt, dass die
menu.lst
Konfiguration lokal geändert wurde. Weitere Informationen finden Sie hier: https://bugs.launchpad.net/ubuntu/+source/cloud-init/+bug/1485685Warum Ubuntu UCF für Grub verwendet, erfahren Sie hier: https://askubuntu.com/a/147079
Lösung (en):
Eine allgemeine Lösung, die funktioniert, besteht darin, menu.list zu entfernen und neu zu konfigurieren. Dadurch wird sichergestellt, dass der ucf-Registrierungseintrag und die Konfigurationsdatei in denselben Hash aufgelöst werden.
Eine zweite Lösung besteht darin, die UCF-Konfiguration so zu ändern, dass die Änderungen des Betreuers automatisch akzeptiert werden
Haftungsausschluss:
Dieses Problem ist sehr umfassend und Anwendungsfälle wirken sich auf die erforderliche Lösung aus. Wenn möglich, wird dringend empfohlen, ein Upgrade auf grub2 durchzuführen. Grub2 kann ohne Änderung der Systemdateien konfiguriert werden.
Darüber hinaus werden unzählige verschiedene Lösungen angeboten und im Ubuntu-Tracker werden Fehlerberichte geöffnet. Ich würde gerne auf alle verlinken, aber keinen Repräsentanten haben.
Viel Glück :)
quelle
Meine Version dieser Frage lautet: "Ich habe automatische Kernel-Upgrades auf ec2 und habe dies kürzlich getan
apt-get autoremove -y
. Auch wennsudo update-grub
ich nur3.13.0-48
die in,/boot/grub/menu.lst
aber nicht die in den installierten Kerneln aufgelisteten Kernel sehe . Wie verschraubt bin ich?"Meine Antwort: "Wahrscheinlich nicht verschraubt. Auf anderen Ubuntu-Systemen.
menu.lst
Gibt es noch nicht einmal undupdate-grub
scheint stattdessen die Konfiguration/boot/grub/grub.cfg
einzubauen. Ich vermute, dass diesmenu.lst
ein seltsames Artefakt von EC2s Ubuntu AMI ist, oder ein anderes, das mit dem Packen oder der lokalen Konfigurationsverwaltung interagiert. "quelle
Persönlich würde ich an Ihrer Stelle "den Unterschied zwischen den Versionen zeigen", die Änderungen sorgfältig notieren und dann mit den neuen Unterschieden in einer AWS-Instanz "Entwicklung" experimentieren. Wenn ich besonders vorsichtig wäre, würde ich einfach die Manpage für die fraglichen Änderungen lesen (möglicherweise nicht für menu.lst, sondern für eine andere Software wie den Kernel oder was auch immer), um genau herauszufinden, was sich ändert .
Alternativ können Sie diese virtuelle Maschine klonen, das Upgrade durchführen und sehen, was passiert. Wenn dies fehlschlägt, können Sie die neue VM mit einem Nuke versehen und den Vorgang mit einer anderen Auswahl erneut starten. Virtuelle Maschinen sind schon aus diesem Grund großartig.
quelle
Ich bin gerade auf das gleiche "Problem" mit einem VPS von OVH gestoßen.
In meinem Fall (und vielen anderen, die ich beim Googeln gefunden habe) waren die einzigen Änderungen Leerzeichen.
Woher sie kommen, weiß ich nicht, aber wenn Sie auswählen
show the differences between the versions
und die Antwort lautet,No non whitespace changes detected
nehmen Sie einfach die Betreuer-Version.quelle
Deine Entscheidung
dann
oder
Wie auch immer, jetzt kannst du rennen
quelle