2 .\" SPDX-License-Identifier: BSD-2-Clause-FreeBSD
4 .\" Copyright (c) 2017 Kyle J. Kneitinger <kyle@kneit.in>
5 .\" All rights reserved.
7 .\" Redistribution and use in source and binary forms, with or without
8 .\" modification, are permitted provided that the following conditions
10 .\" 1. Redistributions of source code must retain the above copyright
11 .\" notice, this list of conditions and the following disclaimer.
12 .\" 2. Redistributions in binary form must reproduce the above copyright
13 .\" notice, this list of conditions and the following disclaimer in the
14 .\" documentation and/or other materials provided with the distribution.
26 .Nd Utility to manage Boot Environments on ZFS
35 .Op Fl e Ar nonActiveBe | Fl e Ar beName@snapshot
40 .Ao Ar beName@snapshot Ac
44 .Ao Ar beName | beName@snapshot Ac
54 .Oo Fl o Ar key Ns = Ns Ar value | Fl u Ar key Oc Ns ...
55 .Ao Ar jailID | jailName Ac
57 .Op Ar utility Op Ar argument ...
74 .Ao Ar jailID | jailName Ac
83 command is used to setup and interact with ZFS boot environments, which are bootable clones of datasets.
86 allows the system to be upgraded, while preserving the old system environment in a separate ZFS dataset.
88 The following commands are supported by
90 .Bl -tag -width activate
97 as the default boot filesystem.
100 flag is given, this takes effect only for the next boot.
103 .Op Fl e Ar nonActiveBe | Fl e Ar beName@snapshot
106 Creates a new boot environment named
108 If the -e param is specified, the new environment will be cloned from the given
109 .Ar nonActiveBe | Ar beName@snapshot .
112 flag is given, a recursive boot environment will be made.
115 .Ao Ar beName@snapshot Ac
117 Creates a snapshot of the existing boot environment named
121 flag is given, a recursive boot environment will be made.
124 .Ao Ar beName | beName@snapshot Ac
133 will automatically unmount without confirmation.
142 must be piped or redirected to a file.
151 .Oo Fl o Ar key Ns = Ns Ar value | Fl u Ar key Oc Ns ...
152 .Ao Ar jailID | jailName Ac
154 .Op Ar utility Op Ar argument ...
156 Creates a jail of the given boot environment.
161 arguments may be specified.
163 will set a jail parameter, and
165 will unset a jail parameter.
167 By default, jails are created in interactive mode and
170 executed within the jail.
173 is specified, it will be executed instead of
178 argument enables batch mode, thereby disabling interactive mode.
185 may not actually be unset.
186 Attempts to unset any of these will revert them to the default values specified
187 below, if they have been overwritten by
193 pairs are interpreted as jail parameters as described in
195 The following default parameters are provided:
196 .Bl -tag -width -indent
197 .It Va allow.mount Ns = Ns Ar true
198 .It Va allow.mount.devfs Ns = Ns Ar true
199 .It Va enforce_statfs Ns = Ns Ar 1
200 .It Va name Ns = Ns Ar bootenv
201 .It Va host.hostname Ns = Ns Ar bootenv
203 Set to a path in /tmp generated by
207 All default parameters may be overwritten.
214 Displays all boot environments.
215 The Active field indicates whether the boot environment is active now (N); active on reboot (R); or both (NR).
219 is used, display all datasets.
222 is used, display the full space usage for each boot environment, assuming all other boot environments were destroyed.
225 option is used for scripting.
226 It does not print headers and separate fields by a single tab instead of arbitrary white space.
229 is used, display all snapshots as well.
234 Temporarily mount the boot environment.
235 Mount at the specified
238 .It Ic rename Ao Ar origBeName Ac Ao Ar newBeName Ac
240 Renames the given nonactive
244 .It Ic unjail Ao Ar jailID | jailName | beName Ac
246 Destroys the jail created from the given boot environment.
251 Unmount the given boot environment, if it is mounted.
254 will force the unmount if busy.
259 To fill in with jail upgrade example when behavior is firm.
269 and was implemented as a project for the 2017 Summer of Code, along with
274 .An Kyle Kneitinger (kneitinger) Aq Mt kyle@kneit.in
279 .An Slawomir Wojciech Wojtczak (vermaden) Aq Mt vermaden@interia.pl
281 Creator and maintainer of
284 .An Bryan Drewery (bdrewery) Aq Mt bryan@shatow.net
288 manual page that this one is derived from.