Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

1.5.4. 変更の適用

セキュリティーエラータおよび更新をダウンロードしてインストールしたら、古いソフトウェアの使用を停止して、新しいソフトウェアの使用を開始することが重要です。この方法は、更新されたソフトウェアの種類によって異なります。以下の一覧は、ソフトウェアの一般的なカテゴリーを項目化し、パッケージのアップグレード後に更新されたバージョンを使用する手順を説明します。
注記
通常、システムを再起動することは、最新バージョンのソフトウェアパッケージが使用されるようにする最も簡単な方法です。ただし、このオプションは常に必要な訳ではなく、システム管理者が利用できるようになります。
アプリケーション
ユーザー空間のアプリケーションは、システムユーザーが開始できるプログラムです。通常、このようなアプリケーションは、ユーザー、スクリプト、または自動化タスクユーティリティーが起動する場合にのみ使用され、長期間保持されません。
このようなユーザー空間アプリケーションが更新されたら、システム上のアプリケーションのインスタンスをすべて停止し、更新されたバージョンを使用するようにプログラムを再度起動します。
カーネル
カーネルは、Red Hat Enterprise Linux オペレーティングシステムの中核となるソフトウェアコンポーネントです。メモリー、プロセッサー、およびPeripherals へのアクセスを管理し、すべてのタスクをスケジュールします。
その一元的な役割が原因で、コンピューターを停止せずにカーネルを再起動することはできません。したがって、システムを再起動するまで、カーネルの更新バージョンは使用できません。
Shared Libraries
共有ライブラリーは、などのコードの単位です。これは glibc、多数のアプリケーションやサービスにより使用されます。共有ライブラリーを使用するアプリケーションは、通常、アプリケーションを初期化するときに共有コードを読み込みます。そのため、更新されたライブラリーを使用するアプリケーションは停止して再起動する必要があります。
特定のライブラリーにリンクしている実行中のアプリケーションを確認するには、lsof コマンドを使用します。
lsof <path>
たとえば、実行中のアプリケーションリンクを libwrap.so ライブラリーにリンクするには、以下を入力します。
~]# lsof /lib64/libwrap.so*
COMMAND     PID      USER  FD   TYPE DEVICE SIZE/OFF   NODE NAME
sshd      13600 root mem    REG  253,0    43256 400501 /lib64/libwrap.so.0.7.6
sshd      13603 juan mem    REG  253,0    43256 400501 /lib64/libwrap.so.0.7.6
gnome-set 14898 juan mem    REG  253,0    43256 400501 /lib64/libwrap.so.0.7.6
metacity  14925 juan mem    REG  253,0    43256 400501 /lib64/libwrap.so.0.7.6
[output truncated]
このコマンドは、ホストアクセス制御に TCP ラッパーを使用する実行中のプログラムの一覧を表示します。したがって、tcp_wrappers パッケージが更新された場合、一覧表示されるプログラムは停止し、再起動する必要があります。
SysV サービス
SysV サービスは、ブートプロセス中に起動される永続サーバープログラムです。SysV サービスの例に sshdは、、vsftpd、およびがあり xinetdます。
これらのプログラムは通常、マシンを起動している限りメモリーに保持されるため、パッケージのアップグレード後に、更新された各 SysV サービスを停止し、再起動する必要があります。これは、Services Configuration Tool を使用して行うか、または root シェルプロンプトにログインして /sbin/service コマンドを実行します。
/sbin/service <service-name> restart
<service-name> をなどのサービスの名前に置き換え sshdます。
xinetd services
xinetd スーパーサービスによって制御されるサービスは、アクティブな接続がある場合にのみ実行されます。で制御されるサービスの例には、Telnet、IMAP、および POP3 が xinetd 含まれます。
これらのサービスの新規インスタンスは、新しいリクエストを受信する xinetd たびに起動されるため、アップグレード後に発生する接続は更新されたソフトウェアによって処理されます。ただし、制御されたサービスのアップグレード時に xinetd アクティブな接続がある場合は、古いバージョンのソフトウェアによって処理されます。
特定の xinetd 制御されたサービスの古いインスタンスを強制終了するには、サービスのパッケージをアップグレードしてから、現在実行中のすべてのプロセスを停止します。プロセスが実行中かどうかを確認するには、ps または pgrep コマンドを使用して、サービスの現在のインスタンス kill killall を停止します。
たとえば、セキュリティーエラータパッケージがリリースされて imap いる場合は、パッケージをアップグレードし、root で以下のコマンドをシェルプロンプトに入力します。
~]# pgrep -l imap
1439 imapd
1788 imapd
1793 imapd
このコマンドは、アクティブな IMAP セッションをすべて返します。個々のセッションを終了するには、root で以下のコマンドを実行します。
kill <PID>
このセッションの終了に失敗した場合は、代わりに以下のコマンドを実行します。
kill -9 <PID>
この例では、<PID> を IMAP セッションのプロセス ID 番号( pgrep -l コマンドの 2 番目のコラムにあるもの)に置き換えます。
アクティブな IMAP セッションをすべて強制終了するには、以下のコマンドを実行します。
~]# killall imapd