yum installしてもいつまでも古いRPMパッケージが参照されてしまうときはyum cleanコマンドを実行する
この記事でわかること
- varnishをインストールしようとしたとき、
yum install
で詰んだ話 - 原因はCentOS6にCentOS7のパッケージを追加しようとしてた
- その後RPMパッケージを変更したが
yum install
はずっと変更前のCentOS6系のリポジトリを参照しててエラー -
yum clean
コマンドでキャッシュを削除したら反映された
事の経緯
isucon2の過去問を解いてる際に、Varnishインストールを行っていたのですが、
下記の手順でVarnishをインストールしようとしても、エラーが出てしまい、インストールされませんでした。
$ rpm --nosignature -i https://repo.varnish-cache.org/redhat/varnish-4.1.el7.rpm
$ yum install varnish
エラー: パッケージ: varnish-libs-4.1.3-1.el7.x86_64 (varnish-4.1)
要求: libc.so.6(GLIBC_2.14)(64bit)
・・・以下略
原因を調査していると、上記のコマンドで、CentOS6の環境にCentOS7系のリポジトリhttps://repo.varnish-cache.org/redhat/varnish-4.1.el7.rpm
を追加していたことがわかりました。
きちんと環境に合わせたものを追加しなければ、そりゃエラーもでますね…
そこで、下記のコマンドで追加したリポジトリを削除し、CentOS6系のリポジトリを追加し、再度インストールを行いました。
$ rpm --nosignature -i https://repo.varnish-cache.org/redhat/varnish-4.1.el6.rp
$ yum install varnish
……しかし、それでもまだ
エラー: パッケージ: varnish-libs-4.1.3-1.el7.x86_64 (varnish-4.1)
というエラーが表示されてしまいます。しかもel6に修正したはずなのに、el7になってます
これはいったいどういうことなのでしょう。
yum cleanでキャッシュを削除して解決!
さらにさらに調査したところ、どうやらyum
によるインストールやアップデートで利用したRPMパッケージやデータのキャッシュが残っているのが原因のようでした。
下記のコマンドでyum
のキャッシュをクリアして、再度インストールを行うことで、無事にCentOS6系のVarnishがインストールされました!
$ yum clean all
$ yum install varnish
症状がキャッシュが残ってて反映されてないやつに似てたので、yum キャッシュ
のようなキーワードで検索したのがよかったです…。
まさかyumにキャッシュがあるとは思いませんでした
参考
https://www.varnish-cache.org/releases/install_redhat.html
http://easyramble.com/yum-clean-and-update.html
Author And Source
この問題について(yum installしてもいつまでも古いRPMパッケージが参照されてしまうときはyum cleanコマンドを実行する), 我々は、より多くの情報をここで見つけました https://qiita.com/amymd/items/4970b340d9b8d59403af著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .