저는 Gentoo 설치를 실행 중이고 최근에 systemd로 옮겼습니다. Xen으로 부팅할 때마다 xl 명령을 실행할 수 없고 다음 오류가 발생합니다:
xc: 오류: 권한 있는 명령 인터페이스에 대한 핸들을 얻을 수 없습니다(2 = 해당 파일이나 디렉터리 없음): 내부 오류
libxl: 오류: libxl.c:92: libxl_ctx_alloc: libxc에 대한 핸들을 열 수 없습니다: 해당 파일이나 디렉터리가 없습니다
xl 컨텍스트를 초기화할 수 없습니다.
문제를 조사한 결과 언급된 세 가지 서비스(xenstored, xenconsoled 및 xendomains)가 실행되고 있지 않으며 systemd에서 활성화할 수 없다는 것을 발견했습니다. 나는 확인했다/usr/lib64/systemd/시스템for 및 서비스 파일의 이름에는 xen도 포함되어 있지만 찾을 수 없습니다. 그래서 어떻게든 이 세 가지 서비스를 설치해야 한다고 생각하는데, 내가 나타났을 때 왜 설치되지 않았는지 모르겠습니다.xen(및 xen-tools) 또는 systemd. 소스에서 빌드해야 합니까? 어떤 방향이든 크게 감사하겠습니다!
답변1
나쁜 소식
며칠 전에 이 질문을 확인했는데 답변을 게시하는 것을 잊어버렸습니다. 나는 그것을 사용하지 않으므로 xen
내 xen-tools
출력 emerge
에는 추가 패키지가 표시됩니다.
ecyoung@bedroom-gentoo ~ $ sudo emerge -av xen xen-tools
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild N ] dev-libs/yajl-2.0.4-r3::gentoo USE="-static-libs" ABI_X86="32 (64) (-x32)" 81 KiB
[ebuild N ] dev-python/markdown-2.6.1::gentoo USE="-doc -pygments {-test}" PYTHON_TARGETS="python2_7 python3_3 python3_4 (-pypy) (-pypy3)" 292 KiB
[ebuild N ] dev-python/pypam-0.5.0-r3::gentoo PYTHON_TARGETS="python2_7 python3_3" 103 KiB
[ebuild N ] sys-firmware/ipxe-1.0.0_p20130925::gentoo USE="qemu usb -iso -undi -vmware" 2,188 KiB
[ebuild N ] sys-devel/dev86-0.16.19::gentoo 697 KiB
[ebuild N ] net-misc/bridge-utils-1.5::gentoo USE="(-selinux)" 33 KiB
[ebuild N ] app-emulation/xen-tools-4.5.0-r6::gentoo USE="pam python -api -custom-cflags -debug -doc -flask -hvm (-ocaml) -ovmf -pygrub -qemu -screen -static-libs -system-qemu -system-seabios" PYTHON_TARGETS="python2_7" 18,604 KiB
[ebuild N ] app-emulation/xen-4.5.0-r8::gentoo USE="-custom-cflags -debug -efi -flask -xsm" 0 KiB
Total: 8 packages (8 new), Size of downloads: 21,996 KiB
Would you like to merge these packages? [Yes/No] n
Quitting.
ecyoung@bedroom-gentoo ~ $
위에 나열된 출력에서 볼 수 있듯이 systemd
USE 플래그는 또는 의 app-emulation/xen
USE 목록에 나열 되지 않습니다 app-emulation/xen-tools
. systemd
USE 플래그를 지원하는 모든 패키지에는 해당 플래그가 나열됩니다. 실제로 스크립트가 app-portage/gentoolkit
포함된 equery
패키지를 통해 이를 확인할 수 있습니다.
ecyoung@bedroom-gentoo ~ $ sudo equery hasuse systemd
* Searching for USE flag systemd ...
[IP-] [ ] app-admin/syslog-ng-3.6.2:0
[IP-] [ ] dev-libs/efl-1.12.2:0
[IP-] [ ] kde-base/kdm-4.11.19:4/4.11
[IP-] [ ] media-gfx/sane-backends-1.0.24-r5:0
[IP-] [ ] media-sound/pulseaudio-5.0-r7:0
[IP-] [ ] net-print/cups-2.0.2-r1:0
[IP-] [ ] net-wireless/bluez-5.25:0/3
[IP-] [ ] sci-geosciences/gpsd-3.9-r1:0
[IP-] [ ] sys-apps/accountsservice-0.6.40:0
[IP-] [ ] sys-apps/busybox-1.23.1-r1:0
[IP-] [ ] sys-apps/dbus-1.8.16:0
[IP-] [ ] sys-apps/util-linux-2.25.2-r2:0
[IP-] [ ] sys-auth/pambase-20150213:0
[IP-] [ ] sys-auth/polkit-0.112-r2:0
[IP-] [ ] sys-fs/lvm2-2.02.109:0
[IP-] [ ] sys-fs/multipath-tools-0.5.0-r1:0
[IP-] [ ] sys-fs/udisks-2.1.4:2
[IP-] [ ] sys-process/procps-3.3.9-r2:0
[IP-] [ ] virtual/libgudev-215-r3:0/0
[IP-] [ ] virtual/libudev-215-r1:0/1
[IP-] [ ] virtual/udev-215:0
[IP-] [ ] x11-base/xorg-server-1.16.4:0/1.16.1
[I-O] [ ] x11-wm/enlightenment-0.19.4:0.17/0.19
ecyoung@bedroom-gentoo ~ $
systemd 프로필을 활성화했다면 목록이 더 포괄적이 될 것입니다. 더 완전한 목록을 보려면 아래 추적기 오류를 참조하세요.
가능한 수정
플래그가 위에 나열되지 않았으므로 약 3가지 옵션을 생각할 수 있습니다.
- 자신만의 .service 파일을 작성하세요.. 다음과 같은 다른 링크도 많이 있습니다.이것, 그냥 구글시스템 서비스 작성
eselect profile
init 를 사용하여 (프로파일 선택 없이) OpenRC/SysV로 다시 전환합니다systemd
. 이 설정은Gentoo의 Xen Wiki 항목.service files
#1에 쓴 내용을 다음에 기여하세요.버그 482420 - app-emulation/xen-tools: systemd 단위 스크립트 파일 지원 추가, 이를 방지합니다.버그 448882 - (install-systemd-unit) [Tracker] 패키지가 systemd 장치를 제공하지 않습니다.. 이 목록에는 시스템 단위가 필요한 모든 패키지가 포함되어 있습니다.X 표시된부분 에 대한 지원이 추가되었습니다 . 아직 일이 필요하지 않은 사람들.
답변2
systemd가 이미 설치된 상태에서 xen 및 xen-tools를 다시 설치하여 문제를 해결했습니다.
그러나 저는 제가 설치한 QEMU 바이너리를 가리키도록 xen-qemu-dom0-disk-backend.service를 변경해야 했습니다(별도의 QEMU 패키지를 사용하기 때문입니다).