サーバーが更新されても、yumクライアントには新しいパッケージが表示されません


16

いくつかのリポジトリ(RHELリポジトリのコピー、社内で作成されたプログラムなど)を含む内部yumサーバーがあります。内部システムはインターネットからファイアウォールで保護されているため、内部サーバーのみを使用できます。

実稼働stable環境にプッシュする前にパッチをテストするために、デフォルトで有効になっているレポジトリがあります。更新はすべて-latestレポに入れられます。サーバーにパッチを-latest適用する場合、その-repoを使用して新しいベースラインを作成し、いくつかのサーバーでテストします。テストしたら、そのベースラインを新しいものにしstableます。-latestレポ取引は、デフォルトでは無効になっています。

リポジトリの1つは、epelやrpmforgeなどから取得するいくつかのパッケージに使用されます。必要な依存関係と必要なパッケージのみを同期するスクリプトがあります。リポジトリは、パッケージが同期された後、createrepoで毎晩再構築されます。これらのパッケージはテストされていないため、int-optional-latest通常は無効になっているリポジトリに配置されます。サーバーがそのリポジトリからのパッケージを必要とする場合、を使用してインストールしenable-repo=int-optional-latestます。

今日、同僚がperl-Excel-Writer-XLSXをサーバーにインストールしようとしていました。サーバーはパッケージを見つけられませんでした。createrepoを使用してリポジトリを再構築し、repodataファイルをgrepしてファイルがそこにあることを確認しました。そうだった。また、ファイルがリポジトリ内に存在することを確認しました

repoquery -q --repoid=int-optional-latest -l perl-Excel-Writer-XLSX

また、クライアント側のメタデータキャッシュを消去しました。

sudo yum clean expire-cache

それにもかかわらず、クライアントはパッケージがサーバー上に存在しないと主張し続けました。

別のマシンから検索しようとすると、パッケージが見つかったため、サーバー側に問題があるとは思わない。リポジトリファイルが正しいこと、および名前yum.example.comが両方のサーバーで同じIPアドレスに解決されていることを確認しましたが、一方のサーバーはパッケージを見つけることができ、もう一方は見つけることができません。

回答:


14

yumサーバーのWebサーバーログを掘り始めましたが、ファイルを見つけることができなかったクライアントのIPからのヒットは見つかりませんでした。クライアントのキャッシュをクリアしたため、最初はこれを理解していませんでした。そこで、今回は別のキャッシュクリーンアウトを行いました。

sudo yum -v clean expire-cache

で実行すると-v、クリーンアップするリポジトリint-optional-latestがリストされ、リストに含まれていませんでした。これは、レポがデフォルトで無効になっているためだと考えています。別のキャッシュクリアを行いました。今回は

sudo yum -v enable-repo=int-optional-latest clean expire-cache

その後、私は別のものを試しました

sudo yum enable-repo=int-optional-latest install perl-Excel-Writer-XLSX

完璧に機能しました。


コマンドは次のようにパッケージ名の末尾にXである必要があります。sudo yumを有効-レポ= INT-オプション-最新のperl-エクセル・ライター・XLSXインストール
クリス・マッデン

ありがとう、@ ChrisMadden!カットアンドペーストのミス、明らかに...
ジェニーD

1
sudo yum -v clean expire-cache

私にはうまくいきませんでした。しかし、私はそれを動作させることができました

sudo touch /etc/yum.repos.d/<your_repo_file>

そして

yum repolist

更新されたことを示します。お役に立てれば。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.