로컬로 빌드된 qemu/libvirt를 올바르게 설치/구성

로컬로 빌드된 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/먼저 깔끔하게 설치되어 있나요? 그리고 이상적으로는 현재 VM 구성을 유지하고 싶습니다. 특정 도메인에 대한 XML 파일을 검색하면 두 가지 버전이 표시됩니다.

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

왜 2개가 있는지는 모르겠지만 virsh dumpxml아무것도 제거하기 직전에 할 수 있을 것 같습니다.

답변1

2020년 8월 현재 qemu 5가Debian은 불안정하며 Ubuntu 20.10에 포함될 예정입니다(미래 시제 참고)..

qemu가 필요한 경우 이러한 배포판 버전을 채택하는 것을 고려해보세요. 재현 가능한 빌드는 장점입니다. 예상한 곳에 물건을 배치하고 apt 외부에 설치된 소프트웨어와 충돌하지 않습니다. 장기적인 지원은 제공되지 않으므로 업그레이드를 자주 수행할수록 유지 관리 비용이 늘어납니다.

OS를 변경하지 않는 경우 제안된 패키지를 실행 중인 패키지로 백포트하고 다시 빌드하는 것을 고려하세요. 자체 Launchpad PPA 저장소 또는 이와 유사한 기능을 사용하면 사용자 정의 빌드의 패키지 관리가 가능합니다.

관련 정보