Script-Time: Ventoy ISO-Images aktualisieren

Einfach Stick einstecken, Script starten... und startbereit für jeden Anlass...

Script-Time: Ventoy ISO-Images aktualisieren
Photo by Fotis Fotopoulos / Unsplash

Für mich ist Ventoy derzeit das beste Werkzeug, um einen Boot-Stick mit mehreren Boot-Images zu erzeugen. Eine immer wiederkehrende Aufgabe ist jedoch, die ISO-Images auf dem Ventoy-Stick aktuell zu halten. Aus diesem Grund habe ich dieses Script geschrieben, welches im aktuellen Verzeichnis die ISO-Images ablegt.

ventoy_iso_update(){
# Proxmox latest:
wget -O proxmox-ve.iso $(wget -qO - "https://www.proxmox.com/de/downloads" | grep -Eio "https://.*proxmox-ve_.*.iso")
# Arch-Linux latest:
wget -O archlinux-x86_64.iso "https://ftp.halifax.rwth-aachen.de/archlinux/iso/latest/archlinux-x86_64.iso"
# Debian Netinst latest:
wget -O debian_netinst_latest.iso "https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/$(wget -qO - "https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/" | sed -ne "/debian-[0-9].*-amd64-netinst.iso/{s/.* href=\"//;s/\">debian-.*//p}")"
# grml full latest:
wget -O grml-full_latest.iso "https://download.grml.org/$(wget -qO - "https://download.grml.org/" | grep -Ev ".asc|.torrent" | grep -Eo 'grml64-full_.*.iso' | sed '$!d;s/" title=.*//')"
# Tails latest ISO:
wget -O Tails.iso "$(wget -qO - "https://tails.net/install/expert/index.de.html" | grep -Eo "https://download.tails.net/tails/stable/tails-amd64-.*/tails-amd64-.*.img" | sed -e 's/.img$/.iso/')"
# OPNsense latest:
wget -O - "https://mirror.fra10.de.leaseweb.net/opnsense/releases/mirror/$(wget -qO - "https://mirror.fra10.de.leaseweb.net/opnsense/releases/mirror/" | grep -v .sig | grep vga-amd64.img. | sed -e 's/.* href="//;s/" title=.*//')" | bunzip2 > OPNsense_latest.img
# pfsense latest:
wget -O - "https://frafiles.netgate.com/mirror/downloads/$(wget -qO - "https://frafiles.netgate.com/mirror/downloads/" | grep -v .sha | grep -Eo "pfSense-CE-.*-RELEASE-amd64.iso.gz\">" | sed '$!d;s/".*//')" | gunzip -d > pfsense_latest.iso

# Medicat Ventoy-USB:
# wget -qO - $(wget -qO - "https://medicat.itrio.xyz/" | grep -Eo "https://mirrors.itrio.xyz/unpacked/MediCat.USB.*.7z")
}

Wenn alles durchgelaufen ist, sieht das so aus:

michael@hacklab:/mnt/iso $ ventoy_iso_update

--2023-12-16 14:55:03--  https://enterprise.proxmox.com/iso/proxmox-ve_8.1-1.iso
CA-Zertifikat »/etc/ssl/certs/ca-certificates.crt« wurde geladen
Auflösen des Hostnamens enterprise.proxmox.com (enterprise.proxmox.com)… 212.224.123.70, 2a01:7e0:0:424::249
Verbindungsaufbau zu enterprise.proxmox.com (enterprise.proxmox.com)|212.224.123.70|:443 … verbunden.
HTTP-Anforderung gesendet, auf Antwort wird gewartet … 200 OK
Länge: 1292605440 (1.2G) [application/octet-stream]
Wird in »proxmox-ve.iso« gespeichert.

proxmox-ve.iso                                  100%[====================================================================================================>]   1.20G  6.69MB/s    in 3m 5s   

2023-12-16 14:58:08 (6.68 MB/s) - »proxmox-ve.iso« gespeichert [1292605440/1292605440]

--2023-12-16 14:58:08--  https://ftp.halifax.rwth-aachen.de/archlinux/iso/latest/archlinux-x86_64.iso
CA-Zertifikat »/etc/ssl/certs/ca-certificates.crt« wurde geladen
Auflösen des Hostnamens ftp.halifax.rwth-aachen.de (ftp.halifax.rwth-aachen.de)… 137.226.34.46, 2a00:8a60:e012:a00::21
Verbindungsaufbau zu ftp.halifax.rwth-aachen.de (ftp.halifax.rwth-aachen.de)|137.226.34.46|:443 … verbunden.
HTTP-Anforderung gesendet, auf Antwort wird gewartet … 200 OK
Länge: 914698240 (872M) [application/octet-stream]
Wird in »archlinux-x86_64.iso« gespeichert.

archlinux-x86_64.iso                            100%[====================================================================================================>] 872.32M  11.7MB/s    in 3m 29s  

2023-12-16 15:01:37 (4.18 MB/s) - »archlinux-x86_64.iso« gespeichert [914698240/914698240]

--2023-12-16 15:01:38--  https://mirror.fra10.de.leaseweb.net/opnsense/releases/mirror/OPNsense-23.7-vga-amd64.img.bz2
CA-Zertifikat »/etc/ssl/certs/ca-certificates.crt« wurde geladen
Auflösen des Hostnamens mirror.fra10.de.leaseweb.net (mirror.fra10.de.leaseweb.net)… 37.58.58.140, 2a00:c98:2030:a034::21
Verbindungsaufbau zu mirror.fra10.de.leaseweb.net (mirror.fra10.de.leaseweb.net)|37.58.58.140|:443 … verbunden.
HTTP-Anforderung gesendet, auf Antwort wird gewartet … 200 OK
Länge: 413099636 (394M) [application/octet-stream]
Wird in »STDOUT« gespeichert.

-                                               100%[====================================================================================================>] 393.96M  11.8MB/s    in 34s     

2023-12-16 15:02:12 (11.6 MB/s) - auf die Standardausgabe geschrieben [413099636/413099636]

--2023-12-16 15:02:13--  https://frafiles.netgate.com/mirror/downloads/pfSense-CE-2.7.2-RELEASE-amd64.iso.gz
CA-Zertifikat »/etc/ssl/certs/ca-certificates.crt« wurde geladen
Auflösen des Hostnamens frafiles.netgate.com (frafiles.netgate.com)… 206.81.29.184, 2a03:b0c0:3:d0::842:c001
Verbindungsaufbau zu frafiles.netgate.com (frafiles.netgate.com)|206.81.29.184|:443 … verbunden.
HTTP-Anforderung gesendet, auf Antwort wird gewartet … 200 OK
Länge: 574277009 (548M) [application/octet-stream]
Wird in »STDOUT« gespeichert.

-                                               100%[====================================================================================================>] 547.67M  16.4MB/s    in 27s     

2023-12-16 15:02:39 (20.5 MB/s) - auf die Standardausgabe geschrieben [574277009/574277009]

--2023-12-16 15:02:40--  https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-12.4.0-amd64-netinst.iso
CA-Zertifikat »/etc/ssl/certs/ca-certificates.crt« wurde geladen
Auflösen des Hostnamens cdimage.debian.org (cdimage.debian.org)… 194.71.11.173, 194.71.11.163, 194.71.11.165, ...
Verbindungsaufbau zu cdimage.debian.org (cdimage.debian.org)|194.71.11.173|:443 … verbunden.
HTTP-Anforderung gesendet, auf Antwort wird gewartet … 302 Found
Platz: https://gemmei.ftp.acc.umu.se/debian-cd/current/amd64/iso-cd/debian-12.4.0-amd64-netinst.iso [folgend]
--2023-12-16 15:02:40--  https://gemmei.ftp.acc.umu.se/debian-cd/current/amd64/iso-cd/debian-12.4.0-amd64-netinst.iso
Auflösen des Hostnamens gemmei.ftp.acc.umu.se (gemmei.ftp.acc.umu.se)… 194.71.11.137, 2001:6b0:19::137
Verbindungsaufbau zu gemmei.ftp.acc.umu.se (gemmei.ftp.acc.umu.se)|194.71.11.137|:443 … verbunden.
HTTP-Anforderung gesendet, auf Antwort wird gewartet … 200 OK
Länge: 658505728 (628M) [application/x-iso9660-image]
Wird in »debian_netinst_latest.iso« gespeichert.

debian_netinst_latest.iso                       100%[====================================================================================================>] 628.00M  31.0MB/s    in 24s     

2023-12-16 15:03:04 (26.4 MB/s) - »debian_netinst_latest.iso« gespeichert [658505728/658505728]

--2023-12-16 15:03:30--  https://download.grml.org/grml64-full_2022.11.iso
CA-Zertifikat »/etc/ssl/certs/ca-certificates.crt« wurde geladen
Auflösen des Hostnamens download.grml.org (download.grml.org)… 202.61.209.101
Verbindungsaufbau zu download.grml.org (download.grml.org)|202.61.209.101|:443 … verbunden.
HTTP-Anforderung gesendet, auf Antwort wird gewartet … 302 Found
Platz: https://ftp.fau.de/grml//grml64-full_2022.11.iso [folgend]
--2023-12-16 15:03:30--  https://ftp.fau.de/grml//grml64-full_2022.11.iso
Auflösen des Hostnamens ftp.fau.de (ftp.fau.de)… 131.188.12.211, 2001:638:a000:1021:21::1
Verbindungsaufbau zu ftp.fau.de (ftp.fau.de)|131.188.12.211|:443 … verbunden.
HTTP-Anforderung gesendet, auf Antwort wird gewartet … 200 OK
Länge: 896794624 (855M) [application/x-iso9660-image]
Wird in »grml-full_latest.iso« gespeichert.

grml-full_latest.iso                            100%[====================================================================================================>] 855.25M  20.7MB/s    in 31s     

2023-12-16 15:04:00 (27.9 MB/s) - »grml-full_latest.iso« gespeichert [896794624/896794624]

michael@hacklab:/mnt/iso $ ls -1
archlinux-x86_64.iso 
debian_netinst_latest.iso 
grml-full_latest.iso 
OPNsense_latest.img 
pfsense_latest.iso 
proxmox-ve.iso 
Win10_22H2_German_x64v1.iso 
Win11_23H2_German_x64v2.iso