这是我发给SO的第一篇文章,所以我希望我能正确地提出这个问题。
我写了一个shell脚本来自动安装Passenger& Nginx(以及一些其他组件)在运行Ubuntu 14.04的Vagrant VM上没有任何用户输入。使用以下方法可以正常工作:
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目录,没有列出passenger.repo,所以看起来无论出于何种原因curl没有下载repo文件。但是,如果我在脚本完成后手动在终端命令行中键入命令,它将下拉回购并运行。
我可能在这里做了一些愚蠢的事情,但我对shell脚本很新,而且似乎无法找出问题所在。
感谢您提供任何帮助。
答案 0 :(得分:0)
sudo'echo“curl --fail -sSLo /etc/yum.repos.d/passenger.repo https://oss-binaries.phusionpassenger.com/yum/definitions/el-passenger.repo”'
这是错误的,不是手册指示的。它应该是:
sudo curl --fail -sSLo /etc/yum.repos.d/passenger.repo https://oss-binaries.phusionpassenger.com/yum/definitions/el-passenger.repo