_mint_image_boot_medium_disk() aus backend.sh nach scripts/lib/boot_medium.sh verschoben (tuxflotte_boot_medium_disk()) - build_storage_devices_json() (hardware_collectors.sh) braucht dieselbe Ausschluss-Logik jetzt ebenfalls. Nutzer-Feedback (01.09.2026, echter Hardware-Test): der Installations- USB-Stick selbst tauchte in der Kundenplattform unter Flotte -> Aktionen -> Hardware-Info -> Datenträger auf - fuer den Kunden irrefuehrend, da dieser Datentraeger nach der Installation gar nicht mehr existiert. Gleiche Ursache wie der parted-Bug (Commit fa54461): lsblk liefert das Boot-Medium auf echter USB-Stick-Hardware als normalen TYPE="disk" zurueck.
36 lines
1.7 KiB
Bash
36 lines
1.7 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
# Gemeinsame Hilfsfunktion rund um das Boot-Medium selbst (nicht das
|
|
# Zielsystem). Wird an mehreren Stellen gebraucht:
|
|
# - backends/mint-image/backend.sh (_mint_image_detect_target_disk):
|
|
# verhindert, dass das Boot-Medium selbst als Zieldatentraeger gewaehlt
|
|
# und dann partitioniert wird.
|
|
# - scripts/lib/hardware_collectors.sh (build_storage_devices_json):
|
|
# verhindert, dass das Boot-Medium in der an den Server gemeldeten
|
|
# Datentraeger-Liste auftaucht (dort fuer den Kunden irrefuehrend, siehe
|
|
# Hardware-Info in der Kundenplattform).
|
|
#
|
|
# Urspruenglich in backend.sh dupliziert (siehe Commit fa54461) - mit dem
|
|
# zweiten Verwendungsort (Hardware-Erfassung) lohnt sich jetzt der Umzug in
|
|
# eine gemeinsame lib, wie im urspruenglichen Kommentar dort schon vermerkt.
|
|
|
|
# Live auf echter USB-Stick-Hardware gefunden (01.09.2026): auf einem
|
|
# CD-ROM (wie in allen bisherigen QEMU-Tests) ist das Boot-Medium ein
|
|
# eigener lsblk-Geraetetyp ("rom"), der von reinen "disk"-Filtern schon
|
|
# ausgeschlossen wird - auf einem echten USB-Stick ist das Boot-Medium
|
|
# selbst aber ein ganz normales "disk"-Blockgeraet, genau wie die interne
|
|
# Zielplatte. Ohne expliziten Ausschluss kann eine Datentraeger-Erkennung
|
|
# darunter den Stick selbst waehlen (abhaengig von der Aufzaehlungs-
|
|
# reihenfolge).
|
|
tuxflotte_boot_medium_disk() {
|
|
local medium_source parent
|
|
|
|
medium_source="$(findmnt --noheadings --output SOURCE /run/live/medium 2>/dev/null)" || return 1
|
|
[[ -n "${medium_source}" ]] || return 1
|
|
|
|
parent="$(lsblk --noheadings --output PKNAME "${medium_source}" 2>/dev/null | head -n1)"
|
|
[[ -n "${parent}" ]] || return 1
|
|
|
|
printf '/dev/%s\n' "${parent}"
|
|
}
|