freebsd-update 出現 failed an integrity check

使用 freebsd-update 升級 FreeBSD 時,如果出現以下的錯誤:

  The update metadata is correctly signed, but
  failed an integrity check.
  Cowardly refusing to proceed any further.

可以參考這邊的說明http://www.freebsd.org/security/advisories/FreeBSD-EN-12:01.freebsd-update.asc,大概是說,只要你是從 9.0 以前的版本,升級到 9.0 以後的版本,就會出現這個問題。

不同的版本,有不一樣的解決方式,蠻麻煩的,看看吧。

改好之後,就可以順利更新了:

[root@xxxx]/usr/src/usr.sbin/freebsd-update(106): freebsd-update -r 10.0-RELEASE upgrade
Looking up update.FreeBSD.org mirrors... 5 mirrors found.
Fetching metadata signature for 7.4-RELEASE from update6.freebsd.org... done.
Fetching metadata index... done.
Inspecting system... done.

The following components of FreeBSD seem to be installed:
kernel/generic src/base src/bin src/cddl 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/info world/lib32 world/manpages
world/proflibs

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

Does this look reasonable (y/n)? y

Fetching metadata signature for 10.0-RELEASE from update6.freebsd.org... done.
Fetching metadata index... done.
Inspecting system... done.
Fetching files from 7.4-RELEASE for merging... done.
Preparing to download files... done.
Fetching 7714 patches.....10....20....30....40....50....60....70....80....90....100....110....120....