Zdalne-systemy-z-kit-uVPN/update_rootfs.sh

38 lines
1.2 KiB
Bash
Raw Normal View History

2023-04-20 14:29:01 +00:00
#!/bin/bash
usage() { echo "Usage: [ -n <nazwa obrazu>] [ -s <obraz zródłowy>] [-u <yes - upgrade>] [-i <pakiety do instalacji>]" 1>&2; exit 1; }
while getopts "n:u:i:s:" option
do
case "${option}"
in
n)name=${OPTARG};;
u)upgrade="yes";;
i)install=${OPTARG};;
s)squashfs=${OPTARG};;
*)usage;;
esac
done
echo "$squashfs"
sudo unsquashfs -d /tmp/squashfs $squashfs
sudo mount --bind /dev/pts /tmp/squashfs/dev/pts
sudo mount --bind /proc /tmp/squashfs/proc
sudo chroot /tmp/squashfs/ /bin/bash -c 'cat <<EOF> /etc/resolv.conf
nameserver 1.1.1.1
EOF'
sudo chroot /tmp/squashfs/ /bin/bash -c 'apt update'
if [ -n "$upgrade" ]; then
sudo chroot /tmp/squashfs/ /bin/bash -c 'DEBIAN_FRONTEND=noninteractive apt upgrade -y'
fi
if [ -n "$install" ]; then
sudo chroot /tmp/squashfs/ /bin/bash -c "DEBIAN_FRONTEND=noninteractive apt install $install -y"
fi
sudo chroot /tmp/squashfs/ /bin/bash -c 'apt clean all'
sudo umount /tmp/squashfs/dev/pts
sudo umount /tmp/squashfs/proc
sudo rm -rf $name.squashfs
sudo mksquashfs /tmp/squashfs/ $name.squashfs -b 1048576 -comp xz -Xdict-size 100%
sudo rm -rf /tmp/squashfs