BEADM(8)

NAME
beadm - manage boot environments with ZFS

SYNOPSIS
beadm activate beName
beadm create [-e nonActiveBe|beName@snapshot] beName
beadm create beName@snapshot
beadm destroy [-F] beName|beName@snapshot
beadm export [-v] beName
beadm import [-v] beName
beadm list [-aDHs]
beadm mount beName [mountpoint]
beadm rename origBeName newBeName
beadm umount [-f beName]
beadm chroot beName
beadm reroot beName
beadm version

DESCRIPTION
The beadm command is used to setup and interact with boot environments with ZFS.

Boot environments allow the system to be upgraded, while preserving the old system environment in a separate ZFS dataset.

COMMANDS
The following commands are supported by beadm:

activate beName
    Activate the given beName for the next boot.

create
    [-e nonActiveBe|beName@snapshot] beName Create a new boot environment named beName. If the -e option is specified, the new environment will be cloned from the given nonActiveBe boot environment or beName@snapshot snapshot.

create beName@snapshot
    Create a snapshot of the existing boot environment named beName.

    destroy [-F] beName|beName@snapshot Destroy the given beName boot environment or beName@snapshot snapshot. Specifying -F will automatically unmount the target without confirmation.

export beName
    Export beName to the stdout(4). Use pipe or redirect the output to a file.

    -v  Display verbose output on the export operation.

import beName
    Import beName from stdin(4) input.

    -v  Display verbose output on the export operation.

list [-aDHs]
    Display all boot environments. The "Active" field indicates whether the boot environment is active now ("N"); active on reboot ("R"); or both ("NR").

    The following options are available:

    -a  Display all datasets.

    -D  Display the full space usage for each boot environment, assuming all other boot environments were destroyed.

    -H  Does not print headers and separate fields by a single tab instead of arbitrary white space. Use for scripting.

    -s  Display all snapshots.

mount beName [mountpoint]
    Temporarily mount the beName boot environment. Mount at the specified mountpoint if provided.

rename origBeName newBeName
    Rename the given nonactive origBeName boot environment to newBeName.

umount [-f beName]
    Unmount the given boot environment, if it is mounted. Specifying -f will force the unmount if busy. This command can be called with either umount or unmount.

chroot
    Enter to selected boot environment with the chroot(8) command.

reroot
    Use 'reroot' feature from the reboot(8) -r command.

version
    Print the beadm version and exit.

EXAMPLES

Perform a system upgrade in a jail(8):

    Create a new boot environment called jailed:

        beadm create -e default jailed

    Set a mountpoint for the new jail to /usr/jails/jailed:

        beadm mount jailed /usr/jails/jailed

    The currently active boot environment is now replicated into the jailed system and ready for an upgrade. Start up the jail, log in and perform the normal upgrade process. Once this is done, stop the jail and disable it in /etc/rc.conf. Now activate the boot environment for the next boot:

        beadm activate jailed

    Reboot into the new environment:

        reboot

SEE ALSO
jail(8), zfs(8), zpool(8)

The original “FreeBSD ZFS Madness” how-to guide is available at the FreeBSD Forums: https://forums.freebsd.org/showthread.php?t=31662

HISTORY
beadm(1M) originally appeared in Solaris.

AUTHORS

Slawomir Wojciech Wojtczak (vermaden) <vermaden@interia.pl>:

    -   Creator and maintainer of beadm.

Bryan Drewery (bdrewery) <bryan@shatow.net>:

    -   Wrote this manual page and contributed child dataset fixes.

Mike Clarke (rawthey) <jmc-fbsd@milibyte.co.uk>:

    -   Wrote fast implementation of beadm list.

    -   Contributed a lot of fixes and usability changes.