FreeBSDのアップグレード

同じリリース内でセキュリティパッチレベルを上げる。
6.3-RELEASEからは，「upgrade」オプションで異なるリリースに上がることが可能になった.

セキュリティパッチ

パッチをダウンロード。

# freebsd-update fetch

パッチをインストール。

# freebsd-update install

最後に再起動。1) カーネル、カーネルモジュールに変更がなければ不要

# shutdown -r now

確認。

# uname -a

こんな風に表示されます。2) 後ろにp1がついています

FreeBSD hostname 8.2-RELEASE FreeBSD 8.2-RELEASE-p1 #0: Fri Feb 18 02:24:46 UTC 2011…

10.0からfreebsd-versionというFreeBSDのパッチレベルを教えてくれるコマンドが導入されました
リブート前でも確認できます。

# freebsd-version
10.0-RELEASE-p1

カーネルなら

# freebsd-version -k
10.0-RELEASE-p1

ユーザランドなら

# freebsd-version -u
10.0-RELEASE-p1

update できない？

unameすると以下のように

# uname -a
FreeBSD ...... 10.2-RELEASE-p9 FreeBSD 10.2-RELEASE-p9 ......

と表示されるのに、以下のようにupdateは不要と出るケースがある

# freebsd-update fetch
......
Preparing to download files... done.
No updates needed to update system to 10.2-RELEASE-p12.

これは、unameで表示されるのがkernelバージョンのため
freebsd-versionで表示するとわかりやすい

# freebsd-version -k
10.2-RELEASE-p9
# freebsd-version -u
10.2-RELEASE-p12

リリースアップグレード

必要なバイナリなどの取得

# freebsd-update upgrade -r 8.2-RELEASE
...
Does this look reasonable (y/n)? y

設定がコンフリクトしたらエディタが起動するのでよさげに直す。
その他は、

Does this look reasonable (y/n)? y

ずっとy

終わったら、カーネルのアップデート

# freebsd-update install

再起動

# shutdown -r now

バージョン確認

# uname -a

パッケージのアップデート

# pkg-static upgrade -f

アプリケーションを再構築するには

# portmaster -af

portsツリーの更新

# portsnap fetch update && portsdb -u

portsからインストールしたものをアップデート

# portmaster pathto/port

サードパーティーアプリの更新
ただしportsからインストールしたものはpkg lockしてから3) lockしたportsをアップグレードする場合、まずunlockしてからなので注意

# pkg upgrade -f

あれやこれやのアップデートをインストール

# freebsd-update install

念の為再起動

# shutdown -r now

JailのUpgrade

# freebsd-update -b /jail/base -r 10.3-RELEASE upgrade

ただし、母艦側が10.3だとエラーなので、unameを環境変数でごまかす

# setenv UNAME_r 10.2-RELEASE

これで、Upgrade、install

# freebsd-update -b /jail/base -r 10.3-RELEASE upgrade
# freebsd-update -b /jail/base install

環境変数を戻して

# unsetenv UNAME_r 10.3-RELEASE

再度

# freebsd-update -b /jail/base install

作業ファイルの削除

作業ファイルが数百MBあるので消しておきます。4) これを忘れると/varがあふれて寂しいことになります

# rm -fr /var/db/freebsd-update/files

7.3以前

FreeBSD 7.3-RELEASEかそれ以前のFreeBSDからアップグレードする場合には、サードパーティアプリケーションをリビルドする必要があります。 アップデート後にサードパーティアプリケーションをインストールし、再びfreebsd-updateを実行して、古いライブラリを削除してください。

参考

freebsd-update

http://ror.hj.to/ja/issei/entries/kzx8vj-pa1ivb8zlw4b/node