ubuntu ubuntu 14.04: https://releases.ubuntu.com/14.04/ubuntu-14.04.6-desktop-amd64.iso ubuntu 16.04: https://releases.ubuntu.com/16.04/ubuntu-16.04.7-desktop-amd64.iso ubuntu 18.04: https://releases.ubuntu.com/18.04/ubuntu-18.04.6-desktop-amd64.iso ubuntu 20.04: https://releases.ubuntu.com/20.04/ubuntu-20.04.6-desktop-amd64.iso ubuntu 22.04: https://releases.ubuntu.com/22.04/ubuntu-22.04.5-desktop-amd64.iso ubuntu 24.04: https://releases.ubuntu.com/24.04/ubuntu-24.04.2-desktop-amd64.iso ubuntu 24.10: https://releases.ubuntu.com/24.10/ubuntu-24.10-desktop-amd64.iso ubuntu 25.04: https://releases.ubuntu.com/25.04/ubuntu-25.04-desktop-amd64.iso ubuntu daily-live: https://cdimage.ubuntu.com/ubuntu/daily-live/current/questing-desktop-amd64.iso # Template file for 'ubuntu' OSNAME="ubuntu" PRETTY="Ubuntu" BASEDOF="Debian" DESCRIPTION="Complete desktop Linux operating system, freely available with both community and professional support" HOMEPAGE="https://ubuntu.com" CREDENTIALS="-" GUEST="linux_old" RELEASES="" function get_() { local ISO="" local HASH="" local URL="" local DATA="" if [[ "${RELEASE}" == "daily"* ]] && [ "${OS}" == "ubuntustudio" ]; then # Ubuntu Studio daily-live images are in the dvd directory RELEASE="dvd" fi if [[ "${RELEASE}" == "jammy-daily" ]]; then if [[ "${OS}" == "ubuntustudio" ]]; then URL="https://cdimage.ubuntu.com/${OS}/jammy/dvd/current" else URL="https://cdimage.ubuntu.com/${OS}/jammy/daily-live/current" fi VM_PATH="${OS}-jammy-live" elif [[ "${RELEASE}" == "daily"* ]] || [ "${RELEASE}" == "dvd" ]; then URL="https://cdimage.ubuntu.com/${OS}/${RELEASE}/current" VM_PATH="${OS}-${RELEASE}" elif [ "${OS}" == "ubuntu" ]; then URL="https://releases.ubuntu.com/${RELEASE}" else URL="https://cdimage.ubuntu.com/${OS}/releases/${RELEASE}/release" fi if web_check "${URL}/SHA256SUMS"; then DATA=$(web_pipe "${URL}/SHA256SUMS" | grep 'desktop\|dvd\|install' | grep amd64 | grep iso | grep -v "+mac") ISO=$(cut -d'*' -f2 <<<"${DATA}" | sed '1q;d') HASH=$(cut -d' ' -f1 <<<"${DATA}" | sed '1q;d') else DATA=$(web_pipe "${URL}/MD5SUMS" | grep 'desktop\|dvd\|install' | grep amd64 | grep iso | grep -v "+mac") ISO=$(cut -d'*' -f2 <<<"${DATA}") HASH=$(cut -d' ' -f1 <<<"${DATA}") fi if [ -z "${ISO}" ] || [ -z "${HASH}" ]; then echo "${PRETTY} ${RELEASE} is currently unavailable. Please select other OS/Release combination" exit 1 fi if [[ "${RELEASE}" == "daily"* ]] || [ "${RELEASE}" == "dvd" ]; then zsync_get "${URL}/${ISO}" "${VM_PATH}" "${OS}-devel.iso" make_vm_config "${OS}-devel.iso" elif [[ "${RELEASE}" == "jammy-daily" ]]; then zsync_get "${URL}/${ISO}" "${VM_PATH}" "${OS}-jammy-live.iso" make_vm_config "${OS}-jammy-live.iso" else web_get "${URL}/${ISO}" "${VM_PATH}" check_hash "${ISO}" "${HASH}" make_vm_config "${ISO}" fi }