I am relatively novice, with no Unix experience. I manage my barebone server for our small community, mainly for Web publishing (Textpattern), email (OpenSMTPD with Cyrus IMAP), and storage (Nextcloud) on FreeBSD 14.3-R. I do not have a spare computer for testing. After ZFS rollback disaster I carefully read the handbook, wiki, manuals, Dan Langille', Slawomir Wojciech' (vermaden), Clara's tips on ZFS and BE, but have not found my mistake and I still lack clarity, so I want to ask you before cleaning and activating the new BE. The default “shallow” boot environment structure include /usr, /var, and exclude /var/mail:
Cyrus IMAP stores email in /var/spool/cyrus, so I intend to exclude it (and maybe also /var/db/mysql, /usr/local/www/nextcloud-files) from BE, but I am not sure how:
Is this the right way to go?
Code:
> zfs list -o name,canmount,mountpoint
NAME CANMOUNT MOUNTPOINT
zroot on /zroot
zroot/ROOT on none
zroot/ROOT/13.0-RELEASE_2022-03-09_default noauto /
[…]
zroot/ROOT/14.2-Rp3 noauto /
zroot/ROOT/14.3-RELEASE_2025-06-09_171055 noauto /
zroot/ROOT/14.3-RELEASE_2025-07-13_113047 noauto /
zroot/ROOT/14.3p1_2025-07-13boot noauto /
zroot/ROOT/14.3p1_2025-07-25boot noauto /
zroot/ROOT/14.3-RELEASE-p1_2025-08-08_172418 noauto /
zroot/ROOT/14.3-RELEASE-p2_2025-10-03_153256 noauto /
zroot/tmp on /tmp
zroot/usr off /usr
zroot/usr/home on /usr/home
zroot/usr/ports on /usr/ports
zroot/usr/src on /usr/src
zroot/var off /var
zroot/var/audit on /var/audit
zroot/var/crash on /var/crash
zroot/var/log on /var/log
zroot/var/mail on /var/mail
zroot/var/tmp on /var/tmp
Cyrus IMAP stores email in /var/spool/cyrus, so I intend to exclude it (and maybe also /var/db/mysql, /usr/local/www/nextcloud-files) from BE, but I am not sure how:
Code:
> zfs set canmount=on zroot/var/spool/cyrus
cannot open 'zroot/var/spool/cyrus': dataset does not exist
> zfs create -nv zroot/var/spool/cyrus
would create zroot/var/spool/cyrus
Is this the right way to go?