Я использую сервер CentOS / RHEL 6/7/8.

Как мне проверить из командной строки, требуется ли перезагрузка моего хоста CentOS?

Как проверить, требуется ли перезагрузка хоста под управлением CentOS Enterprise Linux после выполнения команды yum update?

Мы можем быстро проверить, требуется ли перезагрузка CentOS / RHEL, используя параметры командной строки.

📜 Перезагрузка хоста с помощью Ansible

Давайте выясним, нужна ли полная перезагрузка CentOS Linux и какие службы Linux нужно перезапустить на хосте.

Мы собираемся использовать команду needs-restarting.

Она сообщает список идентификаторов процессов программ, которые были запущены до того, как они или какой-либо компонент, который они используют, были обновлены.

Установка утилиты needs-restarting, чтобы проверить, требуется ли перезагрузка CentOS / RHEL

Выполните следующую команду yum:
# yum whatprovides needs-restarting
Выводы моей CentOS 8:
CentOS-8 - AppStream                                                                                                                                                                              3.3 MB/s | 5.8 MB     00:01    
CentOS-8 - Base                                                                                                                                                                                   2.1 MB/s | 2.2 MB     00:01    
CentOS-8 - Extras                                                                                                                                                                                  14 kB/s | 7.3 kB     00:00    
yum-utils-4.0.12-3.el8.noarch : Yum-utils CLI compatibility layer
Repo        : BaseOS
Matched from:
Filename    : /usr/bin/needs-restarting
Теперь все, что вам нужно сделать, это установить yum-utils следующим образом:
Last metadata expiration check: 0:00:47 ago on Tue Sep  8 20:13:44 2020.
Dependencies resolved.
===============================================================================
 Package                      Arch       Version              Repository  Size
===============================================================================
Installing:
 yum-utils                    noarch     4.0.12-3.el8         BaseOS      66 k
Installing dependencies:
 dnf-plugins-core             noarch     4.0.12-3.el8         BaseOS      64 k
 python3-dateutil             noarch     1:2.6.1-6.el8        BaseOS     251 k
 python3-dnf-plugins-core     noarch     4.0.12-3.el8         BaseOS     203 k
 python3-six                  noarch     1.11.0-8.el8         BaseOS      38 k
 
Transaction Summary
===============================================================================
Install  5 Packages
 
Total download size: 622 k
Installed size: 1.3 M
Is this ok [y/N]: y
Downloading Packages:
(1/5): python3-dateutil-2.6.1-6.el8.noarch.rpm 1.6 MB/s | 251 kB     00:00    
(2/5): python3-six-1.11.0-8.el8.noarch.rpm     1.3 MB/s |  38 kB     00:00    
(3/5): dnf-plugins-core-4.0.12-3.el8.noarch.rp 320 kB/s |  64 kB     00:00    
(4/5): yum-utils-4.0.12-3.el8.noarch.rpm       1.1 MB/s |  66 kB     00:00    
(5/5): python3-dnf-plugins-core-4.0.12-3.el8.n 675 kB/s | 203 kB     00:00    
-------------------------------------------------------------------------------
Total                                          898 kB/s | 622 kB     00:00     
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                       1/1 
  Installing       : python3-six-1.11.0-8.el8.noarch                       1/5 
  Installing       : python3-dateutil-1:2.6.1-6.el8.noarch                 2/5 
  Installing       : python3-dnf-plugins-core-4.0.12-3.el8.noarch          3/5 
  Installing       : dnf-plugins-core-4.0.12-3.el8.noarch                  4/5 
  Installing       : yum-utils-4.0.12-3.el8.noarch                         5/5 
  Running scriptlet: yum-utils-4.0.12-3.el8.noarch                         5/5 
  Verifying        : dnf-plugins-core-4.0.12-3.el8.noarch                  1/5 
  Verifying        : python3-dateutil-1:2.6.1-6.el8.noarch                 2/5 
  Verifying        : python3-dnf-plugins-core-4.0.12-3.el8.noarch          3/5 
  Verifying        : python3-six-1.11.0-8.el8.noarch                       4/5 
  Verifying        : yum-utils-4.0.12-3.el8.noarch                         5/5 
 
Installed:
  dnf-plugins-core-4.0.12-3.el8.noarch                                         
  python3-dateutil-1:2.6.1-6.el8.noarch                                        
  python3-dnf-plugins-core-4.0.12-3.el8.noarch                                 
  python3-six-1.11.0-8.el8.noarch                                              
  yum-utils-4.0.12-3.el8.noarch                                                
 
Complete!

Проверка, требуется ли полная перезагрузка CentOS

Синтаксис:

# needs-restarting

Как проверить, требуется ли полная перезагрузка хоста CentOS

Убедитесь, что следующая команда вам сообщает, требуется ли полная перезагрузка (код выхода 1) или нет (код выхода 0).

Синтаксис:

# needs-restarting --reboothint
# needs-restarting -r
# echo $? # see exit status #

Пример сеанса:
No core libraries or services have been updated.
Reboot is probably not necessary.
Выполните в CentOS 8 следующее, чтобы обновить установленные пакеты в целях безопасности:
# yum -y update
yum update -y
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.piconets.webwerks.in
 * extras: mirrors.piconets.webwerks.in
 * updates: mirrors.piconets.webwerks.in
Resolving Dependencies
--> Running transaction check
---> Package curl.x86_64 0:7.29.0-57.el7 will be updated
---> Package curl.x86_64 0:7.29.0-57.el7_8.1 will be an update
---> Package dbus.x86_64 1:1.10.24-13.el7_6 will be updated
---> Package dbus.x86_64 1:1.10.24-14.el7_8 will be an update
---> Package dbus-libs.x86_64 1:1.10.24-13.el7_6 will be updated
---> Package dbus-libs.x86_64 1:1.10.24-14.el7_8 will be an update
---> Package libcurl.x86_64 0:7.29.0-57.el7 will be updated
---> Package libcurl.x86_64 0:7.29.0-57.el7_8.1 will be an update
---> Package systemd.x86_64 0:219-73.el7_8.6 will be updated
---> Package systemd.x86_64 0:219-73.el7_8.9 will be an update
---> Package systemd-libs.x86_64 0:219-73.el7_8.6 will be updated
---> Package systemd-libs.x86_64 0:219-73.el7_8.9 will be an update
--> Finished Dependency Resolution
 
Dependencies Resolved
 
===============================================================================
 Package            Arch         Version                   Repository     Size
===============================================================================
Updating:
 curl               x86_64       7.29.0-57.el7_8.1         updates       271 k
 dbus               x86_64       1:1.10.24-14.el7_8        updates       245 k
 dbus-libs          x86_64       1:1.10.24-14.el7_8        updates       169 k
 libcurl            x86_64       7.29.0-57.el7_8.1         updates       223 k
 systemd            x86_64       219-73.el7_8.9            updates       5.1 M
 systemd-libs       x86_64       219-73.el7_8.9            updates       416 k
 
Transaction Summary
===============================================================================
Upgrade  6 Packages
 
Total download size: 6.4 M
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
(1/6): dbus-1.10.24-14.el7_8.x86_64.rpm                   | 245 kB   00:00     
....
...
......
  Verifying  : systemd-219-73.el7_8.6.x86_64                             12/12 
 
Updated:
  curl.x86_64 0:7.29.0-57.el7_8.1       dbus.x86_64 1:1.10.24-14.el7_8        
  dbus-libs.x86_64 1:1.10.24-14.el7_8   libcurl.x86_64 0:7.29.0-57.el7_8.1    
  systemd.x86_64 0:219-73.el7_8.9       systemd-libs.x86_64 0:219-73.el7_8.9  
 
Complete!

Посмотрите, требуется ли перезагрузка после установки обновлений RHEL или CentOS Linux

Все, что вам нужно сделать, это:

# needs-restarting -r

Core libraries or services have been updated:
  dbus -> 1:1.10.24-14.el7_8
  systemd -> 219-73.el7_8.9

Reboot is required to ensure that your system benefits from these updates.

More information:
https://access.redhat.com/solutions/27943
Вот как я проверяю, требуется ли перезагрузка моего CentOS 7:
# needs-restarting
# needs-restarting -r
# needs-restarting -r >/dev/null
# echo $?
# [ $(needs-restarting -r >/dev/null ) ] || echo "Reboot $HOSTNAME to install kernel or core libs."
При необходимости:
# shutdown -r now
# reboot
# systemctl reboot

Заключение

Вы узнали, как определить, нужно ли перезапускать систему на хосте CentOS или RHEL, используя параметр командной строки.

Чтобы увидеть справку, введите:

$ needs-restarting --help

Спонсор данной статьи — тут

 

Поделитесь статьей:

Добавить комментарий