Определите, требуется ли перезагрузка, чтобы обновлять ядро?

Если у Вас есть 2 различных hosts файл, можно просто запланировать задание крона для перезаписи файла в /etc в определенный час в течение дня.

6
19.06.2013, 19:25
2 ответа

Можно попробовать следующий сценарий удара из этого ответа от ServerFault.

#!/bin/bash
LAST_KERNEL=$(rpm -q --last kernel | perl -pe 's/^kernel-(\S+).*/$1/' | head -1)
CURRENT_KERNEL=$(uname -r)

test $LAST_KERNEL = $CURRENT_KERNEL || echo REBOOT
9
27.01.2020, 20:24
  • 1
    как ответ - хороший, но как решение - нет, это возвратится, ПЕРЕЗАГРУЗКА в случае пользовательского ядра устанавливала/компилировала, ядро не установлено, и другой об/мин называет ошибки. –  ADM 13.07.2014, 13:02
  • 2
    Если пакет обновлен, который потребовал обновления в initrd, перезагрузка требуется, но это - та же версия ядра. –  hschou 17.02.2017, 00:02

В первую очередь, мы распечатываем рабочую версию ядра:

# uname -r 
2.6.32-71.29.1.el6.i686

Ok, we have to patch:

# yum update kernel*

Grab the kexec tools:

# yum install kexec-tools

Now we get last installed kernel version release and put it on a var:

# latestkernel=`ls -t /boot/vmlinuz-* | sed "s/\/boot\/vmlinuz-//g" | head -n1` 

# echo $latestkernel 
2.6.32-220.4.1.el6.i686

Now we need to load the new kernel version in memory:

# kexec -l /boot/vmlinuz-${latestkernel} --initrd=/boot/initramfs-${latestkernel}.img --append="`cat /proc/cmdline`"

Finally, we can issue a reset:

# kexec -e

..and.. wow, we lost the system! ..Well, not exactly.

The system will “restart without restarting”..something like a fast reboot, without performing BIOS checks (and you know how long can a full system restart last).

# uname -r
2.6.32-220.4.1.el6.i686

Это работало!

  • Знайте, что сброс ядра выполнит сброс соединения также, вместе со сбросом Вашего времени работы, поэтому при поиске чего-то для предоставления записи времени работы, в то время как безопасность, исправляющая, ну, в общем, это, не для Вас.
2
27.01.2020, 20:24
  • 1
    я должен был отметить, что это - OpenVZ VPS и поэтому/boot/vmlinuz, не существует. Там должен так или иначе обойти это? –  ub3rst4r 19.06.2013, 19:20
  • 2
    В Этом вопросе можно лучше ответить, Спрашивает Ubuntu. –  Ashish 20.06.2013, 10:30

Теги

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