私は* .debの人であり、rpmの管理中にはかなり不快に感じます。
「通常の」アップグレードではapt-get upgrade
をdebianベースのサーバーで実行し、カーネルアップグレードを許可するためにapt-get dist-upgrade
を実行する、または新しいメジャーパッケージバージョンのアップグレードを許可する。
私が管理しているCentOSサーバーでは、同様の機能が必要ですが、man yumはそのような動作を提供していないようです。そして、yum update
とyum upgrade
の違いは、私が探しているものではないようです。
これまでのところ、私の最善の方法は、/etc/yum.conf
に次の設定を追加および削除することです。
exclude=kernel*
より良いアプローチが必要です。すべての提案を歓迎します。
編集済み:
それらのyumのmanページの説明と--obsoletes
フラグは、私には少しわかりにくいです。だから私はそれから私が理解することを言い換えましょう:yum update
は新しいカーネルをインストールしないことを理解する必要がありますか?それは現在のものを時代遅れとしてマークすることを意味するのですか? yum upgrade
がapt-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
を実行して、保持されているパッケージを確認し、その結果に応じて動作します。
うまくいきますか?
yum update
は当初、パッケージを新しいバージョンにアップグレードしただけです。たとえば、foo-awesome
が廃止されたfoo
の場合、yum update
はfoo
からfoo-awesome
へのアップグレードを提案しません。 --obsoletes
フラグをyum update
に追加すると、追加のチェックが行われ、そのアップグレードパスも提供されます。 yum upgrade
は、(本質的に)yum --obsoletes update
のエイリアスとして追加されました。これはほとんどすべての人が常に望んでいる動作であるため、構成オプションobsoletes=1
がデフォルトの/etc/yum.conf
に追加され、最近ではyum update
とyum upgrade
が同等になります。在庫、Fedora/RHEL/CentOS /など。
yum update
を実行しているときにカーネルの更新を避けたい場合は、yum --exclude=kernel* update
を実行します。自動更新をオンにしたいが、自動カーネルアップグレードを避けたい場合は、excludeをyum.confに追加するのがおそらく正しい答えです。
おそらくあなたの質問に対する正しい答えはありません。 RHELおよびRHELベースのディストリビューションは、アップデートに関してはDebian開発者と同じ哲学を持たないため、ツールは同じ種類の動作を促進しません。
試す
# yum upgrade yum kernel
# yum -y upgrade