FreeBSD: ソースメンテナンスの手順

FreeBSD をソースメンテナンスする場合の、/usr/src 下でのコマンド発行手順。

OSやカーネルにパッチを当てたり、OS全体を更新する場合、今まで我流で、/usr/src 以下で kernel を作った後、world をビルドしていましたけど、ハンドブックに手順が書いてある事がわかり、ここにコピー。(元は、FreeBSDハンドブックの”第16章 FreeBSD のアップデートとアップグレード” ページ)

  1. # git pull /usr/src
  2. /usr/src/UPDATING の確認
  3. # cd /usr/src
  4. # make -j4 buildworld
  5. # make -j4 kernel
  6. # shutdown -r now
  7. # etcupdate -p
  8. # cd /usr/src
  9. # make installworld
  10. # etcupdate -B
  11. # 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 コマンドが面倒を見てくれるので楽チン。

コメントを残す