libvirt 是一套開源的虛擬化管理 API 與工具集,支援 KVM、QEMU、Xen、LXC 等多種 Hypervisor,是雲端與虛擬化基礎設施的核心組件。雖然主流發行版軟體倉庫提供預編譯套件,但在需要特定版本、啟用特定功能或舊版系統(如 Ubuntu 12.04)上,從原始碼編譯安裝仍是常見需求。本文以 Ubuntu 12.04 + libvirt 1.1.2 為例,詳細記錄完整編譯安裝流程與關鍵注意事項。
關鍵步驟:先安裝 virtinst,再編譯安裝 libvirt。原因在於 virtinst 套件會自帶一組 libvirt,若先編譯 libvirt 再安裝 virtinst,後者會覆蓋前者安裝的檔案,導致版本不一致。正確順序為:
sudo apt-get install virtinst
下載 libvirt 1.1.2 原始碼(官方 FTP)並解壓後,進入目錄執行 ./configure 會提示缺少大量開發套件。一次性安裝所需依賴:
sudo apt-get install libxml++2.6-2 libxml++2.6-dev \
libdevmapper-dev libpciaccess-dev python-dev libnl-dev
--prefix=/usr 以符合系統慣例):./configure --prefix=/usrPython: yes、QEMU: root:root、Init script: check 等均正常。make && sudo make installUbuntu 上 libvirt 守護進程由 libvirt-bin 服務管理,而非傳統的 libvirtd:
sudo service libvirt-bin startsudo service libvirt-bin stopsudo service libvirt-bin status注意:直接執行 service libvirtd start 會報錯 unrecognized service,這是許多網路教學錯誤的地方。libvirt-bin 實際是指向 /lib/init/upstart-job 的符號連結。

本文釐清了 Ubuntu 上從原始碼安裝 libvirt 的完整流程,重點強調「先裝 virtinst、後編譯 libvirt」與「使用 libvirt-bin 管理服務」兩個關鍵差異點。步驟 2-5(下載、依賴、配置、編譯)在各 Linux 發行版上大同小異,可依發佈版包管理器調整依賴套件名稱。libvirt 本質是管理 API,搭配 virsh、virt-manager 等工具即可高效管理虛擬機生命週期。