Правильная установка/настройка локально собранного qemu/libvirt

Правильная установка/настройка локально собранного qemu/libvirt

В Ubuntu 18.04 стандартная установка qemu — это что-то вроде версии 3, а мне нужен был virtiofs, который имеет встроенную поддержку в более поздних версиях. Поэтому я удалил qemu и связанные с ним пакеты, скачал исходники qemu 5.0 и скомпилировал их локально.

Все работало хорошо, включая make install, который поместил двоичные файлы в /usr/local/то, что, как я полагаю, является правильным значением по умолчанию, если не указано иное.

Большинство вещей работают нормально, но сейчас я пытаюсь добиться корректного завершения работы/перезапуска гостевых систем при перезапуске хоста и столкнулся с двумя проблемами.

  1. При запуске хоста я бы увидел /usr/local/libexec/libvirt-guests.sh: 29: .: Can't open /usr/local/bin/gettext.sh. Конечно, это не то место, где getttext.shобычно находится, но я могу обойти это с помощьюln -s /usr/bin/gettext.sh /usr/local/bin/gettext.sh
  2. Сейчас сообщений об ошибке нет, но позже в журналах загрузки хоста я вижуlibvirt-guests.sh[2166]: touch: cannot touch '/usr/local/var/lock/subsys/libvirt-guests': No such file or directory

Я мог бы продолжать создавать символические ссылки, чтобы они казались доступными для libvirt, но мне интересно, будет ли правильным решением установить qemu там, где он ожидает быть.

Итак, первый вопрос: является ли переустановка правильным подходом или я просто упустил какую-то базовую настройку, которая оставила бы локальный пакет на месте, но позволила бы всему работать так, как и ожидалось?

Если нет, то, наверное, мне придется бежать ./configure --prefix=/usrи строить заново, но как я могуудалятьтекущая установленная версия в /usr/local/чистом виде? И, в идеале, я хотел бы сохранить мои текущие конфигурации VM. При поиске XML-файла для определенного домена я вижу 2 версии:

# find / -name 07x2.xml
/usr/local/var/run/libvirt/qemu/07x2.xml
/usr/local/etc/libvirt/qemu/07x2.xml

Я не уверен, почему их два, но, думаю, я мог бы это сделать, virsh dumpxmlпрежде чем что-то удалять.

решение1

По состоянию на август 2020 года qemu 5 находится вDebian Unstable и будет в (обратите внимание на будущее время) Ubuntu 20.10.

Рассмотрите возможность использования этих версий дистрибутивов там, где вам нужен qemu. Воспроизводимые сборки являются преимуществом: размещайте вещи там, где вы ожидаете, и не конфликтуйте с программным обеспечением, установленным вне apt. Поймите, что это не имеет долгосрочной поддержки, более частые обновления увеличивают ваше обслуживание.

Если вы не меняете свою ОС, рассмотрите возможность бэкпортирования предлагаемого пакета в то, что вы используете, и пересоберите. Ваш собственный репозиторий Launchpad PPA или аналогичный позволяет управлять пакетами пользовательских сборок.

Связанный контент