16.4.5. augeas 和 libguestfs 脚本
将 libguestfs 与 Augeas 结合使用可以帮助编写脚本来操作 Linux 客户机虚拟机配置。例如,以下脚本使用 Augeas 解析 guest 虚拟机的键盘配置,并打印出布局。请注意,这个示例只适用于运行 Red Hat Enterprise Linux 的客户机虚拟机:
#!/bin/bash - set -e guestname="$1" guestfish -d "$1" -i --ro <<'EOF' aug-init / 0 aug-get /files/etc/sysconfig/keyboard/LAYOUT EOF
augeas 也可以用于修改配置文件。您可以修改以上脚本以 更改键盘布局 :
#!/bin/bash - set -e guestname="$1" guestfish -d "$1" -i <<'EOF' aug-init / 0 aug-set /files/etc/sysconfig/keyboard/LAYOUT '"gb"' aug-save EOF
请注意两个脚本之间的三个更改:
- 第二个示例中删除了 --ro 选项,从而能够写入 guest 虚拟机。
- aug-get 命令已被改为 aug-set 来修改值,而不是获取它。新值为 "gb"( 包括引号)。
- aug-save 命令在此处使用,因此 Augeas 会将更改写入到磁盘。
注意
有关 Augeas 的更多信息,请访问网站 http://augeas.net。
guestfish 可以在此简介文档中介绍更多工作。例如,从头开始创建磁盘镜像:
guestfish -N fs
或者从磁盘镜像复制整个目录:
><fs> copy-out /home /tmp/home
有关详细信息,请参阅 man page guestfish(1)。