zoukankan      html  css  js  c++  java
  • ubuntu15.04下编译 libvirt

    很久没有编译 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中修改一下,就可以了。

     1 diff --git a/daemon/libvirtd.conf b/daemon/libvirtd.conf
     2 index d2c439c..aa547bd 100644
     3 --- a/daemon/libvirtd.conf
     4 +++ b/daemon/libvirtd.conf
     5 @@ -19,7 +19,7 @@
     6  # using this capability.
     7  #
     8  # This is enabled by default, uncomment this to disable it
     9 -#listen_tls = 0
    10 +listen_tls = 0
    11  
    12  # Listen for unencrypted TCP connections on the public TCP/IP port.
    13  # NB, must pass the --listen flag to the libvirtd process for this to
    14 @@ -164,7 +164,7 @@
    15  #
    16  # It is possible to make use of any SASL authentication
    17  # mechanism as well, by using 'sasl' for this option
    18 -#auth_tls = "none"
    19 +auth_tls = "none"
    20  
    21  
    22  # Change the API access control scheme
    23 @@ -215,7 +215,7 @@
    24  #
    25  # Default is to always run sanity checks. Uncommenting this
    26  # will disable sanity checks which is not a good idea
    27 -#tls_no_sanity_certificate = 1
    28 +tls_no_sanity_certificate = 1
    29  
    30  # Flag to disable verification of client certificates
    31  #
    32 @@ -225,7 +225,7 @@
    33  #
    34  # Default is to always verify. Uncommenting this will disable
    35  # verification - make sure an IP whitelist is set
    36 -#tls_no_verify_certificate = 1
    37 +tls_no_verify_certificate = 1
    38  
    39  
    40  # A whitelist of allowed x509 Distinguished Names
    View Code

    启动libvirt调试:

    编译

    https://libvirt.org/compiling.html

    $ cat /usr/bin/gdb-libvirt

     1 # ps -ef  |grep  lt-libvirtd |grep -v grep  | awk '{print $2}'  | xargs gdb -p  
     2 LIBVIRT_PID=`ps -ef  |grep  lt-libvirtd |grep -v grep | grep -v gdb-libvirt | awk '{print $2}'`
     3 echo $LIBVIRT_PID                                                               
     4 LIBVIRT_PID=`cut -d " " -f1  <<< $LIBVIRT_PID`                                  
     5 if [ x$LIBVIRT_PID != x"" ]; then                                               
     6     echo "=================================================="                   
     7     echo "attach libvirt-d"                                                     
     8     echo "sudo gdb -p $LIBVIRT_PID"                                             
     9     sudo gdb -p $LIBVIRT_PID                                                    
    10 else                                                                            
    11     echo "***************************************************"                  
    12     echo "start libvirt-d"                                                      
    13     # sudo ./daemon/libvirtd --listen --verbose -f ./daemon/libvirtd.conf       
    14     sudo ./daemon/libvirtd --listen -f ./daemon/libvirtd.conf                   
    15 fi           
    View Code
     1 # ps -ef  |grep  lt-libvirtd |grep -v grep  | awk '{print $2}'  | xargs gdb -p
     2 LIBVIRT_PID=`ps -ef  |grep  lt-libvirtd |grep -v grep | grep -v gdb-libvirt | awk '{print $2}'`
     3 echo $LIBVIRT_PID
     4 LIBVIRT_PID=`cut -d " " -f1  <<< $LIBVIRT_PID`
     5 if [ x$LIBVIRT_PID != x"" ]; then
     6     echo "=================================================="
     7     echo "attach libvirt-d"
     8     echo "sudo gdb -p $LIBVIRT_PID"
     9     if [ -f "br" ]; then
    10         sudo gdb -p $LIBVIRT_PID -x br
    11     else
    12         sudo gdb -p $LIBVIRT_PID
    13     fi
    14 else
    15     echo "***************************************************"
    16     echo "start libvirt-d"
    17     # sudo /home/ubuntu/libvirt/daemon/libvirtd --listen --verbose
    18     sudo /home/ubuntu/libvirt/daemon/libvirtd -f /home/ubuntu/libvirt/daemon/libvirtd.conf --listen
    19 fi
    View Code

    $ cat /usr/bin/gdb-virsh

    1 if [ x$1 = "x-g" ]; then
    2 sudo /home/shaohe/libvirt/run gdb /home/shaohe/libvirt/tools/virsh
    3 else
    4 sudo /home/shaohe/libvirt/run /home/shaohe/libvirt/tools/virsh
    5 fi
    View Code
    1 if [ x$1 = "x-g" ]; then                                                        
    2     sudo ./run gdb ./tools/virsh                                                
    3 else                                                                            
    4     sudo ./run ./tools/virsh                                                    
    5 fi  
    View Code
  • 相关阅读:
    CSS中position小解
    position
    mac默认安装postgresql, 如何让postgresql可以远程访问
    The data directory was initialized by PostgreSQL version 9.6, which is not compatible with this version 10.0.
    active admin gem error
    psql 无法添加超级用户
    ubuntu 15.04 安装Balsamiq Mockups 3
    Rails html 写public里图片的路径
    rails c 历史命令
    undefined local variable or method `per' for []:ActiveRecord::Relation
  • 原文地址:https://www.cnblogs.com/shaohef/p/4541396.html
Copyright © 2011-2022 走看看