38 lines
1.2 KiB
Bash
38 lines
1.2 KiB
Bash
|
#!/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
|