Ubuntu源码安装libvirt

本文档详细介绍了在Ubuntu 12.04和14.04上安装与配置Libvirt的过程,包括必要的软件包安装、源码编译、环境配置及常见问题解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

说明:已分别在Ubuntu12.04和Ubuntu14.04测试通过

1.相关包的安装

1)官网获取源码(http://www.libvirt.org/sources),当前我们使用的版本是1.2.5

wget http://libvirt.org/sources/libvirt-1.2.5.tar.gz

2)在libvirt配置和编译前先安装部分相关包(说明:在安装之前可能需要更新源(sudo apt-get update),否则可能会无法正常安装软件包)

sudo apt-get install qemu-kvm libvirt-bin bridge-utils

sudo apt-get install ubuntu-vm-builder

sudo apt-get install virt-manager(可选) virtinst

其中,qemu-kvm提供了KVM必需的用户空间管理工具,libvirt-bin就是提供libvirt API和virsh管理工具,bridge-utils提供了管理网桥的brctl工具,Ubuntu-vm-builder提供了一个Ubuntu优化过的构建客户机的强大的命令行工具,virt-manager提供了图形界面下管理KVM的工具,virtinst提供了命令行下安装客户机的工具。

sudo apt-get install libvirt-dev libxml2 libxml2-dev gnutls-bin libneon27-gnutls libcurl4-gnutls-dev libnl-dev python-dev libyajl-dev libdevmapper-dev libpciaccess-dev uuid-dev

  3)将已获取的源码解压,tar -zxvf libvirt-1.2.5.tar.gz

进入源码目录:cd libvirt-1.2.5

配置: ./configure  (在配置过程中,可能会由于缺少编译时需要依赖的软件包而导致配置失败,这时只需要按照提示安装对应的软件包,然后重新运行”./configure”命令配置即可。)

编译:make -j 4

安装:make install (在配置和编译时都不需要root权限,但是在安装libvirt时一般都需要root用户权限。)

检查已安装的libvirt(以下四个命令如果能够正常显示相关目录及版本信息,则说明安装成功):

which libvirtd

libvirtd --version

which virsh

virsh -version

可能问题Q1libvirtd:error while loading shared libraries: libivrt-lxc.so.0: cannot shared object file:No such file or directory

A1:修改系统动态链接库配置文件,方法:

进入目录/etc/ld.so.conf.d

新建命令:touch libvirt.conf
        赋权限:sudo chmod 666 /etc/ld.so.conf.d/libvirt.conf

    添加一个文件libvirt.conf,内容是:

    # libvirt default configuration

    /usr/local/lib

更新动态链接库缓存: sudo ldconfig

2.环境配置

libvirtd.conf是libvirt的守护进程libvirtd的配置文件,被修改后需要让libvirtd重新加载配置文件(或重启libvirtd)才会生效。下面几个配置项表示关闭TLS安全认证的连接(默认值是打开的)、打开TCP连接(默认是关闭TCP连接的),设置TCP监听的端口,TCP连接不使用认证授权方式,设置UNIX Domain socket的保存目录等。

sudo vi /usr/local/etc/libvirt/libvirtd.conf修改(配置)如下选项:

listen_tls = 0

listen_tcp = 1

tcp_port = “16509”

unix_sock_dir = “/var/run/libvirt”

auth_tcp = “none”

3.启动libvirtd

sudo /usr/local/sbin/libvirtd -d –l         (说明:d代表daemon,l代表listen)

查看启动结果:

 

4.实际操作

sudo virsh list, 出现如下结果则说明安装配置成功,后续操作不需执行,否则继续查看相关报错解决方法:

 

可能问题Q2:Failed to connect socket to ‘/var/local/var/run/libivrt/libivrt-sock‘: No such directory

A2:sudo ln -s /var/run/libvirt/libvirt-sock /usr/local/var/run/libvirt/libvirt-sock

Q3: autotest@autotest0019:/etc/ # sudo /usr/local/sbin/libvirtd -d -l

sudo: unable to resolve host autotest0019

2014-07-29 11:22:53.319+0000: 31129: info : libvirt version: 1.2.5

2014-07-29 11:22:53.319+0000: 31129: warning : virGetHostname:654 : getaddrinfo failed for ‘autotest0019‘: Temporary failure in name resolution

/usr/local/sbin/libvirtd: error: Unable to obtain pidfile. Check /var/log/messages or run without --daemon for more info.

A3:sudo vi /etc/hosts

增加一行:IP 主机名

其他可能问题:

Q4:root@autotest0019:/etc/ld.so.conf.d# /usr/local/sbin/libvirtd -d -l

/usr/local/sbin/libvirtd: error: Unable to obtain pidfile. Check /var/log/messages or run without --daemon for more info.

root@autotest0019:/etc/ld.so.conf.d# /usr/local/sbin/libvirtd -l

2014-07-29 11:27:37.644+0000: 31256: info : libvirt version: 1.2.5

2014-07-29 11:27:37.644+0000: 31256: error : virPidFileAcquirePath:414 : Failed to acquire pid file ‘/usr/local/var/run/libvirtd.pid‘: Resource temporarily unavailable

A4:编辑一下/usr/local/var/run/libvirtd.pid,不修改,然后直接退出即可(貌似不太合理哦)。

<think>好的,用户需要查找如何安装libvirt的教程或指南。首先,我需要回顾已有的引用内容,看看哪些部分与安装相关。引用[5]提到了安装前的准备,括系统版本、支持的架构和资源准备,这可能是一个起点。引用[3]则提到在大多数Linux发行版中启动Libvirt服务的命令,比如使用systemctl启动libvirtd。此外,引用[1]、[2]、[4]虽然主要涉及libvirt_exporter、Vagrant和Terraform的配置,但可能也含一些安装相关的信息,比如依赖项或配置步骤。 接下来,我应该整理这些信息,分步骤说明安装过程。首先,安装前的准备,确保系统符合要求,比如KeyarchOS 5.8 SP1或其他支持的系统。然后,安装libvirt软件,可能使用管理器如yum或apt。安装完成后,启动服务并设置开机自启,如引用[3]中的systemctl命令。此外,验证安装是否成功,比如运行virsh命令检查版本。 用户可能需要不同的安装方法,比如源码编译,但引用中没有提到,所以可能需要建议查阅官方文档。另外,配置部分可以引用其他提到的内容,比如URI设置,但主要聚焦在安装步骤。最后,生成相关问题,帮助用户深入了解后续配置和使用,比如如何配置网络或存储池,如何结合Vagrant或Terraform使用,这些在引用中有涉及,可以作为相关问题提出。 需要确保回答结构清晰,步骤明确,引用正确的来源。同时,使用中文,符合格式要求,如行内公式用$...$,但这里可能用不上。检查LaTeX语法是否正确,但问题中可能不需要数学公式。最后生成的相关问题要基于已有的引用内容,确保用户能找到更多信息。</think>### libvirt 安装指南 以下是针对不同场景的 **libvirt 安装与配置步骤**: --- #### **1. 安装前的准备** - **系统要求**:支持 x86_64 架构的 Linux 发行版(如 KeyarchOS 5.8 SP1、Ubuntu、CentOS 等)[^5]。 - **资源准备**:建议虚拟机配置至少 **4 核 CPU、8GB 内存** 。 - **依赖检查**:确保已安装 `gcc`、`make` 等基础编译工具(若需源码编译)。 --- #### **2. 通过管理器安装** **Linux 发行版通用方法**: ```bash # Debian/Ubuntu 系 $ sudo apt-get update $ sudo apt-get install libvirt-daemon-system libvirt-clients # RHEL/CentOS 系 $ sudo yum install libvirt-daemon libvirt-client ``` --- #### **3. 启动 Libvirt 服务** 安装完成后,启动服务并设置开机自启: ```bash $ sudo systemctl start libvirtd # 启动服务 [^3] $ sudo systemctl enable libvirtd # 开机自启 ``` --- #### **4. 验证安装** 检查服务状态和版本: ```bash $ sudo systemctl status libvirtd # 查看服务运行状态 $ virsh --version # 检查 libvirt 命令行工具版本 ``` --- #### **5. 配置权限(可选)** 默认情况下,普通用户可能无权限管理虚拟机。可通过以下方式解决: - 将用户加入 `libvirt` 用户组: ```bash $ sudo usermod -aG libvirt $USER ``` - 重启服务使配置生效: ```bash $ sudo systemctl restart libvirtd ``` --- #### **6. 高级安装方式(源码编译)** 若需自定义功能,可从源码编译安装: ```bash $ wget https://libvirt.org/sources/libvirt-x.x.x.tar.xz $ tar -xvf libvirt-x.x.x.tar.xz $ cd libvirt-x.x.x $ ./configure --prefix=/usr/local $ make && sudo make install ``` (替换 `x.x.x` 为实际版本号) --- #### **7. 与其他工具集成** - **Vagrant**:配置 `Vagrantfile` 使用 Libvirt 作为 Provider[^2]。 - **Terraform**:通过 `provider "libvirt"` 定义虚拟机资源[^4]。 - **监控**:使用 `libvirt_exporter` 导出监控指标[^1]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值