yum을 업데이트한 후 서비스를 다시 시작해야 합니까?

yum을 업데이트한 후 서비스를 다시 시작해야 합니까?

오늘은 yum을 사용하여 여러 서버를 업데이트했습니다.

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

3개 항목은 openssh 업데이트이고 1개 항목은 java입니다. 업데이트 후 openssh 서버를 다시 시작해야 합니까?

Apache가 업데이트된 것을 확인하면 수동으로 다시 시작합니다. PHP 업데이트에서도 동일한 작업을 수행했지만 이것이 실제로 필요한지는 모르겠습니다.

Debian에서 apt-get을 사용하면 서비스가 다시 시작된다는 메시지가 표시됩니다. Yum도 마찬가지인가요?

업데이트 후에 수동으로 다시 시작해야 하는 서비스는 무엇입니까? 아니면 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.

관련 정보