85 lines
2.5 KiB
Bash
Executable File
85 lines
2.5 KiB
Bash
Executable File
#!/usr/local/bin/bash
|
|
|
|
# Copyright (c) 2018-2021, diyIT.org
|
|
# All rights reserved.
|
|
#
|
|
# BSD 2-Clause License ("Simplified BSD License" or "FreeBSD License")
|
|
# https://diyit.org/license/
|
|
#
|
|
#
|
|
|
|
update_jail ()
|
|
{
|
|
echo "######## ## JAIL:::: $JAIL ##"
|
|
|
|
## uncomment below to list and remove snapshots
|
|
#zfs list -t snapshot -o name | grep ship/iocage/jails/$JAIL | sort
|
|
#read -p "remove all $JAIL snapshots (y/N)? " RESP
|
|
#if [ ! -z $RESP ] && [ $RESP == "y" ]; then
|
|
# zfs list -t snapshot -o name | grep ship/iocage/jails/$JAIL | sort | xargs -n 1 zfs destroy
|
|
#fi
|
|
|
|
iocage exec $JAIL "freebsd-version"
|
|
|
|
if [[ $1 == "upgrade" ]]; then
|
|
iocage upgrade -r 12.2-RELEASE $JAIL
|
|
# pkgp.conf updated to new release after an upgrade
|
|
iocage exec $JAIL "[ -f /mnt/config/pkgp.conf ] && cp /mnt/config/pkgp.conf /usr/local/etc/pkg/repos/ || cp /mnt/common/pkgp.conf /usr/local/etc/pkg/repos/"
|
|
iocage exec $JAIL "pkg-static upgrade -f -y"
|
|
iocage exec $JAIL "pkg update -f"
|
|
else
|
|
iocage update $JAIL
|
|
iocage exec $JAIL "pkg update"
|
|
fi
|
|
|
|
iocage exec $JAIL "pkg autoremove -y"
|
|
iocage exec $JAIL "pkg upgrade -y"
|
|
# iocage exec $JAIL "pkg upgrade -f -y"
|
|
iocage exec $JAIL "pkg clean -ay"
|
|
|
|
iocage exec $JAIL "rm -rf /var/tmp/temproot*"
|
|
iocage exec $JAIL "mergemaster -a"
|
|
|
|
iocage exec $JAIL "freebsd-version"
|
|
|
|
echo "######## ####"
|
|
#read -p "continue, ctrl-c to abort? " RESP
|
|
}
|
|
|
|
iocage fetch -U -r 12.2-RELEASE
|
|
|
|
read -p "update pkgp jail (y/N)? " RESP
|
|
if [ ! -z $RESP ] && [ $RESP == "y" ]; then
|
|
JAIL="pkgp"
|
|
update_jail
|
|
/root/FreeBSD/jail/jails-update-pkgs.sh pkgp-only
|
|
fi
|
|
|
|
read -p "update all jails (y/N)? " RESP
|
|
if [ ! -z $RESP ] && [ $RESP == "y" ]; then
|
|
# for JAIL in `iocage list -h | cut -f2`;
|
|
for JAIL in `jls -N | cut -d " " -f 2 | cut -d "-" -f 2- | grep -v JID | sort`;
|
|
do
|
|
if [ $JAIL == "pkgp" ] || [ $JAIL == "debian" ]; then
|
|
continue
|
|
fi
|
|
if [[ $1 == "upgrade" ]]; then
|
|
read -p "update jail $JAIL (Y/n)? " RESP
|
|
if [ ! -z $RESP ] && [ $RESP == "n" ]; then
|
|
continue
|
|
fi
|
|
fi
|
|
update_jail $1
|
|
done
|
|
fi
|
|
|
|
echo "update base system by running:"
|
|
echo "freebsd-update fetch"
|
|
echo "freebsd-update install"
|
|
echo "cd /usr/src; svn update; make -j8 buildkernel KERNCONF=diyIT && make -j8 installkernel KERNCONF=diyIT"
|
|
echo "reboot"
|
|
echo "pkg-static upgrade -f"
|
|
echo "mergemaster"
|
|
|
|
echo "/root/FreeBSD/scripts/zfs-prune-snapshots -vn -p 'ioc_update' 1d | grep removing"
|