プランスクリプトの例

このプランスクリプトの例では、いくつかのサンプルのguestfishコマンドとその構文について説明します。

# Example Image Streamer Plan Script

プランスクリプト内で#で始まる行はコメントとみなされます。

!echo "File Systems in Golden Image:”

このコマンドは、イメージストリーマーアプライアンスに対してbashコマンドを実行します。この例では、echoコマンドの出力が展開ログにキャプチャーされます。展開ログを使用して、プランスクリプトの実行を監視したり、エラーをデバッグしたりできます。

list-filesystems

これは、OSボリューム内のファイルシステムの一覧を表示するguestfishコマンドです。

list-partitions

これは、OSボリューム内のパーティションの一覧を表示する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

このコマンドは、パーソナライゼーションが完了した後にパーティションをアンマウントします。

次の行は、プランスクリプト内でシステム属性を使用してターゲットOSボリュームの詳細にアクセスする方法を示しています。
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@"