• Grub, pygrub, xen i aktualizacja menu.lst

    dodany przez Przemysław Sikora

    Nie wiem jak Wy, ale ja miałem problem na swoich wirtualkach opartych o XEN z aktualizacją pliku /boot/grub/menu.lst. Po każdorazowej aktualizacji kernela, musiałem ręcznie go dopisywać do konfigu. Niby nie robi się tego codziennie, ale była to pewna niedogodność. PyGrub jest bardzo wygodnym rozwiązaniem pod warunkiem, że działa prawidłowo w różnych konfiguracjach. Poniżej użyłem polecenia, które wyświetla jakie skrypty wykonują się tuż po instalacji danego pakietu (w tym przypadku kernela).

     rpm -q --scripts kernel | less 

    postinstall scriptlet (using /bin/sh):

    /usr/sbin/new-kernel-pkg –package kernel –install 3.10.0-327.36.3.el7.x86_64 || exit $?
    preuninstall scriptlet (using /bin/sh):
    /usr/sbin/new-kernel-pkg –rminitrd –rmmoddep –remove 3.10.0-327.36.3.el7.x86_64 || exit $?
    if [ -x /usr/sbin/weak-modules ]
    then
    /usr/sbin/weak-modules –remove-kernel 3.10.0-327.36.3.el7.x86_64 || exit $?
    fi
    posttrans scriptlet (using /bin/sh):
    if [ -x /usr/sbin/weak-modules ]
    then
    /usr/sbin/weak-modules –add-kernel 3.10.0-327.36.3.el7.x86_64 || exit $?
    fi
    /usr/sbin/new-kernel-pkg –package kernel –mkinitrd –dracut –depmod –update 3.10.0-327.36.3.el7.x86_64 || exit $?
    /usr/sbin/new-kernel-pkg –package kernel –rpmposttrans 3.10.0-327.36.3.el7.x86_64 || exit $?
    postinstall scriptlet (using /bin/sh):

    /usr/sbin/new-kernel-pkg –package kernel –install 3.10.0-514.6.2.el7.x86_64 || exit $?
    preuninstall scriptlet (using /bin/sh):
    /usr/sbin/new-kernel-pkg –rminitrd –rmmoddep –remove 3.10.0-514.6.2.el7.x86_64 || exit $?
    if [ -x /usr/sbin/weak-modules ]
    then
    /usr/sbin/weak-modules –remove-kernel 3.10.0-514.6.2.el7.x86_64 || exit $?
    fi
    posttrans scriptlet (using /bin/sh):
    if [ -x /usr/sbin/weak-modules ]
    then
    /usr/sbin/weak-modules –add-kernel 3.10.0-514.6.2.el7.x86_64 || exit $?
    fi
    /usr/sbin/new-kernel-pkg –package kernel –mkinitrd –dracut –depmod –update 3.10.0-514.6.2.el7.x86_64 || exit $?
    /usr/sbin/new-kernel-pkg –package kernel –rpmposttrans 3.10.0-514.6.2.el7.x86_64 || exit $?
    postinstall scriptlet (using /bin/sh):

    /usr/sbin/new-kernel-pkg –package kernel –install 3.10.0-514.6.1.el7.x86_64 || exit $?
    preuninstall scriptlet (using /bin/sh):
    /usr/sbin/new-kernel-pkg –rminitrd –rmmoddep –remove 3.10.0-514.6.1.el7.x86_64 || exit $?
    if [ -x /usr/sbin/weak-modules ]
    then
    /usr/sbin/weak-modules –remove-kernel 3.10.0-514.6.1.el7.x86_64 || exit $?
    fi
    posttrans scriptlet (using /bin/sh):
    if [ -x /usr/sbin/weak-modules ]
    then
    /usr/sbin/weak-modules –add-kernel 3.10.0-514.6.1.el7.x86_64 || exit $?
    fi
    /usr/sbin/new-kernel-pkg –package kernel –mkinitrd –dracut –depmod –update 3.10.0-514.6.1.el7.x86_64 || exit $?
    /usr/sbin/new-kernel-pkg –package kernel –rpmposttrans 3.10.0-514.6.1.el7.x86_64 || exit $?
    postinstall scriptlet (using /bin/sh):

    /usr/sbin/new-kernel-pkg –package kernel –install 3.10.0-514.2.2.el7.x86_64 || exit $?
    preuninstall scriptlet (using /bin/sh):
    /usr/sbin/new-kernel-pkg –rminitrd –rmmoddep –remove 3.10.0-514.2.2.el7.x86_64 || exit $?
    if [ -x /usr/sbin/weak-modules ]
    then
    /usr/sbin/weak-modules –remove-kernel 3.10.0-514.2.2.el7.x86_64 || exit $?
    fi
    posttrans scriptlet (using /bin/sh):
    if [ -x /usr/sbin/weak-modules ]
    then
    /usr/sbin/weak-modules –add-kernel 3.10.0-514.2.2.el7.x86_64 || exit $?
    fi
    /usr/sbin/new-kernel-pkg –package kernel –mkinitrd –dracut –depmod –update 3.10.0-514.2.2.el7.x86_64 || exit $?
    /usr/sbin/new-kernel-pkg –package kernel –rpmposttrans 3.10.0-514.2.2.el7.x86_64 || exit $?
    postinstall scriptlet (using /bin/sh):

    /usr/sbin/new-kernel-pkg –package kernel –install 3.10.0-514.10.2.el7.x86_64 || exit $?
    preuninstall scriptlet (using /bin/sh):
    /usr/sbin/new-kernel-pkg –rminitrd –rmmoddep –remove 3.10.0-514.10.2.el7.x86_64 || exit $?
    if [ -x /usr/sbin/weak-modules ]
    then
    /usr/sbin/weak-modules –remove-kernel 3.10.0-514.10.2.el7.x86_64 || exit $?
    fi
    posttrans scriptlet (using /bin/sh):
    if [ -x /usr/sbin/weak-modules ]
    then
    /usr/sbin/weak-modules –add-kernel 3.10.0-514.10.2.el7.x86_64 || exit $?
    fi
    /usr/sbin/new-kernel-pkg –package kernel –mkinitrd –dracut –depmod –update 3.10.0-514.10.2.el7.x86_64 || exit $?
    /usr/sbin/new-kernel-pkg –package kernel –rpmposttrans 3.10.0-514.10.2.el7.x86_64 || exit $?

    Z powyższego „ekranu” wyjściowego wyłuskałem polecenie „/usr/sbin/new-kernel-pkg -v –package kernel –install 3.10.0-123.4.2.el7.x86_64”

    Poniżej wynik wydania tego polecenia:

    initrdfile is /boot/initrd-3.10.0-123.4.2.el7.x86_64.img
    making it the default based on config
    /etc/grub.conf does not exist, not running grubby for grub 0.97
    /etc/grub2.cfg does not exist, not running grubby for grub 2
    /etc/grub2-efi.cfg does not exist, not running grubby for grub 2 with UEFI
    /etc/lilo.conf does not exist, not running grubby
    /etc/extlinux.conf does not exist, not running grubby for extlinux

    Wynika z niego, że brakuje nam pliku „/etc/grub.conf”, aby temu zaradzić wydajemy polecenie:

    ln -s /boot/grub/menu.lst /etc/grub.conf

    Sprawdzamy poleceniem „ls /etc/” i powinniśmy zobaczyć coś zblizonego do tego:
    lrwxrwxrwx 1 root root 19 03-23 17:10 grub.conf -> /boot/grub/menu.lst

    Teraz wydajemy poprzednią komendę i widzimy:
    initrdfile is /boot/initrd-3.10.0-123.4.2.el7.x86_64.img
    making it the default based on config
    adding 3.10.0-123.4.2.el7.x86_64 to /boot/grub/menu.lst
    - Making a normal entry.
    /etc/grub2.cfg does not exist, not running grubby for grub 2
    /etc/grub2-efi.cfg does not exist, not running grubby for grub 2 with UEFI
    /etc/lilo.conf does not exist, not running grubby
    /etc/extlinux.conf does not exist, not running grubby for extlinux

    Wszystko się udało. To by było na tyle 🙂

Komentarze do “Grub, pygrub, xen i aktualizacja menu.lst”

  1. michas100 pisze:

    To jest CentOS 7?

Dodaj komentarz

Warto odwiedzić
Valid XHTML 1.0 Transitional centos.com.pl- mapa strony