Virtuelle Maschine erstellen mit yast

Unter Tumbleweed möchte ich eine XEN-VM installieren und dafür die
Hilfe von yast in Anspruch nehmen. Also starte ich yast und darin
→ Virtualisierung → Create Virtual Machines
Das schlägt fehl, das aufgerufene Script virt-install endet mit:

Fehler: Die Installationsquelle ist unbrauchbar. (http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/Essentials/INDEX.gz
None)

Tatsächlich existiert die angefragte Datei nicht auf dem angegebenen Server, wie ich mit einem Blick mittels Browser feststellte. Ich finde die Datei aber auch nicht anderswo, und selbst wenn, wüsste ich nicht, wie ich den korrekten Pfad dem yast-Script mitteilen sollte. Es ist wohl in Python3, und damit kann ich nichts anfangen.

  1. Wo finde ich, was yast benötigt?
  2. Wie stelle ich das für yast ein?

Einfach mal diese Quelle temporär deaktivieren, dann noch aktive Quellen refreshen und die yast-Prozedur nochmal durchlaufen lassen.
Yast möchte die notwendigen Pakete von den Repos herunterladen. Dafür werden alle Quellen refresht und yast stellt dabei fest, das eine deiner Quellen kaputt/unbrauchbar ist. Somit schlägt die gesamte Prozedur fehl…

Die Packman-Repos habe ich jetzt abgeschaltet, doch das Problem besteht weiterhin: jetzt wird
http://opensuse-guide.org/repo/openSUSE_Tumbleweed//INDEX.gz
nicht gefunden:

Not Found

The requested URL was not found on this server.

oder etwas gekürzt auf http://opensuse-guide.org/repo/openSUSE_Tumbleweed/ (Doppelslash kommt mir sowieso komisch vor):

Forbidden

You don’t have permission to access this resource.

Die richtige Datei finde ich so auch nicht.
Was ist zu tun?

Du hast seltsame Repos eingebunden. Davon ist keines ein Standard Repo. Zeige deshalb den Output des Kommandos:
zypper lr -d

| Alias | Name | Enabled | GPG Check | Refresh | Priority | Type | URI | Serv->

–±---------------------------------------±--------------------------------±----------±----------------±---------------±----------±-------±---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------±------
1 | download.opensuse.org-non-oss | Haupt-Repository (NON-OSS) | Ja | (r ) Ja | Ja | 99 | rpm-md | http://download.opensuse.org/tumbleweed/repo/non-oss/ |
2 | download.opensuse.org-oss | Haupt-Repository (OSS) | Ja | (r ) Ja | Ja | 99 | rpm-md | http://download.opensuse.org/tumbleweed/repo/oss/ |
3 | download.opensuse.org-tumbleweed | Hauptaktualisierungs-Repository | Ja | (r ) Ja | Ja | 99 | rpm-md | http://download.opensuse.org/update/tumbleweed/ |
4 | ftp.gwdg.de-Essentials | Packman Essentials Repository | Nein | ---- | ---- | 98 | rpm-md | Index of /pub/linux/misc/packman/suse/openSUSE_Tumbleweed/Essentials/ |
5 | ftp.gwdg.de-openSUSE_Tumbleweed | Packman Repository | Nein | ---- | ---- | 98 | rpm-md | Index of /pub/linux/misc/packman/suse/openSUSE_Tumbleweed/ |
6 | openSUSE-20221206-0 | openSUSE-20221206-0 | Nein | ---- | ---- | 99 | rpm-md | hd:/?device=/dev/disk/by-id/usb-USB_SanDisk_3.2Gen1_0501b443606d5871e12b64811b1c6be08c2dde30720b0bc05a2c0fdb0a734b042ced00000000000000000000e830a91d008c001091558107c7aaa667-0:0-part2 |
7 | opensuse-guide.org-openSUSE_Tumbleweed | libdvdcss repository | Ja | (r ) Ja | Ja | 98 | rpm-md | http://opensuse-guide.org/repo/openSUSE_Tumbleweed/ |
8 | repo-debug | openSUSE-Tumbleweed-Debug | Nein | ---- | ---- | 99 | NONE | http://download.opensuse.org/debug/tumbleweed/repo/oss/ |
9 | repo-source | openSUSE-Tumbleweed-Source | Nein | ---- | ---- | 99 | NONE | http://download.opensuse.org/source/tumbleweed/repo/oss/ |

Dieses Repo ist komplett invalid und stammt von einem 1-click-Install. Da gibt es genug Posts im Forum die strengstens davon abraten, 1-click-Install zu verwenden, da dieses solche kaputten Repoeinträge hinterlässt.
Entferne das Repo. Danach sollte die Installation funktionieren.

Kein 1-click (weiß gar nicht, was das ist). Aber ich habe alle Repos bis auf das Haupt-Repository (OSS) deaktiviert. Nun ist der Fehler ein anderer:

Fehler: returned a result with an exception set
Exception ignored in: <function Job.del at 0x7f887b802f80>
Traceback (most recent call last):
File “/usr/lib/python3.10/site-packages/vminstall/job.py”, line 101, in del
File “/usr/lib/python3.10/site-packages/vminstall/job.py”, line 155, in _cleanup_conf
FileNotFoundError: [Errno 2] No such file or directory: ‘/etc/kvm/vm/opensuse_tumbleweed’

Das Verzeichnis /etc/kvm/vm ist leer.

Das ist nicht sinnvoll und auch nicht das was ich geschrieben habe. Mindestens Repo 1, 2 und 3 sollten auf einem Tumbleweed-System aktiviert sein. Packman ist optional, genauso wie die Source und Debug Repos.

Wenn ich das tue, ernte ich wieder den alten Fehler:

Fehler: Die Installationsquelle ist unbrauchbar. (http://download.opensuse.org/tumbleweed/repo/non-oss//INDEX.gz
initial_value must be str or None, not bytes)

Stimmen denn die Verzeichnisse zu den Repos? Sie wurden bei der Installation automatisch gesetzt, aber vielleicht ist da ja etwas falsch?

Der Pfad und die Verzeichnisse sindkorrekt. Das einzige was ich mir jetzt noch vorstellen kann, das du zu einem kaputten Mirror geroutet wirst.

Ich vermute du bekommst die gleiche Meldung, wenn du in einer Root Konsole dein System updaten willst? Zeig bitte noch den Output von:
zypper dup

zypper dup

Metadaten von Repository ‘Haupt-Repository (OSS)’ abrufen …[fertig]
Cache für Repository ‘Haupt-Repository (OSS)’ erzeugen …[fertig]
Repository-Daten werden geladen…
Installierte Pakete werden gelesen…
Warnung: Sie sind im Begriff, eine Distributionsaktualisierung mit allen aktivierten Repositorys durchzuführen. Vergewissern Sie sich, dass diese Repositorys kompatibel sind, bevor Sie fortfahren. Weitere Informationen zu diesem Kommando finden Sie unter ‘man zypper’.
Distributions-Aktualisierungen werden verarbeitet…

Die folgenden 769 Pakete werden aktualisiert:

…und dann folgt eine etwas unübersichtliche Liste mit Paketen. Anschließend:

Das folgende Produkt wird aktualisiert:
openSUSE Tumbleweed 20221206-0 → 20221214-0

Die folgenden 6 NEUEN Pakete werden installiert:
kernel-default-6.0.12-1.1 libKF5PimCommonAutoCorrection5 libopeniscsiusr0 libprotobuf3_21_11 libprotobuf-lite3_21_11 librist4

Die folgenden 3 Pakete werden GELÖSCHT:
libopeniscsiusr0_2_0 libprotobuf3_21_9 libprotobuf-lite3_21_9

Die folgenden 2 Pakete erfordern einen Systemneustart:
kernel-default-6.0.12-1.1 xen

769 Pakete werden aktualisiert, 6 neue, 3 zu entfernen.
Gesamtgröße des Downloads: 679,4 MiB. Bereits im Cache gespeichert: 0 B. Nach der Operation werden zusätzlich 280,9 MiB belegt.

Hinweis: Systemneustart erforderlich.

Fortfahren? [j/n/v/…? zeigt alle Optionen] (j):

Was sagt Dir das?

Das sagt mir, das du dein System mal aktualisieren solltest…
Vorher die NON-OSS Quellen auch noch mal aktivieren

Quellen 1-3 aktivieren und den Update-Prozess mittels “zypper dup” durchführen.

Nach gerade mal einer Woche? Na gut, wenn’s sein muss.
Das dauert dann aber ein bisschen…

So, jetzt: hat ein wenig gedauert, und ich habe auch darauf geachtet, beim Reboot den Kernel mit XEN-Hypervisor auszuwählen. Für das Script wurde wieder das non-oss-Repo angezogen, weshalb ich es wieder deaktiviert habe. Es sieht jetzt etwas anders aus, aber der Fehler ist wieder der alte:

Einstellungen werden eingelesen …

Bitte geben Sie den Typ des Betriebssystems an, das in der virtuellen Maschine
laufen wird. Diese Eingabe definiert viele Vorgaben und hilft zu entscheiden
wie das paravirtualisierte Betriebssystem gestartet werden soll.
Drücken Sie ‘q’ oder die Escape-Taste zum Beenden.
1: Novell Open Enterprise Server 2 (Linux)
2: Novell Open Enterprise Server 2 (NetWare)
3: Novell Open Enterprise Server 11
4: PXE
5: RedHat (andere Version)
6: RedHat Enterprise Linux 3
7: RedHat Enterprise Linux 4
8: RedHat Enterprise Linux 5
9: RedHat Enterprise Linux 6
10: RedHat Enterprise Linux 7
11: Relax and Recover (Notfall-Systemwiederherstellung)
12: SUSE (andere Version)
13: SUSE Linux Enterprise Desktop 10
14: SUSE Linux Enterprise Desktop 11
15: SUSE Linux Enterprise Desktop 12
16: SUSE Linux Enterprise Desktop 15
17: SUSE Linux Enterprise Server 8
18: SUSE Linux Enterprise Server 9
19: SUSE Linux Enterprise Server 10
20: SUSE Linux Enterprise Server 11
21: SUSE Linux Enterprise Server 12
22: SUSE Linux Enterprise Server 15
23: Solaris 9 und älter
24: Solaris 10
25: Ubuntu 10 (Lucid Lynx, Maverick Meerkat)
26: Ubuntu 11 (Natty Narwhal, Oneiric Ocelot)
27: Ubuntu 12 (Precise Pangolin)
28: Ubuntu (andere Version)
29: Windows 7
30: Windows 7 (x64)
31: Windows 8
32: Windows 8 (x64)
33: Windows 10
34: Windows 10 (x64)
35: Windows (andere Version)
36: Windows (andere, x64-Version)
37: Windows NT
38: Windows Server 2008
39: Windows Server 2008 (x64)
40: Windows Server 2012 (x64)
41: Windows Server 2016 (x64)
42: Windows Server 2019 (x64)
43: Windows Vista
44: Windows Vista (x64)
45: Windows XP, 2000, 2003
46: Windows XP, 2003 (x64)
47: anderes Betriebssystem
48: openSUSE
49: openSUSE 11
50: openSUSE 12
51: openSUSE 13
52: openSUSE 15
53: openSUSE 42
54: openSUSE Tumbleweed
[54] >

Virtuelle Maschinen können para- oder vollvirtualisiert sein.
Paravirtualisierung ist schneller, benötigt aber die Unterstützung des
Betriebssystems der VM. Vollvirtualisierung unterstützt mehr Betriebssysteme,
benötigt allerdings Hardwaresupport. Welche Art der Virtualisierung möchten Sie
nutzen?
1: Paravirtualisierung
2: Vollvirtualisierung
[1] >

PXE-Boot
(Y / N) [N] >
Wählen Sie einen Namen für die virtuelle Maschine aus.
[opensuse_tumbleweed] >

Beschreibung > Test

Spezifieren Sie die Menge an Speicher und die Anzahl der Prozessoren, die der
VM zugewiesen werden sollen.
Initialer Speicher [1024] >
Maximaler Speicher [1024] >
Virtuelle(r) Prozessor(en) [1] >

Bitte geben Sie den Typ der virtualisierten Grafikkarte an.
1: Keine Grafikunterstützung
2: Paravirtualisierte Grafikkarte
[2] >

Virtuelle Platten:
(Keine)
Möchten Sie eine weitere virtuelle Platte hinzufügen?
(Y / N) [Y] >

Erstellt eine virtuelle Platte basiert auf einem Device (CD oder ein anderes
Block-Gerät), einem existierendem Abbild (ISO) oder einer Datei. Spezifieren
Sie ein Gerät über seinen Geräte-Node, z.B. /dev/cdrom, und nicht über seinen
Einhängepunkt.
Welchen virtuellen Plattentyp möchten Sie hinzufügen?
1: CD-ROM oder DVD
2: Festplatte
[2] >
Wo wird die virtuelle Platte physikalisch liegen?
[/var/lib/libvirt/images/opensuse_tumbleweed/xvda] >
Größe (GB) [16.0] >
Eine “sparse”-Abbilddatei für die virtuelle Platte erstellen?
(Y / N) [Y] >

Virtuelle Platten:
16.0 GB Festplatte (file:/var/lib/libvirt/images/opensuse_tumbleweed/xvda)
Möchten Sie eine weitere virtuelle Platte hinzufügen?
(Y / N) [N] >

Netzwerkadapter
(Keine)
Möchten Sie einen weiteren virtuellen Netzwerkadapter hinzufügen?
(Y / N) [Y] >

Netzwerkadapter
Paravirtualisiert; Zufällig erzeugte MAC-Adresse
Möchten Sie einen weiteren virtuellen Netzwerkadapter hinzufügen?
(Y / N) [N] >

Spezifieren Sie die bootbare virtuelle Platte (oft gekennzeichnet als Disk 1)
oder die URL einer Netzwerk-Installationsquelle. Jede/s für die Installation
benötigte CD, DVD oder ISO-Abbild muss als virtuelle Platte hinzufügt werden.
1: Installationsquelle (http://download.opensuse.org/tumbleweed/repo/oss/)
2: Netzwerk-URL (ftp://, http://, nfs://, smb://)
[1] >

Einige Betriebssysteme unterstützen die Automatisierung der Installation durch
Angabe einer URL oder einer Datei. Wählen Sie ein Verzeichnis um mehrere
Dateien mit einzubeziehen.
AutoYaST-Datei >

Einige Betriebssysteme akzeptieren zusätzliche Parameter, z.B. um die
Installation oder das Booten zu beeinflussen.
Weitere Angaben >

Installation wird vorbereitet …

Fehler: Die Installationsquelle ist unbrauchbar. (http://download.opensuse.org/tumbleweed/repo/oss//INDEX.gz
initial_value must be str or None, not bytes)

Was ist jetzt wieder falsch?

Uuuuuh, jetzt wird es klar was du versuchst.

Das kann ja nicht funktionieren. Die Anweisung ist aber auch klar. Du musst auf ein Installationsmedium wie eine ISO, DVD,USB, CD verweisen. Also wähle Option 2 und verweise zum Beispiel auf
https://download.opensuse.org/tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Snapshot20221214-Media.iso

Schau hier für gültige ISO-Links:
https://download.opensuse.org/tumbleweed/iso/

Es will wohl unbedingt eine INDEX.gz vorfinden:

Fehler: Die Installationsquelle ist unbrauchbar. (http://download.opensuse.org/tumbleweed/iso/openSUSE-MicroOS-DVD-x86_64-Snapshot20221214-Media.iso/INDEX.gz
None)

Ich finde da aber keine solche Datei.

BTW: wenn ich ein Installations-ISO hernehme, muss ich dann eine Vollvirtualisierung wählen? Paravirtualisierung wäre mir lieber, weil performanter, wie man allenthalben liest.

Mein Fehler. Die Option 1 ist für eine lokale ISO und die Option 2 ist für Networkinstall.
Hast du dir schon die Dokumentation angeschaut? Da ist das schön beschrieben:

Vorgefertigte disks (für alle möglichen Virtualisierungslösungen) kannst du auch hier finden:
https://download.opensuse.org/tumbleweed/appliances/

Nunja, mein Englisch ist etwas eingerostet. Inzwischen habe ich alle erdenklichen Methoden durchprobiert, doch die richtige ist noch nicht dabei gewesen:
1 Festplatte /var/lib/libvirt/images/opensuse_tumbleweed/xvda, 100GB
2 cdrom /dev/sdc (das ist ein USB-Stick mit dem aktuellen Tumbleweed-Installations-Image)

Installationsquelle https://download.opensuse.org/tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Snapshot20221214-Media.iso
Plattenimage: https://download.opensuse.org/tumbleweed/appliances/openSUSE-Tumbleweed-Minimal-VM.x86_64-1.0.0-kvm-and-xen-Snapshot20221214.qcow2
usw.

Aber hinterher sind nicht einmal die Verzeichnisse angelegt (oder wieder gelöscht?).

Eigentlich hatte ich ja gehofft, mit yast das einfacher hinzubekommen als mit einem Rattenschwanz an Parametern für virt-install, für das ich erst tagelang studieren muss (und die bislang auch nicht funktionieren). Auch die durchaus zahlreichen Beispiele funktionieren nicht, nicht ein einziges, irgendwas fehlt wohl immer noch…

Aber es muss doch irgendwie gehen, schließlich ist die Technik schon seit mindestens anderthalb Jahrzehnten etabliert, die Scripte sollten ausgereift sein. Leider scheint auch ein guter Teil der Doku ebenso alt zu sein und nicht mehr so richtig kompatibel zum aktuellen Stand. Irgendwie stehe ich im Moment wohl auf dem Schlauch.