You are here

freebsd-update will not upgrade from 9.0-RELEASE

When attempting to update from a fully-patched 9.0-RELEASE, you may encounter results like these:

Looking up update.FreeBSD.org mirrors... 5 mirrors found.
Fetching metadata signature for 9.0-RELEASE from update2.freebsd.org... done.
Fetching metadata index... done.
Inspecting system... done.

WARNING: This system is running a "venus" kernel, which is not a
kernel configuration distributed as part of FreeBSD 9.0-RELEASE.
This kernel will not be updated: you MUST update the kernel manually
before running "/usr/sbin/freebsd-update install".

The following components of FreeBSD seem to be installed:
src/src world/base world/doc

The following components of FreeBSD do not seem to be installed:
kernel/generic world/games world/lib32

Does this look reasonable (y/n)? y

Fetching metadata signature for 10.0-RELEASE from update2.freebsd.org... done.
Fetching metadata index... done.

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

You will find lots of people telling you to run this command

sed -i '' -e 's/=_/=%@_/' /usr/sbin/freebsd-update

It won't work. Instead you need to apply this patch:

Index: freebsd-update.sh =================================================================== --- freebsd-update.sh (revision 265210) +++ freebsd-update.sh (working copy) @@ -1110,7 +1110,7 @@ fetch_metadata_sanity () { # Some aliases to save space later: ${P} is a character which can # appear in a path; ${M} is the four numeric metadata fields; and # ${H} is a sha256 hash. - P="[-+./:=%@_[[:alnum:]]" + P="[-+./:=%@_~[[:alnum:]]" M="[0-9]+\|[0-9]+\|[0-9]+\|[0-9]+" H="[0-9a-f]{64}"

Add new comment

Simple Copyright Policy: If you want to reproduce anything on this site, get my permission first.