diff --git a/ubuntu-lts.sh b/ubuntu-lts.sh index d4673a2..ad37473 100755 --- a/ubuntu-lts.sh +++ b/ubuntu-lts.sh @@ -1,6 +1,10 @@ #!/bin/bash CURL_LAST_LTS_RELEASE=$(curl -s https://changelogs.ubuntu.com/meta-release-lts | grep Dist: | tail -n1) LAST_LTS_RELEASE=${CURL_LAST_LTS_RELEASE:6} +DIR=$( + cd "$(dirname "$0")" || exit 1 + pwd +) echo "" echo "This script will download and setup an vm with the newest Ubuntu LTS Version ($LAST_LTS_RELEASE)" @@ -11,7 +15,7 @@ if [ "$EUID" -ne 0 ]; then exit fi -if [ ! -f "ssh-keys.pub" ]; then +if [ ! -f "$DIR/ssh-keys.pub" ]; then echo "Warning ssh-keys.pub doesn't exists" echo "Will abort now" exit @@ -28,12 +32,15 @@ read -r VM_NAME echo "Ensure libguestfs-tools is installed" apt install libguestfs-tools -y +echo "Create copy of $LAST_LTS_RELEASE-server-cloudimg-amd64 for image modification" +cp -r "/tmp/$LAST_LTS_RELEASE-server-cloudimg-amd64.img" "/tmp/$LAST_LTS_RELEASE-server-cloudimg-amd64.modified.img" + echo "Install qemu-guest-agent on Ubuntu image" -virt-customize -a "/tmp/$LAST_LTS_RELEASE-server-cloudimg-amd64.img" --install qemu-guest-agent +virt-customize -a "/tmp/$LAST_LTS_RELEASE-server-cloudimg-amd64.modified.img" --install qemu-guest-agent echo "Create Proxmox VM image from Ubuntu Cloud Image" qm create "$VM_ID" --memory 1024 --balloon 0 --cores 2 --net0 virtio,bridge=vmbr0 --scsihw virtio-scsi-pci -qm set "$VM_ID" --scsi0 local-lvm:0,import-from="/tmp/$LAST_LTS_RELEASE-server-cloudimg-amd64.img" +qm set "$VM_ID" --scsi0 local-lvm:0,import-from="/tmp/$LAST_LTS_RELEASE-server-cloudimg-amd64.modified.img" qm set "$VM_ID" --agent enabled=1,fstrim_cloned_disks=1 echo "Create Cloud-Init Disk and configure boot" @@ -45,5 +52,8 @@ qm set "$VM_ID" \ --name "$VM_NAME" \ --onboot 1 \ --ciuser "devops" \ - --sshkeys ssh-keys.pub \ + --sshkeys "$DIR/ssh-keys.pub" \ --ipconfig0 "ip=dhcp,ip6=dhcp" + +echo "Cleanup: delete modified cloudimg" +rm -f "/tmp/$LAST_LTS_RELEASE-server-cloudimg-amd64.modified.img"