2015年9月25日金曜日

bourne shell で複数行数値を sum したい

paste で改行を+に書き換えて bc
例えば ls -l の結果からファイルサイズ合計を求めたいとき
(du 使えとかそういうのではなく)

ls -l | awk '{print $5}' | tail -n +2 | paste -sd+ | bc

2015年9月5日土曜日

libvirt の KVM で既存の仮想マシンディスクイメージを使ってインタンスを上げる件

自分の Fedora 内の libvirt で Windows 8 を上げていてこのネットワークは
ユーザモードになってる。でも、TAP で使いたかったので root ユーザ管理
のマシンにすべく、そのままのディスクイメージで root ユーザ管理に移行で
きないか調べてみた。

とりあえず、既存ディスクイメージをそのまま使うには以下のように virt-install
の --import オプションで良いらしい。こうすれば定義 xml だけを作ってく
れる模様。

virt-install --import --name win8pro --ram 4096 --disk path=/home/ryo/libvirt/images/win8pro.img,device=disk,bus=virtio,format=raw --os-type=windows --os-variant=win7 --network=network:default

すると、/etc/libvirt/qemu/ 下に win8pro.xml が作成されたので登録され
たようだ。

で、このまま virsh start win8pro をやってみたのですが、起動はするものの
Windows が修復モードで上がっちゃって、さらに PC をリフレッシュなるボタ
ンをクリックしてみると以下のエラーが返されてどうにもならなくなる。
Windowsがインストールされているドライブがロックされています。ドライブのロックを解除してやり直してください
なんじゃら、ディスクイメージファイルのパーミッションとかそのあたりを疑っ
たのだけど違うようで、 結局 xml ファイル内に定義されている uuid が旧仮想
マシンと違うことが原因だったようで。

なので、virsh で edit win8pro して uuid を既存のやつと同じにしたところ、
正常起動した。

というメモでした。