リポジトリサーバーに新しいパッケージを追加する

リポジトリサーバーに新しいパッケージを追加する

私はCentOSを使用しています。リポジトリを構築し、ここにパッケージを入れて別のサーバーでテストしましたが、すべてが正常です。

リポジトリに新しいパッケージを追加して実行するとき:

$ createrepo -v /var/www/html/centos/6.5/updates/x86_64/Packages/

マイストアを追加したサーバーから最近追加された最後のパッケージをインストールしようとしましたが、同じサーバーでこれを行うまでは機能しませんでした。

$ yum clean all

これは普通ですか?

ベストアンサー1

これまでは、これは「正常な」動作であり、「yum update」を呼び出すサーバーは、リポジトリに使用可能なパッケージのキャッシュを保持します。 「yum clean all」を呼び出すと、このキャッシュが削除され、サーバーは追加したパッケージを含む、利用可能なパッケージのリストをリポジトリに再要求する必要があります。

実際に何が起こったのか

  1. システムAのリポジトリに新しいパッケージを追加します。
  2. createrepoを呼び出すと、リポジトリ情報が更新されました。
  3. マシンAのリポジトリを含むサーバーBに移動します。
  4. Bで「yum update」を呼び出します。 yumが最後に実行されたのはそれほど古くなかったため、yumはAに接続せずに(!)ローカルキャッシュのみをチェックします。なぜなら、ローカルキャッシュが数時間古いからです。あなたの新しいパッケージはそこにリストされていません
  5. 今は不安なので、Bで「yum clean all」を押してください。 [しばらくお待ちください。]
  6. B のすべてのキャッシュが削除されます。
  7. Bで「yum update」を再度呼び出すと、Bが強制的にサーバーに接続され、現在のデータをすべてインポートして新しいパッケージを表示できるようになります。

おすすめ記事