Crea cloni di jail da snapshot OpenZFS
1. Creazione di una thin jail utilizzando gli snapshot OpenZFS
https://docs.freebsd.org/en/books/handbook/jails/#creating-thin-jail-openzfs-snapshots
Avvia tutte le jail configurate all'avvio del sistema:
# sysrc jail_enable="YES" # sysrc jail_parallel_start="YES"
Creare dataset per le directory della prigione:
# zfs create -o mountpoint=/usr/local/jails zroot/jails # zfs create zroot/jails/media # zfs create zroot/jails/templates # zfs create zroot/jails/containers
1.1. Crea una snapshot ZFS che faccia da jail template
Recupera e applica patch alla base, quindi crea uno snapshot per i cloni futuri
# fetch https://download.freebsd.org/ftp/releases/amd64/amd64/13.2-RELEASE/base.txz -o /usr/local/jails/media/13.2-RELEASE-base.txz # tar -xf /usr/local/jails/media/13.2-RELEASE-base.txz -C /usr/local/jails/templates/13.2-RELEASE --unlink # freebsd-update -b /usr/local/jails/templates/13.2-RELEASE/ fetch install # zfs snapshot zroot/jails/templates/13.2-RELEASE@base
1.2. Crea una nuova jail "clone ZFS" dal template
Clona dalla snapshot
# zfs clone zroot/jails/templates/13.2-RELEASE@base zroot/jails/containers/thinjail
Copia i file di configurazione essenziali (FACOLTATIVO)
# cp /etc/resolv.conf /usr/local/jails/containers/thinjail/etc/resolv.conf # cp /etc/localtime /usr/local/jails/containers/thinjail/etc/localtime
Creare un file di configurazione jail per la jail appena creata in /etc/jail.conf.d:
# ls /etc/jail.conf.d/ thinjail.conf
Startare la jail:
# service jail start thinjail
2. Aggiornamento della jail
https://docs.freebsd.org/en/books/handbook/jails/#jail-upgrading
Upgrade jail to latest patch release:
Aggiorna la jail all'ultima patch disponibile:
# freebsd-update -j thinjail fetch install # service jail restart thinjail
Aggiorna la jail a una nuova versione major o minor:
- Fare prima l'upgrade dell'Host che ospiterà le jail e poi riavviare l'Host
- poi fare l'upgrade della jail
# freebsd-update -j thinjail -r 13.2-RELEASE upgrade # freebsd-update -j thinjail install # service jail restart thinjail # freebsd-update -j thinjail install # service jail restart thinjail