3.6 KiB

Keeping everything up-to-date

When you read "run the {name} management script" it means that you must run with sh {name}.sh inside the /root/management-scripts directory.

For instance, running the iocage-update management script ranslates to the following commands:

cd /root/management-scripts

Upgrading FreeBSD

Upgrade to the latest patch level

This is valid if you want for example upgrade from FreeBSD 11.1-p1 to FreeBSD 11.1-p2.

On the host system

Run freebsd-update fetch to download the latest patches for the operating system.

Run freebsd-update install afterwards to apply the previously downloaded patches.

root@oikia:~ # freebsd-update fetch
src component not installed, skipped
Looking up mirrors... 3 mirrors found.
Fetching metadata signature for 11.1-RELEASE from done.
Fetching metadata index... done.
Fetching 2 metadata patches.. done.
Applying metadata patches... done.
Inspecting system... done.
Preparing to download files... done.
Fetching 3 patches.. done.
Applying patches... done.
The following files will be updated as part of updating to 11.1-RELEASE-p2:

root@oikia:~ # freebsd-update install
src component not installed, skipped
Installing updates... done.

On the guest jails

To fetch and install the latest patches to all the running jails run the iocage-upgrade management script.

If you want to perform manual upgrade to a single jail run the iocage update {jail_name}.

Upgrade to a new release

This is valid if you want upgrade for example from FreeBSD 10.3 to FreeBSD 11.0 or from FreeBSD 11.0 to FreeBSD 11.1.

On the host system

To be done.

On the guest jails

To be done.

Upgrading the packages

Upgrading the local packages repositories

  1. Update the builder jail and the ports library running the poudriere-refresh management script.

  2. Run the poudriere-options management script to search for new compilation flags.

    If the scripts quits just fine you're ready to perform the next step.

    If a ncurses-like prompt shows up it means that there are new compilation flags for some package we're trying to update. Keep in mind that you could be asked for confirm multiple times for the same package, as it could be required by multiple jails.

    The new compilation flags are marked with a + sign. If all the new compilation flags are not enabled (with a X filling the [ ]) you can perform the next step, otherwise, if you are not satified with the new provided default you will need to upgrade the make.conf file for the package repository you're updating. Further documentation about this will come.

  3. Run the poudriere-bulk management script and wait for it to compile the new packages.

Upgrading host system packages

Just run pkg update to download the latest package list. Run pkg upgrade to apply the updates.

Upgrading the guest jails packages

It consists in logging into each jail with the iocage console {jail_name} command and then executing the pkg update and pkg upgrade commands.

You can show all the available jails with the command iocage list, then for each jail run iocage console {jail_name}.

Known issues

  • Seafile is very bitchy to upgrade and between intermediate releases (6.1.2 -> 6.2.0) it will require human interaction in the form of perfoming the database migration by hand. Avoid to upgrade Seafile if you don't feel confident and ask for help to crudo.