Systemd не запускает xenstored, xenconsoled и xendomains

Я запускаю установку Gentoo и недавно перешел на systemd и всякий раз, когда я загружаюсь с Xen, я не могу вводить какие-либо команды xl, получая эту ошибку:

xc: error: не удалось получить дескриптор в привилегированном командном интерфейсе (2 = нет такого файла или каталога): внутренняя ошибка

libxl: error : libxl.c: 92: libxl_ctx_alloc: невозможно открыть дескриптор libxc: Нет такого файла или каталога

не может инициализировать контекст xl

Изучив проблему, я обнаружил, что три упомянутые службы (xenstored, xenconsoled и xendomains) не работают и я не мог включить их в systemd. Я проверил / usr / lib64 / systemd / system на наличие служебных файлов с именами, даже содержащими xen, но не было найдено ни одного. Поэтому я считаю, что мне нужно как-то установить эти три службы, но я не уверен, почему они не были установлены, когда я установил xen (и xen-tools) или systemd . Мне нужно просто собрать их из исходников? Любое направление будет оценено по достоинству!

1
11.06.2020, 15:04
2 ответа

Я решил проблему, просто переустановив xen и xen-tools, когда systemd уже был установлен.

Однако мне пришлось изменить xen-qemu-dom0-disk-backend.service, чтобы он указывал на мой уже установленный бинарник QEMU (поскольку я использую отдельный пакет QEMU).

0
29.04.2021, 00:27

Плохие новости

Я искал это несколько дней назад и забыл опубликовать ответ. Я не использую 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 ~ $ 

Как вы можете видеть из приведенного выше вывода, флаг USE systemd не указан в списке USE ни для app-emulation/xen, ни для app-emulation/xen-tools. Каждый пакет, поддерживающий USE-флаг systemd, будет указан в списке. Фактически, мы можем проверить это с помощью пакета 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 файлы. Есть также множество других ссылок, таких как эта, просто наберите в Google запись службы systemd
  2. Переключиться обратно на OpenRC/SysV init, используя eselect profile (Выберите профиль без systemd). Эта настройка хорошо документирована в Xen Wiki Entry for Gentoo
  3. Внесите .service files, которые вы написали в #1, в Bug 482420 - app-emulation/xen-tools: Добавить поддержку файлов сценариев юнитов systemd, что блокирует Bug 448882 - (install-systemd-unit) [Tracker] пакеты, не предоставляющие юниты systemd. Этот список содержит все пакеты, которым нужны блоки systemd. Те, которые вычеркнуты, имеют добавленную поддержку. Те, которые не зачеркнуты, все еще нуждаются в работе.
0
29.04.2021, 00:27

Теги

Похожие вопросы