很久没有编译 libvirt了。

工作需要,重新编译。

[org_ref]: http://libvirt.org/compiling.html 很简单。 编译过程, 还是很多问题。

依赖包(给懒人参考):

$ sudo apt-get install libtool libxml-xpath-perl libxml2 libxml2-utils python-dev automake autopoint xsltproc libxml++2.6-dev  libdevmapper-dev  libpciaccess-dev libnl-3-dev  libnl-route-3-dev imagemagick libyajl-dev xmllint uniconvertor

勤快的家伙们,可以自己编译,自己查看,缺了每个包的功能。

libnl-route-3-200 - library for dealing with netlink sockets - route interface

libnl-3-200: library for dealing with netlink sockets

rpcgen: 这个包不需要安装,但是可以man一下。 之前在公司的wiki中,介绍过rpcgen。 可惜...

$ git grep RPCGEN

在libvirt中,src/remote/remote_protocol.x 产生:

$ tree -f |grep  remote_protocol

$ git show eb826444f90c2563dadf148630b0cd6a9b41ba1e

查看详细过程。

编译

https://libvirt.org/compiling.html

编译完成,启动远程链接注意问题。

http://libvirt.org/remote.html#Remote_certificates

http://www.vmware.com/pdf/vsphere4/r40/vsp_40_esx_server_config.pdf

http://libvirt.org/drvesx.html#connproblems

可以不启用用tls,config中修改一下,就可以了。

 diff --git a/daemon/libvirtd.conf b/daemon/libvirtd.conf
index d2c439c..aa547bd
--- a/daemon/libvirtd.conf
+++ b/daemon/libvirtd.conf
@@ -, +, @@
# using this capability.
#
# This is enabled by default, uncomment this to disable it
-#listen_tls =
+listen_tls = # Listen for unencrypted TCP connections on the public TCP/IP port.
# NB, must pass the --listen flag to the libvirtd process for this to
@@ -, +, @@
#
# It is possible to make use of any SASL authentication
# mechanism as well, by using 'sasl' for this option
-#auth_tls = "none"
+auth_tls = "none" # Change the API access control scheme
@@ -, +, @@
#
# Default is to always run sanity checks. Uncommenting this
# will disable sanity checks which is not a good idea
-#tls_no_sanity_certificate =
+tls_no_sanity_certificate = # Flag to disable verification of client certificates
#
@@ -, +, @@
#
# Default is to always verify. Uncommenting this will disable
# verification - make sure an IP whitelist is set
-#tls_no_verify_certificate =
+tls_no_verify_certificate = # A whitelist of allowed x509 Distinguished Names

启动libvirt调试:

编译

https://libvirt.org/compiling.html

$ cat /usr/bin/gdb-libvirt

 # ps -ef  |grep  lt-libvirtd |grep -v grep  | awk '{print $2}'  | xargs gdb -p
LIBVIRT_PID=`ps -ef |grep lt-libvirtd |grep -v grep | grep -v gdb-libvirt | awk '{print $2}'`
echo $LIBVIRT_PID
LIBVIRT_PID=`cut -d " " -f1 <<< $LIBVIRT_PID`
if [ x$LIBVIRT_PID != x"" ]; then
echo "=================================================="
echo "attach libvirt-d"
echo "sudo gdb -p $LIBVIRT_PID"
sudo gdb -p $LIBVIRT_PID
else
echo "***************************************************"
echo "start libvirt-d"
# sudo ./daemon/libvirtd --listen --verbose -f ./daemon/libvirtd.conf
sudo ./daemon/libvirtd --listen -f ./daemon/libvirtd.conf
fi
 # ps -ef  |grep  lt-libvirtd |grep -v grep  | awk '{print $2}'  | xargs gdb -p
LIBVIRT_PID=`ps -ef |grep lt-libvirtd |grep -v grep | grep -v gdb-libvirt | awk '{print $2}'`
echo $LIBVIRT_PID
LIBVIRT_PID=`cut -d " " -f1 <<< $LIBVIRT_PID`
if [ x$LIBVIRT_PID != x"" ]; then
echo "=================================================="
echo "attach libvirt-d"
echo "sudo gdb -p $LIBVIRT_PID"
if [ -f "br" ]; then
sudo gdb -p $LIBVIRT_PID -x br
else
sudo gdb -p $LIBVIRT_PID
fi
else
echo "***************************************************"
echo "start libvirt-d"
# sudo /home/ubuntu/libvirt/daemon/libvirtd --listen --verbose
sudo /home/ubuntu/libvirt/daemon/libvirtd -f /home/ubuntu/libvirt/daemon/libvirtd.conf --listen
fi

$ cat /usr/bin/gdb-virsh

 if [ x$ = "x-g" ]; then
sudo /home/shaohe/libvirt/run gdb /home/shaohe/libvirt/tools/virsh
else
sudo /home/shaohe/libvirt/run /home/shaohe/libvirt/tools/virsh
fi
 if [ x$ = "x-g" ]; then
sudo ./run gdb ./tools/virsh
else
sudo ./run ./tools/virsh
fi

ubuntu15.04下编译 libvirt的更多相关文章

  1. ubuntu-15.04 下编译 ijkplayer 安卓版

    我的环境: 1.win7 主系统 2.VirtualBox 5.1.2 虚拟机 3.ubuntu-15.04-desktop-amd64.iso 镜像文件 4.android-ndk-r10e-lin ...

  2. ubuntu15.10下编译安装wine1.8 rc4

    ubuntu15.10下编译安装wine1.8rc4 Wine (“Wine Is Not an Emulator” 的递归缩写)是一个能够在多种 POSIX-compliant 操作系统(诸如 Li ...

  3. 在ubuntu12.04下编译android4.1.2添加JNI层出现问题

    tiny4412学习者,在ubuntu12.04下编译android4.1.2添加JNI层出现问题: (虚心请教解决方法) trouble writing output: Too many metho ...

  4. [置顶] ubuntu12.04下编译opencv程序

    ubuntu12.04下编译opencv程序 1.在ubuntu下安装好 opencv后(建议使用apt-get install 来安装) 2.使用程序FaceExaple.c来进行测试程序 #inc ...

  5. ubuntu14.04下编译安装ambari-2.4.2.0

    ubuntu14.04下编译安装ambari-2.4.2.0 编译前的准备工作 准备工作有: 系统参数 系统依赖(编译环境) 离线安装包 java环境 maven环境 Nodejs环境 git环境 a ...

  6. Ubuntu16.04下编译安装OpenCV3.4.0(C++ & python)

    Ubuntu16.04下编译安装OpenCV3.4.0(C++ & python) 前提是已经安装了python2,python3 1)安装各种依赖库 sudo apt-get update ...

  7. Ubuntu16.04下编译OpenCV2.4.13静态库(.a文件)

    Ubuntu16.04下编译OpenCV2.4.13静态库(.a文件) https://blog.csdn.net/woainishifu/article/details/79712110 我们在做项 ...

  8. Ubuntu 16.04下编译安装Apache2.4和PHP7结合

    Ubuntu 16.04下编译安装Apache2.4和PHP7结合,并安装PDOmysql扩展. 1.编译安装apache2.4.20 1 第一步: ./configure --prefix=/usr ...

  9. VoIP应用在Ubuntu 14.04下编译FFmpeg libX264及PJSIP

    PJSIP是一个开源的SIP协议栈.它支持多种SIP的扩展功能,可说算是最目前流行的SIP协议栈之一了.  它实现了SIP.SDP.RTP.STUN.TURN和ICE.PJSIP作为基于SIP的一个多 ...

随机推荐

  1. sqlmap新手注入

    一 什么是sqlmap sqlmap is an open source penetration testing tool that automates the process of detectin ...

  2. IO-03. 求整数均值

    /** *A3-IO-03. 求整数均值(10) *C语言实现 *测试已通过 */ #include "stdio.h" int main() { int a,s,d,f; sca ...

  3. UML-状态图,顺序图,活动图

    一.编写用例文档      1.用例的内容:   用例编号   用例名  执行者  前置条件  后置条件  基本路径  扩展路径  字段列表  业务规则                         ...

  4. JQeury Image LazyLoad

    使用jquery插件实现图片延迟加载技术 http://www.cnblogs.com/szytwo/archive/2012/12/27/2836141.html EasyUI http://www ...

  5. QFN和QFP的区别

    QFN(quad flat non-leaded package)四侧无引脚扁平封装.多称为LCC. 陶瓷QFN :基本上都是LCC 标记. 塑料QFN 也称为塑料LCC.PCLC.P-LCC 等. ...

  6. C++vptr初始化时间

    给出如下代码段: #include <iostream> #include "stdio.h" using namespace std; class A { publi ...

  7. Memcached管理与监控工具 memAdmin

    http://www.junopen.com/memadmin/ 使用MemCached以后,肯定希望知道cache的效果,对于MemCached的一些运行状态进行监控是必要的,memcached提供 ...

  8. list 、set 、map 粗浅性能对比分析

    list .set .map 粗浅性能对比分析   不知道有多少同学和我一样,工作五年了还没有仔细看过list.set的源码,一直停留在老师教导的:"LinkedList插入性能比Array ...

  9. GDI编程

    图形设备接口(GDI)是一个可执行程序,它接受Windows应用程序的绘图请求(表现为GDI函数调用),并将它们传给相应的设备驱动程序,完成特定于硬件的输出,象打印机输出和屏幕输出.GDI负责Wind ...

  10. zoj2588 Burning Bridges(无向图的桥)

    题目请戳这里 题目大意:给一张无向图,现在要去掉一些边,使图仍然连通,求不能去掉的边. 题目分析:就是求无向图的桥. tarjan算法跑一遍,和无向图割点十分类似,这里要找low[v] > df ...