LoginSignup
2
2

More than 3 years have passed since last update.

CentOS8君、日次の再起動前にゴリラアップデートをしてくれたまえ(dnfコマンド)

Posted at

再起動はあくまで再起動だけ

CentOS8を毎日定時に再起動させたいんだよなあ の記事でCentOS8君を毎日再起動させる環境を作りました。

でも一つ気づいたことがありました。
あ、この子、再起動しかしてないわ…
そりゃそうだよね。。再起動でパッケージまで自動更新されたら面倒な場合もあるもんね。。
(依存関係とか宗教上の理由とかで あえてパッケージの更新をさせていない のが崩れちゃう)

ということでパッケージ更新のスクリプトを日次の再起動に組み込むことにしました。

まずはどんな更新が来ているか確認

下記ね。

dnf check-update

こんな感じね。何か来てますね。
image.png

ということで、 dnf コマンドでパッケージの更新まわりのあれやこれやを操作できます。

ゴリラアップデート

ゴリラアップデートとは…
何でもいいから来てるの全部アップデートしろや!後のことは何とかしてやるぜ!
という強者のみに許された力強い更新方法です。

ゴリラアップデートコマンド
dnf upgrade -y --allowerasing
  • 普通は upgrade の後にパッケージ名を指定するのですが、それを書かないことで 全てのパッケージ を対象にできます。
  • -y のオプションを付けることで『実行していいですか?』の確認のステップをすっ飛ばします。
  • --allowerasing のオプションを付けることで『依存関係解決の為にインストール済パッケージの削除も辞さない覚悟』をCentOS8君に伝えています。(これが無いと依存関係解決の必要が出た時に『これどうします?』的なエラーになり、アップデートが走りません) image.png

オランウータンアップデート

オランウータンアップデートとは…
セキュリティとか重要な更新だけはひとまず自動更新!それ以外は『ちょ、まてよ!』で更新しない
という賢者的な更新方法です。

オランウータンアップデートコマンド
dnf upgrade-minimal -y --security
  • upgrade-minimal を付けることで 重要な更新のみ に限定しています。
  • --security を付けることでセキュリティ更新が必要なパッケージのみに絞り込みしています。
  • --allowerasing を付けていないので、依存関係解決の必要が出たらアップデートは走りません。

蛇足

お家サーバーとか開発サーバーなら、下記のような使い方がバランスが取れていいかなと思います。

  • セキュリティや重要なものは自動で更新。
  • 上記以外は更新内容をテキストに書き出す or メール等で通知して、更新するかどうかは個別に検討。

参考サイトさん

https://qiita.com/yasushi-jp/items/0dc7f413632927f92286
https://www.atmarkit.co.jp/ait/articles/2001/09/news018.html
https://www.atmarkit.co.jp/ait/articles/2002/06/news010.html
https://blog.luispc.com/entry/2019/12/05/214513

バージョン

CentOS Linux release 8.3.2011

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2