# HG changeset patch # User Franz Glasner # Date 1714589934 -7200 # Node ID 59622f32279dad318703799598fd60814d12938e # Parent be4ded5fc57a3a9f373fdb87624d60592c3d6b9a Add two examples of how to use ftjail and friends to (freebsd-)update a thin jail. 1. Update the thin jail template 2. Update the thin jails These scripts are not yet polished. They are added as used for some times when managing jails. diff -r be4ded5fc57a -r 59622f32279d share/examples/local-bsdtools/_ftjail-fbsd-update.sh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/share/examples/local-bsdtools/_ftjail-fbsd-update.sh Wed May 01 20:58:54 2024 +0200 @@ -0,0 +1,52 @@ +#!/bin/sh + +set -e +set -x +set -u + +JAIL_NAME="${1:-}" + +if [ -z "${JAIL_NAME}" ]; then + echo "ERROR: No jail name given" 1>&2 + exit 2 +fi + + + +OLD_BASE_RO="dpool/jail/ttmpl/base-ro/13.2-RELEASE@p5" +NEW_BASE_RO="dpool/jail/ttmpl/base-ro/13.2-RELEASE@p9" +NEW_ETCUPDATE="/jail/RELEASE/etcupdate-current-13.2@p9.tbz" + +SNAPSHOT_NAME="13.2-p5-20240108-1" +SNAPSHOT_ROOT="dpool/jail/TVAR" + +BASE_DIR="/jail/TROOT" + +case "${JAIL_NAME}" in + ftp) + zfs umount dpool/data/ftp/home-data + ;; + pg14) + zfs umount dpool/pg/walarchive-db1-pg14 + zfs umount dpool/pg/data-db1-pg14 + ;; + *) + ;; +esac + +zfs snapshot -r "${SNAPSHOT_ROOT}/${JAIL_NAME}@${SNAPSHOT_NAME}" + +ftjail freebsd-update -o "${OLD_BASE_RO}" "${BASE_DIR}/${JAIL_NAME}" "${NEW_BASE_RO}" "${NEW_ETCUPDATE}" + +case "${JAIL_NAME}" in + ftp) + zfs mount dpool/data/ftp/home-data + ;; + pg14) + zfs mount dpool/pg/data-db1-pg14 + zfs mount dpool/pg/walarchive-db1-pg14 + ;; + *) + ;; +esac + diff -r be4ded5fc57a -r 59622f32279d share/examples/local-bsdtools/_ftjail-prep-fbsd-update.sh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/share/examples/local-bsdtools/_ftjail-prep-fbsd-update.sh Wed May 01 20:58:54 2024 +0200 @@ -0,0 +1,21 @@ +#!/bin/sh + +set -e +set -x +set -u + +BASE_RO=dpool/jail/ttmpl/base-ro/13.2-RELEASE +SKEL_RW=dpool/jail/ttmpl/skel-rw/13.2-RELEASE + +NEW_VER="p5" + +MOUNTPOINT="/var/tmp/13.2" + +ftjail mount-tmpl -P "$BASE_RO" "$SKEL_RW" "$MOUNTPOINT" + +freebsd-update -b "$MOUNTPOINT" fetch +freebsd-update -b "$MOUNTPOINT" install + +ftjail snapshot-tmpl "$BASE_RO" "$SKEL_RW" "$NEW_VER" + +ftjail build-etcupdate-current-tmpl "$MOUNTPOINT" /jail/RELEASE/etcupdate-current-13.2@${NEW_VER}.tbz