KVMでゲストOSイメージのコピー

クローン作成

$ sudo virt-clone --original (コピー元イメージ名) --name (コピー先イメージ名) --file /var/lib/libvirt/images/(コピー先ファイル名)

MACアドレスの指定などせず、このままでクローンを作るとネットワークが新しく認識されて(eth1ができたり)DHCPになる。とりあえず手動で直したけど。。。

Created at : 2010-01-23 04:47:13   Updated at : 2010-01-23 05:56:15
Category : 開発環境::OS::Linux::KVM

HyperTableインストール

インストール環境

Fedora12 64 bit

準備

Basic Dependencies

$ sudo yum install git gcc-c++ make cmake python-devel bzip2-devel zlib-devel expat-devel boost boost-devel boost-filesystem boost-iostreams boost-program-options boost-system boost-thread boost-graph boost-regex log4cpp-devel cronolog google-perftools-devel libevent-devel readline-devel ncurses-devel db4-devel
$ wget http://downloads.sourceforge.net/project/sigar/sigar/1.6/hyperic-sigar-1.6.3.tar.gz
$ tar -xzvf hyperic-sigar-1.6.3.tar.gz
$ sudo cp -r hyperic-sigar-1.6.3/sigar-bin/include /usr/local/
$ sudo cp hyperic-sigar-1.6.3/sigar-bin/lib/libsigar-amd64-linux.so /usr/local/lib64
$ sudo sh -c "echo /usr/local/lib64 > /etc/ld.so.conf.d/local.conf"
$ sudo ldconfig

Thrift Broker Dependencies

$ wget -O jdk-6u17-linux-x64-rpm.bin  
$ chmod 755 jdk-6u17-linux-x64-rpm.bin
$ sudo ./jdk-6u17-linux-x64-rpm.bin
$ sudo update-alternatives  --install /usr/bin/java java /usr/java/jdk1.6.0_17/bin/java 16017
$ sudo yum install ant automake libtool flex bison pkgconfig libevent-devel ruby-devel perl-Bit-Vector php perl-Class-Accessor perl-ExtUtils-MakeMaker
$ wget -O thrift.tgz "http://gitweb.thrift-rpc.org/?p=thrift.git;a=snapshot;h=HEAD;sf=tgz"
$ tar -xzvf thrift.tgz
$ cd thrift
$ ./bootstrap.sh
$ ./configure
$ make
$ sudo make install

ビルド

$ mkdir ~/src
$ cd ~/src
$ wget http://hypertable.googlecode.com/files/hypertable-0.9.2.7-alpha-src.tar.gz
$ tar -xzvf hypertable-0.9.2.7-alpha-src.tar.gz
$ cd hypertable-0.9.2.7-alpha
$ mkdir ~/build/hypertable
$ cmake ~/src/hypertable-0.9.2.7-alpha
$ make

インストール

# $ sudo ln -s /usr/local/bin/thrift /usr/bin/thrift <- thrift2phpでこける場合は/usr/bin以下にリンクを貼っておくとうまくいく
$ sudo make install
$ sudo sh -c "echo /opt/hypertable/0.9.2.7/lib > /etc/ld.so.conf.d/hypertable.conf"
$ sudo ldconfig

テスト

$ sudo make alltests

Created at : 2010-01-10 04:56:22   Updated at : 2010-01-23 05:56:07
Category : Middleware::NoSQL::HyperTable

update-alternatives

いつも忘れるのでメモ。
javaの例で。

現状確認

$ sudo update-alternatives  --config java

2 プログラムがあり 'java' を提供します。

  選択       コマンド
-----------------------------------------------
*+ 1           /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java
   2           /usr/lib/jvm/jre-1.5.0-gcj/bin/java

Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:

$ java -version
java version "1.6.0_0"
OpenJDK Runtime Environment (IcedTea6 1.6) (fedora-31.b16.fc12-x86_64)
OpenJDK 64-Bit Server VM (build 14.0-b16, mixed mode)

OpenJDKが入ってます。

新しいalternativeをインストール

Sun Javaを入れます。

$ sudo update-alternatives  --install /usr/bin/java java /usr/java/jdk1.6.0_17/bin/java 16017

使用法: alternatives --install <リンク> <名前> <パス> <優先度> です。
ちなみにjre-1.6.0-openjdkの優先度は16000、jre-1.5.0-gcの優先度は1500になっていました。それより高い優先度を設定。

$ sudo updupdate-alternatives --config java

3 プログラムがあり 'java' を提供します。

  選択       コマンド
-----------------------------------------------
   1           /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java
   2           /usr/lib/jvm/jre-1.5.0-gcj/bin/java
*+ 3           /usr/java/jdk1.6.0_17/bin/java

Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:

$  java -version
java version "1.6.0_17"
Java(TM) SE Runtime Environment (build 1.6.0_17-b04)
Java HotSpot(TM) 64-Bit Server VM (build 14.3-b01, mixed mode)

優先度が一番高いものが自動的に選択されるようになりました。(もちろん手動でも変えれる)

Created at : 2010-01-10 04:38:56   Updated at : 2010-01-10 06:34:21
Category : 開発環境::OS::Linux