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. 对Linux内核中进程上下文和中断上下文的理解

    内核空间和用户空间是操作系统理论的基础之一,即内核功能模块运行在内核空间,而应用程序运行在用户空间.现代的CPU都具有不同的操作模式,代表不同的 级别,不同的级别具有不同的功能,在较低的级别中将禁止某 ...

  2. linux shell获取用户输入

    一.获取用户输入1.基本读取read命令接收标准输入的输入,或其它文件描述符的输入.得到输入后,read命令将数据输入放入一个标准变量中.[root@rac2 ~]# cat t8.sh #!/bin ...

  3. 黄聪:将自己开发的插件发布到WordPress官方插件站(转)

    原文作者:我爱水煮鱼 把你的插件发布到 WordPress 官方插件目录是让更多人用到插件的好方法,这样可以让你的插件不仅仅给我们中国人民使用,而且还可以让你的插件给全世界人民使用,想想全世界人民都在 ...

  4. Hadoop编译安装

    本文转载自:http://www.cnblogs.com/shishanyuan/p/4701646.html 1.编译Hadooop 1.1 搭建环境 1.1.1 安装并设置maven 1. 下载m ...

  5. 关于RouterOS 国内DDNS服务

    虽然RouterOS 加入了cloud功能,但最近在配置RB2011的时候发现不好使,更新域名后无法正确解析到我的IP地址,虽然在cloud的public address中显示了正确的公网ip地址,但 ...

  6. CSS布局模型学习

    转自:http://www.cnblogs.com/erliang/p/4092192.html CSS布局模型学习   参考链接慕课网:HTML+CSS基础课程 知识基础 1. 样式 内联 嵌入 外 ...

  7. Web API 源码剖析之默认消息处理程序链--》路由分发器(HttpRoutingDispatcher)

    我们在上一节讲述了默认的DefaultServer(是一个类型为HttpServer的只读属性,详情请参考 Web API 源码剖析之全局配置).本节将讲述DefaultHandler(是一个Http ...

  8. 给iOS开发新手送点福利,简述UIAlertView的属性和用法

    UIAlertView 1.Title 获取或设置UIAlertView上的标题. 2.Message 获取或设置UIAlertView上的消息 UIAlertView *alertView = [[ ...

  9. 20165233 预备作业3 Linux安装及学习

    Linux学习记录 别出心裁的Linux命令学习法学习总结 (由于我的电脑是Mac,Linux安装省略) 操作系统的功能: 管家婆和服务生 博客中对于这两个词含义的解释为 管家婆:通过进程.虚拟内存和 ...

  10. ES6系列_15之class类的使用

    JS语言的传统方法是通过构造函数,定义并生成新对象,是一种基于原型的面向对象系统.在ES6中新增加了类的概念,可以使用 class 关键字声明一个类,之后以这个类来实例化对象.1.先来看看es5与es ...