环境:
1. CentOS 7.2系统虚拟机一台(物理机也可);
2. 待修改的镜像文件:CentOS-7-x86_64-GenericCloud-1511.qcow2
步骤:
1. yum 安装所需组件:
yum install libguestfs-tools guestfish -y
2. 修改qemu配置文件并重启libvert:
vi /etc/libvirt/qemu.conf
将user和group改为root:
user = "root"
group = "root"
重启libvert:
service libvertd restart
假如不修改用户,则默认用户为qemu,会出现 "Permission denied" 的错误信息
3. 修改镜像文件权限,root完全可读写:
chmod +x CentOS-7-x86_64-GenericCloud-1511.qcow2
4. 使用 guestfish 运行并修改镜像:
guestfish --rw -a CentOS-7-x86_64-GenericCloud-1511.qcow2
运行run并挂载文件目录,即可修改相应问内容:
><fs> list-filesystems
/dev/sda1: xfs
><fs>
><fs> mount /dev/sda1 /
><fs>
><fs> vi /etc/ssh/sshd_config
><fs> ......
><fs>
><fs> vi /etc/cloud/cloud.cfg
><fs> ......
><fs>
><fs> quit
quit退出后,将修改完成的镜像上传使用即可。