yumでの「Not using downloaded repomd.xml because it is older than what we have:」の解決策

yum updateなどを行った際に「Not using downloaded repomd.xml because it is older than what we have:」のメッセージが表示されることがあります。 具体的には、次のような感じです。

[root ~]# yum update Loaded plugins: fastestmirror, priorities Loading mirror speeds from cached hostfile * base: ftp.nara.wide.ad.jp * epel: ftp.kddilabs.jp * extras: ftp.nara.wide.ad.jp * rpmforge: apt.sw.be * updates: ftp.nara.wide.ad.jp base | 1.1 kB 00:00 epel | 3.7 kB 00:00 Not using 続きを読む »

yumの使い方

基本的なことではあるのですが、yumをコマンドラインが、rpmと混同するなどして、自分でも時々分からなくなることがあります。 ここでは、比較的使う機会の多いyumの使い方を、表にまとめておきたいと思います。したがって、あくまでも一部ですので、ご了承ください。

コマンドライン 機能説明 yum search [文字列] 指定した文字列を含むパッケージを検索。 yum info [パッケージ名] 指定したパッケージに関する情報の検索。インストールされているかどうかも表示される。 yum list installed [パッケージ名] インストールされているパッケージの検索。パッケージ名を省略した場合、インストールされているすべてのパッケージの一覧。 yum install [パッケージ名] 指定したパッケージのインストール。http://~/~.rpm や ローカルのファイル名、といった指定が可能。 yum erase [パッケージ名] インストールされているパッケージの削除。 yum provides */[文字列] 指定された文字列がファイル名に含まれるファイルを含むパッケージの検索。

yum でパッケージをダウングレードする方法

インストール済みのパッケージをダウングレードしたい場合、yum では次のように downgrade コマンドを使用します。

[root ~]# yum downgrade パッケージ名

例えば、php 5.4 RC2 を試し使いして、現行最新バージョンの 5.3.8 に戻したい場合には次のように実行します。

[root ~]# yum downgrade php-5.3.8-5.el5.remi.1.x86_64.rpm

パッケージ名にバージョンまで含めて詳細に指定することがポイントです。

yum エラー「 Metadata file does not match checksum」への対処

yumを使用していると環境により、次のようなエラーメッセージに遭遇します。

Metadata file does not match checksum

この場合の対処法ですが、/etc/yum.repos.d/にある~.repoファイルを修正します。 例えば、CentOSでBaseリポジトリに関して上記エラーが発生した場合には、CentOS-Base.repoに対して、下記のように「mirrorlist=」の行をコメントアウトして、「#baseurl=」の#を外して有効にします。

[base] name=CentOS-$releasever – Base mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ ↓ [base] name=CentOS-$releasever – Base #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/

私の経験では、これで解決していますので、お試し下さい。

なお、このことは、例えば上記のCentOS-Base.repoファイルの冒頭コメントに次のように書かれていることなのです。

# If the mirrorlist= does not work for you, as a fall back you can try the # remarked out baseurl= line instead. 続きを読む »

yum updateでの「セグメンテーション違反です」への対処方法

yum update で「セグメンテーション違反です」とのメッセージで異常終了しました。

rpmforge: [#### ] 891/10953セグメンテーション違反です

rpmforgeのリポジトリで発生しているようですが、対処方法が分からず、原因究明よりも復旧をと思い、下記の実行を行いました。

[root ~]# yum clean all Loaded plugins: fastestmirror, priorities Cleaning up Everything Cleaning up list of fastest mirrors

このあと、再度yum updateを実行すると通常通り成功しました。 単なる復旧に過ぎませんが、お試しください。