web-dev-qa-db-ja.com

yumはapt-get upgradeとapt-get dist-upgradeに相当しますか?

私は* .debの人であり、rpmの管理中にはかなり不快に感じます。

「通常の」アップグレードではapt-get upgradeをdebianベースのサーバーで実行し、カーネルアップグレードを許可するためにapt-get dist-upgradeを実行する、または新しいメジャーパッケージバージョンのアップグレードを許可する。

私が管理しているCentOSサーバーでは、同様の機能が必要ですが、man yumはそのような動作を提供していないようです。そして、yum updateyum upgradeの違いは、私が探しているものではないようです。

これまでのところ、私の最善の方法は、/etc/yum.confに次の設定を追加および削除することです。

exclude=kernel*

より良いアプローチが必要です。すべての提案を歓迎します。

編集済み:

それらのyumのmanページの説明と--obsoletesフラグは、私には少しわかりにくいです。だから私はそれから私が理解することを言い換えましょう:yum updateは新しいカーネルをインストールしないことを理解する必要がありますか?それは現在のものを時代遅れとしてマークすることを意味するのですか? yum upgradeapt-get dist-upgradeと同じまたはほとんど同じであると想定できますか?

編集済み2

apt-get upgradeで私が一番気に入っているのは、保持されているパッケージが表示されるため、それに応じて行動できることです。 apt-get dist-upgradeまたは明示的なapt-get install packageを使用します。

だから少し考えた後、現時点で現時点では次のようになります:yumでobsoletes設定を無効にします.conf(Steven Pritchardが his answer で説明)を実行し、最初にyum updateで実行します。すべての更新がインストールされたら、2回目のyum update --obsoletesを実行して、保持されているパッケージを確認し、その結果に応じて動作します。

うまくいきますか?

31
hmontoliu

yum updateは当初、パッケージを新しいバージョンにアップグレードしただけです。たとえば、foo-awesomeが廃止されたfooの場合、yum updatefooからfoo-awesomeへのアップグレードを提案しません。 --obsoletesフラグをyum updateに追加すると、追加のチェックが行われ、そのアップグレードパスも提供されます。 yum upgradeは、(本質的に)yum --obsoletes updateのエイリアスとして追加されました。これはほとんどすべての人が常に望んでいる動作であるため、構成オプションobsoletes=1がデフォルトの/etc/yum.confに追加され、最近ではyum updateyum upgradeが同等になります。在庫、Fedora/RHEL/CentOS /など。

yum updateを実行しているときにカーネルの更新を避けたい場合は、yum --exclude=kernel* updateを実行します。自動更新をオンにしたいが、自動カーネルアップグレードを避けたい場合は、excludeをyum.confに追加するのがおそらく正しい答えです。

おそらくあなたの質問に対する正しい答えはありません。 RHELおよびRHELベースのディストリビューションは、アップデートに関してはDebian開発者と同じ哲学を持たないため、ツールは同じ種類の動作を促進しません。

59

試す

# yum upgrade yum kernel
# yum -y upgrade
4
af-at-work