Mercurial > hgrepos > FreeBSD > ports > sysutils > local-bsdtools
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
