recover: -y durfte die Warnung vor dem laufenden Original wegwinken

-y soll Routinefragen sparen, nicht die eine Frage abschalten, bei der es
weh tut. Der Fall "Original laeuft und die Wiederherstellung geht mit
denselben MAC-Adressen ans Netz" ist jetzt als kritisch gefuehrt:

  -y            wird abgewiesen (Exit 2), Hinweis auf --force
  interaktiv    das Wort "ja" muss ausgeschrieben werden, "j" reicht nicht
  --force       laeuft durch
  Oberflaeche   zweite Rueckfrage, die den Grund beim Namen nennt statt
                nur "Warnungen gelesen?" zu fragen

Ausserdem wird stdout vor der Fehlerausgabe geleert - sonst stand die
Begruendung beim Umleiten ueber dem, worauf sie sich bezieht.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
duffyduck
2026-07-31 11:56:46 +02:00
co-authored by Claude Opus 5
parent 3ee5cf3508
commit dc5c7d417f
3 changed files with 57 additions and 14 deletions
+16 -6
View File
@@ -681,11 +681,20 @@ Hier bleibt alles erhalten, was die Maschine ausmacht: SMBIOS-UUID, `vmgenid`,
MAC-Adressen, bei Containern der Hostname. Für alles im Netz ist sie dieselbe
Maschine — inklusive Lizenzbindungen, AD-Mitgliedschaft und DHCP-Reservierungen.
**Genau deshalb ist sie gefährlich.** `pvesnap-recovery` prüft vorher, ob das
Original läuft, und warnt unmissverständlich. Zwei Maschinen mit derselben MAC
und derselben IP im selben Netz geben Chaos. Das Original also **vorher
stoppen** — oder mit `--net down` starten und die Karte erst zuschalten, wenn
klar ist, dass die Luft rein ist.
**Genau deshalb ist sie gefährlich.** Zwei Maschinen mit derselben MAC und
derselben IP im selben Netz geben Chaos. `pvesnap-recovery` prüft deshalb
vorher, ob das Original läuft, und lässt sich in dem Fall nicht beiläufig
durchwinken:
| Situation | Verhalten |
|---|---|
| ncurses-Oberfläche | Zusammenfassung nur mit `j`, danach eine zweite Rückfrage, die den Grund beim Namen nennt |
| `recover …` im Terminal | das Wort **`ja`** muss ausgeschrieben werden — `j` reicht nicht |
| `recover … -y` | **wird abgewiesen** (Exit-Code 2). `-y` überspringt Routinefragen, nicht diese |
| `recover … --force` | läuft durch — die bewusste Entscheidung |
Das Original also **vorher stoppen** — oder mit `--net down` starten und die
Karte erst zuschalten, wenn klar ist, dass die Luft rein ist.
### Parameter
@@ -705,7 +714,8 @@ klar ist, dass die Luft rein ist.
| `--name <name>` | Name der neuen Maschine |
| `--keep-binds` | durchgereichte Host-Verzeichnisse des Originals übernehmen |
| `--no-start` | nur einrichten, nicht starten |
| `-y`, `--yes` | nicht nachfragen |
| `-y`, `--yes` | Routinefragen überspringen (deckt `--force` **nicht** ab) |
| `--force` | auch anlegen, wenn das Original noch läuft |
| Befehl | Bedeutung |
|---|---|