best overall upgrade from 8.x?

Royce Williams royce at tycho.org
Wed Nov 19 15:44:37 UTC 2014


On Mon, Nov 17, 2014 at 9:55 PM, Craig Rodrigues <rodrigc at freebsd.org> wrote:
> On Fri, Nov 14, 2014 at 7:44 PM, Royce Williams <royce at tycho.org> wrote:
>>
>> I have some 8.x boxes that I'm looking to start planning to transition
>> before 8.4 is likely to go EOL next year.
>>
>> All other things being equal, what's the general consensus on where to
>> upgrade to from 8.x ... 9.x, or 10.x?

The original intent of my question was not very clear.  I happen to be
tracking -RELEASE with freebsd-update, but my question was really
intended to be a "which one is better, 9.x or 10.x?" rather than about
how to perform the upgrade per se.

> Do you have one of your machines available for experimentation to do
> a test upgrade from 8.x to 10.1-RELEASE via freebsd-update, and also pkg_add
> to pkgng?

I do, though the systems in question are already using pkgng.

> I would be curious what your experience with this would be, so that we can
> fix documentation for doing such an upgrade.

Fair enough!

In a VM, I did a stock install of 8.4-RELEASE and then used
freebsd-update to upgrade to 10.1-RELEASE.

I tried to act like someone familiar with freebsd-update and FreeBSD
8.x (and below), but unaware of any issues specific to 9.x or 10.x
upgrades.

tl;dr:

This was relatively painless, with a few freebsd-update cosmetic
oddities that might throw off the uninitiated, and a nice hint from
pkg to bootstrap itself.


Walkthrough:

I installed 8.4-RELEASE from the original release DVD ISO in a
Virtualbox VM.  Other than things like using the entire drive for
FreeBSD and using automatic partitioning, I only enabled sshd and IPv4
DHCP, and installed packages bash, portmaster, screen, and sudo during
the install.

At first boot, I brought 8.4 current with:

# freebsd-update fetch install


... which threw these errors:

Installing updates...install:
///user/src/share/zoneinfo/leap-seconds.list: No such file or directory
install: ///usr/src/share/zoneinfo/zone1970.tab: No such file or directory
 done.

I then rebooted:

# shutdown -r now


... which brought me to 8.4-RELEASE-p19.

I then started an upgrade to 10.1:

# freebsd-update -r 10.1-RELEASE upgrade


This fetched 9400 patches and 10336 files.

Changes that were merged:

   /etc/group: added unbound group.
   /etc/passwd: added unbound user.
   /etc/motd: updates to newbie guidance.
   /etc/master.passwd: added unbound user.

Tag changes only:

    /etc/shells


Continuing with the upgrade:

# freebsd-update install


... produced this error:

Installing updates...rmdir: ///boot/kernel: Directory not empty


Continuing:

# shutdown -r now


... rebooted to the expected kernel:

10.1-RELEASE #0 r274401: Tue Nov 11 21:02:49 UTC 2014

Continuing:

# freebsd-update install


... after which I was prompted to rebuild all third-party software.
This wasn't too hard, as I'd only installed bash, portmaster, screen,
and sudo (and their dependencies libiconv and gettext).

Attempting to run pkg, I got this helpful prompt:

The package management tool is not yet installed on your system.
Do you want to fetch and install it now? [y/N]: y
Bootstrapping pkg from [url], please wait...
Verifying signature with trusted certificate pkg.freebsd.org.2013102301... done
Installing pkg-1.3.8_3: 100%
Message for pkg-1.3.8_3:
 If you are upgrading from the old package format, first run:

  # pkg2ng


I ran pkg2ng, with no errors.

However, I had also neglected to install a ports tree:

# portmaster -a
===>>> The ports directory (
make: stopped in /root) does not seem to contain a ports tree
==>>> Killing background jobs
Terminated
===>>> Exiting


... so ...

# portsnap fetch extract


and then ...

# portmaster -a


... which fetched as dependencies:

devel/bison
devel/gmake
devel/m4
lang/perl5.16
ports-mgmt/dialog4ports
print/indexinfo


The package message for pkg prompted me to add "WITH_PKGNG=yes", to
/etc/make.conf, so I did so.

Unrelated to the vanilla upgrade, I was also prompted to add fdesc
support for bash.  So as prompted, I added to /etc/fstab:

fdesc /dev/fd fdescfs rw 0 0


I then ran freebsd-update one more time:

# freebsd-update install


... which completed with no errors.


Royce


More information about the freebsd-stable mailing list