Problem mit Template Update auf fedora-42-fce

Ich bekam gestern eine Meldung, dass fedora-39-xfce nicht mehr unterstützt wird.

Gut, darauf hatte ich mit dem Template Manager das aktuelle fedora-42-xfce Template gezogen und dann (ohne Rücksicht auf eine sinnvolle Reihenfolge) die Einstellung auf 42 aktualisiert.

Frage: Gibt es da eine empfohlene Vorgehensweise?

Jetzt habe ich das Problem, dass sich bspw. sys-net nicht hochziehen läßt, weil es von default-dvm abhängt, sys-usb aber von default-dvm etc.

Wie immer sehr dankbar für alle Hinweise und Ratschläge …

Naja, ich geh immer wie folgt vor:

  • Download des neuen Templates über dom0 Terminal (was sich schlussendlich automatisch im Qubes Manager installiert und sichtbar wird)
  • erstellen einer Kopie (namens template-Nr-original), damit ich mit dem heruntergeladenen Template praktisch alles machen kann (Software Installation) und immer noch ein Original vom Qubes-Template-Server vorrätig habe
  • über das template-nr Terminal dann meine benötigte Software installieren, welche ich schon im Template-vorversionNR installiert hatte
  • dann die entsprechende(n) AppVM(s) auf das neue Template schwenken und schauen, ob alles Anstandslos funktioniert
  • altes Template im Qubes Manager löschen

Wenn Du allerdings die Templates der sys-Qubes aktualisieren musst UND diese vielleicht auf Disposablen Templates basieren, dann musst Du praktisch die drei Schritte (1. VM herunterfahren 2. altes Template gegen neues Template austauschen 3. VM wieder starten) in einem Befehl im dom0 Terminal ausführen…

Befehl kommt dann hier in Kürze. Muss da erstmal schauen, nicht dass ich Dir was falsches sage und Du dann sinnlos irgendwas bei Dir zerkloppst

Hätte ich mal vorher gefragt :grimacing:
Bin noch in der Klick- und Kennenlernphase von Qubes - höchste Zeit auf die Komandozeile zu wechseln. Blöd, wenn man sich beim Klicken die USB-Maus und Tastatur abklemmt :stuck_out_tongue_winking_eye:

Und was hast Du dann gemacht? Neustart?
Du musst bestimmte Sachen über die Kommandozeile machen, weil Du bei sowas nicht Mausklicken in Milliardstel Sekunden kannst :smiley:

Das Kommando im dom0 Terminal ist:

qvm-shutdown --wait sys-usb; qvm-prefs template fedora-42-dvm; qvm-start sys-usb

also praktisch der Herunterfahr Befehl ; Template Änderung ; Hochfahrbefehl

DU MUSST NATÜRLICH DAS fedora-42-dvm TEMPLATE VORHER SCHON GECLONT/ERSTELLT HABEN !!!

Ich hab mal geschrieben, dass das 5 Sekunen Angst bedeutet, dass irgendwas am Befehl falsch sein könnte und dann geht Deine Tastatur und Maus nicht mehr und Feierabend…

Darauf hatte sich dann einer der Qubes Oberen gemeldet und dieses Script hier veröffentlicht, was das Ganze dann wirklich sicher macht:

#!/usr/bin/bash

qvm-shutdown --wait sys-usb
sleep 10
qvm-prefs sys-usb template <NEW_TEMPLATE>
qvm-start sys-usb

## Delete this section after testing
sleep 120
qvm-shutdown sys-usb
sleep 10
qvm-prefs sys-usb template <OLD_TEMPLATE>
sleep 5
qvm-start sys-usb
## Delete this section after testing

D.h. hier wird praktisch die Änderung durchgeführt - für 2 Minuten gewartet (wo man testen kann, ob alles geht) und dann wird wieder zurückgestellt. Hat aber in den zwei Minuten alles geklappt, kann man das Script auch nochmal ohne die abschließende Rückwärtsrolle durchführen und hat sein Ziel erreicht.

Speicher Dir den Befehl (oder das Ganze) irgendwohin ab. Du brauchst das 1-2 Mal im Jahr, aber es geht nicht ohne, deshalb sparst Du Dir dann sinnlose Sucherei.

2 Likes

Die Templates (TEMPLATE_VM) heissen bei mir

  • fedora-39-xfce (OLD_TEMPLATE, default-dvm)
  • fedora-42-xfce (NEW_TEMPLATE, default-dvm)

Das fedora-42-xfce habe ich über den Template Manager in dom0 gezogen …

Gibt es ein Kommando, um sich alle VMs bzw. Templates anzeigen zu lassen?

“Irgendwohin abspeichern” …
Das Skript lasse ich im Terminal von dom0 ablaufen, oder?

Dann ist da noch das Problem, wie ich in dom0 eine Datei editiere bzw. den Inhalt aus dem Browserfenster dorthin kopiere. Mit qvm-copy-to-vm ging das schon mal nicht und wenn ich in dom0 das Skript mit nano oder vi öffne, dann klappt das Kopieren über die Zwischenablage nicht …

Also Du kannst Dir eine Übersicht anzeigen lassen, indem Du über den Qubes Manager (dort im Menü) irgendwo zu einer Übersicht kommst, welche VMs da sind und was deren TemplateVM ist und dort könntest Du dann über die vorrätigen DropDown Menüs praktisch Massenveränderungen vornehmen. Weiß leider jetzt nicht den genauen Weg dorthin. Müsste ich nachreichen, wenn ich zu Hause bin.

Ja! Irgendwohin abspeichern, damit meinte ich eher die Sicherung/Ort wo das Script dann liegen sollte, wenn Du es erfolgreich benutzt hast. Ich hab zu Hause ein NAS, auf das (einige) der VMs eine SMB Verknüpfung haben und über die ich praktisch “erledigte” Sachen wegspeichere, damit nur die täglichen Sachen auf dem Qubes Rechner rumliegen… Das was ich ständig brauche.

Ich sprech mal nur darüber, wie ich das mache. Es gibt 1000 Wege, die Du Dir in Zukunft dann selbst aneignen wirst, wie es für Dich am Besten ist…

Ich hab mir praktisch in “personal” eine txt.Datei gemacht, wo alle Kommandos, welche ich über die Zeit mal für das Terminal (egal ob dom0 oder im Template oder AppVM) gebraucht habe, drinstehen. Du musst natürlich noch dazuschreiben, wo die dann exakt ausgeführt werden sollen/müssen…
Wenn Daten von dom0 zu den AppVMs (z.B. personal) müssen, dann geht das ganz gut mit:

qvm-copy-to-vm personal dateiname

…aus dem dom0 Ordner heraus, wo z.B. dateiname liegt.
Sowas machst Du z.B. wenn Du vorher im dom0 Terminal eine Datei direkt geschrieben und erstellt hast, z.b: mit

vi dateiname (nano müsste auch als Editor funktionieren)

Anders herum kannst Du es auch machen… Du erstellst praktisch eine Datei in (z.B.) personal (im dortigen Terminal) oder im File Manager (über create/erstellen) und reinschreiben oder einfügen des/eines Scripts und dann kannst Du diese Datei mit:

qvm-run --pass-io personal 'cat dateiname > /pfad / nach / dateiname_in_dom0

nach dom0 hochladen.
Die Qubes Macher warnen hier natürlich, weil Du mit diesem Befehl auch irgend welchen Mist hochladen kannst und praktisch dom0 “verseuchen/kontaminieren” könntest. Aber solang Du weisst, was Du machst, ist das alles okay und benutzbar.
Du solltest nur eins im Blick haben: Dass Du Dir halt in dom0 nicht “die Hütte mit allem Mist zuschüttest”

Noch ein Beispiel für das Hochladen “von Zeug” nach dom0:
Ich habe mir ein paar eigene Hintergrundbilder für den Desktop erstellt (in einem /bilder Ordner in meinem /home Verzeichnis in dom0) - diese Bilder mussten alle von personal auf diesem Wege hoch nach dom0

1 Like

Alternativ kann man auch das Hintergrundbild in einem App Qube im Vollbild-Modus anzeigen lassen und dann einen Screenshot davon erstellen, der in dom0 gespeichert wird.

Im Zusammenhang mit einer USB-Tastatur / -Maus kann der folgende Community Guide nützlich sein, um einen Qube automatisch wieder zu starten, nachdem er heruntergefahren wurde:

In der Qubes OS Dokumentation gibt es eine Übersicht über Command-line tools. Mit qvm-ls kann man Qubes auflisten, wahlweise mit verschiedenen Zusatzinformationen.

So habe ich es gerade vorhin erst gemacht (aber vielleicht kennst du noch eine bessere Methode?):

  • Im Qube Manager die Liste passend sortieren durch Klick auf den Spaltentitel (z.B. Templates).
  • Die Qubes stoppen, deren Template geändert werden soll.
  • Alle Qubes markieren (Strg + Linksklick), für die das Template geändert werden soll.
  • Rechtsklick auf die markierten Qubes, dann im sich öffnenden Kontextmenu das neue Template auswählen.
1 Like

Folgender Befehl hat letztendlich geklappt um ein Script aus personal nach dom0 zu transferieren (jetzt bin ich auch sensibilisiert, dass man da vorsichtig sein sollte …):

qvm-run -p -u user personal ‘cat <mein_script_in_personal>’ > <pfad_in_dom0>/script_name

qvm-ls

ist genau das, was ich suchte :slight_smile:
Danke für den Hinweis auf die Commandline-Tools! :+1:

So, das Skript ist fertig und ich habe einen ersten Versuch gewagt:

qvm-prefs: error: template for DispVM must have template_for_dispvms=True

Daraufhin hatte ich folgendes versucht:

[tux@dom0 scripts]$ qvm-prefs fedora-42-xfce template_for_dispvms True
usage: qvm-prefs [–verbose] [–quiet] [–help] [–help-properties] [–hide-default]
[–get] [–set] [–default]
VMNAME [PROPERTY] [VALUE]
qvm-prefs: error: no such property: ‘template_for_dispvms’

Hat jemand eine Idee?
Liegt es an dem Template fedora-42-xfce, welches eine Macke hat?

Hilft das hier weiter?:

1 Like

Das hat geholfen! Vielen Dank!

Danke auch an @TheGardner - mit dem Script hat das Update letztendlich geklappt, daher auch als “Lösung” markiert :slight_smile:

Muss für mich nochmal alle nötigen Schritte aufschreiben und (spätestens beim nächsten obsoleten Template) testen …