yum 更新后重新启动服务吗?

yum 更新后重新启动服务吗?

今天我使用 yum 更新了几台服务器。

4 package(s) needed for security, out of 4 available
Run "sudo yum update" to apply all updates.

三项是 openssh 更新,一项是 java.更新后需要重启openssh服务器吗?

当我看到 Apache 已更新时,我手动重新启动它。我对 PHP 更新做了同样的事情,但不知道这是否真的有必要。

在 Debian 上,当使用 apt-get 时,我看到服务正在重新启动的消息。百胜也这样做吗?

更新后哪些服务需要手动重启?或者 yum 是否处理重启?

答案1

运行 yum update 来升级库后,可能有一些正在运行的服务仍在使用旧的库副本。此类服务可能仍然容易受到旧库中安全漏洞的影响。

使用 lsof 列出使用已删除文件的进程,可以相对容易地发现哪些进程受到影响:

# lsof | awk '$5 == "DEL" { print }'
auditd     1001  1001 root DEL REG /usr/lib64/libnss_files-2.18.so;53bd9626
libvirtd   1468  1509 root DEL REG /usr/lib64/libnss_files-2.18.so;53bd9626
[lots more output]

如果您在更新(例如)glibc 后实际运行此命令,您将获得一页又一页的输出,而这些输出很难筛选。

然而,systemd我们可以将进程 ID 映射到服务和用户会话。

这就是以下脚本的作用:

http://oirase.annexia.org/rwmj.wp.com/needs-restart.pl

典型的输出如下所示:

为了完成glibc-2.18-11.fc20.x86_64的安装,您应该重新启动以下服务:

    - accounts-daemon.service - Accounts Service   
    - console-kit-daemon.service - Console Manager
    - udisks2.service - Disk Manager
    - auditd.service - Security Auditing Service
    - dbus.service - D-Bus System Message Bus
    - rtkit-daemon.service - RealtimeKit Scheduling Policy Service
    - upower.service - Daemon for power management
    - colord.service - Manage, Install and Generate Color Profiles
    - firewalld.service - firewalld - dynamic firewall daemon
    - polkit.service - Authorization Manager
    - rsyslog.service - System Logging Service 
    - NetworkManager.service - Network Manager   
    - libvirtd.service - Virtualization daemon
    - gdm.service - GNOME Display Manager

In order to complete the installation of glibc-2.18-11.fc20.x86_64,
you should tell the following users to log out and log in:

    - session-1.scope - Session 1 of user rjones

答案2

您还可以安装yum-utils包含needs-restarting二进制文件的包。运行 yum update 后,您将发出命令

needs-restarting

这将向您指出依赖于已更新的库的进程,因此应该重新启动,例如:

/root » needs-restarting
458 : /usr/lib/systemd/systemd-journald
1161 : /usr/sbin/named -u named -t /var/named/chroot -c /etc/named.conf -u named -n 2
665 : /usr/sbin/abrtd -d -s
661 : /usr/lib/systemd/systemd-logind
660 : /usr/lib/polkit-1/polkitd --no-debug
493 : /usr/lib/systemd/systemd-udevd
1052 : /usr/local/patchman/patchmand
1943 : /usr/libexec/postfix/master -w
698 : /usr/sbin/nrpe -c /etc/nagios/nrpe.cfg -d
1 : /usr/lib/systemd/systemd --switched-root --system --deserialize 22
717 : /usr/sbin/NetworkManager --no-daemon
1019 : /usr/bin/python -Es /usr/sbin/tuned -l -P
1652 : /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/log/mariadb/mariadb.log --pid-file=/var/run/mariadb/mariadb.pid --socket=/var/lib/mysql/mysql.sock
1010 : /usr/bin/python /usr/bin/salt-minion
678 : /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation
16299 : /sbin/rpcbind -w
638 : /sbin/auditd
675 : /usr/sbin/smartd -n -q never
672 : /usr/sbin/irqbalance --foreground
1021 : php-fpm: master process (/etc/php-fpm.conf)
480 : /usr/sbin/lvmetad -f
1024 : /usr/bin/dockerd
1047 : /usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid
1020 : /usr/sbin/sshd -D
1972 : qmgr -l -t fifo -u
1537 : /usr/bin/python /usr/bin/salt-minion
2026 : /usr/bin/python /usr/bin/salt-minion
1009 : php-fpm: master process (/opt/plesk/php/7.0/etc/php-fpm.conf)
1249 : sw-engine-kv
2028 : tlsmgr -l -t unix -u
682 : /usr/sbin/chronyd

还可以通过添加标志来确定是否应该重新启动计算机-r(仅限 CentOS/RHEL 7+!),如下所示:

/root » needs-restarting -r
Core libraries or services have been updated:
  kernel -> 3.10.0-862.3.2.el7
  linux-firmware  20180220-62.1.git6d51311.el7_5
Reboot is required to ensure that your system benefits from these updates.

相关内容