CentOSでyumコマンドやrpmコマンドでパッケージを更新した後の更新内容の適用に関してです。
下記のようにパッケージの種類によっては更新後に別途手動で再起動する必要があります。
※目次をクリックすると目次の下部にコンテンツが表示されます。
アプリケーション
ユーザースペースのアプリケーションが更新された場合は、システムにあるアプリケーションのすべてのインスタンスが停止し、プログラムが再起動され、更新バージョンが使用されるようになります。
カーネル
カーネルが更新された場合は、更新バージョンはシステムの再起動後にはじめて使用できるようになります。
共有ライブラリ
・通常、共有ライブラリを使用しているアプリケーションは、アプリケーションが初期化されるときに共有コードを読み込みます。
そのため共有ライブラリを更新した場合は、更新されたライブラリを使用しているすべてのアプリケーションは再起動する必要があります。
・特定のライブラリにリンクしている実行中のアプリケーションを判別するには、以下コマンドを実行します。
lsof 共有ライブラリのパス
例)ホストのアクセス制御にTCP Wrapperを使用する実行中のプログラムの一覧
そのため共有ライブラリを更新した場合は、更新されたライブラリを使用しているすべてのアプリケーションは再起動する必要があります。
・特定のライブラリにリンクしている実行中のアプリケーションを判別するには、以下コマンドを実行します。
lsof 共有ライブラリのパス
例)ホストのアクセス制御にTCP Wrapperを使用する実行中のプログラムの一覧
# lsof /lib64/libwrap.so* COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME sshd 1154 root mem REG 253,0 40792 261321 /lib64/libwrap.so.0.7.6 sshd 1173 user mem REG 253,0 40792 261321 /lib64/libwrap.so.0.7.6 sshd 9488 root mem REG 253,0 40792 261321 /lib64/libwrap.so.0.7.6
SysVサービス
SysVサービスはブート中に起動される永続的なサーバープログラムで、sshd、vsftpd、xinetdなどがあります。
通常、これらのプログラムはマシンが稼働している間はメモリ内に残るので、パッケージのアップグレード後にはそれぞれのサービスを下記コマンドなどで再起動する必要があります。
/sbin/service restart
通常、これらのプログラムはマシンが稼働している間はメモリ内に残るので、パッケージのアップグレード後にはそれぞれのサービスを下記コマンドなどで再起動する必要があります。
/sbin/service
xinetdサービスによって管理されるサービス
Telnet、IMAP、POP3などのxinetdサービスによって管理されているサービスは、アクティブな接続があるときにのみ実行されます。
これらのサービスの新規インスタンスは、新しい要求が受信されるたびにxinetdが起動されるので、アップグレード後に発生する接続は更新ソフトウェアによって処理されます。
ただし、xinetdが制御するサービスのアップグレード時にアクティブな接続がある場合、それらは古いバージョンのソフトウェアによって処理されるので注意します。
xinetdが制御する特定サービスの古いインスタンスを停止するには、そのサービスのパッケージをアップグレードしてから、現在実行中のすべてのプロセスを停止します。
プロセスが実行中であるかどうかを判別するにはps、pgrepコマンドなどを使用し、kill、killallコマンドなどを使用してサービスの現在のインスタンスを停止します。
これらのサービスの新規インスタンスは、新しい要求が受信されるたびにxinetdが起動されるので、アップグレード後に発生する接続は更新ソフトウェアによって処理されます。
ただし、xinetdが制御するサービスのアップグレード時にアクティブな接続がある場合、それらは古いバージョンのソフトウェアによって処理されるので注意します。
xinetdが制御する特定サービスの古いインスタンスを停止するには、そのサービスのパッケージをアップグレードしてから、現在実行中のすべてのプロセスを停止します。
プロセスが実行中であるかどうかを判別するにはps、pgrepコマンドなどを使用し、kill、killallコマンドなどを使用してサービスの現在のインスタンスを停止します。
-
dnfコマンド
- CentOS Stream9のパッケージ管理(dnfコマンド)
- RPMコマンドで既存サービスの確認
- RPMパッケージであるセキュリティバグが修正済みがRPMコマンドで確認する
- RPMパッケージのマニュアルを探す
- インストール(アップデート)日時順にRPMパッケージ一覧を表示
- インストールせずにRPMパッケージ内から特定のファイルを抽出
- “yum list”コマンドでパッケージのリスト、バージョンを確認
- 過去に実施したyumの履歴を確認する
- yumコマンドで最新のパッケージにアップデート
- CentOSでrpmパッケージ更新後の適用
- RPMパッケージを個別に入手し、yumコマンドで依存性を解決しながらインストール
- yumでグループ単位にパッケージをインストール
- yum.confのmainセクションの設定方法
- yumのプラグインに関する設定
- CentOS5.10環境のyumでepelのリポジトリを使用する
- CentOS6環境のyumでepelのリポジトリを使用する
- CentOS5環境のyum updateでNot Foundのエラーが発生した場合
- CentOS6.10でSoftware collections(SCL)導入時に発生したエラーに対する対応
- CentOS6.10でremoving mirrorlist、YumRepo Errorが発生した場合の対応
- Linuxで「~のファイルが無い」とか「~のコマンドが無い」でインストールが失敗した場合
- LinuxのRPMパッケージ内のファイルのパーミッション、オーナーの設定を元に戻したい場合
- yumでインストール済みのパッケージを元に戻す
- /var/tmpディレクトリにyumのキャッシュ、キャッシュの削除方法
- 更新可能なRPMパッケージのリストをメールで送信する
rpmコマンド
yumコマンド 表示、確認
yumコマンド インストール、アップデート
yumコマンド 設定、リポジトリ
yumコマンド トラブル対応
運用、その他
-
rpmコマンド
- RPMコマンドで既存サービスの確認
- RPMパッケージであるセキュリティバグが修正済みがRPMコマンドで確認する
- RPMパッケージのマニュアルを探す
- インストール(アップデート)日時順にRPMパッケージ一覧を表示
- インストールせずにRPMパッケージ内から特定のファイルを抽出
- “yum list”コマンドでパッケージのリスト、バージョンを確認
- 過去に実施したyumの履歴を確認する
- yumコマンドで最新のパッケージにアップデート
- CentOSでrpmパッケージ更新後の適用
- RPMパッケージを個別に入手し、yumコマンドで依存性を解決しながらインストール
- yumでグループ単位にパッケージをインストール
- yum.confのmainセクションの設定方法
- yumのプラグインに関する設定
- CentOS5.10環境のyumでepelのリポジトリを使用する
- CentOS6環境のyumでepelのリポジトリを使用する
- CentOS5環境のyum updateでNot Foundのエラーが発生した場合
- Linuxで「~のファイルが無い」とか「~のコマンドが無い」でインストールが失敗した場合
- LinuxのRPMパッケージ内のファイルのパーミッション、オーナーの設定を元に戻したい場合
- yumでインストール済みのパッケージを元に戻す
- /var/tmpディレクトリにyumのキャッシュ、キャッシュの削除方法
- 更新可能なRPMパッケージのリストをメールで送信する
yumコマンド 表示、確認
yumコマンド インストール、アップデート
yumコマンド 設定、リポジトリ
yumコマンド トラブル対応
運用、その他