Anstatt:
/usr/sbin/libvirtd -d &
Versuchen:
systemctl start libvirtd
Sie können journalctl
die systemd-Protokolle anzeigen.
Ich wundere mich auch über dein --location
Argument.
Ich habe eine sehr problematische Aufgabe, und ein Punkt macht mich verrückt. Ich mach's einfach: Ziel: Installiere CentOS7 mit Kickstart. Am Ende der Installation als Post-Skript sollte libvirtd gestartet und eine virtuelle Maschine mit dem Befehl virt-install erstellt werden.
In meiner Kickstart-Datei habe ich:
dd if=/dev/zero of=/var/lib/libvirt/images/fw.qcow2 bs=1024 count=0 seek=10G /usr/sbin/libvirtd -d & systemctl enable libvirtd virt-install --name=firewall --disk path=/var/lib/libvirt/images/fw.qcow2 --ram=2048 --vcpus=2 --nographics --os-type=linux --os-variant=rhel7 --location /mnt/cdrom/CentOS-7-x86_64-Minimal-1511.iso --extra-args="console=tty0 console=ttyS0,115200 rd_NO_PLYMOUTH"
Meine Erfahrung ist jedoch: Ich weiß nicht, ob es libvirt startet, es wird definitiv aktiviert, da libvirt nach dem Neustart ausgeführt wird, das Betriebssystem jedoch nicht über virt-install installiert wird. In der Datei ks-post.log habe ich:
ERROR Cannot recv data: Connection reset bypeer error: Dailed to connect to the hypervisor error: no calid connection error: Failed to connect socket to '/var/run/libvirt/libvirt-sock': No such file or directory
Ich gehe davon aus, dass ich libvirtd nicht richtig starten konnte
/ usr / sbin / libvirtd -d &
Befehl bin ich?
Anstatt:
/usr/sbin/libvirtd -d &
Versuchen:
systemctl start libvirtd
Sie können journalctl
die systemd-Protokolle anzeigen.
Ich wundere mich auch über dein --location
Argument.
Ich weiß, dass ich zu spät komme, aber für jeden, der in Zukunft etwas Ähnliches tun möchte, empfehle ich Ihnen, einen systemd
Dienst zu erstellen, der nur ein normales Shell-Skript ausführt, das Ihre Befehle enthält. Ein wesentlicher Unterschied zwischen der Ausführung von Befehlen in einer Chroot-Umgebung in Kickstart und einem normal hochgefahrenen Betriebssystem besteht darin, dass der Kernel der Zielcomputer nicht in die Ausführung geladen wird (ich weiß es nicht genau), aber da die Dienste nicht ausgeführt werden (einschließlich aller Daemons) kann kein ' service
' oder ' startensystemctl
'Dienste in der Kickstart-Chroot-Umgebung. Ich hatte ein ähnliches Problem und stellte einfach eine systemd-Datei für meine centos7-Umgebung her, die nach dem ersten Neustart des Systems einen Apache-Server an Port 8080 startet, einige benutzerdefinierte Dateien kopiert und nach der Ausführung die ursprüngliche systemd-Datei löscht dass das gleiche Shell-Skript nach dem ersten Neustart nicht aufgerufen wird.
HINWEIS: Damit diese Technik funktioniert, müssen Sie die systemd
und ggf. einige andere Dateien vom Installationsmedium (Iso) in das Zieldateisystem kopieren. Wenn Sie das nicht tun wollen, als in der chroot - Umgebung Ihres Kickstart- selbst können Sie es einfach haben curl
oder wget
(Download), um die systemd - Datei in den Ordner systemd, die auf demselben oder einem anderen Server gehostet werden.