Эквивалентный из личинки обновления для RHEL/Fedora/CentOS систем?

Некоторые изменения недавно произошли с этими драйверами. Попытайтесь поместить встроенное микропрограммное обеспечение bcm43xx-0.fw в/lib/firmware/brcm, если они уже не присутствуют там (возможно, использующий символьные ссылки). Попробуйте затем modprobe brcmsmac.

Или можно ожидать следующего системного обновления, которое, надо надеяться, зафиксирует путаницу отдельно.

40
25.11.2014, 04:39
8 ответов

Конкретные действия, которые необходимо предпринять при установке или удалении пакета RPM, включены в сам пакет RPM в секциях перед установкой, после установки, перед деинсталляцией и после деинсталляции.

Для каждого установленного RPM-пакета можно запросить в базе данных RPM точные сценарии, которые включены в команду rpm:

rpm -q --scripts <package-name>

Выполнение этой команды на пакете ядра для CentOS 6 возвращает, среди прочего:

postinstall scriptlet (using /bin/sh):
<snip>
/sbin/new-kernel-pkg --package kernel --install 2.6.32-431.17.1.el6.x86_64 || exit $?

Из руководства:

new-kernel-package - инструмент для написания сценария установки ядра

14
27.01.2020, 19:35

После анализа скриптов на Fedora я понял, что путь к конфигурационному файлу читается из symlink /etc/grub2.conf. Таким образом, правильная строка grub2-mkconfig:

grub2-mkconfig -o "$(readlink -e /etc/grub2.conf)"

Как отмечено в комментариях, это может быть /etc/grub2.cfg, или /etc/grub2-efi.cfg на системе UEFI. На самом деле, оба звена могут присутствовать одновременно и указывают на различные местоположения. Флаг -e на readlink выдаст ошибку, если целевого файла не существует, но в моей системе оба существовали.... Проверьте ваши команды.

27
27.01.2020, 19:35

отредактируйте файл grub с помощью vi или vim , сохраните изменения и закройте редактор с помощью: wq!

Это то, что вам нужно запустить для обновления grub в RedHat или CentOS:

grub2-mkconfig -o /boot/grub2/grub.cfg
2
27.01.2020, 19:35

На Fedora я использую:

grub2-mkconfig -o "$(readlink -e /etc/grub2.cfg)"

потому что выполнение без опции readlink возвращает относительный путь, а grub2-mkconfig дает ошибку:

$ ls -l /etc/grub2.cfg
lrwxrwxrwx. 1 root root 22 Dec 10  2015 /etc/grub2.cfg -> ../boot/grub2/grub.cfg

$ readlink /etc/grub2.cfg
../boot/grub2/grub.cfg

$ sudo grub2-mkconfig -o "$(readlink /etc/grub2.cfg)"
/usr/sbin/grub2-mkconfig: line 244: ../boot/grub2/grub.cfg.new: No such file or directory

Я использую опцию -e, чтобы если симлинк не разрешается в существующий файл, вывод отображался на stdout, чтобы я знал, что что-то пошло не так.

Из man-страницы для readlink:

      -e, --canonicalize-existing
          canonicalize  by  following  every symlink in every component of
          the given name recursively, all components must exist
10
27.01.2020, 19:35

Скрипт update-grub в Ubuntu на самом деле просто заглушка для grub-mkconfig , и его можно адаптировать на другие дистрибутивы без особых проблем. Вот он полностью:

#!/bin/sh
set -e
exec grub-mkconfig -o /boot/grub/grub.cfg "$@"

Это эффективно делает то, что рекомендуется в вики CentOS, и в других ответах здесь — единственная разница в том, что вам нужно изменить grub на grub2 в команде и пути вывода.

2
27.01.2020, 19:35

Worked on CentOS Linux 8 -

sudo grub2-mkconfig --output=/boot/grub2/grub.cfg

My Demo

0
17.03.2020, 14:38

В Руководстве Fedora 33 после изменения Grub выдается следующее

$ sudo grub2-mkconfig --output=/boot/grub2/grub.cfg

И да, я знаю, что этому посту 6 лет

2
28.01.2021, 23:41

Спецификация загрузчика и blscfg в Grub

If not, how do the system knows where is the grub configuration file to update when a new kernel version is installed?

Еще несколько часов назад я понимал, как все работает с Grub. Система Oracle Linux 8.4 только что научила меня чему-то новому. Я был немного раздражен, глядя на «пустой» раздел, где я ожидал найти конфигурацию, формирующую список загрузочных записей. Я наткнулся на blscfg и нашел эту статью:https://fedoraproject.org/wiki/Changes/BootLoaderSpecByDefault

Ответ HBruijn имеет гораздо больше смысла в этом контексте, даже если раньше он был верным.

Теперь у вас есть grub.cfg, который может читать файлы BLS, и вам не нужно прикасаться к grub.cfg для каждого обновления ядра. Что здорово, с моей точки зрения.

Еще одна попытка grub -mkconfig

Поскольку здесь было опубликовано много ответов из разных систем и конфигураций, давайте в последний раз попробуем это с регулярным выражением.

# Search for exsting grub configuration file symbolic link in /etc.
# This should only yield one path.
grub_cfg="$(find "/etc" -maxdepth=1 -regextype posix-egrep \
 -regex "/etc/grub2((|-efi).cfg|.conf)")"

# Resolve symbolic link and generate new grub configuration 
sudo grub2-mkconfig -o "$(sudo readlink -e $grub_cfg)"
0
26.08.2021, 14:30

Теги

Похожие вопросы