Vagranfile FAQ
VirtualBox kann unter macOS nicht installiert werden
Problem:
VirtualBox kann unter macOS nicht erfolgreich installiert werden.
Lösung:
Während der Installation müsst ihr die Kernelerweiterung von Virtualbox unter Systemeinstellungen -> Sicherheit -> Allgemein zulassen.
Virtuelle Maschinen können unter macOS nicht gestartet werden (NS_ERROR_FAILURE)
Problem:
Beim starten einer virtuellen Maschine, entweder direkt über VirtualBox oder mittels vagrant up
, erhaltet ihr den folgenden Fehler: NS_ERROR_FAILURE
.
Lösung:
Befolgt die Schritte unter folgendem Link: [1]
Invalid or currupted package (PGP signature)
Problem:
Beim Ausführen von vagrant up
kann die Integrität von Paketen nicht verifiziert werden.
... bde_box: :: File /var/cache/pacman/pkg/libxcrypt-4.4.19-1-x86_64.pkg.tar.zst is corrupted (invalid or corrupted package (PGP signature)). bde_box: Do you want to delete it? [Y/n] ...
Lösung:
Der Keyring von Archlinux muss komplett zurückgesetzt werden. Startet dazu die virtuelle Maschine mit vagrant up
und verbindet euch mit vagrant ssh
. Führt in der virtuellen Maschine anschließend die folgenden Befehle aus. Insbesondere der vierte Befehl kann einige Zeit in Anspruch nehmen. Es sollte dabei der Fehler von oben nicht mehr auftreten.
[vagrant@archlinux ~]$ sudo rm -r /etc/pacman.d/gnupg [vagrant@archlinux ~]$ sudo pacman-key --init [vagrant@archlinux ~]$ sudo pacman-key --populate archlinux [vagrant@archlinux ~]$ sudo pacman-key --refresh-keys [vagrant@archlinux ~]$ sudo rm /var/lib/pacman/db.lck [vagrant@archlinux ~]$ sudo pacman -Sy gnupg archlinux-keyring [vagrant@archlinux ~]$ sudo pacman -Syu
Verlasst anschließend mit exit
wieder die virtuelle Maschine. Nun müssen die Pakete für die Vorlesung innerhalb der virtuellen Maschine noch installiert werden. Startet dazu die virtuelle Maschine neu und führt alle Provisioner aus. Das geht so:
$ vagrant reload --provision
Version `GLIBC_2.34' not found
Problem:
Nach dem ersten Ausführen von vagrant up
schlägt die Installation der virtuellen Maschine fehl.
bde_box: vercmp: /usr/lib/libc.so.6: version `GLIBC_2.34' not found (required by vercmp)
In diesem Zusammenhang kann auch die Integrität von mehreren Paketen nicht mehr verifiziert werden.
bde_box: checking keyring... bde_box: downloading required keys... bde_box: :: Import PGP key 59E43E106B247368, "Leonidas Spyropoulos <artafinde@archlinux.org>"? [Y/n] bde_box: checking package integrity... bde_box: error: linux-api-headers: signature from "Frederik Schwan <frederik.schwan@linux.com>" is unknown trust bde_box: :: File /var/cache/pacman/pkg/linux-api-headers-5.16.8-1-any.pkg.tar.zst is corrupted (invalid or corrupted package (PGP signature)). bde_box: error: glibc: signature from "Frederik Schwan <frederik.schwan@linux.com>" is unknown trust bde_box: Do you want to delete it? [Y/n]
Lösung:
Diese Fehlermeldung weist darauf hin, dass die VM mit einer alten Version von Archlinux instanziiert wird. Dies kann entstehen, wenn schon einmal Vagrant mit Archlinux bei anderen VMs benutzt wurde. Um diesen Fehler zu beheben sollten alte Archlinux Versionen gelöscht werden. Löscht dafür zunächst eure aktuelle Installation der virtuellen Maschine (vagrant destroy
bzw. löscht die VM aus VirtualBox) und führt anschließend die folgenden Befehle in eurem Terminal aus.
$ vagrant box list $ vagrant box prune
Der erste Befehlt listet alle installierten Boxen (Archlinux Versionen). Mit dem zweiten Befehl werden alle veralteten Boxen, die aktuell nicht benutzt werden, gelöscht. Falls das Problem dadurch nicht behoben wird, kann man die Archlinux Versionen alternativ auch manuell löschen. Diese befinden sich abhängig von eurem System an folgendem Ort.
- Mac OS X and Linux:
~/.vagrant.d/boxes
- Windows:
C:/Users/USERNAME/.vagrant.d/boxes
Nachdem die alten Versionen gelöscht wurden, könnt ihr erneut vagrant up
ausführen.