目次
FreeBSDのアップグレード
同じリリース内でセキュリティパッチレベルを上げる。
6.3-RELEASEからは,「upgrade」オプションで異なるリリースに上がることが可能になった.
セキュリティパッチ
パッチをダウンロード。
# freebsd-update fetch
アップデートが不要な場合、以下のような表示
No updates needed to update system......
パッチをインストール。
# freebsd-update install
確認
# freebsd-version -ku 13.2-RELEASE-p2 13.2-RELEASE-p2 # freebsd-version -r 13.2-RELEASE
バージョンが変わっていたら再起動1)
# shutdown -r now
確認。
# uname -a
こんな風に表示されます。2)
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
カーネルなら3)
# freebsd-version -k 10.0-RELEASE-p2
ユーザランドなら
# freebsd-version -u 10.0-RELEASE-p3
起動中のカーネルなら
# freebsd-version -r 10.0-RELEASE-p1
jailのユーザランドなら
# freebsd-version -j jail((jailname or jid)) 10.0-RELEASE-p3
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
自動的に適用させる
cronで設定
以下の1行を追加
0 5 * * * root /usr/sbin/freebsd-update cron
変更のダウンロードはされますが、適用は手動で行う必要があります
freebsd-update install
バージョン確認
freebsd-version -kur freebsd-version -k uname -r
バージョンが変わっていたら再起動
通常、システムを再起動する必要があります
カーネルアップデートによりシステムの再起動が必要かどうかを調べるには、freebsd-version -k と uname -r を実行し、2 つのコマンドの結果が異なる場合には、システムを再起動します
shutdown -r now
リリースアップグレード
必要なバイナリなどの取得
# 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
再起動4)
# shutdown -r now
あれやこれやのアップデートをインストール5)
# freebsd-update install
バージョン確認
# freebsd-version # uname -a
メジャーバージョンアップグレード後の package のアップグレード
メジャーバージョンアップグレード後には、packages, ports をアップグレードする必要があります
パッケージのアップデート
# pkg-static upgrade -f # pkg bootstrap -f
アプリケーションを再構築するには
# portmaster -af
ソフトウェアのアップグレードが終わったら、最後にもう一度 freebsd-update を実行
# freebsd-update install
portsツリーの更新
# portsnap fetch update && portsdb -u
portsからインストールしたものをアップデート
# portmaster pathto/port
サードパーティーアプリの更新
ただしportsからインストールしたものはpkg lockしてから6)
# pkg upgrade -f
念の為再起動
# shutdown -r now
Bootloaderの更新
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あるので消しておきます。7)
# rm -fr /var/db/freebsd-update/files
7.3以前
FreeBSD 7.3-RELEASEかそれ以前のFreeBSDからアップグレードする場合には、サードパーティアプリケーションをリビルドする必要があります。
アップデート後にサードパーティアプリケーションをインストールし、再びfreebsd-updateを実行して、古いライブラリを削除してください。