Portál AbcLinuxu, 2. listopadu 2025 10:52
Řešení dotazu:
Tady a funguje i Google.To nedaří se mi najít znamenalo, že jsem prošel položku Setting default entry na webu fedory (první odkaz z toho googlovského seznamu). Nastavil si podle ní boot na staré jádro a po restartu byla implicitní volba zase špatně. A také další pokusy z toho seznamu v googlu (protože přesně stejně jsem se do googlu prvním dotazem ptal), které upravovaly grub2 "korektně" tedy "opatrnými" zásahy do
/etc/default/* /etc/grub.d/* nebo příkazy a ne napřímo zásahy do podadresářů /boot/grub/, dopadly neúspěšně. Takže možná zkusím zásah přímo do /boot/grub2/grub.cfg
Jen pro upřesnění: Fedora má v /etc/default/grub položku
GRUB_DEFAULT=saveda ne číslo položky, a také příkazy
grub2-set-default <položka starého jádra> grub2-editenv listmě nastavily a vypsaly správně, co jsem chtěl, aby bylo bylo prioritní, ale po rebootu nebylo. Co se stane, když vyměním
saved za 1 nevím, možná by to bootlo, tak jak chci. Ale také si říkám, že tohle mi stejně přepíše grubby a
jen si říkám, že pokud musím ručně zasáhnout do /boot/grub2/grub.cfg a po aktualizaci jádra se mi to smaže, tak je to stejná práce, jako bych musel zasahovat po každé aktualizaci jádra kdekoliv jinde třeba v /etc/default/grub.
Systém není můj, je pro dceru a hledám, jak jej mít stabilní bez zbytečně častých zásahů z mé strany. Pokud ona provede aktualizaci a systém se jí rozbije není to dobře.
Jak se ve fedoře udělá zákaz aktualizace nějakých balíků, konkrétně kernelu?
update-grub nemá. Má příkaz grub2-mkconfig -o /boot/grub2/grub.cfg, kterým aktualizuje grub.cfg. Já jsem navíc do /etc/default/grub nezasahoval. V tom uvedeném popisu se navíc grub2-set-default použije až po vygenerování grub.cfg
grub2-set-default a po kontrole uloží položku do grubenv jako saved-entry a také grub.cfg který jsem začátek přiložil
if [ -s $prefix/grubenv ]; then
load_env
fi
set default="0"
if [ x"${feature_menuentry_id}" = xy ]; then
menuentry_id_option="--id"
else
menuentry_id_option=""
fi
export menuentry_id_option
if [ "${prev_saved_entry}" ]; then
set saved_entry="${prev_saved_entry}"
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi
function savedefault {
if [ -z "${boot_once}" ]; then
saved_entry="${chosen}"
save_env saved_entry
fi
}
je vidět naplnění parametru default na hodnotu 0, ale nikde dál není žádné další přiřazení set default takže i když skript cvičí s saved_entry tak to nikde nepoužije. Myslím že ve fedoře to generování mají blbě.
Takže jak v "yumu" zablokuji aktualizace kernelu?
set default="0" na set default="1" problém vyřešilo, ale je zcela evidentní, že je to nesystémový zásah, a fedora to standardně "uživatelsky konfortně" neřeší.
/boot/grub/grub2/grub.cfg (umiestnenie sa môže v distribúciách trocha líšiť) v sekcii ### BEGIN /etc/grub.d/10_linux ### ručne presunúť žiadanú položku (s tým novým jadrom)
menuentry 'nazov' ...parametre.. {
bla
bla
}
celkom hore na začiatok tejto sekcie, čiže rovno pod ten riadok ### BEGIN /etc/grub.d/10_linux ###
Tento súbor grub.cfg sa nemá upravovať ručne, ale ešte som nikdy nenarazil na problém.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.