Назад | Перейти на главную страницу

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

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

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

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

  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/ чисто сначала? И в идеале я хотел бы сохранить текущие конфигурации виртуальных машин. В поисках XML-файла для определенного домена я вижу 2 версии:

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

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

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

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

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