码迷,mamicode.com
首页 > 其他好文 > 详细

虚拟磁盘访离线访问工具----guestfish(1of2)

时间:2018-06-21 11:42:39      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:api   通过   批量创建   scripts   网站   ack   sysconf   支持   oar   

前几天搞定了磁盘创建的种种问题,现在就要搞明白在不运行虚拟机的情况下如何修改里面的文件,并且结合脚本来批量创建虚拟机。 离线访问工具有很多种,比较出名的就是guestfish了,因为功能非常的强大,比如离线改密码,编辑文件,上传文件等等。今天我要说的主要是集中在脚本里面的应用。 因为这个对我来说是一个全新的工具,由于不是很熟悉,走了很多弯路,我是基于要写脚本的情况下才来研究这个工具。详细了解的话可以去libguestfs.org。 这个工具是需要安装一些 4个packages,好像是在linux6之后的版本本身就自带了,只是版本高低的问题。现在最高的版本是1.39.5。然后我的版本是1:1.36.10-6.el7_5.2,之前版本很低,所以有些工具的option会不太一样,过会会提到。packages分别是:libguestfs.x86_64,libguestfs-java.x86_64 ,libguestfs-tools.noarch ,libguestfs-tools-c.x86_64 。 guestfish是一个基于libguestfs API的交互的shell,里面有一些和shell相同的命令,还有一些是它独有的,并且还支持脚本运行。这里我要说的一个命令就是 “ECHO”。 我们都知道在shell变成里面,你要往一个文件里面写入一些东西但是你又不想用vi编辑,然后你就用echo重定向到文件里面,很多情况下会用到脚本里面。比如说:echo “aaa” >>/tmp/example.txt.这个命令恰恰不完全支持在guestfish里面。但是它有自己的synopsis,这个要配合write来用。就是为了搞明白这个,花了2天的时间。我查了好多文档和网站,没有人详细说过这个命令,可能不是很重要把。然后我又顺腾摸瓜,查到另一个相似的命令就是virt-customize。这个命令也是很强大,你装了上述的包,还有一些kvm的libvirt的包,基本上就有了。 现在要说一下我想做的东西,就是我想离线修改我虚拟机里的ip地址,subnet。手动修改就太麻烦了,那我就用guestfish的命令 #guestfish --rw -a /vm/bb1.qcow2 -i << EOF <! echo write-append /etc/sysconfig/network-scripts/ifcfg-eth0 192.168.2.1 EOF 我刚才也说过,有个类似的命令是通过virt-customize: virt-customize -a /vm/bb1.qcom2 --append-line :IPADDR=$ip --append-line $path:NETMASK=255.255.255.254 下篇文章我会写一下我自己理解的批量创建vms,在网上我看到一些高手写的自动化创建,但是都年代久远了,现在又好多新的命令,会更有效的服务于我们。

虚拟磁盘访离线访问工具----guestfish(1of2)

标签:api   通过   批量创建   scripts   网站   ack   sysconf   支持   oar   

原文地址:http://blog.51cto.com/11419317/2131161

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!