目录 [hide]

KVM虚拟机(英语:Kernel-based Virtual Machine),是一种用于Linux内核中的虚拟化基础设施。KVM目前支援Intel VT及AMD-V的原生虚拟技术。KVM在2007年2月被导入Linux 2.6.20核心中。它也被引入FreeBSD。在Mac OS X中,也可以见到KVM。

因为kvm已经集成到Linux中了,所有就不用安装kvm了。

安装qemu

qemu介绍

QEMU 是一个面向完整 PC 系统的开源仿真器。除了仿真处理器外,QEMU 还允许仿真所有必要的子系统,如连网硬件和视频硬件。它还允许实现高级概念上的仿真(如对称多处理系统(多达 255 个 CPU)和其他处理器架构(如 ARM 和 PowerPC)。

下载源文件

下面从git安装qemu最新版qemu官网的git地址:

1
http://git.qemu-project.org/qemu.git

使用以下命令下载qemu代码到本地来,将来可以用来自己编译和修改,然后发布自己新的qemu。

1
git clone git://git.qemu.org/qemu.git

编译安装

下载完后,进行编译安装.

01
02
03
04
05
06
07
08
09
10
11
12
13
### 如果你是从压缩包下载来的,先解压缩
cd /tmp
tar zxvf qemu-x.y.z.tar.gz
cd qemu-x.y.z
### Then you configure QEMU and build it (usually no options are needed):
 
###git下载及源码包下载都一样了
./configure
 make
### Then type as root user:
 
make install
### to install QEMU in /usr/local.

你可能在./courfigure出现问题

注意:可能在安装的时候,许多的软件没有安装,需要提前安装,不过会提示你会少了什么

1
2
3
4
5
yum install gcc
yum install zlib-devel.x86_64
yum install glib2-devel.x86_64
yum install pixman-devel.x86_64
git submodule update --init dtc   ###会提示缺某个模块,在当前的git目录下运行

安装libvirt

libvirt介绍

libvirt是目前使用最为广泛的对KVM虚拟机进行管理的工具和应用程序接口(API),而且一些常用的虚拟机管理工具(如virsh、virt-install、virt-manager等)和云计算框架平台(如OpenStack、OpenNebula、Eucalyptus等)都在底层使用libvirt的应用程序接口。

下载libvirt

git项目的位置http://libvirt.org/git/?p=libvirt.git

新建一个文件夹,存放git的文件

1
git clone git://libvirt.org/libvirt.git

编译安装

这部分是参考http://libvirt.org/compiling.html文章

1
2
3
4
###个人不推荐这个方法,见下面
$ ./autogen.sh --prefix=$HOME/usr
$ make
$ sudo make install

默认状态下,配置和编译后安装的目录与Linux操作系统发行版提供的默认目录可能是不一致的,例如:RHEL 6.3中用系统的RPM包安装的libvirtd、virsh等可执行程序被安装 /usr/sbin/ 目录下,libvirt.so、libvirt-qemu.so等共享库文件被安装在 /usr/lib64/ 目录下,而从前面步骤中可知自己编译安装时,默认会将libvirtd、virsh等安装在 /usr/local/sbin 目录下,而libvirt.so、libvirt-qemu.so 等被安装在 /usr/local/lib/ 目录下。如果想保持对操作系统发型版中安装可执行程序和共享库的目录的一致性, autogen.sh 脚本提供了“–system”参数,带有这个参数来配置,就会尽可能保证安装目录与原生系统的一致性,其命令行操作如下.

1
2
3
4
5
###个人推荐这个方法##保持对操作系统发型版中安装可执行程序和共享库的目录的一致性
$ ./autogen.sh --system
### 或者 ./configure --prefix=/usr --localstatedir=/var  --sysconfdir=/etc
$ make
$ sudo make install

安装libvirt可能也会缺少一些软件,比如

1
2
3
4
yum install libtool.x86_64
autopint : yum install gettext-devel.x86_64
python-config : yum install python-devel.x86_64
pciaccess : yum install libpciaccess.devel.x86_64

检查已经安装的libvirt

1
2
3
4
5
# which libvirtd
/usr/sbin/libvirtd
 
# which virsh
/usr/bin/virsh

参考资料

Linux下编译安装qemu和libvirt的更多相关文章

  1. Linux下编译安装qemu和libvirt【转】

    转自:http://www.cnblogs.com/findumars/p/5679742.html 目录 [hide] 1 安装qemu 1.1 qemu介绍 1.2 下载源文件 1.3 编译安装 ...

  2. LINUX下编译安装PHP各种报错大集合

    本文为大家整理汇总了一些linux下编译安装php各种报错大集合 ,感兴趣的同学参考下. nginx1.6.2-mysql5.5.32二进制,php安装报错解决: 123456 [root@clien ...

  3. linux下编译安装vim7.4并安装clang_complete插件

    linux下编译安装vim7.4并安装clang_complete插件 因为debian里软件仓库中下载安装的vim是不支持python写的插件的(可以打开vim,在命令模式先输入:py测试一下),导 ...

  4. linux下编译安装curl

    linux下编译安装curl 1.下载curl git clone https://github.com/curl/curl.git 2.在curl目录下生成configure文件 ./buldcon ...

  5. linux下编译安装boost库

    linux下编译安装boost库 linux下编译安装boost库 1.下载并解压boost 1.58 源代码 下载 解压 2.运行bootstrap.sh 3.使用b2进行构建 构建成功的提示 4. ...

  6. Linux下编译安装Apache Http Server

    Linux下编译安装Apache Http Server [TOC] 1.下载httpd-2.4.12.tar.bz2 wget http://mirror.bit.edu.cn/apache/htt ...

  7. linux下编译安装nginx

    1.首先下载稳定版nginx1.10.2 使用wget命令下载 wget http://nginx.org/download/nginx-1.10.2.tar.gz 2.然后解压 tar -zxvf  ...

  8. (转)Linux下编译安装log4cxx

    Linux下编译安装log4cxx 一个项目的服务器端在Linux平台下,用到了开源日志库log4cxx,这个库是apache项目的一个子库.功能很不错.下面记录下它的编译和安装过程. log4cxx ...

  9. linux安装软件的几种方法----linux下编译安装软件的一般步骤

    linux安装软件的几种方法: 一.rpm包安装方式步骤: 1.找到相应的软件包,比如soft.version.rpm,下载到本机某个目录: 2.打开一个终端,su -成root用户: 3.cd so ...

随机推荐

  1. 在eclipse中首次新建项目的时候,出现Project interpreter not specified

    在eclipse中首次新建项目的时候,出现Project interpreter not specified(大致可以理解为:没有执行的项目编译者) 原因就是安装了pydev之后,我们的python还 ...

  2. Ext4报错Uncaught Ext.Loader is not enabled

    提示: Uncaught Ext.Loader is not enabled, so dependencies cannot be resolved dynamically. Missing requ ...

  3. USB设备类型代码(class类型)

    Base Class E0h (Wireless Controller) This base class is defined for devices that are Wireless contro ...

  4. xampp安装时mysql报错

    问题描述:以前安装过mysql,后来安装xampp,mysql打不开,出错提示16:04:48  [mysql]  MySQL Service detected with wrong path16:0 ...

  5. Headroom.js

    下载 Development (3.7kB) Production (1.7kB) Headroom.js 是什么? Headroom.js 是一个轻量级.高性能的JS小工具(不依赖任何工具库!),它 ...

  6. ALSA音频工具amixer,aplay,arecord

    ALSA音频工具编译安装 ========================================================================1.官网http://www. ...

  7. PHP 文件打开/读取

    PHP Open File - fopen() 打开文件的更好的方法是通过 fopen() 函数.此函数为您提供比 readfile() 函数更多的选项. 在课程中,我们将使用文本文件 "w ...

  8. Unity 使用实体类

    故事的由来: 正在开发打飞机的游戏,遇到这样的数据结构,游戏有很多关卡-> 每个关卡有几波怪物->每一波里面有怪物和数量 [] 关卡 { []波{ {怪物,数量},{怪物,数量},{怪物, ...

  9. IOS 使用dispatch_once 创建单例

    + (instantClass *)sharedClient { static instantClass *_sharedClient = nil; static dispatch_once_t on ...

  10. CF(441D Valera and Swaps)置换群

    题意:1-n的一个排列, p2, ..., pn,f(p)的定义是此排列要交换最少的数对能够回到原排列1,2,3,4...n.给一个排列p.要将其变换成f值为m的排列,问至少要交换几个数对,并输出字典 ...