15952343eSKyle Evans.\" 2b179da01SKyle Evans.\" SPDX-License-Identifier: BSD-2-Clause-FreeBSD 3b179da01SKyle Evans.\" 4b179da01SKyle Evans.\" Copyright (c) 2017 Kyle J. Kneitinger <kyle@kneit.in> 5b179da01SKyle Evans.\" All rights reserved. 65952343eSKyle Evans.\" 75952343eSKyle Evans.\" Redistribution and use in source and binary forms, with or without 85952343eSKyle Evans.\" modification, are permitted provided that the following conditions 95952343eSKyle Evans.\" are met: 105952343eSKyle Evans.\" 1. Redistributions of source code must retain the above copyright 115952343eSKyle Evans.\" notice, this list of conditions and the following disclaimer. 125952343eSKyle Evans.\" 2. Redistributions in binary form must reproduce the above copyright 135952343eSKyle Evans.\" notice, this list of conditions and the following disclaimer in the 145952343eSKyle Evans.\" documentation and/or other materials provided with the distribution. 155952343eSKyle Evans.\" 165952343eSKyle Evans.\" 175952343eSKyle Evans.\" @(#)be.1 18b6e7c421SKyle Evans.\" 195952343eSKyle Evans.\" $FreeBSD$ 205952343eSKyle Evans.\" 21*84e61219SKyle Evans.Dd August 10, 2018 22edbfe3bcSKyle Evans.Dt BECTL 8 23*84e61219SKyle Evans.Os 245952343eSKyle Evans.Sh NAME 25edbfe3bcSKyle Evans.Nm bectl 265952343eSKyle Evans.Nd Utility to manage Boot Environments on ZFS 275952343eSKyle Evans.Sh SYNOPSIS 285952343eSKyle Evans.Nm 295952343eSKyle Evansactivate 305952343eSKyle Evans.Op Fl t 315952343eSKyle Evans.Ao Ar beName Ac 325952343eSKyle Evans.Nm 335952343eSKyle Evanscreate 345952343eSKyle Evans.Op Fl r 355952343eSKyle Evans.Op Fl e Ar nonActiveBe | Fl e Ar beName@snapshot 365952343eSKyle Evans.Ao Ar beName Ac 375952343eSKyle Evans.Nm 385952343eSKyle Evanscreate 395952343eSKyle Evans.Op Fl r 405952343eSKyle Evans.Ao Ar beName@snapshot Ac 415952343eSKyle Evans.Nm 425952343eSKyle Evansdestroy 435952343eSKyle Evans.Op Fl F 445952343eSKyle Evans.Ao Ar beName | beName@snapshot Ac 455952343eSKyle Evans.Nm 465952343eSKyle Evansjail 472a0b8dc2SKyle Evans.Oo Fl o Ar key Ns = Ns Ar value | Fl u Ar key Oc Ns ... 485952343eSKyle Evans.Ao Ar jailID | jailName Ac 495952343eSKyle Evans.Ao Ar bootenv Ac 505952343eSKyle Evans.Nm 515952343eSKyle Evanslist 525952343eSKyle Evans.Op Fl a 535952343eSKyle Evans.Op Fl D 545952343eSKyle Evans.Op Fl H 555952343eSKyle Evans.Op Fl s 565952343eSKyle Evans.Nm 575952343eSKyle Evansmount 585952343eSKyle Evans.Ao Ar beName Ac 595952343eSKyle Evans.Op mountpoint 605952343eSKyle Evans.Nm 615952343eSKyle Evansrename 625952343eSKyle Evans.Ao Ar origBeName Ac 635952343eSKyle Evans.Ao Ar newBeName Ac 645952343eSKyle Evans.Nm 655952343eSKyle Evans{ ujail | unjail } 665952343eSKyle Evans.Ao Ar jailID | jailName Ac 675952343eSKyle Evans.Ao Ar bootenv Ac 685952343eSKyle Evans.Nm 695952343eSKyle Evans{ umount | unmount } 705952343eSKyle Evans.Op Fl f 715952343eSKyle Evans.Ao Ar beName Ac 725952343eSKyle Evans.Sh DESCRIPTION 735952343eSKyle EvansThe 745952343eSKyle Evans.Nm 755952343eSKyle Evanscommand is used to setup and interact with ZFS boot environments, which are bootable clones of datasets. 765952343eSKyle Evans.Pp 775952343eSKyle Evans.Em Boot Environments 785952343eSKyle Evansallows the system to be upgraded, while preserving the old system environment in a separate ZFS dataset. 795952343eSKyle Evans.Sh COMMANDS 805952343eSKyle EvansThe following commands are supported by 815952343eSKyle Evans.Nm : 825952343eSKyle Evans.Bl -tag -width activate 835952343eSKyle Evans.It Ic activate 845952343eSKyle Evans.Op Fl t 855952343eSKyle Evans.Ar <beName> 865952343eSKyle Evans.Pp 875952343eSKyle EvansActivate the given 885952343eSKyle Evans.Ar beName 89*84e61219SKyle Evansas the default boot filesystem. 90*84e61219SKyle EvansIf the 915952343eSKyle Evans.Op Fl t 925952343eSKyle Evansflag is given, this takes effect only for the next boot. 935952343eSKyle Evans.It Ic create 945952343eSKyle Evans.Op Fl r 955952343eSKyle Evans.Op Fl e Ar nonActiveBe | Fl e Ar beName@snapshot 965952343eSKyle Evans.Ao Ar beName Ac 975952343eSKyle Evans.Pp 985952343eSKyle EvansCreates a new boot environment named 995952343eSKyle Evans.Ar beName . 1005952343eSKyle EvansIf the -e param is specified, the new environment will be cloned from the given 1015952343eSKyle Evans.Ar nonActiveBe | Ar beName@snapshot . 1025952343eSKyle EvansIf the 1035952343eSKyle Evans.Op Fl r 1045952343eSKyle Evansflag is given, a recursive boot environment will be made. 1055952343eSKyle Evans.It Ic create 1065952343eSKyle Evans.Op Fl r 1075952343eSKyle Evans.Ao Ar beName@snapshot Ac 1085952343eSKyle Evans.Pp 1095952343eSKyle EvansCreates a snapshot of the existing boot environment named 1105952343eSKyle Evans.Ar beName . 1115952343eSKyle EvansIf the 1125952343eSKyle Evans.Op Fl r 1135952343eSKyle Evansflag is given, a recursive boot environment will be made. 1145952343eSKyle Evans.It Ic destroy 1155952343eSKyle Evans.Op Fl F 1165952343eSKyle Evans.Ao Ar beName | beName@snapshot Ac 1175952343eSKyle Evans.Pp 1185952343eSKyle EvansDestroys the given 1195952343eSKyle Evans.Ar beName 1205952343eSKyle Evansboot environment or 1215952343eSKyle Evans.Ar beName@snapshot 1225952343eSKyle Evanssnapshot. 1235952343eSKyle EvansSpecifying 1245952343eSKyle Evans.Fl F 1255952343eSKyle Evanswill automatically unmount without confirmation. 1265952343eSKyle Evans.It Ic jail 1272a0b8dc2SKyle Evans.Oo Fl o Ar key Ns = Ns Ar value | Fl u Ar key Oc Ns ... 1285952343eSKyle Evans.Ao Ar jailID | jailName Ac 1295952343eSKyle Evans.Ao Ar bootenv Ac 1305952343eSKyle Evans.Pp 1315952343eSKyle EvansCreates a jail of the given boot environment. 132d694059fSKyle EvansMultiple 133d694059fSKyle Evans.Fl o 1342a0b8dc2SKyle Evansand 1352a0b8dc2SKyle Evans.Fl u 136d694059fSKyle Evansarguments may be specified. 1372a0b8dc2SKyle Evans.Fl o 1382a0b8dc2SKyle Evanswill set a jail parameter, and 1392a0b8dc2SKyle Evans.Fl u 1402a0b8dc2SKyle Evanswill unset a jail parameter. 1412a0b8dc2SKyle Evans.Pp 1422a0b8dc2SKyle EvansThe 1432a0b8dc2SKyle Evans.Va name , 1442a0b8dc2SKyle Evans.Va host.hostname , 1452a0b8dc2SKyle Evansand 1462a0b8dc2SKyle Evans.Va path 1472a0b8dc2SKyle Evansmay not actually be unset. 1482a0b8dc2SKyle EvansAttempts to unset any of these will revert them to the default values specified 1492a0b8dc2SKyle Evansbelow, if they have been overwritten by 1502a0b8dc2SKyle Evans.Fl o . 1512a0b8dc2SKyle Evans.Pp 1522a0b8dc2SKyle EvansAll 153d694059fSKyle Evans.Ar key , 154d694059fSKyle Evans.Ar value 155d694059fSKyle Evanspairs are interpreted as jail parameters as described in 156d694059fSKyle Evans.Xr jail 8 . 157d694059fSKyle EvansThe following default parameters are provided: 158d694059fSKyle Evans.Bl -tag -width -indent 159d694059fSKyle Evans.It Va allow.mount Ns = Ns Ar true 160d694059fSKyle Evans.It Va allow.mount.devfs Ns = Ns Ar true 161d694059fSKyle Evans.It Va enforce_statfs Ns = Ns Ar 1 162d694059fSKyle Evans.It Va name Ns = Ns Ar bootenv 163d694059fSKyle Evans.It Va host.hostname Ns = Ns Ar bootenv 164d694059fSKyle Evans.It Va path 165d694059fSKyle EvansSet to a path in /tmp generated by 166*84e61219SKyle Evans.Xr libbe 3 . 167d694059fSKyle Evans.El 1685952343eSKyle Evans.Pp 1692a0b8dc2SKyle EvansAll default parameters may be overwritten. 1705952343eSKyle Evans.It Ic list 1715952343eSKyle Evans.Op Fl a 1725952343eSKyle Evans.Op Fl D 1735952343eSKyle Evans.Op Fl H 1745952343eSKyle Evans.Op Fl s 1755952343eSKyle Evans.Pp 1765952343eSKyle EvansDisplays all boot environments. 1775952343eSKyle EvansThe Active field indicates whether the boot environment is active now (N); active on reboot (R); or both (NR). 1785952343eSKyle Evans.Pp 1795952343eSKyle EvansIf 1805952343eSKyle Evans.Fl a 1815952343eSKyle Evansis used, display all datasets. 1825952343eSKyle EvansIf 1835952343eSKyle Evans.Fl D 1845952343eSKyle Evansis used, display the full space usage for each boot environment, assuming all other boot environments were destroyed. 1855952343eSKyle EvansThe 1865952343eSKyle Evans.Fl H 187*84e61219SKyle Evansoption is used for scripting. 188*84e61219SKyle EvansIt does not print headers and separate fields by a single tab instead of arbitrary white space. 1895952343eSKyle EvansIf 1905952343eSKyle Evans.Fl s 1915952343eSKyle Evansis used, display all snapshots as well. 1925952343eSKyle Evans.It Ic mount 1935952343eSKyle Evans.Ao Ar beName Ac 1945952343eSKyle Evans.Op mountpoint 1955952343eSKyle Evans.Pp 1965952343eSKyle EvansTemporarily mount the boot environment. 1975952343eSKyle EvansMount at the specified 1985952343eSKyle Evans.Ar mountpoint 1995952343eSKyle Evansif provided. 2005952343eSKyle Evans.It Ic rename Ao Ar origBeName Ac Ao Ar newBeName Ac 2015952343eSKyle Evans.Pp 2025952343eSKyle EvansRenames the given nonactive 2035952343eSKyle Evans.Ar origBeName 2045952343eSKyle Evansto the given 2055952343eSKyle Evans.Ar newBeName 2065952343eSKyle Evans.It Ic unmount 2075952343eSKyle Evans.Op Fl f 2085952343eSKyle Evans.Ao Ar beName Ac 2095952343eSKyle Evans.Pp 2105952343eSKyle EvansUnmount the given boot environment, if it is mounted. 2115952343eSKyle EvansSpecifying 2125952343eSKyle Evans.Fl f 2135952343eSKyle Evanswill force the unmount if busy. 214ad765da4SKyle Evans.It Ic unjail Ao Ar jailID | jailName | beName Ac 2155952343eSKyle Evans.Pp 2165952343eSKyle EvansDestroys the jail created from the given boot environment. 2175952343eSKyle Evans.El 2185952343eSKyle Evans.Sh EXAMPLES 2195952343eSKyle Evans.Bl -bullet 2205952343eSKyle Evans.It 2215952343eSKyle EvansTo fill in with jail upgrade example when behavior is firm. 222*84e61219SKyle Evans.El 2235952343eSKyle Evans.Sh SEE ALSO 2245952343eSKyle Evans.Xr jail 8 , 2255952343eSKyle Evans.Xr zfs 8 , 2265952343eSKyle Evans.Xr zpool 8 2275952343eSKyle Evans.Sh HISTORY 2285952343eSKyle Evans.Nm 2295952343eSKyle Evansis based on 2305952343eSKyle Evans.Xr beadm 1 2315952343eSKyle Evansand was implemented as a project for the 2017 Summer of Code, along with 2325952343eSKyle Evans.Xr libbe 3 . 2335952343eSKyle Evans.Sh AUTHORS 2345952343eSKyle Evans.Bl -bullet 2355952343eSKyle Evans.It 236*84e61219SKyle Evans.An Kyle Kneitinger (kneitinger) 2375952343eSKyle Evans.Ar kyle@kneit.in 2385952343eSKyle Evans.Pp 2395952343eSKyle EvansCreator of 2405952343eSKyle Evans.Nm . 2415952343eSKyle Evans.It 242*84e61219SKyle Evans.An Slawomir Wojciech Wojtczak (vermaden) 2435952343eSKyle Evans.Ar vermaden@interia.pl 2445952343eSKyle Evans.Pp 2455952343eSKyle EvansCreator and maintainer of 2465952343eSKyle Evans.Xr beadm 1 . 2475952343eSKyle Evans.It 248*84e61219SKyle Evans.An Bryan Drewery (bdrewery) 2495952343eSKyle Evans.Ar bryan@shatow.net 2505952343eSKyle Evans.Pp 2515952343eSKyle EvansWrote the original 2525952343eSKyle Evans.Xr beadm 1 2535952343eSKyle Evansmanual page that this one is derived from. 2545952343eSKyle Evans.El 255