Phing sshタスクを介してmysqlをインストールするスクリプトを実行すると、次の出力が得られます。
debconf: unable to initialize frontend: Dialog
debconf: (Dialog frontend will not work on a dumb terminal, an emacs shell buffer, or without a controlling terminal.)
debconf: falling back to frontend: Readline
debconf: unable to initialize frontend: Readline
debconf: (This frontend requires a controlling tty.)
debconf: falling back to frontend: Teletype
dpkg-preconfigure: unable to re-open stdin:
ssh 経由でログインした後に同じスクリプトを実行すると、エラーなしで実行されます。
担当するスクリプトは、私が思うに (setup.sh):
export DEBIAN_FRONTEND=noninteractive
echo "mysql-server mysql-server/root_password password $rootPwd" | sudo debconf-set-selections
echo "mysql-server mysql-server/root_password_again password $rootPwd" | sudo debconf-set-selections
sudo apt-get install -y mysql-server mysql-client
そして、これは初めてのことです。スクリプトを 2 回実行すると、完全に実行されます。
参考までに Phing タスク:
<ssh host="${deploy.host}"
username="${deploy.user}"
privkeyfile="${deploy.pem}"
pubkeyfile="${deploy.pub}"
command="./setup.sh"
display="false"
property="ssh_output"
failonerror="true"
/>