2.3.1.5. Применение изменений

2.3.1.5. Применение изменений

2.3.1.5. Применение изменений

После завершения загрузки и установки через Red Hat Network исправлений безопасности остановите работу старого программного обеспечения и начните пользоваться новым. Как это сделать зависит от типа обновлённых приложений. . В следующем списке перечислены общие категории программного обеспечения и приведены инструкции по использованию новых версий после обновления пакета.

Замечание

В большинстве случаев перезагрузки системы должно быть достаточно для того, чтобы обновлённая версия пакета вступила в силу. Однако, не всегда возможно сразу выполнить перезагрузку.

Приложения

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

При установке обновлённой версии такого приложения, остановите выполнение всех версий этого приложения и перезапустите его снова. Будет запущена новая версия.

Ядро

Ядро является основным компонентом операционной системы Red Hat Enterprise Linux. Оно обеспечивает доступ к памяти, процессору и периферийным устройствам, а также занимается планировкой задач.

Поскольку ядро является центральным элементом, то невозможно выполнить его рестарт без остановки компьютера. Поэтому единственным способом использования обновлённой версии является перезагрузка системы.

Разделяемые библиотеки

Разделяемые библиотеки представляют собой логические единицы кода (например, glibc), используемые приложениями и службами. Приложения загружают разделяемый код при инициализации, поэтому все приложения, использующие разделяемые библиотеки, должны быть остановлены и перезапущены.

Для того, чтобы определить какие приложения используют ту или иную разделяемую библиотеку, выполните команду lsof:

              lsof /usr/lib/libwrap.so*
            

Эта команда возвращает список всех запущенных программ, использующих оболочки TCP для управления доступом к узлу. Поэтому, все перечисленные программы должны быть остановлены и перезапущены в случае обновления пакета tcp_wrappers.

Службы SysV

Службы SysV представляют собой резидентные приложения, запущенные при загрузке. Примерами служб SysV могут служить sshd, vsftpd и xinetd.

Поскольку такие программы находятся в памяти на протяжении всего времени работы машины, при обновлении служба SysV должна быть остановлена и перезапущена. Это можно сделать с помощью утилиты Настройки служб или запуска команды /sbin/service от имени root.

              /sbin/service <service-name> restart
            

Замените <service-name> именем службы (например, sshd).

Службы xinetd

Эти службы управляются главной службой xinetd в момент установления активного соединения. В число служб, подчинённых xinetd, входят Telnet, IMAP и POP3.

Поскольку новые сеансы таких служб могут быть запущены командой xinetd, соединения, созданные после обновления, обрабатываются уже обновлённой версией службы. Однако, если в процессе обновления xinetd присутствуют активные соединения, они будут обслуживаться старой версией.

Чтобы завершить ранние сессии службы xinetd, выполните обновление пакета, затем остановите все выполняющиеся процессы. Выполните команду ps для определения того, какие процессы выполняются в настоящий момент, а затем выполните команду kill или killall для остановки всех текущих сеансов службы.

Например, при выпуске исправлений безопасности пакетов imap выполните обновление пакетов, а затем следующую команду в качестве пользователя root:

              ps -aux | grep imap
            

Эта команда вернёт все активные сессии IMAP. Отдельные сессии могут быть остановлены с помощью следующей команды:

              kill <PID>
            

Если использование этой команды не приводит к завершению сессии, используйте следующее:

              kill -9 <PID>
            

Замените <PID> идентификационным номером процесса (см. вторую колонку команды ps) сеанса IMAP.

Для завершения активных сессий IMAP выполните команду:

              killall imapd