libguestfs简介

libguestfs is a set of tools for accessing and modifying virtual machine (VM) disk p_w_picpaths.

libguestfs官网介绍:http://libguestfs.org/

libguestfs使用

一、命令行工具

yum install -y libguestfs libguestfs-tools  # 安装命令行工具包,命令是guestfish,raw和qcow2格式的镜像guestfish都可以编辑
[root@compute5 Downloads]guestfish -a centos6.5.img -i  # -a:是attach  -i:会自动mount镜像里的分区
[root@compute5 Downloads]# guestfish -a centos6.5.img   # 不使用-i,要手动挂载分区
Welcome to guestfish, the libguestfs filesystem interactive shell for
editing virtual machine filesystems.
Type: 'help' for help on commands'man' to read the manual'quit' to quit the shell
><fs> run
><fs> mount /dev/sda2 /
# 你可以使用这样的shell script来编辑某个文件
[root@compute5 Downloads]# guestfish -a centos6.5-test-2.img -i << eof
rm /etc/udev/rules.d/70-persistent-net.rules
eof
guestfish下没有类似sed的工具,不过提供了类似augtool的命令

二、python调用

yum install -y libguestfs python-libguestfs  # 安装python库
# 这里举个例子:往虚拟机镜像里上传一个文件
[root@compute5 Downloads]# vim test.py
#!/usr/bin/env python
import guestfs               # python加载guestfs库
g = guestfs.GuestFS(python_return_dict=True)         # 创建一个GuestFS实例
g.add_drive_opts("centos6.5-test-2.img",format="qcow2",readonly=0)  # 挂载img到libguestfs
g.launch()        # 后台运行libguestfs
partitions = g.list_partitions()             #  获取所有分区
g.mount(partitions[1],'/')                    # 第二个分区挂载到根目录
g.upload("/etc/resolv.conf", "/etc/resolv.conf")     # g.upload("src文件", "dst文件"),看不懂,英文没学好
g.close()        # 虽然会自动close,还是再手工close最保险

针对windows镜像,使用kpartx。

kpartx -a <p_w_picpath_id>
yum install ntfsprogs ntfs-3g

参考链接

http://libguestfs.org/guestfs-python.3.html

转载于:https://blog.51cto.com/iceyao/1566915

Glance - 直接操作image相关推荐

  1. Study之2 Glance相关操作-devstack

    1,Glance的image是存储在backend中,backend配置在: /etc/glance/glance-api.conf. 2, devstack默认:image 存放在控制节点本地目录 ...

  2. OpenStack R版的原理、部署与使用

    文章目录 一.先说说云计算的前世今生 二.OpenStack介绍 1. 项目起源 2. 选择OpenStack的原因 3. OpenStack和其他虚拟化技术的区别? 4. OpenStack主要的组 ...

  3. 关于大型网站技术演进的思考

    关于大型网站技术演进的思考(一)--存储的瓶颈(1) 前不久公司请来了位互联网界的技术大牛跟我们做了一次大型网站架构的培训,两天12个小时信息量非常大,知识的广度和难度也非常大,培训完后我很难完整理出 ...

  4. glance系列二:glance部署及操作

    阅读目录 一 简单架构图示参考 二 部署glance 三 验证 一 简单架构图示参考 二 部署glance 创建脚本 为了不写一长串的用户信息,可以把他们定义成脚本的方式 admin-openrc e ...

  5. glance部署及操作

    注意部署时一定要集中精力,不要乱想一些七情六欲意淫一些乱七八糟的事,否则容易写错配置文件 一 部署glance part 1:glance关于数据库的操作 a.登录数据库: mysql -u root ...

  6. 云计算技术 - Glance镜像管理服务,上传、制作、删除镜像操作

    preface 在上节中我们了解了keystone服务,下面就看看glance管理镜像的服务吧. glance组成 glance有两部分组成: glance-api 接受云系统镜像的创建,删除,读取请 ...

  7. 三、openstack安装之Glance篇

    一.glance简介 openstack镜像服务使用户能够发现.登记并检索虚拟机镜像,代号glance.glance服务提供了一个REST API,使你能够查询虚拟机镜像元数据和检索实际镜像.通过镜像 ...

  8. Openstack组件实现原理 — Glance架构(V1/V2)

    目录 目录 Glance 安装列表 Glance Image service Image service 的组件 Glance-Api Glance-Registry Glance-db Image ...

  9. 第 4 章 Glance - 022 - 如何使用 OpenStack CLI

    删除 Image Web UI 删除 Image admin 登录后,Project -> Compute -> Images 在列表中选择要删除的 image,点击 Delete Ima ...

  10. (四)OpenStack---M版---双节点搭建---Glance安装和配置

    ↓↓↓↓↓↓↓↓视频已上线B站↓↓↓↓↓↓↓↓ >>>>>>传送门 1.创建glance数据库 2.获得 admin 凭证来获取只有管理员能执行的命令的访问权限 3 ...

最新文章

  1. 转:Oracle中的日期和字符串互相转换
  2. 一个小游戏Digger for .NET!
  3. Vue.js 插件开发详解
  4. xamarin textview 滚动_微软测试 Win10 Chromium/Edge CPU 优化和滚动新效果
  5. [NOI2011]兔兔与蛋蛋游戏 二分图博弈
  6. leetcode 491. Increasing Subsequences | 491. 递增子序列(Java)
  7. app登录界面背景 css_计算机毕业设计中Java web实现简登录页面(MyBatis+jsp+servlet+html+css+javascript)...
  8. python抽奖教程_python实现抽奖小程序
  9. 人脸识别实名制管理,推动智慧工地建设发展
  10. java flink(二十七) 实战之电商 订单超时取消报警计算 CEP与ProcessFunction 对比
  11. vue结合百度地图api实现地址检索、路线规划等功能
  12. Python打印简单杨辉三角形
  13. 使用node的Hapi框架搭建后台(一)——搭建项目
  14. #如何理解使用for循环遍历lst与lst[:],如果使用remove更改列表结果会不同
  15. chrome浏览器怎么模拟手机访问网页(已測OK)
  16. 已知数据库中存在表tb_book2,通过在图书信息界面填写书本的基本信息,然后提交后写入数据库中的表格中。需要对提交的信息进行修改,信息填入不能为空,为空则则有提示。
  17. 设计原则(3)-里氏代换原则
  18. 图像处理计算机基本配置,图形图像工作的电脑配置推荐_DIY攒机硬件郎中-中关村在线...
  19. bsd 运行Linux软件,BSD操作系统 FreeBSD
  20. 分享一个好用的在线加解密工具

热门文章

  1. 在其他的电脑上配置绿色Jre+tomcat运行环境
  2. 学会 配置文件+反射,走遍全球都不怕.
  3. RocketMQ 概述
  4. AIX查看某个端口被哪个进程占用
  5. Oracle trunc和round的区别
  6. ssis t-sql返回值
  7. MVC中Action参数绑定的过程
  8. 2010年3月份第三周51aspx发布WinForm源码
  9. 阿里、美团、滴滴产品经理共述:产品经理的“乐”与“伤”
  10. 在 Ubuntu 18.04 上安装 Python 3.7