QCOW2 形式のイメージを編集する
概要
QCOW2 形式のイメージを編集する方法のメモ。 今回は例として、下記の CentOS イメージを利用した。
guestfish のインストール
guestfish
を ↓でインストールする。
guestfish を使って QCOW2形式のイメージの編集
編集したい QCOW2 形式のイメージを指定して guestfish
を立ち上げると、 guestfish
用のシェルが起動するので、その中でコマンドを打つ。
行っている内容は、イメージ内のパーティションを見つけ、ルート /
にマウントし、ファイルを編集して、終了するだけ。
$ sudo EDITOR="emacs -nw -q" guestfish --rw -a centos7.qcow2
Welcome to guestfish, the guest filesystem shell for
editing virtual machine filesystems and disk images.
Type: 'help' for help on commands
'man' to read the manual
'quit' to quit the shell
><fs> run
><fs> list-filesystems
/dev/sda1: xfs
><fs> mount /dev/sda1 /
><fs> cat /etc/resolv.conf
><fs> cat /etc/hostname
localhost.localdomain
><fs> edit /etc/hostname
><fs> cat /etc/hostname
new-hostname
><fs> quit
edit
コマンドで、環境変数 EDITOR
で指定したエディタによってファイルを編集でき、 cat
コマンドで変更されたことが確認できた。
また、オプション -i
をつけると、自動的にファイルシステムがマウントされるので、 下記のようにしてワンライナで編集することも可能。