FreeBSD をソースメンテナンスする場合の、/usr/src 下でのコマンド発行手順。
OSやカーネルにパッチを当てたり、OS全体を更新する場合、今まで我流で、/usr/src 以下で kernel を作った後、world をビルドしていましたけど、ハンドブックに手順が書いてある事がわかり、ここにコピー。(元は、FreeBSDハンドブックの”第16章 FreeBSD のアップデートとアップグレード” ページ)
- # git pull /usr/src
- /usr/src/UPDATING の確認
- # cd /usr/src
- # make -j4 buildworld
- # make -j4 kernel
- # shutdown -r now
- # etcupdate -p
- # cd /usr/src
- # make installworld
- # etcupdate -B
- # shutdown -r now
へぇ~、正式にはこういう手順なんだ。
脆弱性が見つかった場所が、カーネルなのか、OSに含まれるコマンドやライブラリーなのかによって、1~11まで行う必要がある訳ではありませんが、順番としては以上だと、今知りました。
例えば、脆弱性が見つかった場合、
それが NFS のようにカーネルに含まれるときは
1,2,3,5,6
それが、OSに含まれるコマンドのとき
1,2,3,4,9,11
カーネル、コマンド両方に脆弱性が含まれているとき
1,2,3,4,5,6,8,9,11
OSをソースコードを使ってマイナーバージョンアップする時、
1 → 11 まで全部を順番に
etcupdate コマンドは、/etc 以下などの OS側設定ファイルのヘッダーを更新するためなので、OSアップデートを伴わず、脆弱性対策だけの場合は不要。
ということで良さそう。
バイナリーメンテナンス可能な、Tier1 プラットフォーム(x64,arm64)の場合は、何でもかんでも freebsd-update コマンドが面倒を見てくれるので楽チン。