changeset 437:59622f32279d

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.
author Franz Glasner <fzglas.hg@dom66.de>
date Wed, 01 May 2024 20:58:54 +0200
parents be4ded5fc57a
children 9c3b1966ba91
files share/examples/local-bsdtools/_ftjail-fbsd-update.sh share/examples/local-bsdtools/_ftjail-prep-fbsd-update.sh
diffstat 2 files changed, 73 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /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
+
--- /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