ZFS boot environment manager
Documentation for the project can be found at readthedocs.
zedenv
is still experimental and should not be used on production systems.
zedenv
requires python 3.6+, pyzfscmds, and ZFS running as the root
filesystem.
The system should also be configured in the format:
${zpool}/${optional_datasets}/${boot_environment_root}/${root_dataset}
For example, zpool/ROOT/default
or zpool/sys/hostname/ROOT/default
.
zedenv
can be installed a few ways:
First, clone the git repos.
git clone https://github.com/johnramsden/pyzfscmds
git clone https://github.com/johnramsden/zedenv
To install without poluting your system, you can also create a directory somewhere
and install in a venv
, otherwise install to the system.
Optionally, create a venv
and activate.
python3.6 -m venv venv
. venv/bin/activate
Enter the repos and install.
cd pyzfscmds
python setup.py install
cd ../zedenv
python setup.py install
Enter the packaging
directory in the repos run make
, pyzfscmds
must
be installed first.
cd pyzfscmds/packaging
make
cd ../../zedenv/packaging
make
zedenv
can be used to manage boot environments using ZFS. If your system
is set up in a way compatible with boot environments, you can start using
them right away.
Create and activate a new Boot Environment.
$ zedenv create default-0
$ zedenv activate default-0
This will make it the Boot Environment used on reboot.
$ zedenv list
Name Active Mountpoint Creation
default N - Wed-May-23-23:48-2018
default-0 R / Thu-May-24-23:54-2018
This can be shown with a list, command. The boot environment currently being used will have a 'N' in the active column signifying the boot environment is being used now. An 'R' in the active column means this environment will be used on reboot.