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
53 .Oo Fl o Ar key Ns = Ns Ar value | Fl u Ar key Oc Ns ...
54 .Ao Ar jailID | jailName Ac
72 .Ao Ar jailID | jailName Ac
81 command is used to setup and interact with ZFS boot environments, which are bootable clones of datasets.
84 allows the system to be upgraded, while preserving the old system environment in a separate ZFS dataset.
86 The following commands are supported by
88 .Bl -tag -width activate
95 as the default boot filesystem.
98 flag is given, this takes effect only for the next boot.
101 .Op Fl e Ar nonActiveBe | Fl e Ar beName@snapshot
104 Creates a new boot environment named
106 If the -e param is specified, the new environment will be cloned from the given
107 .Ar nonActiveBe | Ar beName@snapshot .
110 flag is given, a recursive boot environment will be made.
113 .Ao Ar beName@snapshot Ac
115 Creates a snapshot of the existing boot environment named
119 flag is given, a recursive boot environment will be made.
122 .Ao Ar beName | beName@snapshot Ac
131 will automatically unmount without confirmation.
140 must be piped or redirected to a file.
149 .Oo Fl o Ar key Ns = Ns Ar value | Fl u Ar key Oc Ns ...
150 .Ao Ar jailID | jailName Ac
153 Creates a jail of the given boot environment.
158 arguments may be specified.
160 will set a jail parameter, and
162 will unset a jail parameter.
169 may not actually be unset.
170 Attempts to unset any of these will revert them to the default values specified
171 below, if they have been overwritten by
177 pairs are interpreted as jail parameters as described in
179 The following default parameters are provided:
180 .Bl -tag -width -indent
181 .It Va allow.mount Ns = Ns Ar true
182 .It Va allow.mount.devfs Ns = Ns Ar true
183 .It Va enforce_statfs Ns = Ns Ar 1
184 .It Va name Ns = Ns Ar bootenv
185 .It Va host.hostname Ns = Ns Ar bootenv
187 Set to a path in /tmp generated by
191 All default parameters may be overwritten.
198 Displays all boot environments.
199 The Active field indicates whether the boot environment is active now (N); active on reboot (R); or both (NR).
203 is used, display all datasets.
206 is used, display the full space usage for each boot environment, assuming all other boot environments were destroyed.
209 option is used for scripting.
210 It does not print headers and separate fields by a single tab instead of arbitrary white space.
213 is used, display all snapshots as well.
218 Temporarily mount the boot environment.
219 Mount at the specified
222 .It Ic rename Ao Ar origBeName Ac Ao Ar newBeName Ac
224 Renames the given nonactive
228 .It Ic unjail Ao Ar jailID | jailName | beName Ac
230 Destroys the jail created from the given boot environment.
235 Unmount the given boot environment, if it is mounted.
238 will force the unmount if busy.
243 To fill in with jail upgrade example when behavior is firm.
253 and was implemented as a project for the 2017 Summer of Code, along with
258 .An Kyle Kneitinger (kneitinger) Aq Mt kyle@kneit.in
263 .An Slawomir Wojciech Wojtczak (vermaden) Aq Mt vermaden@interia.pl
265 Creator and maintainer of
268 .An Bryan Drewery (bdrewery) Aq Mt bryan@shatow.net
272 manual page that this one is derived from.