当我启动 AWS 实例时,我有一个可在 Ubuntu 14.04 上运行的 cloud-init 脚本:
#!/bin/bash -eux
exec > >(tee /var/log/bootstrap.log)
exec 2>&1
apt-get --quiet --quiet update
apt-get --quiet --quiet upgrade
apt-get install --quiet --quiet postgresql
sudo -u postgres psql -c "CREATE USER foo WITH PASSWORD 'foo';"
现在想上Ubuntu 15.04,但是突然服务无法正常启动,CREATE USER
命令失败:
+ sudo -u postgres psql -c 'CREATE USER foo WITH PASSWORD '\''foo'\'';'
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
我可以从命令提示符执行此操作,实际上我可以在 cloud-init 脚本运行后通过停止和启动服务来执行此操作,所以我不明白问题可能是什么。
我已经测试过
- http://thecloudmarket.com/image/ami-9e0aa4e9--ubuntu-images-hvm-io1-ubuntu-utopic-14-10-amd64-server-20141022-3 - 这行得通
- http://thecloudmarket.com/image/ami-ecde819b--ubuntu-images-hvm-io1-ubuntu-vivid-15-04-amd64-server-20150818 - 没有。
请帮忙。