這是我的第一篇文章,所以我希望我正確地問這個。使用Vagrant shell腳本安裝Passenger&Nginx
我編寫了一個shell腳本,用於在運行Ubuntu 14.04的Vagrant虛擬機上沒有任何用戶輸入的情況下自動安裝Passenger & Nginx(以及其他一些組件)。它使用以下工作正常:
echo "****** Adding Passenger & Nginx Repo ******"
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 561F9B9CAC40B2F7
sudo apt-get install apt-transport-https ca-certificates -y
echo "deb https://oss-binaries.phusionpassenger.com/apt/passenger trusty main" | sudo tee /etc/apt/sources.list.d/passenger.list
sudo chown root: /etc/apt/sources.list.d/passenger.list
sudo chmod 600 /etc/apt/sources.list.d/passenger.list
sudo apt-get update
echo "****** Installing Passenger & Nginx ******"
sudo apt-get install nginx-extras passenger -y
現在我想爲運行CentOS 6.4的Vagrant VM做同樣的事情。我遵循Phusion Passenger site上找到的CentOS指示,但我似乎無法正常工作。當我這樣做,從shell腳本輸出說「不包乘客可用」:
echo "****** Adding Passenger & Nginx Repo ******"
sudo yum install epel-release pygpgme curl -y
sudo 'echo "curl --fail -sSLo /etc/yum.repos.d/passenger.repo https://oss-binaries.phusionpassenger.com/yum/definitions/el-passenger.repo"'
sudo chown root: /etc/yum.repos.d/passenger.repo
sudo chmod 600 /etc/yum.repos.d/passenger.repo
sudo yum update
echo "****** Installing Passenger & Nginx ******"
sudo yum install nginx passenger -y
在/etc/yum.repos.d目錄中查找腳本運行後,沒有乘客.repo列出,因此無論何種原因curl不下載repo文件。但是,如果我在腳本完成後在終端命令行中手動輸入命令,它將下拉回購併運行。
我可能在這裏做了一些愚蠢的事情,但我對shell腳本很陌生,似乎無法弄清楚問題所在。
感謝您給我的任何幫助。
是的,你是對的。我認爲,自從我處於shell環境之後,我需要首先發出一個回聲,但即使沒有回聲,仍然會下載passenger.repo文件。謝謝你的幫助。 – Doug366