Virt-Manager auf macOS Monterey installieren - Bitte 8-Bit

Latest

Montag, 13. Dezember 2021

Virt-Manager auf macOS Monterey installieren


Diese Anleitung richtet sich an Administratoren, die mit KVMs virtualisieren und den libvirt Virtual Machine Manager gerne unter macOS Monterey nutzen möchten.
 
Die meisten Admins, die mit macOS arbeiten, haben sich bislang sicherlich die Homebrew formulae von jeffreywildman installiert. Diese Version ist jedoch mit M1 und dem neuen macOS Monterey inkompatibel. Andere Seiten empfehlen ein Repo von Damenly, das zwar mit Monterey läuft, allerdings Probleme bei der VNC Verbindung durch libvirt-python macht.
 
Ich habe das formulae selbst auf das aktuelle libvirt-python-7.10.0 angepasst, allerdings auch hier Probleme bei der VNC Verbindung. Es gibt noch zahlreiche andere Wege, den Virt-Manager auf macOS zu installieren, die ich allesamt ausgetestet habe - Vagrant, per VirtualBox VM, pi pa po.
 
Lediglich folgende Methode ließ mich sowohl den Virt-Manager halbwegs problemlos installieren, als auch ordnungsgemäß ausführen:
 
Virt-Manager via MacPorts: Eine Schritt-für-Schritt Anleitung

  1. (Optional) Bereinigung: Sofern also eines der oben genannten Homebrew formulaes installiert sind, müssen diese zunächst entfernt werden.
  2. brew remove virt-manager
    brew remove virt-viewer
    brew untap jeffreywildman/homebrew-virt-manager
    brew untap Damenly/homebrew-virt-manager
    
  3. Installation Xcode:
    Damit Macports installiert werden kann, benötigen wir vorab Xcode und die Xcode Command Line Tools. Dies sind von Apple zur Verfügung gestellte Developer Tools.

    Lade die aktuelle Version von Xcode von der Apple Developer Website oder aus dem Mac App Store

    Solltet ihr euch für die Version von der Developer Website entscheiden, erhaltet ihr eine .xip-Datei. Einfach doppelklicken, dann wird die Xcode.app am selben Ort entpackt. Schiebt sie anschließend in den Applications Ordner.
  4. Xcode initialisieren: Startet Xcode, klickt euch durch bis es vollständig geöffnet ist und beendet Xcode wieder.
  5. Der Xcode Lizenz zustimmen: Dazu das Terminal öffnen und folgende Commands senden.
    sudo xcode-select --switch /Library/Developer/CommandLineTools
    sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
    sudo xcodebuild -license
    
  6. MacPorts installieren: Dazu ladet euch einfach -hier- die aktuelle .pkg-Datei für macOS Monterey herunter und installiert diese.
  7. Virt-Manager installieren: Öffnet das Terminal und führt folgenden Befehl aus.
    sudo port install virt-manager
    
  8. X11 Forwarding aktivieren und X11 Server installieren: Es wurde nun die originale Linux Virt-Manager Library installiert. Sie lässt sich wie gewohnt mit dem Command virt-manager starten. Da das Virt-Manager Linux keine grafische Verbindung zum macOS kennt, muss diese noch hergestellt werden, indem wir einen X11 Server installieren. MacPorts empfiehlt xorg-server zu installieren. Da das bei mir jedoch nicht vollständig klappte, beschreibe ich den Weg mit XQuartz:
    1. Geht ins Terminal und bearbeitet die Datei sshd_config:
      sudo nano /etc/ssh/sshd_config
      
      Sucht hier nach X11Forwarding und setzt es auf Yes.
    2. Installiert euch XQuartz: xquartz.org
      • Überprüft so die Installation:
        1. grep xauth /etc/ssh/sshd_config
          Ausgabe: XAuthLocation /opt/X11/bin/xauth
        2. echo $DISPLAY
          Ausgabe: /private/tmp/com.apple.launchd.mQBlfFJeqF/org.xquartz:0
  9. dbus Daemon laden: Den genauen Sinn und Zweck dahinter kenne ich leider auch nicht mehr. Dieser Schritt ist aber notwendig um einen Fehler beim Starten des virt-managers zu beseitigen.
    port notes dbus
    sudo launchctl load -w /Library/LaunchDaemons/org.freedesktop.dbus-system.plist
    sudo launchctl load -w /Library/LaunchAgents/org.freedesktop.dbus-session.plist
    sudo port load dbus
    
  10. Verbindung aufbauen: Zuguter letzt kann der Socket wie folgt aufgebaut werden:
    virt-manager -c 'qemu+ssh://username@kvmserver/system?socket=/var/run/libvirt/libvirt-sock'
    Zukünftig reicht der Befehl virt-manager.
  11. Virt-Manager aktuell halten: Um den Virt-Manager später auf dem aktuellen Stand zu halten, solltet ihr euch folgende Commands notieren.
    sudo port selfupdate && sudo port upgrade virt-manager

Ich hoffe, dass ich irgendjemanden da draußen weiterhelfen konnte. Schreibt gerne in die Kommentare, wenn sich etwas geändert hat oder ihr einen einfacheren Weg kennt.

Keine Kommentare:

Kommentar veröffentlichen