http://libguestfs.org/ディスクイメージを直接編集できる。QCOW2以外にもVMDKなど多数のフォーマットに対応している。cloud-initの設定をしたいyum.confにproxyの設定をしておきたい気になるあの子のVMにバックドアを埋め込みたいといった場合に有用。ディスクが溢れてOSが死んだとか、VMがぶっ壊れたとか、そういう時にも有用。ディスクイメージからのデータの吸い出しや不要ファイルの削除により、データの保護や迅速な復旧が期待できる。libguestfs-toolsUbuntuでは途中でsupermin-applianceのインストールのためにncursesの赤い画面が出る。update-guestfs-applianceとすればOK。ちなみに、結構な数の依存パッケージがインストールされる。libvirtとかqemuとかいう文字が見えたりしても、インストール後にlibvirtdとdnsmasqがデーモン起動していたとしてもビビらないこと。一時的に小さいLinuxカーネルのVMを作成し、そのVMに操作対象のディスクイメージをSCSIで認識させて編集するという仕組み。psするとqemuが起動していることが確認できる。いうわけなので、KVMホストで直接guestfishを使うのは避けたほうが良いだろう。使い方ディスクイメージを取得qemuユーザーでVMが起動するので、qemuユーザーが見えるところにイメージを置く。hoge.com/test.qcow2guestfishを起動EDITOR環境変数でedit時のエディタを指定できる。指定しないとviが使われる。EDITOR=vimVMが起動するので、シェルが使えるようになるまで少し時間がかかる。guestfishシェル><fs>このシェルで使用可能なコマンドは山ほどあるが、ls/cat/edit/copy-in/copy-outなどを最低限覚えておけばよさそう。他にもla/touch/rm/llなど見覚えのあるコマンドもある。これらのコマンドはguestfishの引数に付けることもできる。/etc/cloud/cloud.cfgguestfishラッパーguestfishのコマンドを直接使わなくても、便利なラッパーコマンドが多数用意されている(virt-ls/virt-resque/virt-edit)。/fileとほぼ同義とのこと。他にもそれはそれはたくさんの機能と使用可能なコマンドがある。こんなコマンドないかなーとかこんなことしたいなーって時には、下記のドキュメントを探してみるべし。upLoginユーザーは見つかりませんでした。