Edited at

yum update と yum upgradeの違い(ついでにDebianも)

More than 1 year has passed since last update.


yum update


  • インストール済みのパッケージをアップデートする


yum upgrade



  • yum update --obsoletesと同じ



    • --obsoletesは、パッケージの更新時にのみ有効なオプションで、不要になったパッケージの削除を自動で行う


      • 不要になったパッケージとは、例えばインストール済みのfooパッケージが今までbarパッケージを必要としていたが、fooのアップデートによってbarが不要になった場合






結局どっちもいっしょ


  • CentOSでは、/etc/yum.confにobsoletes=1と書いてあるため、デフォルトで--obsoletesが有効の状態

  • よって、yum updateyum upgradeも変わらない


(おまけ)Debianでは


apt-get update


  • パッケージのリストを更新する

  • インストールされているパッケージの更新は行わない


apt-get upgrade


  • インストールされているパッケージを更新する. さきにupdateを実行しておく

  • ただし、更新によって新規にパッケージのインストールや削除が発生するような場合は、それを行わない

  • つまり、安全なアップデート


apt-get dist-upgrade


  • インストールされているパッケージを更新する.

  • 更新によって新規にパッケージのインストールや削除が発生するような場合、それらも実行する


つまり

Redhat系(yum)とDebian(apt-get)では、updateとupgradeの意味合いが大きく異なる。

yumでは、yum updateとするだけでOSのマイナーバージョンは上がるし、カーネルのアップデートも行われる。


疑問

プロダクション環境でDebianを運用したことがないので分からないのだが、パッケージ更新のベストプラクティスはどんな感じなんだろう。

Redhat系の場合、(私は)yum-cronをインストールして基本的には毎日パッケージの更新しつつ、kernelやミドルウェアはyum.confで更新対象から除外しています。