リポジトリで正確なパッケージ更新のみを許可する方法は?

リポジトリで正確なパッケージ更新のみを許可する方法は?

私が持っているなら:

[usern@hostn yum.repos.d]$ cat google-chrome.repo 
[google-chrome]
name=google-chrome
baseurl=http://dl.google.com/linux/chrome/rpm/stable/i386
enabled=1
gpgcheck=1

...これが起こらないようにするにはどうすればよいですか(単純な理論):FirefoxパッケージはGoogle Chromeリポジトリに表示されます。インストールされますか? google-chrome-reposからgoogle-chromeパッケージのみをインポートするにはどうすればよいですか?

答え1

repoファイルに次の行を追加します。

includepkgs=google-chrome*

これにより、このリポジトリ内の名前付きパッケージのみがgoogle-chrome*更新されインストールされ、他のすべてのパッケージは無視されます。スペースで区切ると、複数のパッケージを一覧表示できます。

より一般的な意味では、RPMの競合があるストレージの問題を処理する良い方法はありません。信頼できる管理者がいる良いリポジトリを選択する必要があります。 (私はいつもお勧めします。エッフェル)。次のように役立つプラグインがあります。ヤム優先順位そしてYum保護ベースしかし、私はいつもこのincpludepkgs方法を使います。少し多くの作業が必要ですが、あるリポジトリから特定のRPMを望まない場合は、別のリポジトリから別のRPMを削除しないことを知って、夜に眠ることができます。

答え2

パッケージをインストールし、リポジトリ[enabled=0]を閉じます。更新する準備ができたら、次の手順に従います。

yum update

次に、他のすべての更新後にリポジトリ[enabled = 1]を開きます。

yum update chrome             

メモ:そのリポジトリを使用したいパッケージだけが必要です。

その後、リポジトリをもう一度閉じます([enabled = 0])。

痛いようですが、簡単なスクリプトで簡単にできます。これは信頼できないリポジトリを使用するのに最適な方法です。

解決できない紛争がある場合。これがまさにこれです:

LD_LIBRARY_PATH=/home/user/mylibs/:$LD_LIBRARY_PATH conflicted_program

答え3

このyumの「--enablerepo」機能に触れる人であれば、それを無効にしながら更新やその他の操作を実行するのが非常に便利です。

ストレージのインストール

ストレージの無効化

sed -i "s/enabled=1/enabled=0/g" /etc/yum.repos.d/google-chrome.repo

Oneliner は、リポジトリがそのリポジトリから Chrome をインストールできるように一時的に有効にします。

yum --enablerepo=google-chrome install google-chrome-stable

Onelinerは、リポジトリがこのリポジトリからChromeを更新できるように一時的に有効にします。

yum --enablerepo=google-chrome update google-chrome-stable

必要に応じて、更新コマンドにエイリアスを追加できます。これはコマンドを覚えているよりはるかに簡単です。

alias updatechrome="yum --enablerepo=google-chrome update google-chrome-stable"

関連情報