Hatena::ブログ(Diary)

うまい棒blog このページをアンテナに追加 RSSフィード Twitter

2012-02-04

guestfish (libguestfs)で仮想マシンのディスクイメージにアクセスしてイメージ中のファイルを読み書きする

libguestfs is a set of tools for accessing and modifying virtual machine (VM) disk images.

libguestfsは仮想マシンのディスクイメージアクセスするライブラリ。で、guestfishはそのフロントエンドCLIツール。man, guestfish helpみたらだいたいわかる。

shell中で使えるコマンドはman guestfishのGUESTFISH COMMANDSあたりを参照。vi, cat, less, more, grep あたりが使えるので、何かしら設定間違えて仮想マシン起動しないなどの緊急時にファイル確認、変更などが出来る。

他には、

など。

変更した場合はsyncを実行しといたほうがいい(man いわく)。

当然だけど、起動中の仮想マシンのディスクイメージアクセスする場合は、--ro をつけてread-onlyにすること。書き込みをしてしまうと、ファイルシステムが壊れる可能性あり。

WARNING

Using guestfish in read/write mode on live virtual machines can be dangerous,

potentially causing disk corruption. Use the --ro (read-only) option to use

guestfish safely if the disk image or virtual machine might be live.


example

# yum install guestfish
# guestfish --rw -a file.img -i
### -i を指定すればmountまで自動でやってくれる
### ><fs> run
### ><fs> list-filesystems
### /dev/vda1: ext4
### /dev/vg_hoge/lv_root: ext4
### /dev/vg_hoge/lv_swap: swap
### ><fs> mount /dev/vg_svxxx/lv_root /
><fs> cat /etc/hosts
127.0.0.1   hoge localhost localhost.localdomain
><fs> ls /tmp
><fs> write /tmp/hoge "hoge hoge"
><fs> cat /tmp/hoge
hoge hoge
><fs> sync
><fs> quit

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

リンク元