Portál AbcLinuxu, 14. května 2025 08:31
Ř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.