「Linux初心者がSakuraのVPSに、nginxサーバーやらPercona-Serverやらphp-fpmやらiptablesやらwordpressやらを入れまくった結果、"yum update"が```
”http://ftp.riken.jp/Linux/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404 Not Found"
結論からいうと、"/etc/yum.repos.d/epel.repo"の内容を編集するだけです。
[epel]
name=EPEL RPM Repository for Red Hat Enterprise Linux
baseurl=http://ftp.riken.jp/Linux/
enable=0
こうなっているのを
[epel]
name=EPEL RPM Repository for Red Hat Enterprise Linux
baseurl=http://ftp.riken.jp/Linux/centos/6/centosplus/x86_64/
enable=0
こう変更します。
これだけだとドラマにならないので、この変更情報をどうやって取得したかを説明します。
あるURLが見つからないという時、私の場合まず見つからないURLを直接探してみて(これは見つからない)、だんだんとURLを短くして、どこまでなら見つかるかを探します。
http://ftp.riken.jp/Linux/repodata/repomd.xml ← 見つからない
http://ftp.riken.jp/Linux/repodata/ ← 見つからない
http://ftp.riken.jp/Linux/ ← 見つかった!!
この時に見えるのは、こんな感じ。
![image](https://qiita-image-store.s3.amazonaws.com/0/50675/e2639e01-7df2-8c16-3f91-ec6e72ec042f.png)
この中から、今回の問題に関係ありそうなリンクを「力技で」探します。
今回は「エラー: Cannot retrieve repository metadata(repomd.xml) for repository: epel.」というメッセージから、"repomd.xml"が見つからないんだな、ということは分かるのですが、それだけではリンクを探しきれません。そこで着目したのは、もともとのURLではLinuxの直下に"repodata"フォルダが有ったらしいことです。つまり「Linux直下で管理していたが、必要に応じて分類を追加した」ということが推測されます。そこでまずはこのリストから"epel"を探しますが、見つかりません。ここで挫けそうになりますが、ぐっと堪えて、何となく眺めていくと"centos"ディレクトリが見つかりました。開いてみるとその下にはバージョンが並んでいます
。![image](https://qiita-image-store.s3.amazonaws.com/0/50675/dd4d23fb-cbc7-7633-8a33-37813b961114.png)
これは何となく期待できそうです。
そのあと、ピンポイントのバージョン"6.6"を開いて「このバージョンはもう古いです。今は"6"を参照してください。」などと書かれたreadmeファイルに翻弄されながら、深く潜っていくと、"/Linux/centos/6/centosplus/x86_64/repodata”に目指すファイル"repomd.xml"が見つかりました。
これが正しいかどうか、保障などありませんが、ここまでの道のりで何となく手応えを感じつつ、”Linux"を接合点にして"epel.repo"を編集し、その後”yum clean all","yum update"で問題なくレポジトリを更新でき、目的の”MongoDB"をインストールすることができました。
以上です。ご参考になれば幸いです。
p.s. あ、リンクの中の"x86_64"のところは"i386"の選択肢もありましたが"arch"コマンドで"x86_64"を確認しました。