yum更新が失敗します:エラー:リポジトリのリポジトリメタデータ(repomd.xml)を取得できません…


34

CentOS 6.3を使用しています。yumでシステムを更新しようとすると、次のメッセージが表示されます。

yum update

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.ircam.fr
 * centosplus: miroir.univ-paris13.fr
 * extras: mirrors.ircam.fr
 * update: centos.quelquesmots.fr
http://mirror.centos.org/centos/6/addons/x86_64/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404"
Trying other mirror.
Error: Cannot retrieve repository metadata (repomd.xml) for repository: addons. Please verify its path and try again

yum clean all

Loaded plugins: fastestmirror
Cleaning repos: CactiEZ addons base centosplus extras pgdg93 update
Cleaning up Everything
Cleaning up list of fastest mirrors

yum check

Loaded plugins: fastestmirror
check all

yum erase apf

Loaded plugins: fastestmirror
Setting up Remove Process
No Match for argument: apf
Determining fastest mirrors
 * base: centos.mirror.fr.planethoster.net
 * centosplus: centos.mirror.fr.planethoster.net
 * extras: mirrors.ircam.fr
 * update: centos.quelquesmots.fr
CactiEZ                                                | 2.9 kB     00:00
CactiEZ/primary_db                                     |  13 kB     00:00
http://mirror.centos.org/centos/6/addons/x86_64/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404"
Trying other mirror.
Error: Cannot retrieve repository metadata (repomd.xml) for repository: addons. Please verify its path and try again

yum upgrade

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: centos.mirror.fr.planethoster.net
 * centosplus: centos.mirror.fr.planethoster.net
 * extras: mirrors.ircam.fr
 * update: centos.quelquesmots.fr
http://mirror.centos.org/centos/6/addons/x86_64/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404"
Trying other mirror.
Error: Cannot retrieve repository metadata (repomd.xml) for repository: addons. Please verify its path and try again

私のyum.conf

[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=16&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release

1
昨日、yumインターネット接続とパスの問題に関するバグについて多くの質問をしたので、システムを再インストールすることを検討しましたか?それはかなりF $$$編アップ思われます
Kiwy

最初にインターネット接続を修正する必要があります。再インストールはオプションかもしれません。または、ライブCDシステムを起動してみてください。
ペテルフ14年

「yum.repos.d」フォルダーを削除し、example.repoファイルを再作成することで問題を解決しました。ここからレポジトリの
ヤン

回答:


33

ca-bundles.crtが古すぎます。CentOSの新しいバージョンにアップグレードするまでの1つの回避策は、epel.repoをhttpsからhttpに変更することです。

sudo sed -i 's/https/http/g' /etc/yum.repos.d/epel.repo

2
+1スポット。ただし、CentOS をアップグレードして最新の証明書バンドルを取得する必要はありません(CentOSの長期サポートのため)。yum update ca-certificatesトリックを行う必要があります(epelのhttpsを無効にするか、rpmを直接取得してrpmを使用して更新した後)。
ケフ14年

@kev理論的にはあなたのコメントはうまくいくはずですが、残念ながら私yum to update ca-certificates「アップデート用にマークされたパッケージがありません」と尋ねると私には残念です。実際、私がするとき、yum list | grep ca-certificates私はこのca-certificates.noarch 2010.63-3.el6_1.5を私のCentOS 6.4ボックスの最新バージョンとして取得します。CentOS 6.5ボックスでca-certificates.noarch 2014.1.98-65.1.el6を取得するため、CentOSから最新のCA-Ceritifcatesを取得するために少なくともCentOS 6.5に更新するか、手動でrpmを取得してインストールする必要があるようです。
RobertDeRose

@Kev Robが釘付けにした。多くのエンタープライズビジネスは、まだ非常に古いディストリビューションにあります。私は現在、クライアント用にCentOS4.5に取り組んでおり、通常は行うべきではない多くのことをしなければなりません。
SgtPooki

@RobD OPがhttpを使用しているように見えます。同じ問題に遭遇したとき、私もhttpsではなくhttpを使用していました。だから、SSL CAルート証明書が古くなっていることが根本的な原因であるとどのように推測しますか?
ドワイトスペンサー

@DwightSpencerごめんなさい、私はあなたの質問を理解していません、OPとは何ですか?以前のCentOS 6.2ボックスでは更新できなかったが、6.6ボックスでは更新できたため、SSL CAルート証明書が問題であると推測しました。httpsからhttpに変更するだけで問題は解決しました。多かれ少なかれそれだけに絞り込みました。
RobertDeRose

16

これを試してみてください(rootでなければなりません)

yum clean all
yum check
yum erase apf
yum update ca-certificates
yum upgrade

見て編集
az93

わーい!それは働いた:)
facundofarias

1
完璧に機能し、このスレッドに関する他の回答よりもずっときれいです。
ドワイトスペンサー

yum update --disableplugin fastestmirrorそれらの手順の1つ(おそらくyum clean)がミラーに接続するために必要な情報を削除したため、そこにパスを追加する必要がありました。アップグレードを行うことを申し出たときに「いいえ」と言ってから、プレーンyum updateを実行し、今回は成功しました。最初のパスで、CentOSのメインサイトから新しいミラーリストがダウンロードされ、2回目のパスが成功したと思います。
ウォーレンヤング


3

私にとっての問題は、リポジトリがhttpsを使用していて、それが機能しないことです。

cd /etc/yum.repos.d/
grep -RFi "https" *

これは、httpsが使用されているリポジトリファイルを示しています。エディターでそれらを開き、httpにします。問題を解決した私にとっては。


3

以前の回答はすべてうまくいきませんでしたが、次のコマンドを実行するとうまくいきました。

$ sudo yum remove centos-release-SCL
$ sudo yum update # Update to CentOS 6.8
$ sudo yum install centos-release-scl
$ sudo yum update

これはこのブログ投稿から得ました。



2

6.5を使用している場合、その理由はわかりませんが、centOSの公式yumリポジトリに6.5ディレクトリが存在しません。すべてのパッケージは404ステータスコードを返します

これを試してみると:http : //mirror.centos.org/centos/ 6.5 /os/x86_64/Packages/php-pear-1.9.4-4.el6.noarch.rpmは404を受け取りますが、試してみると6.6バージョン:http : //mirror.centos.org/centos/ 6.6 /os/x86_64/Packages/php-pear-1.9.4-4.el6.noarch.rpm動作します。


1

他のパラメーターなしで「yum update」または「yum upgrade」を実行すると、yumを含むシステム上のすべてのパッケージがアップグレードされるため、FedoraまたはCentOSバージョンをアップグレードしない限り、yumを単独でアップグレードする必要はありません。


実際、ftpをインストールする必要があります。しかし、yum install ftpを使用すると、同じ問題が発生します。
az93 14年

1

私はベイグラント経由のCentOSをインストールし、そしてそれは付属の/etc/yum.repos.d/ようなものが事前に入力ディレクトリpuppet.repo。見よ、puppet.repoそして含まれている他のリポジトリは、有効なリソースを指していませんでした。

だから私はそれらを削除し、yumは今動作します。


1

私の場合、これは非常に例外的であり、レポ情報を含むXMLファイルの場所が変更されます。

  • インターネットに接続しています(ping 8.8.8.8動作します)
  • を実行するyum upgradeと、多くの404エラーの後、ダウンロードする必要のあるパッケージの名前を取得できますが、ダウンロードできません。

そして、最初の404リポジトリURLを参照すると、次のようになります。

http://mirror.airenetworks.es/CentOS/7.4.1708/os/x86_64/repodata/repomd.xml

そして、私はそれが欠けているのを見ます。親フォルダに移動するhttp://mirror.airenetworks.es/CentOS/7.4.1708/readmeと、これが得られます:

このディレクトリ(およびCentOSのバージョン)は非推奨です。通常のユーザーの場合、パスで/7.4.1708ではなく/ 7 /を使用する必要があります。CentOSリリーススキームに関する次のFAQを参照してください。

https://wiki.centos.org/FAQ/General

自分が何をしているかを知っていて、絶対に7.4.1708レベルを維持したい場合は、パッケージについてhttp://vault.centos.org/にアクセスしてください。

7.4.1708には更新プログラムやセキュリティ修正プログラムが含まれていないことに注意してください。

その/etc/yum.repo.dため、ファイルを編集するために戻る必要があります。

私が持っています:

[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#released updates
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

$releaseverはそれがもう使用されていないのではないかと思うので、7:(にエスケープ&することを忘れないでください\)に変更することでテストできます

curl http://mirrorlist.centos.org/?release=7\&arch=x86_64\&repo=os\&infra=arch

ファイルのリストを取得できます。

ftp://ftp.cesca.cat/centos/7.5.1804/os/x86_64/
http://ftp.rediris.es/mirror/CentOS/7.5.1804/os/x86_64/
http://ftp.cica.es/CentOS/7.5.1804/os/x86_64/
http://centos.mirror.minorisa.net/7.5.1804/os/x86_64/
http://repo.nixval.com/CentOS/7.5.1804/os/x86_64/
http://centos.uvigo.es/7.5.1804/os/x86_64/
http://ftp.uma.es/mirror/CentOS/7.5.1804/os/x86_64/
http://ftp.cixug.es/CentOS/7.5.1804/os/x86_64/
http://mirror.airenetworks.es/CentOS/7.5.1804/os/x86_64/
http://mirror.gadix.com/centos/7.5.1804/os/x86_64/

そのため、次のように変数を設定できます。

  1. を開く /etc/yum.repo.d/CentOS-Base.repo
  2. では[base]セクション、定義しますreleasever=7
  3. 再実行yum upgradeまたはyum install xxx
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.