YUM更新から特定のレポを除外する


13

RHEL 5.5でシステム全体のyum更新を行っていますが、IUS EPELリポジトリーに依存関係の欠落エラーがスローされています。

php53-mcrypt-5.3.3-4.ius.el5.x86_64 from installed has depsolving problems
--> Missing Dependency: php53-common = 5.3.3-4.ius.el5 is needed by package php53-mcrypt-   5.3.3-4.ius.el5.x86_64 (installed)
Error: Missing Dependency: php53-common = 5.3.3-4.ius.el5 is needed by package php53-mcrypt-5.3.3-4.ius.el5.x86_64 (installed)

この依存関係の問題をスキップするために、IUS EPELリポジトリを無視して、他のすべてリポジトリに対してYUM更新を実行する方法はありますか?

明確化

Redhat Networkからのみアップデートをインストールしようとしています。リポジトリ名が見つからないため、sudo yum --disablerepo=* --enablerepo=rhel update使用しているyumのバージョンは、以下にリストされている複数のリポジトリをサポートしていないため、次のようなことはできません--disablerepo

更新

私の一時的な回避策は実行することsudo yum --exclude=php53* updateです。もっと良い方法があると確信しています。このより良い方法には、実際の問題の修正が含まれるので、IUS Community Projectにもバグを提出しました。

アップデート#2

依存関係の問題を見つけたようです。私はまだ実行可能な回避策があるはずだと思います。

ありがとう!


回答を更新して、説明を考慮に入れました。
プラスミド87

回答:


21

リポジトリの無効化スイッチを試してください:

--disablerepo=REPONAME

更新

現在「既知」のリポジトリをすべて検索するには(有効および無効):

yum repolist all

次に、上記のパッケージの悲しみを与えているリポジトリを見つけるには、次を試してください:

yum list php53-mcrypt-5.3.3-4.ius.el5.x86_64 --showduplicates

これにより、どのリポジトリが上記のパッケージを提供するかが表示されます(リストに「インストール済み」と表示され、ローカルにインストールされたパッケージが表示されます)。

リポジトリの無効化スイッチを使用してリポジトリを確認したら、無効化スイッチを再試行します。

yum update --disablerepo=[from above]

省略したいリポジトリを選択する上記の手順に失敗した場合、リポジトリ定義のRHELのデフォルトの場所である/etc/yum.repos.d/を調べてみてください。このディレクトリに移動したら、すべての非標準RHELベースを見つけてリポジトリファイルを更新し、enabled = 0を含めます。

[repo]
enabled=0

お役に立てれば。


これは、複数のリポジトリを指定できた場合に機能する可能性があります。私が試した--disablerepo=epel --disablerepo=ius--disablerepo=epel,ius
ロビン

yum repolist all次のリポジトリのみが有効になっていることを示しています:epel、ius、およびrhel-x86_64-server-5。あなた--showduplicatesIUSレポからインストールされたパッケージのコマンドを示しています。だから私は次を試してみましたsudo yum --disablerepo=* --enablerepo=rhel-x86_64-server-5 updateが、それでも同じパッケージで依存関係エラーを投げています。同様に、/ etc / yum.repos.d /のenabled=0下の設定を変更してリポジトリを無効にしようとしました
ロビン

IUSリポジトリをインストールしたとき、デフォルトで有効になるように設定されていたと思います。代わりにこれを試してください:sudo yum update --disablerepo=ius他のすべてのリポジトリがデフォルトで有効になっていると仮定します。それ以外の場合は、sudo yum update --exclude=php53-mcrypt-5.3.3-4.ius.el5.x86_64このパッケージを完全にスキップしてください。
プラスミド87

これらのオプションはどちらも機能しません。何かが欠けています。
ロビン

その場合、更新プロセスの一環として他の何かがそのパッケージをアップグレードする必要があるとしか想像できません。実行sudo yum deplist php53-mcrypt-5.3.3-4.ius.el5.x86_64すると、その特定のパッケージのすべての依存関係とプロバイダーが表示されます。PHPパッケージとRHELでの私の経験では、これはよくある問題です。手元の問題から逸脱したくないのですが、RemiがPHPに最適なパッケージを提供していることがわかりました。
Plasmid87

1

これを行う最も簡単な方法は、/ etc / yum.repos.d /にある不要なリポジトリをLinuxにコメントすることです。


1

yumコマンドラインで複数のリポジトリを無効にできます。

yum update --disablerepo=myrepo1 --disablerepo=myrepo2 --disablerepo=myrepo3

ただし、それを行う場合は、必要なリポジトリを明示的に有効にする必要があります。

yum update --disablerepo=myrepo1 --disablerepo=myrepo2 \
           --disablerepo=myrepo3 --enablerepo=TheRepoIWant

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.