1、安装guestfish

yum install libguestfs-tools

注意,如果要修改windows镜像需要安装

yum install libguestfs-winsupport

2、修改配置文件:/etc/libvirt/qemu.conf

user = "root"# The groupforQEMU processes run by the system instance. It can be
# specifiedina similar way to user.
group= "root"

将user和group前面的#号放开

然后重启:

systemctl start libvirtd

3、修改文件内容

以下示例是将镜像里面的/opt/scalarizr/embedded/lib/python2.7/site-packages/scalarizr-3.3.4-py2.7.egg/scalarizr/storage2/volumes/cinder.py

的233行里面的display_description改成description

guestfish -a redhat6.7-kvm-oracle11g-22disk-pulsar2.2.qcow2 -i sh "sed -i '233s/display_description/description/' /opt/scalarizr/embedded/lib/python2.7/site-packages/scalarizr-3.3.4-py2.7.egg/scalarizr/storage2/volumes/cinder.py"

注意,不使用-i参数的话,需要在交互shell中运行

4、guestfish操作虚拟机内部

查看磁盘空间

[root@cc14 ~]# virt-df -a redhat6.7-kvm-nginx1.8.0-15disk-pulsar2.2.qcow2
Filesystem                           1K-blocks       Used  Available  Use%redhat6.7-kvm-nginx1.8.0-15disk-pulsar2.2.qcow2:/dev/sda1487652      42032     415924    9%redhat6.7-kvm-nginx1.8.0-15disk-pulsar2.2.qcow2:/dev/vg_huacloud/lv_root13294328    2416692   10179268   19%

查看镜像/root目录内容

[root@cc14 ~]# virt-ls -a redhat6.7-kvm-nginx1.8.0-15disk-pulsar2.2.qcow2 /root
.bash_history
.bash_logout
.bash_profile
.bashrc
.cshrc
.ssh
.tcshrc
.viminfo
anaconda-ks.cfg
install.log
install.log.syslog

显示指定文件内容

[root@cc14 ~]# virt-cat -a redhat6.7-kvm-nginx1.8.0-15disk-pulsar2.2.qcow2 /root/install.log
Installing libgcc-4.4.7-16.el6.x86_64
warning: libgcc-4.4.7-16.el6.x86_64: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY......

拷贝文件到镜像,从镜你拷贝文件出来

[root@cc14 ~]touch aa.txt
[root@cc14~]# virt-ls -a redhat6.7-kvm-nginx1.8.0-15disk-pulsar2.2.qcow2 /root/.bash_history
.bash_logout
.bash_profile
.bashrc
.cshrc
.ssh
.tcshrc
.viminfo
aa.txt
anaconda-ks.cfg
install.log
install.log.syslog

virt-copy-out -a redhat6.7-kvm-nginx1.8.0-15disk-pulsar2.2.qcow2 /root/aa.txt /root/

编辑虚拟机文件:

virt-edit -a redhat6.7-kvm-nginx1.8.0-15disk-pulsar2.2.qcow2 /root/aa.txt

更多guestfish用法可以参考:http://xiaoli110.blog.51cto.com/1724/1568307/

转载于:https://www.cnblogs.com/boshen-hzb/p/7586484.html

guestfish修改镜像内容相关推荐

  1. zadig配置自定义镜像,实现jenkins项目复制,并修改Pipeline内容

    需求: 我需要使用zadig一键实现,新项目自动化创建jenkins的pipeline内容. 问: 直接登录jenkins,然后复制不是也很快吗? 答:但是还是需要改很多pipeline的内容,直接使 ...

  2. glance修改镜像

    一 使用工具 guestfish 二 准备要修改的镜像cirros-0.3.2-x86_64-disk.img [root@controller0 ~]# ls anaconda-ks.cfg cir ...

  3. python修改文件内容_Python批量修改文本文件内容的方法详解

    这篇文章主要介绍了Python批量修改文本文件内容的方法的相关资料,需要的朋友可以参考下 Python批量替换文件内容,支持嵌套文件夹 import os path="./" fo ...

  4. docker 修改镜像地址

    初学docker 看网上说docker要修改镜像,因为国内的镜像比较快 所以我也修改了 [root@izr86o1 etc]# cd docker [root@izr86o1 docker]# ls ...

  5. android代码修改excel文件格式,Android实现类似execel的表格 能回显并能修改表格内容的方法...

    如下所示: 自定义实现一个水平滚动控件HorizontalScrollView package com.example.view; import android.content.Context; im ...

  6. php按条件修改xml,php如何修改xml内容

    php修改xml内容的方法:首先打开xml文件:然后遍历一下该xml文档:接着通过"foreach ($books as $book) {...}"方式对内容进行重新赋值:最后保存 ...

  7. Ueditor编辑旧文章,从数据库中取出要修改的内容

    Ueditor编辑旧文章,从数据库中取出要修改的内容然后放置到编辑器中: <script type="text/plain" id="editor"> ...

  8. sql php修改mysql结构_sql怎么修改表内容

    sql修改表内容的方法:可以通过执行[update 表名 set 列名1=值,列名2=值 where 条件;]命令来修改.使用该命令可以修改单表中一行单列或者多列数据. sql中修改表的内容有以下三种 ...

  9. 用python修改文件内容修改txt内容的3种方法

    用python修改文件内容修改txt内容的3种方法 方法一.修改原文件方式 def updateFile(file,old_str,new_str):"""替换文件中的字 ...

最新文章

  1. Android 有些机型hint不显示
  2. C#开发APP,ToolBar控件在Smobiler中的使用方式【附案例源码】——Smobiler移动开发平台...
  3. Vista下的五笔输入法
  4. set,env,和export的区别
  5. 使用Java 8 Streams进行编程对算法性能的影响
  6. C# DataTable的詳細用法
  7. PCL中使用FLANN库(2)
  8. CVE-2017-8046(Spring Data Rest RCE)
  9. 5——PHP逻辑运算符唯一的三元运算符
  10. php二分法实力,php常见的几种排序以及二分法查找
  11. 在安装mysql出现的错误以及解决方法
  12. Sqlserver 以前我在学校T-sql建ATM取款机的sql语句
  13. java十字链表存储,图的十字链表存储结构
  14. hrbust 哈理工oj 1921 三原色(改进版)【集合相关问题】
  15. matlab 创建同型矩阵_以经典同型样式创建新地图
  16. Shell 教程 - 菜鸟教程
  17. c语言的链表ppt,C语言链表详解ppt.ppt
  18. 【转】ACM比赛经验
  19. Building Worlds In Unreal 学习笔记——07-11 岩石树落木灌木绘制/溪水着色器/潮湿与焦散贴花/后处理
  20. Recorder︱一些图像识别初创公司产品及API搜集ing...

热门文章

  1. matlab的区域操作,matlab的操作()
  2. maters鸿蒙系统,Flutter入门进阶之旅(十)DialogToast
  3. 机器学习模型可解释性进行到底 ——PDPICE图(三)
  4. python︱大规模数据存储与读取、并行计算:Dask库简述
  5. python安装包,使用镜像安装
  6. Vbs程序批量修改防火墙路由
  7. PlatformTransactionManager
  8. 集群tomcat+session共享
  9. (面试必知)必知必会的冒泡排序和快速排序
  10. directdraw显示yuv视频,出现屏保时,yuv显示不出来,表面丢失