Systemd가 xenstored, xenconsoled 및 xendomains를 시작하지 않습니다.

Systemd가 xenstored, xenconsoled 및 xendomains를 시작하지 않습니다.

저는 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

나쁜 소식

며칠 전에 이 질문을 확인했는데 답변을 게시하는 것을 잊어버렸습니다. 나는 그것을 사용하지 않으므로 xenxen-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 ~ $ 

위에 나열된 출력에서 ​​볼 수 있듯이 systemdUSE 플래그는 또는 의 app-emulation/xenUSE 목록에 나열 되지 않습니다 app-emulation/xen-tools. systemdUSE 플래그를 지원하는 모든 패키지에는 해당 플래그가 나열됩니다. 실제로 스크립트가 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가지 옵션을 생각할 수 있습니다.

  1. 자신만의 .service 파일을 작성하세요.. 다음과 같은 다른 링크도 많이 있습니다.이것, 그냥 구글시스템 서비스 작성
  2. eselect profileinit 를 사용하여 (프로파일 선택 없이) OpenRC/SysV로 다시 전환합니다 systemd. 이 설정은Gentoo의 Xen Wiki 항목
  3. .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 패키지를 사용하기 때문입니다).

관련 정보