1、安装guestfish

yum install libguestfs-tools

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

yum install libguestfs-winsupport

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

user = "root"

# The group for QEMU processes run by the system instance. It can be
# specified in a 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.-kvm-oracle11g-22disk-pulsar2..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.-kvm-nginx1.8.0-15disk-pulsar2..qcow2:/dev/sda1
%
redhat6.-kvm-nginx1.8.0-15disk-pulsar2..qcow2:/dev/vg_huacloud/lv_root
%

查看镜像/root目录内容

[root@cc14 ~]# virt-ls -a redhat6.-kvm-nginx1.8.0-15disk-pulsar2..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.-kvm-nginx1.8.0-15disk-pulsar2..qcow2 /root/install.log
Installing libgcc-4.4.-.el6.x86_64
warning: libgcc-4.4.-.el6.x86_64: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
......

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

[root@cc14 ~]touch aa.txt
[root@cc14 ~]# virt-ls -a redhat6.-kvm-nginx1.8.0-15disk-pulsar2..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.-kvm-nginx1.8.0-15disk-pulsar2..qcow2 /root/aa.txt /root/

编辑虚拟机文件:

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

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

guestfish修改镜像内容的更多相关文章

  1. python修改镜像源

    pip升级:python -m pip install --upgrade pip https://www.cnblogs.com/andy9468/p/10319442.html 1.在命令中临时修 ...

  2. [linux]ubuntu修改镜像源

    sudo apt-get update 更新源 sudo apt-get install package 安装包 sudo apt-get remove package 删除包 sudo apt-ca ...

  3. maven 国内加速,修改镜像源

    为什么慢 由于默认情况下执行 mvn 各种命令是去国外的 mvn 官方镜像源获取需要安装的具体软件信息,所以在不使用代理.不翻墙的情况下,从国内访问国外服务器的速度相对比较慢 如何修改镜像源 阿里旗下 ...

  4. win10 下安装docker,创建镜像,push镜像到私有仓库,创建私有仓库,修改镜像仓库地址

    通过连接下载window docker安装文件,https://download.docker.com/win/stable/Docker%20for%20Windows%20Installer.ex ...

  5. 几何服务,cut功能,输入要素target(修改后)内容。

    几何服务,cut功能测试,输入要素target(修改后)内容. {"displayFieldName":"","fieldAliases": ...

  6. 几何服务,cut功能,输入要素target(修改前)内容。

    几何服务,cut功能测试,输入要素target(修改前)内容. {"geometryType":"esriGeometryPolyline","geo ...

  7. Fiddler 修改返回内容 OnBeforeResponse 无效 没用

    Fiddler自定义脚本可以实现很强大的内容替换,包括很有意义的——修改返回内容. 具体的方法可以参考官网:http://docs.telerik.com/fiddler/KnowledgeBase/ ...

  8. Web 在线文件管理器学习笔记与总结(5)修改文件内容

    ① 读出要修改的文件的内容 ② 进行修改 ③ 将修改后的内容写进文件 index.php: <?php require 'dir.func.php'; require 'file.func.ph ...

  9. Oracle bbed 实用示例-----修改Data内容、恢复delete的rows

    bbed 可以在db open 状态来进行修改,但是建议在做任何修改操作之前先shutdown db. 这样避免checkpoint 进程重写bbed 对block 的修改. 也避免oracle 在b ...

随机推荐

  1. memsql filesystem pipeline 试用

    一些功能类似drill ,比如s3,file ... 创建file pipeline 准备file mkdir -p /opt/db/ touch books.txt 内容如下: The Catche ...

  2. Brackets编辑器使用

    常用快捷操作 Ctrl + b 当选中一个文本时,离该文本最近的相同的文本会被高亮显示,这样,相同的2个文本就全部获得了焦点,可以同时更改高亮文本.(对,只会找寻最近的且只找到一个就不找了!惰性查找. ...

  3. php 数据类型转换与比较

    <?php define("PI", 3.1415926); echo PI."<br>"; //定义一个常量 define("GR ...

  4. C# zedgraph 怎么设置初始时坐标轴的比例??

    http://bbs.csdn.net/topics/390872329 已解决,,,我问是刷新图用的,,我以为mypane.YAxis.Scale.Min=0; mypane.YAxis.Scale ...

  5. Bootstrap-CL:列表组

    ylbtech-Bootstrap-CL:列表组 1.返回顶部 1. Bootstrap 列表组 本章我们将讲解列表组.列表组件用于以列表形式呈现复杂的和自定义的内容.创建一个基本的列表组的步骤如下: ...

  6. UI“三重天”之Selenium(一)

    关注一下UI自动化,记一记笔记. UI自动化的优缺点: 关于UI自动化的优缺点想来大家都有了解,优点:解放人力(并不是完全解放),用机器(涵盖工具.脚本等)代替人工完成测试工作,将测试用例转化为脚本实 ...

  7. Hive默认分割符

    1.Hive默认的分隔符 Hive的表数据,不管导出到HDFS还是本地文件系统,如果用户在导出时没有指定分割符,那么Hive表的数据在写入文件时,会使用默认的分隔符作为列分隔符,该默认的分割是“CTR ...

  8. 20181124_webAPI基础01_创建一个基础的WebAPI项目

    1. webApi属于RESTful架构风格, 而RESTful风格, 是以资源为视角来描述服务的 2. 创建webAPI项目 3. 选择webAPI, 然后mvc会自动引用 4. 点击确定, 就创建 ...

  9. blktrace btt结果分析

    对于btt的结果分析十分的困难,我和同事花了很多的时间在网上查找btt输出的每一项参数的意义,试图更好的分析bio的统计信息,但网上文章一大抄,翻来覆去就是那几篇文章. 本文中内容参考了以下网址: 1 ...

  10. 深度解析Java中的那把锁

    锁的本质 我们先来讨论锁的出现是为了解决什么问题,锁要保证的事情其实很好理解,同一件事(一个代码块)在同一时刻只能由一个人(线程)操作. 这里所说的锁为排他锁,暂不考虑读写锁的情况 我们在这里打个比方 ...