libvirtd не запускается, если в системе не установлен dnsmasq: 2015-06-06 17:44:13.506+0000: 19509: error : dnsmasqCapsRefreshInternal:735 : Cannot check dnsmasq binary /usr/sbin/dnsmasq: Нет та кого файла или каталога 2015-06-06 17:44:13.663+0000: 19509: error : dnsmasqCapsRefreshInternal:735 : Cannot check dnsmasq binary /usr/sbin/dnsmasq: Нет та кого файла или каталога 2015-06-06 17:44:13.714+0000: 19509: error : virCommandWait:2315 : внутренняя ошибка Child process (/usr/sbin/dnsmasq --conf-file=/ var/lib/libvirt/dnsmasq/default.conf) unexpected exit status 1: libvirt: ошибка : не удалось выполнить /usr/sbin/dnsmasq: Нет тако го файла или каталога В зависимостях пакета libvirt-daemon не указан dnsmasq.
Зависимость на dnsmasq убрал rider@ в версии 0.8.7-alt2. В то время libvirt еще не был разбит на множество подпакетов. Возможно стоит добавить зависимость на dnsmasq в пакет libvirt-daemon-driver-network. Давайте узнаем возражения у rider@
dnsmasq нужен не во всех конфигурациях. Мне он мешает на сервере - dns и dhcp живут на другом железе. При этом всё запускается. # service libvirtd status libvirtd is running # rpm -q dnsmasq warning: package dnsmasq is not installed # rpm -q libvirt libvirt-1.2.15-alt1 # rpm -q libvirt-daemon-driver-network libvirt-daemon-driver-network-1.2.15-alt1
(В ответ на комментарий №2) > dnsmasq нужен не во всех конфигурациях. Мне он мешает на сервере - dns и dhcp > живут на другом железе. > При этом всё запускается. > > # service libvirtd status > libvirtd is running > # rpm -q dnsmasq > warning: package dnsmasq is not installed > > # rpm -q libvirt > libvirt-1.2.15-alt1 > > # rpm -q libvirt-daemon-driver-network > libvirt-daemon-driver-network-1.2.15-alt1 а libvirt-daemon-config-network установлен?
да, установлен.
и даже конфиг не изменялся.
Вообще-то, когда подключаешь интерфейс в бридж, на нём не должен запускаться dnsmasq, и он тебе не должен никак мешать. dnsmasq запускается только для "локальных виртуальных" сетей.
Получается, что dnsmasq нужен только тому пакету, при установке которого создаётся и назначается автозапуском виртуальная сеть "default" (её описание /var/lib/libvirt/network/default.xml)
не нужен, у меня есть этот файл и всё работает. dnsmasq я уже точно не помню, но каким-то образом умудрялся запускаться. по моему не libvirt'ом а кем-то другим.
(В ответ на комментарий №8) > не нужен, у меня есть этот файл и всё работает. > dnsmasq я уже точно не помню, но каким-то образом умудрялся запускаться. по > моему не libvirt'ом а кем-то другим. Надо понимать так, что dnsmasq установлен по зависимости от другого пакета. С файлом я ошибся. Исходный - /usr/share/libvirt/networks/default.xml, в пост-установочном скрипте пакета libvirt-daemon-driver-network из него формируется /etc/libvirt/qemu/networks/default.xml и уже он ставится в автозапуск, причём только для подключения к QEMU. Таким образом, dnsmasq нужен только в случае, когда установлен и libvirt-qemu-common, и libvirt-daemon-driver-network. Логичнее всего поставить dnsmasq в зависимость для libvirt-qemu-common (либо к метапакету libvirt-qemu)
тогда давате я добавлю dnsmasq к метапакету, просто Антон не будет устанавливать метапакет.
не надо зависимостей, тем более у метапакетов. давайте лучше разберёмcя, почему по умолчанию не стартует, хотя у меня все те-же пакеты стоят. Про какой post-script идёт речь ? rpm -q --scripts libvirt-daemon-driver-network ничего не возвращает.
кстати, у меня default network тоже в autostart, но это ничему не мешает при отсутствующем dnsmasq
вообще, предлагаю считать это не багом - необходимость в dnsmasq сильно зависит от типа сети в виртуальных машинах qemu, и в логах явно пишут что нужно добавить dnsmasq, когда это действительно нужно. Любой более-менее грамотный администратор прочитает логи и доустановит dnsmasq в случае необходимости. иметь же несколько DHCP серверов в локальной сети по умолчанию нет желания.