Nach jedem Kernel-Update muss ich update-burg
manuell ausführen . Wie mache ich es automatisch?
Eine andere Methode für Sie ist das Bearbeiten /etc/kernel-img.conf
do_symlinks = yes
relative_links = yes
do_bootloader = no
do_bootfloppy = no
do_initrd = yes
link_in_boot = no
postinst_hook = update-burg
postrm_hook = update-burg
Von: https://bugs.launchpad.net/burg/+bug/594431 (ein Fehlerbericht spiegelt Ihre Erfahrung wider)
Dies kann in ähnlicher Weise durch Updates gelöscht werden, aber wie es ist /etc/
, sollten Sie (glaube ich) eine Aufforderung erhalten, Ihre vorhandene Konfiguration beizubehalten, wenn ein Update eintritt.
Wie die Leute im Bug weiter sagen, ist dies immer noch nicht ideal, da es jede Möglichkeit gibt, dass jemand sowohl Burg als auch Grub ausführen oder zumindest die beiden synchron halten möchte.
Sie könnten noch einen Schritt weiter gehen und ein neues Skript wie das folgende schreiben:
#!/bin/sh
set -e
exec update-grub "$@"
exec update-burg "$@"
Speichern Sie es wie /usr/sbin/update-bootloaders
, chmod +x
es, und dann steckt update-bootloaders
in /etc/kernel-img.conf
anstelle von update-grub
oder update-burg
.
Ich denke, auf lange Sicht muss ein alternatives
System für verschiedene Bootloader eingerichtet werden, wie es für Java, Audio und andere austauschbare Subsysteme existiert.
Wird normalerweise
update-grub
angerufen. Dies ist nur etwas, was passiert. Das System erwartet, dass grub der Bootloader ist. Angenommen, Sie werden grub nie wieder verwenden, können Sie Folgendes tun:Dies bewegt sich
update-grub
aus dem Weg und erzeugt an seiner Stelle einen Symlink, der tatsächlich ausgeführt wirdupdate-burg
. Wenn also ein neuer Kernel installiert wird, ruft er auf,update-grub
welcher tatsächlich istupdate-burg
.Hacky, aber es sollte funktionieren.
Umkehren:
quelle
Wenn Sie die Gewohnheit haben
sudo apt-get upgrade
, Ihre Pakete und Kernel zu aktualisieren, löst das folgende Skript Ihr Problem und ist zu 100% resistent gegen Aktualisierungen:Speichern ist als Textdatei apgrade.sh und markieren Sie es als ausführbar. Dieses Skript führt jedes mögliche Update durch, prüft, ob sich die Kernelliste geändert hat, und aktualisiert burg, falls dies der Fall ist. Ich benutze es seit 10.04 (an einen Alias gebunden) und keine Updates haben es bisher kaputt gemacht.
Wenn Sie Ihre Aktualisierungen jedoch manuell über synaptisch durchführen möchten, ist die Methode von Oli möglicherweise besser.
quelle
~/bin
(und die .sh-Erweiterung entfernen), wenn Sie es als ausführen möchtenaupgrade
.Vielen Dank!
Ich habe ein Skript erstellt, das auf den hilfreichsten / am besten bewerteten Informationen basiert, die hier bereitgestellt werden. Eine subtile Änderung besteht darin, dass die ausführbaren Dateien des Bootloaders nicht mehr ausgeführt werden (wie im Fall von Grub, das beendet wird; daher werden die Skript-Exits und andere Loader nicht ausgeführt (@ Ubuntu11)).
Das Skript kann für mehrere Bootloader konfiguriert werden .. (wenn die ausführbare Datei
update-name
und in ist/usr/sbin
;-).Es könnte erweitert werden, um ausführbare Aktualisierungsdateien zuzulassen, die dies nicht sind
update-name
. Verwenden Sie dazu möglicherweisename:exec
Werte in der Konfigurationsvariablen des Bootloaders und teilen Sie die Variable auf. Ändern Sie dann den Ausführungsbefehl entsprechend (wahrscheinlich müsste eine andere Sprache verwendet werden, damit dies elegant ist).quelle