web-dev-qa-db-ja.com

プライベートリポジトリにprimary.sqlite.bz2が見つかりません

私が働いている会社のプライベートレポを設定しています。最初は適切に機能していましたが、今日、私が作成した新しいrpmをインストールしようとすると、この醜いエラーが発生しました。

http://<server_name>/centos/7/repodata/a6ecd0c880b1f5128974cd147a53cd84d7dab269b9055215b6fbe99fb98f6d7a-primary.sqlite.bz2: [Errno 14] HTTP Error 404 - Not Found-:-- ETA

私はすでに試しました:

yum clean all
rm -rf /var/cahe/yum
yum repolist

そして再び同じエラー。

私はrepoサーバーのrepodataの下にあるすべてのコンテンツを消去し、次のコマンドでrepoを再作成しました。

createrepo /path/to/repo/directory

リポジトリを再作成した後、もう一度実行しました

yum clean all
rm -rf /var/cahe/yum
yum repolist

しかし、まだ何も機能していません

今のところサーバーで遊んでいるのは私だけなので、クライアントの構成に問題がないことを100%確信しています。先週はうまく機能していました。

それ以外の場合は、httpでリポジトリにアクセスできるので、すべてのパッケージとリポジトリをWebブラウザで表示できます。実行する場合

curl http://<server_name>/centos/7/repodata/repomd.xml

クライアントから、正しいファイルを取得します。

yum clean all; rm-rf /var/cache/yum; yum updateを実行した後でも)プライマリDB名の名前がクライアントで正しくないことに気付きました。どうすれば修正できますか?私は午後ずっとこの問題を掘り下げてきましたが、何も変わりません

Repoディレクトリのアクセス許可はセットアップOK(トリプルチェック

何が欠けていますか???

よろしくお願いします

3
Abel

少なくとも昨日の問題に直面していない限り、昨日の夜に答えを見つけたと思います。

解決策は簡単です。クライアントがリポジトリのローカルキャッシュを保持しないようにします。これは、/etc/yum.confクライアントファイルに次の行を含めて実行できます。

http_caching=none

このオプションを設定すると、クライアントがyum updateまたはyum repolistを実行するたびに、リポジトリサーバーからすべてのリポデータがダウンロードされるため、すべてのファイルが最新バージョンになります。

yum clean all; rm -rf /var/cache/yumを使用してクライアントのすべてのローカルキャッシュを消去していた場合、クライアントは古いrepodataファイルを検索し続けました。誰かが答えを持っている場合は、それを共有してください。過去数日間。

とにかくあなたのヒントとアドバイスをありがとう

3
Abel

私は同様のエラーに遭遇していて、ここで私の発見を共有したいと思いました。

民間企業のリポジトリサーバーは、一種のWebアクセラレータの背後に配置されていました。したがって、私もその中でキャッシングと最適化をオフにする必要がありました。

その後、エラーはなくなりました。

0
U880D