示例计划脚本
该示例计划脚本说明了一些示例 guestfish
命令及其语法。
# Example Image Streamer Plan Script
以 #
开头的行被视为计划脚本中的注释。
!echo "File Systems in Golden Image:"
该命令在 Image Streamer 设备上执行 bash
命令。在该示例中,echo
命令输出是在部署日志中捕获的。可以使用部署日志监视计划脚本的执行情况和调试错误。
list-filesystems
这是一个 guestfish
命令,用于列出操作系统卷中的文件系统。
list-partitions
这是一个 guestfish
命令,用于列出操作系统卷中的分区。
!echo "Mounting File Systems:"
mount /dev/sda1 /
该命令将 /dev/sda1
分区安装到伪根目录 /
中。在执行该命令后,可以使用 /
访问该分区的内容。例如:/tmp/example.sh
。
!echo "Personalize message.txt content:"
upload -<<EOF /tmp/example.sh
#!/bin/bash
echo “OS name and version”
uname -r
echo “Example attributes and values:”
echo “@ExampleString:Hello World!@”
echo “@ExampleNumber:50@”
EOF
该命令序列说明了如何使用 heredoc
语法将 bash
脚本插入到操作系统中。如果执行该示例,则将 EOF
标记之间的计划脚本内容放在操作系统映像的 /tmp/example.sh
文件中。该命令序列还说明了如何使用具有默认值的自定义属性 ExampleString
和 ExampleNumber
。
umount
在完成定制后,该命令将卸载分区。
具有系统属性的计划脚本示例
以下几行说明了如何在计划脚本中使用系统属性以访问目标操作系统卷详细信息。
echo "Target volume device name to mount :@_Target.dev@"
echo "Target name/iqn:@_Target.name@"
echo "Target IP address:@_Target.ip@"
echo "Target port:@_Target.port@ , Target LUN:@_Target.lun@"
以下几行说明了如何在计划脚本中使用系统属性以显示部署连接 1 详细信息。
echo "Initiator-1 MAC:@_Initiator1.mac@"
echo "Initiator-1 name :@_Initiator1.name@"
echo "Initiator-1 IP address:@_Initiator1.ip@ , Initiator-1 netmask:@_Initiator1.netmask@"
echo "Initiator-1 gateway:@_Initiator1.gateway@"
以下几行说明了如何在计划脚本中使用系统属性以显示部署连接 2 详细信息。
echo "Initiator-2 MAC:@_Initiator2.mac@"
echo "Initiator-2 name :@_Initiator2.name@"
echo "Initiator-2 IP address:@_Initiator2.ip@ , Initiator-2 netmask:@_Initiator2.netmask@"
echo "Initiator-2 gateway:@_Initiator2.gateway@"