appjail-update
—
Update a thick jail or a release
appjail update |
jail [-bfKk ]
[-j jobs]
jail |
appjail update |
release [-f ]
[-a arch]
[-v version]
[release] |
The
appjail
update is a utility to fetch and install updates to a jail or a
release.
The options are as follows:
jail
[-bfKk
] [-j
jobs] jail
- Update jail.
You can only update a thick jail, except when it comes from an
empty release.
This subcommand updates a thick jail using
freebsd-update(8)
(binary updates) or using the FreeBSD source tree (source updates);
However, it depends entirely on how this jail was created. For thin
jails, it is not possible to use this subcommand, but there are at least
two methods: the first method uses
appjail-etcupdate(8)
after updating the release that uses the thin jail and the second method
is to separate the data that needs to be persisted from data that is
considered ephemeral, so you can destroy and recreate a jail, but
preserving the non-ephemeral data.
Note that when the jail comes from a build from the FreeBSD
source tree, the release is linked indirectly. To detect that the jail
comes from a build from the FreeBSD source tree, to obtain the kernel
configuration file, architecture, version and other parameters this
subcommand uses the release directory, since those parameters are stored
there. This is important if you want to export the jail and the release
on another system.
-b
- Build the world and, if the kernel was compiled successfully when
building the release (and if
-K
is not specified) or
-k
is specified, the kernel.
-f
- Force
freebsd-update(8)
fetch
to proceed in the case of an unfinished
upgrade. Ignored when the jail was created using a build from the
FreeBSD source tree.
-K
- By default, this subcommand detects whether a kernel has been compiled
successfully when the release is created, so it will proceed to
install the kernel again and, if
-b
is
specified, it will build the kernel again. This option disables this
behavior.
-k
- Build and install the kernel even if it is not necessary, that is,
when it was not compiled correctly or at all when creating the
release.
-j
jobs
- Number of jobs. If this option is not set, the number of jobs
specified by the
JOBS
parameter is used.
release
[-f
] [-a
arch] [-v
version] [release]
- Update release.
A release cannot be updated if it was created using a build
from the FreeBSD source tree or if it is an empty release. On the one
hand, an empty release is assumed to be the user, you, the only person
who knows how to update it, and on the other hand, to update a release
that was created using a build from the FreeBSD source tree,
appjail-fetch(1)
should be used and, if your workflow requires it, you should also use
appjail-etcupdate(1)
and
appjail-deleteOld(1).
-f
- Force
freebsd-update(8)
fetch
to proceed in the case of an unfinished
upgrade.
-a
arch
- Update release with the given architecture.
-v
version
- Update release with the given version.
The appjail update
utility exits 0
on success, and >0 if an error occurs.