システムにパッチを適用して更新することは、インフラストラクチャに対する攻撃経路の可能性を減らすための重要なステップです。環境内にパッチが適用されていないシステムがある場合、組織全体に影響を与える可能性について知らない攻撃ベクトルが存在する可能性があります。ただし、パッチ適用イベントが期待どおりに進まない場合は、どのような手順を実行しますか?
[読者も気に入っています:継承されたLinuxシステムの保護]
たとえば、依存関係が満たされていない、i686およびx86_64 RPM間でバージョンが一致していない、新しいパッケージバージョンが期待どおりに機能しない、またはその他の問題が発生している可能性があります。何かがうまくいかないときは、どのように進めるかについて計画を立てることが重要です。これにより、ストレスレベルが軽減され、タスクに取り組んでいるすべての人が他の人が何をしているかを確実に知ることができます。
テストパッチ
パッチを適用するときは、最初にテスト環境でパッチをテストすることが重要です。 本番環境に一致します 。異なるハードウェア、異なるバージョンのソフトウェア、または本番環境とは異なるワークロードまたはプロセスでパッチをテストする場合、パッチテストの結果が本番環境で行われることを反映するという保証はありません。特定のパッチバンドルをインストールする必要があることを確認できるテスト環境ができたら、アップデートをインストールするときに問題が発生する可能性を大幅に減らすことができます。
失敗したパッチ
アップデートのインストールに失敗した場合、最初に行うことは、コンソールまたはログに出力をキャプチャすることです。これは、単にログファイルを別の場所にコピーする場合もあれば、コンソール画面に表示されるテキストをコピーする場合もあります。パッチの適用方法によっては、今回は詳細出力を有効にして、更新を再実行することをお勧めします。エラー出力が得られたら、テスト環境と本番環境の違いを確認する必要があります。また、すべてのパッチがテストで適用されたこと、およびパッチやエラーが誤って見落とされていないことを確認する必要があります。チェックする必要のある重要な項目の1つは、テストサーバーにインストールされているRPMのリストであり、本番サーバーのバージョンと比較します。
たとえば、本番サーバーの場合:
# rpm -qa --queryformat '%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n'| sort &> /tmp/rpm-qa.prod.output.txt
次に、それをテストサーバーの/tmp/rpm-qa.dev.output.txt
に収集された出力と比較できます。 。
また、利用可能なyum
を確認する必要があります リポジトリは両方のシステムで同じです。これは、3つの簡単なステップで実行できます。
まず、キャッシュをクリアします:
# yum clean all
# rm /var/cache/yum/* -rf
次に、subscription-managerを更新します:
# subscription-manager refresh
第三に、リポジトリをyum
にリストします -v
を使用 repodateなどの追加情報を表示できるようにするための引数 リポジトリ内のパッケージの数:
# yum repolist -v
次の例では、 rhel-8-for-x86_64-appstream-rpmsを確認します。 クライアントがRedHatSatelliteサーバーに使用するリポジトリ:
Repo-id : rhel-8-for-x86_64-appstream-rpms
Repo-name : Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)
Repo-revision: 1605844838
Repo-updated : Thu 19 Nov 2020 11:02:03 PM EST
Repo-pkgs : 13,502
Repo-size : 31 G
Repo-baseurl : https://opendemo.usersys.redhat.com/pulp/repos/opendemoorg/Library/content/dist/rhel8/8/x86_64/appstream/os
Repo-expire : 1 second(s) (last: Wed 31 Dec 1969 07:00:00 PM EST)
Repo-filename: /etc/yum.repos.d/redhat.repo
ここでの重要な行はrepo-idです 、リポジトリ更新 、 repo-pkgs 、および repo-baseurl 。テストシステムと本番システムがアップストリームリポジトリに対して異なる情報を表示する場合、依存関係が満たされないか、他の何かが失敗する可能性があります。その場合は、システムがさまざまな情報を認識している理由を調査する必要があります。
その他の設定
テストシステムと本番システムに期待されるRPMと同じリポジトリがあるが、パッチ適用がまだ失敗しているとします。その場合、他の考えられる原因は、セキュリティ設定の誤用、ディスク容量の不足、またはユーザー権限の誤りである可能性があります。それらを調査するには、/var/log/messages
などのログを確認します 、/var/log/secure
、および/var/log/audit/audit.log
コマンドdf -h
を使用するだけでなく、役立つ場合があります ディスク容量を確認します。また、Red Hatのお客様は、問題の解決を支援するためのサポートチケットを開くことができます。
[無料のオンラインコース:Red HatEnterpriseLinuxの技術概要。 ]
まとめ
パッチが正しくインストールされない原因はたくさん考えられますが、テスト環境を実稼働環境と比較できると、トラブルシューティングがはるかに簡単になります。構成、依存関係、ワークロード、およびリポジトリは、2つの環境ですべて同じである必要があります。