21.4.6. augeas 和 libguestfs 脚本
在编写脚本以操作 Linux 客户机虚拟机配置时,可将 libguestfs 与 Augeas 相结合。例如,以下脚本使用 Augeas 解析客户机虚拟机的键盘配置,并打印布局。请注意,这个示例仅适用于运行 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 选项,它能够写入客户机虚拟机。
- aug-get 命令已更改为 aug-set 以修改值,而不是获取它。新值将是 "gb"( 包括引号)。
- 此处使用 aug-save 命令,因此 Augeas 会将更改写出到磁盘。
注意
有关 8 月的更多信息,请访问网站 http://augeas.net。
guestfish 可以比我们在此简介文档中的更多操作介绍更多。例如,从头开始创建磁盘镜像:
guestfish -N fs
或者从磁盘镜像复制整个目录:
><fs> copy-out /home /tmp/home
有关详细信息,请参见 man page guestfish(1)。