私はCentOSを使用しています。リポジトリを構築し、ここにパッケージを入れて別のサーバーでテストしましたが、すべてが正常です。
リポジトリに新しいパッケージを追加して実行するとき:
$ createrepo -v /var/www/html/centos/6.5/updates/x86_64/Packages/
マイストアを追加したサーバーから最近追加された最後のパッケージをインストールしようとしましたが、同じサーバーでこれを行うまでは機能しませんでした。
$ yum clean all
これは普通ですか?
ベストアンサー1
これまでは、これは「正常な」動作であり、「yum update」を呼び出すサーバーは、リポジトリに使用可能なパッケージのキャッシュを保持します。 「yum clean all」を呼び出すと、このキャッシュが削除され、サーバーは追加したパッケージを含む、利用可能なパッケージのリストをリポジトリに再要求する必要があります。
実際に何が起こったのか
- システムAのリポジトリに新しいパッケージを追加します。
- createrepoを呼び出すと、リポジトリ情報が更新されました。
- マシンAのリポジトリを含むサーバーBに移動します。
- Bで「yum update」を呼び出します。 yumが最後に実行されたのはそれほど古くなかったため、yumはAに接続せずに(!)ローカルキャッシュのみをチェックします。なぜなら、ローカルキャッシュが数時間古いからです。あなたの新しいパッケージはそこにリストされていません
- 今は不安なので、Bで「yum clean all」を押してください。 [しばらくお待ちください。]
- B のすべてのキャッシュが削除されます。
- Bで「yum update」を再度呼び出すと、Bが強制的にサーバーに接続され、現在のデータをすべてインポートして新しいパッケージを表示できるようになります。