【发布时间】:2014-10-21 18:08:45
【问题描述】:
我写了这个小 bash 脚本:
#!/bin/bash
apt-get update
apt-get upgrade
apt-get install apache2
apt-get install php5
apt-get install mysql-server
apt-get install php5-mysql
service apache2 restart
apt-get update
apt-get install python-software-properties
apt-get install software-properties-common
add-apt-repository ppa:ondrej/php5-5.6
apt-get update
apt-get upgrade
apt-get install php5
apt-get install vsftpd
apt-get install php5-curl
为了在 ubuntu 14.04 上创建灯并安装 php 5.6
一切正常,但我需要在提示时输入“y”,有一次我需要按 Enter(在这一行:
add-apt-repository ppa:ondrej/php5-5.6)
使用
运行脚本时无需键入“y”即可执行脚本yes | ./script.sh
但在我需要按 Enter 键时,它只会给我输出大量“y”和中断。 运行脚本后这些文件:
E: Could not get lock /var/cache/apt/archives/lock - open (11: Resource temporarily unavailable)
E: Unable to lock directory /var/cache/apt/archives/
已锁定,我需要再次解锁,以便安装更多内容。
有没有办法让它正常运行?没有文件锁,只是做它应该做的事情......
【问题讨论】:
-
你为什么要执行
apt-get update这么多次?您只需要在添加ppa:ondref/php5-5.6存储库之后预先执行此操作。此外,apt-get和add-apt-repository都有-y标志,它们假定您想要yes对所有内容。此外,您可能希望在环境中设置DEBIAN_FRONTEND=noninteractive,这将对出现的任何提示采取默认选择。