理想未来ってなんやねん

娘可愛い。お父さん頑張る。

CentOSにruby-libvirtをインストールする

libvirtC言語以外に下記の各種言語用のバインディンが用意されています。

http://libvirt.org/bindings.html

ruby用のバインディングが用意されているので、CentOS 5.4にインストールしてみました。

準備

mercurialのインストール

ruby-libvirtのソースのリポジトリmercurialで管理されているので、mercurialをインストールする。

sudo yum install gcc rpm-build python-devel
export PYTHONPATH=/usr/local/lib64/python2.4/site-packages
wget http://mercurial.selenic.com/release/mercurial-1.3.1.tar.gz
tar xvzf mercurial-1.3.1.tar.gz
cd mercurial-1.3.1
make all
sudo make install
hg version
rubygemsのインストール

rakeを使うので、インストールされていない場合は、rakeもインストールする。

sudo yum install libvirt-devel ruby ruby-devel ruby-rdoc
wget http://rubyforge.org/frs/download.php/60718/rubygems-1.3.5.tgz
tar xvzf rubygems-1.3.5.tgz
cd rubygems-1.3.5
sudo ruby setup.rb
sudo gem install rake hoe
ruby-libvirtのインストール

リポジトリからコピーする

sudo yum install rpm-build
hg clone http://libvirt.org/hg/ruby-libvirt/
cd ruby-libvirt

CentOS 5系の場合は、rubygem(rake)が無いのでruby-libvirt.specを修正する。

--- ruby-libvirt.spec	2009-11-07 21:23:32.000000000 +0900
+++ ruby-libvirt.spec.new	2009-11-07 16:18:58.000000000 +0900
@@ -12,7 +12,7 @@
 Source0:        http://libvirt.org/ruby/download/ruby-libvirt-@VERSION@.tgz
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
-BuildRequires:  ruby ruby-devel rubygem(rake)
+BuildRequires:  ruby ruby-devel
 BuildRequires:  libvirt-devel >= 0.4.0
 Requires:       ruby(abi) = 1.8
 Provides:       ruby(libvirt) = %{version}

ビルドしてインストール。

rake build
rake test
rake rpm
sudo rpm -ivh pkg/x86_64/ruby-libvirt-0.1.0-1.x86_64.rpm

テスト

test.rb
require 'libvirt'

conn = Libvirt::open("qemu:///system")
puts conn.capabilities
実行
sudo ruby test.rb
出力

こんな感じのxmlが出力される。

<capabilities>

  <host>
    <cpu>
      <arch>x86_64</arch>
    </cpu>
〜〜〜中略〜〜〜
</capabilities>

今日の所はここまで。
使い方等は後日。