Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

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
请注意两个脚本之间的三个更改:
  1. 第二个示例中删除了 --ro 选项,它能够写入客户机虚拟机。
  2. aug-get 命令已更改为 aug-set 以修改值,而不是获取它。新值将是 "gb"( 包括引号)。
  3. 此处使用 aug-save 命令,因此 Augeas 会将更改写出到磁盘。
注意
有关 8 月的更多信息,请访问网站 http://augeas.net
guestfish 可以比我们在此简介文档中的更多操作介绍更多。例如,从头开始创建磁盘镜像:
guestfish -N fs
或者从磁盘镜像复制整个目录:
><fs> copy-out /home /tmp/home
有关详细信息,请参见 man page guestfish(1)。