FreeBSD Update - eiichiromomma/CVMLAB GitHub Wiki

(FreeBSD) FreeBSD Update

バイナリパッチによるアップデート

freebsd-updateの最新版の取得

$fetch http://people.freebsd.org/~cperciva/freebsd-update-upgrade.tgz
$fetch http://people.freebsd.org/~cperciva/freebsd-update-upgrade.tgz.asc

で2ファイルを取得。

公開鍵の取得

rootになってからリリースノート にある通り実行すると

#gpg --verify freebsd-update-upgrade.tgz.asc freebsd-update-upgrade.tgz
gpg: 金 11/16 23:01:38 2007 JSTにDSA鍵ID CA6CDFB2で施された署名
gpg: 署名を検査できません: 公開鍵が見つかりません

となる。公開鍵が無いらしいので取り寄せる。

#gpg --keyserver pgp.nic.ad.jp --recv-key CA6CDFB2
gpg: 鍵CA6CDFB2をhkpからサーバーpgp.nic.ad.jpに要求
gpg: 鍵CA6CDFB2: 重複したユーザーIDの検出 - 併合
gpg: 鍵CA6CDFB2: 公開鍵“FreeBSD Security Officer <[email protected]>”を読み込みました
gpg: 絶対的に信用する鍵が見つかりません
gpg:     処理数の合計: 1
gpg:           読込み: 1

#gpg --verify freebsd-update-upgrade.tgz.asc freebsd-update-upgrade.tgz
gpg: 警告: 剣呑なメモリーを使用しています!
gpg: 詳細はhttp://www.gnupg.org/faq.htmlをご覧ください
gpg: 金 11/16 23:01:38 2007 JSTにDSA鍵ID CA6CDFB2で施された署名
gpg: “FreeBSD Security Officer <[email protected]>”からの正しい署名
gpg: 警告: この鍵は信用できる署名で証明されていません!
gpg:       この署名が所有者のものかどうかの検証手段がありません。
主鍵の指紋: C374 0FC5 69A6 FBB1 4AED  B131 15D6 8804 CA6C DFB2

これでOKの筈。

展開、実行

展開

#tar -xf freebsd-update-upgrade.tgz

実行

#sh freebsd-update.sh -f freebsd-update.conf -r 6.3-RELEASE upgrade
Looking up update.FreeBSD.org mirrors... 1 mirrors found.
Fetching public key from update1.FreeBSD.org... done.
Fetching metadata signature for 6.2-RELEASE from update1.FreeBSD.org... done.
Fetching metadata index... done.
Fetching 2 metadata files... done.
Inspecting system... done.

The following components of FreeBSD seem to be installed:
kernel/generic src/base src/bin src/contrib src/crypto src/etc src/games
src/gnu src/include src/krb5 src/lib src/libexec src/release src/rescue
src/sbin src/secure src/share src/sys src/tools src/ubin src/usbin
world/base world/dict world/games world/info world/manpages
world/proflibs

The following components of FreeBSD do not seem to be installed:
kernel/smp world/catpages world/doc

Does this look reasonable (y/n)? y

と出るのでSMPカーネルの場合は自前で用意する必要があるらしい? (SMP環境が無いのでわからない)

noを選択すると基本的にアップデートが中断されるらしいので慎重に。

Fetching metadata signature for 6.3-RELEASE from update1.FreeBSD.org... done.
Fetching metadata index... done.
Fetching 1 metadata patches. done.
Applying metadata patches... done.
Fetching 1 metadata files... done.
Inspecting system... done.
Fetching files from 6.2-RELEASE for merging... done.
(省略)

マージ

The following file could not be merged automatically: /etc/mail/freebsd.cf
Press Enter to edit this file in vi and resolve the conflicts

のような感じでEnterを押すとviが起動する。 基本的にやることは

<<<<<<< current version
(今迄の内容)
=======
(新しい内容の案)
>>>>>>> 新バージョン名

となっている箇所を探して、どちらかを削るなり上手くマージする。

すると差分を表示して

Does this look reasonable (y/n)?

と聞いてくるが、catでドバーっと表示されてしまうので、端末の行バッファを千行単位確保しておいた方が安心。

ファイルの確認

削除、追加、更新されるファイルの一覧が表示される。

インストール

#sh freebsd-update.sh -f freebsd-update.conf install

Installing updates...
Kernel updates have been installed.  Please reboot and run
"freebsd-update.sh install" again to finish installing updates.

rebootを挟んで2度実行する必要があるらしい

#shutdown -r now

dmesgなどでカーネルのバージョンを確認しておく。

再度実行、reboot

#sh freebsd-update.sh -f freebsd-update.conf install
Installing updates... done.
#shutdown -r now

以上で完了。