转自:http://www.cnblogs.com/findumars/p/5679742.html

目录 [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

    目录 [hide] 1 安装qemu 1.1 qemu介绍 1.2 下载源文件 1.3 编译安装 2 安装libvirt 2.1 libvirt介绍 2.2 下载libvirt 2.3 编译安装 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. JVM调优及参数设置

    (1)参数 -Xms:初始堆大小 -Xmx :最大堆大小 此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存 -Xmn :年轻代大小 整个堆大小=年轻代大小 + 年老代大小 + 持 ...

  2. TreeMap源码剖析

    原文  http://blog.csdn.net/chdjj/article/details/38782221 主题 源码分析红黑树 注:以下源码基于jdk1.7.0_11 之前介绍了一系列Map集合 ...

  3. python的==和is区别

    Python中: is判断两个标识符是否引自同一个对象 ==判断两个标识符的值是否相等 区别于java: ==判断两个标识符是否引自同一个对象 .equals()判断是否相等   #如果是String ...

  4. MongoDB ShardingCluster

    sharding集群中的组件: 1.mongos:router,可以通过keepalived实现高可用. 2.config server:元数据服务器,这里要借助zookeeper存放配置信息. 3. ...

  5. Java之List和Set

    List.Set.数据结构.Collections 初次学习,涉及到List集合,Set集合和数据结构方面的一些知识,有错误还请批评指正 数据结构 数据存储的常用结构有:栈.队列.数组.链表和红黑树. ...

  6. Jenkins(四)---Jenkins添加密钥对

    一.添加密钥 1.添加git用户和git密码对 ,用于git客户端从gitlab上拉取代码到本地 /** lihaibo 文章内容都是根据自己工作情况实践得出. *版权声明:本博客欢迎转发,但请保留原 ...

  7. MySQL 第四篇:数据操作

    一 介绍 MySQL数据操作: DML ======================================================== 在MySQL管理软件中,可以通过SQL语句中的 ...

  8. es6字符串新特性

    转: 字符串的扩展 修改教程 上一节 : 变量的解构赋值 下一节 : 正则的扩展 字符串的扩展 ES6 加强了对 Unicode 的支持,并且扩展了字符串对象. 字符的 Unicode 表示法 Jav ...

  9. IL指令集

    声明: 1.本指令集搜集自网上各个论坛帖子,欢迎补充 IL指令集 名称 说明     Add 将两个值相加并将结果推送到计算堆栈上.     Add.Ovf 将两个整数相加,执行溢出检查,并且将结果推 ...

  10. 关于.Net开源并跨平台的思考

    开源的意义: 关于开源,我个人觉得有两个提高(勿喷). 一方面开源提高了生产力,另一方面开源也是信任的一种体现.为什么这么说呢,在当下的互联网时代,开源是一种核心价值观.人与人沟通交流合作之下,降低成 ...