zoukankan      html  css  js  c++  java
  • guestfish 修改 image file

    Example guestfish session
    Sometimes, you must modify a virtual machine image to remove any traces of the MAC address
    that was assigned to the virtual network interface card when the image was first created,
    because the MAC address will be different when it boots the next time. This example
    shows how to use guestfish to remove references to the old MAC address by deleting the /
    etc/udev/rules.d/70-persistent-net.rules file and removing the HWADDR line
    from the /etc/sysconfig/network-scripts/ifcfg-eth0 file.
    Assume that you have a CentOS qcow2 image called centos63_desktop.img. Mount
    the image in read-write mode as root, as follows:
    # guestfish --rw -a centos63_desktop.img
    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
    VM Image Guide July 12, 2015 current
    18
    ><fs>
    This starts a guestfish session. Note that the guestfish prompt looks like a fish: > <fs>.
    We must first use the run command at the guestfish prompt before we can do anything
    else. This will launch a virtual machine, which will be used to perform all of the file manipulations.
    ><fs> run
    We can now view the file systems in the image using the list-filesystems command:
    ><fs> list-filesystems
    /dev/vda1: ext4
    /dev/vg_centosbase/lv_root: ext4
    /dev/vg_centosbase/lv_swap: swap
    We need to mount the logical volume that contains the root partition:
    ><fs> mount /dev/vg_centosbase/lv_root /
    Next, we want to delete a file. We can use the rm guestfish command, which works the
    same way it does in a traditional shell.
    ><fs> rm /etc/udev/rules.d/70-persistent-net.rules
    We want to edit the ifcfg-eth0 file to remove the HWADDR line. The edit command will
    copy the file to the host, invoke your editor, and then copy the file back.
    ><fs> edit /etc/sysconfig/network-scripts/ifcfg-eth0
    If you want to modify this image to load the 8021q kernel at boot time, you must create an
    executable script in the /etc/sysconfig/modules/ directory. You can use the touch
    guestfish command to create an empty file, the edit command to edit it, and the chmod
    command to make it executable.
    ><fs> touch /etc/sysconfig/modules/8021q.modules
    ><fs> edit /etc/sysconfig/modules/8021q.modules
    We add the following line to the file and save it:
    modprobe 8021q
    Then we set to executable:
    ><fs> chmod 0755 /etc/sysconfig/modules/8021q.modules
    We're done, so we can exit using the exit command:
    ><fs> exit

  • 相关阅读:
    INFORMATION_SCHEMA.INNODB_LOCKS
    INFORMATION_SCHEMA.INNODB_TRX 详解
    用 Flask 来写个轻博客 (9) — M(V)C_Jinja 语法基础快速概览
    自助式BI对比评测:Tableau和FineBI
    4款最具影响力的自助式BI工具
    4款最具影响力的自助式BI工具
    用 Flask 来写个轻博客 (8) — (M)VC_Alembic 管理数据库结构的升级和降级
    用 Flask 来写个轻博客 (7) — (M)VC_models 的关系(many to many)
    zabbix 通过key 获取
    匿名hash
  • 原文地址:https://www.cnblogs.com/ruiy/p/4664045.html
Copyright © 2011-2022 走看看