web-dev-qa-db-ja.com

Centos 7にEPELリポジトリをインストールすると、yum機能が壊れますか?

だから私はssh要塞サーバーをセットアップしようとしていますが、Python3.6をインストールするためにEPELのセットアップに問題があります。

私はCentOS Linux release 7.4.1708 (Core)を使用しています

だから私はインストールしようとしている[〜#〜] epel [〜#〜]最初にSudo yum -y install epel-release(もちろんSudo yum -y update以前、正常に動作していました)、しかし、それは私に言ったPackage 'epel-release' not found

したがって、RedHat Package Managerを使用して別のアプローチを試みました。

Sudo rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

これによりパッケージが正常にインストールされ、両方が表示されますepel.repoおよびepel-testing.repo in etc/yum.repos.d(投稿の最後に含まれているものをコピーします)

しかし、今では、yumで何かを行おうとすると、それがパッケージの更新またはインストールであるかどうかにかかわらず、次のエラーが表示されます(たとえば、yum -y install Python3.6または私もtsclientまたはpython-pip)をインストールしようとしました:

[root@scw-39016b yum.repos.d]# yum install -y Python3.6
Loaded plugins: fastestmirror
base                                                     | 3.6 kB     00:00
centos-kernel                                            | 2.9 kB     00:00
epel/armhfp/metalink                                     |  42 kB     00:00
Could not parse metalink https://mirrors.fedoraproject.org/metalink?repo=epel-7&Arch=armhfp error was
No repomd file


 One of the configured repositories failed (Unknown),
 and yum doesn't have enough cached data to continue. At this point the only
 safe thing yum can do is fail. There are a few ways to work "fix" this:

     1. Contact the upstream for the repository and get them to fix the problem.

     2. Reconfigure the baseurl/etc. for the repository, to point to a working
        upstream. This is most often useful if you are using a newer
        distribution release than is supported by the repository (and the
        packages for the previous distribution release still work).

     3. Run the command with the repository temporarily disabled
            yum --disablerepo=<repoid> ...

     4. Disable the repository permanently, so yum won't use it by default. Yum
        will then just ignore the repository until you permanently enable it
        again or use --enablerepo for temporary usage:

            yum-config-manager --disable <repoid>
        or
            subscription-manager repos --disable=<repoid>

     5. Configure the failing repository to be skipped, if it is unavailable.
        Note that yum will try to contact the repo. when it runs most commands,
        so will have to try and fail each time (and thus. yum will be be much
        slower). If it is a very temporary problem though, this is often a Nice
        compromise:

            yum-config-manager --save --setopt=<repoid>.skip_if_unavailable=true

File /var/cache/yum/armhfp/7/epel/metalink.xml does not exist

私はすでにこれを回避する何百もの方法を試してみましたが、何も助けにはならないようです:(

5回のように再インストールしました。Sudo yum clean all、私はbaseurlのコメントを外し、metalinkをレポファイルなどでコメントしようとしましたが、何も助けません:(

このエラーの原因は何ですか?

特定のリポジトリの有効化/無効化に関係する可能性があることをどこかで読みましたが、対処方法がわかりません。

どうもありがとう !!!

epel.repo

[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-7&Arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

[epel-debuginfo]
name=Extra Packages for Enterprise Linux 7 - $basearch - Debug
baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch/debug
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-7&Arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1

[epel-source]
name=Extra Packages for Enterprise Linux 7 - $basearch - Source
baseurl=http://download.fedoraproject.org/pub/epel/7/SRPMS
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-source-7&Arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1

epel-testing.repo

[epel-testing]
name=Extra Packages for Enterprise Linux 7 - Testing - $basearch
baseurl=http://download.fedoraproject.org/pub/epel/testing/7/$basearch
metalink=https://mirrors.fedoraproject.org/metalink?repo=testing-epel7&Arch=$basearch
failovermethod=priority
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

[epel-testing-debuginfo]
name=Extra Packages for Enterprise Linux 7 - Testing - $basearch - Debug
baseurl=http://download.fedoraproject.org/pub/epel/testing/7/$basearch/debug
metalink=https://mirrors.fedoraproject.org/metalink?repo=testing-debug-epel7&Arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1

[epel-testing-source]
name=Extra Packages for Enterprise Linux 7 - Testing - $basearch - Source
baseurl=http://download.fedoraproject.org/pub/epel/testing/7/SRPMS
metalink=https://mirrors.fedoraproject.org/metalink?repo=testing-source-epel7&Arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1
8
Jan Hamara

あなたはarmhfpをArchとして使用していますが、あなたが見ているepelメタリンクにはそれに対するリポジトリはありません。

以下のリンクをダウンロードすると、metalinkという名前のファイルが得られます。 repo=epel-7&Arch=armhfpに一致するリポジトリがないことがわかります。これが問題の原因です。

https://mirrors.fedoraproject.org/metalink?repo=epel-7&Arch=armhfp

armhfp ArchのCentOS-7サポートを提供する他のミラーを使用する必要があります。

例: http://mirror.centos.org/altarch/7/os/armhfp/

使用するには、epel-release RPMを削除し、次をインストールする必要があります。

rpm -ivh http://mirror.centos.org/altarch/7/os/armhfp/Packages/centos-userland-release-7-4.1708.el7.centos.0.1.armv7hl.rpm

次に、パッケージに対してyum installを実行します。

3
iamauser

Raspberry Pi 3(CentOS 7を新たに実行している)にPython3をインストールしようとしたときに、あなたの質問に出会いました。 google-fuをいくつか見て、 このサイト に出会いました。これはarmhfpにEPELをインストールするのに役立ちました。これはそれが言うことです:

armhfpでEPEL 7を有効にするにはどうすればよいですか?

Armfhpの公式EPELリポジトリがないという意味で、答えは簡単です。しかし、多くのユーザーがこれを求めていたため、centos armhfpビルダーを使用して、アイドル状態のときにEPEL 7からソースパッケージを(再)ビルド(およびそれらを自動的に追跡)することにしました。 QA /テストなしの単なる自動再構築であり、結果のpkgも署名されていないことに注意してください。そのリポジトリを使用するには、次のように進めます。

cat > /etc/yum.repos.d/epel.repo << EOF
[epel]
name=Epel rebuild for armhfp
baseurl=https://armv7.dev.centos.org/repodir/epel-pass-1/
enabled=1
gpgcheck=0

EOF

これらの手順を実行した後、Sudo yum install epel-release成功したら、python3をRaspberry Piにインストールします。

ただし、これを行う前に、yumを動作させる必要があります。私がそのための最善の助けになるかどうかはわかりませんが、現在のバージョンのepelリポジトリを削除する(または少なくとも無効にする)ことをお勧めします。

yum remove epel
yum remove epel-release
yum remove epel-testing

サードパーティのリポジトリが有効になっていて、壊れているようです。これがyumで問題を引き起こしているため、リポジトリを削除または無効にする必要があります。

2
Brett Holman

Curlを更新することでこれを修正しました。 yumは内部でlibcurlを使用し、古いバージョンのcurlはepelリポジトリへのTLS接続をネゴシエートできないようです。

yum update curl --disablerepo=epel
2
Andrei Nistor

VMでこの問題が発生しました。メタリンクhttpsアクセスを変更し、次のように標準httpに設定しました:metalink =http://mirrors.fedoraproject.org ....

2
Guy B.

私たちは非常に似た問題を抱えており、「 'https'を使用しないでください。これはMITM攻撃にさらされる」という最も一般的な対応について、いくつかの助けを求めています。より良い答えが必要です。

サーバーにCentOS Linuxリリース7.7.1908(コア)を新規インストールし、OPのようにSudo yum install epel-releaseを試みるたびにyumを壊しました。

インストールは次のとおりです。

-bash-4.2$ Sudo yum install epel-release
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.sonic.net
 * extras: mirror.fileplanet.com
 * updates: mirror.fileplanet.com
Resolving Dependencies
--> Running transaction check
---> Package epel-release.noarch 0:7-11 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

===================================================================================================================================================================================================================================
 Package                                                     Arch                                                  Version                                             Repository                                             Size
===================================================================================================================================================================================================================================
Installing:
 epel-release                                                noarch                                                7-11                                                extras                                                 15 k

Transaction Summary
===================================================================================================================================================================================================================================
Install  1 Package

Total download size: 15 k
Installed size: 24 k
Is this ok [y/d/N]: y
Downloading packages:
epel-release-7-11.noarch.rpm                                                                                                                                                                                |  15 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : epel-release-7-11.noarch                                                                                                                                                                                        1/1 
  Verifying  : epel-release-7-11.noarch                                                                                                                                                                                        1/1 

Installed:
  epel-release.noarch 0:7-11                                                                                                                                                                                                       

Complete!

yum listを実行しようとしても失敗します:

-bash-4.2$ yum list
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile


 One of the configured repositories failed (Unknown),
 and yum doesn't have enough cached data to continue. At this point the only
 safe thing yum can do is fail. There are a few ways to work "fix" this:

     1. Contact the upstream for the repository and get them to fix the problem.

     2. Reconfigure the baseurl/etc. for the repository, to point to a working
        upstream. This is most often useful if you are using a newer
        distribution release than is supported by the repository (and the
        packages for the previous distribution release still work).

     3. Run the command with the repository temporarily disabled
            yum --disablerepo=<repoid> ...

     4. Disable the repository permanently, so yum won't use it by default. Yum
        will then just ignore the repository until you permanently enable it
        again or use --enablerepo for temporary usage:

            yum-config-manager --disable <repoid>
        or
            subscription-manager repos --disable=<repoid>

     5. Configure the failing repository to be skipped, if it is unavailable.
        Note that yum will try to contact the repo. when it runs most commands,
        so will have to try and fail each time (and thus. yum will be be much
        slower). If it is a very temporary problem though, this is often a Nice
        compromise:

            yum-config-manager --save --setopt=<repoid>.skip_if_unavailable=true

Cannot retrieve metalink for repository: epel/x86_64. Please verify its path and try again

そして、これは/etc/yum.repos.d/epel.repoです:

-bash-4.2$ cat epel.repo
[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-7&Arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

[epel-debuginfo]
name=Extra Packages for Enterprise Linux 7 - $basearch - Debug
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch/debug
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-7&Arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1

[epel-source]
name=Extra Packages for Enterprise Linux 7 - $basearch - Source
#baseurl=http://download.fedoraproject.org/pub/epel/7/SRPMS
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-source-7&Arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1

では、アクセスしようとしているリポジトリに問題があるのですか、それとも「https」プロトコルを使用してアクセスしようとしているという事実ですか?前者の場合、適切なリポジトリを見つけるにはどうすればよいですか?後者の場合、根本的な問題をどのように診断しますか?これは非常に新しいインストールです。実際に行ったのは、autosをインストールしてホームディレクトリをマウントし、rvmをインストールして、ユーザーとグループを作成しただけです。

FWIW、yum check-updateは何も報告せず、yum update curl(「--disablerepo = epel」の有無にかかわらず)も何もしませんでした。

私は今までこれに頭を打ち続けてきたので、専門家の助けが必要です。 ;-/

このパズルには別のピースがあります。そのため、根本的な問題は「https」に関係していると思われます。これらの指示を使用してMongoDBをインストールしようとすると、この問題に遭遇しました: https://docs.mongodb.com/v4.0/tutorial/install-mongodb-on-red-hat/#using-rpm-packages -推奨

次の内容で/etc/yum.repos.d/mongodb-org-4.0.repoを作成しました:

[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc

その後、MongoDBをインストールしようとすると、多少異なるエラーが発生しました。

-bash-4.2$ Sudo vi /etc/yum.repos.d/mongodb-org-4.0.repo
-bash-4.2$ Sudo yum install -y mongodb-org
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.keystealth.org
 * extras: mirror.fileplanet.com
 * updates: mirrors.sonic.net
https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.0/x86_64/repodata/repomd.xml: [Errno 14] curl#60 - "Peer's Certificate issuer is not recognized."
Trying other mirror.
It was impossible to connect to the CentOS servers.
This could mean a connectivity issue in your environment, such as the requirement to configure a proxy,
or a transparent proxy that tampers with TLS security, or an incorrect system clock.
You can try to solve this issue by using the instructions on https://wiki.centos.org/yum-errors
If above article doesn't help to resolve this issue please use https://bugs.centos.org/.



 One of the configured repositories failed (MongoDB Repository),
 and yum doesn't have enough cached data to continue. At this point the only
 safe thing yum can do is fail. There are a few ways to work "fix" this:

     1. Contact the upstream for the repository and get them to fix the problem.

     2. Reconfigure the baseurl/etc. for the repository, to point to a working
        upstream. This is most often useful if you are using a newer
        distribution release than is supported by the repository (and the
        packages for the previous distribution release still work).

     3. Run the command with the repository temporarily disabled
            yum --disablerepo=mongodb-org-4.0 ...

     4. Disable the repository permanently, so yum won't use it by default. Yum
        will then just ignore the repository until you permanently enable it
        again or use --enablerepo for temporary usage:

            yum-config-manager --disable mongodb-org-4.0
        or
            subscription-manager repos --disable=mongodb-org-4.0

     5. Configure the failing repository to be skipped, if it is unavailable.
        Note that yum will try to contact the repo. when it runs most commands,
        so will have to try and fail each time (and thus. yum will be be much
        slower). If it is a very temporary problem though, this is often a Nice
        compromise:

            yum-config-manager --save --setopt=mongodb-org-4.0.skip_if_unavailable=true

failure: repodata/repomd.xml from mongodb-org-4.0: [Errno 256] No more mirrors to try.
https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.0/x86_64/repodata/repomd.xml: [Errno 14] curl#60 - "Peer's Certificate issuer is not recognized.”

ただし、これを試みると、「(不明)」エラーが表示されます。

とてもわかりにくいです。

0
Chip Roberson