题
我试图创造一个剧本,可自动下载的软件包为新的服务器。但是,有些东西喜欢'mysql server'不能安装自动导致需要配置他们在ncurses界第一。我已经看过男人的网页并不能找到任何恰当的。
我不在乎如果我必须上传、编辑conf文件后--我只是需要适当的包装。
任何人都知道要做什么除了抓住tarball和建立他们自己?
更新 发现了那样的事情mysql-服务器你可以做到:
DEBIAN_FRONTEND='noninteractive' apt-get install -yq mysql-server
但是期望看起来像什么我需要阳光java6-java;还没有评价它
解决方案
对于包问题通过debconf(这是什么投入了ncurses显示的),可以预先回答问题。对太阳-哇,该问题可以预先回答下面的说明 http://www.davidpashley.com/blog/debian/java-license
其他提示
这 ossramblings.com 答案:
首先,通常安装程序包;然后,从所述的debconf数据文件提取的结构的答案:
sudo apt-get install debconf-utils
sudo debconf-get-selections | grep mypackage > something.seed
然后,对于其它安装,可以安装软件包之前应用它:
sudo debconf-set-selections ./something.seed
任何软件包,其使用 debconf
得到配置值的可自动运行。诀窍是, debconf
将第一个寻找预先安装 答案 任何配置 的问题 这一定包。
预先安装配置的答案
只要创建一个文件在下列格式,
# Use one line for each question
package-name question-name question-type answer
package-name question-name question-type really long \
answer here
package-name question-name question-type answer
...
和饲料成的系统,像这样:
$ debconf-set-selections my-selections-file
现在,你准备好 apt-get install
, 像往常一样。
一个断
由于这一命令也读取stdin,你可以这样做:
$ echo "man-db man-db/auto-update boolean true" | debconf-set-selections
找到默认的答案
你怎么知道的软件包的使用这些配置的答案吗?好吧,如果你已经安装的包有问题交互方式,可以查询本地系统来看看有什么值目前的配置。 debconf-get-selections
打印的清单的所有config的答案,对当前的系统。例如
$ debconf-get-selections | grep '^man'
返回下面关于我的系统:
man-db man-db/install-setuid boolean false
man-db man-db/auto-update boolean true
你可能需要安装的 debconf-utils
包,以使这一命令。
样本
# Preset values to questions which would otherwise be asked while
# installing packages.
# Use debconf-set-selections to install
openssh-server openssh-server/permit-root-login boolean false
man-db man-db/install-setuid boolean false
man-db man-db/auto-update boolean true
来源
- 安东尼的城镇'回答 & 比烂的链接
- 人 debconf设置的-的选择(1)
- 重复回答 在ServerFault
我不知道到底是什么配置的MySQL服务器的需求,但你可以尝试像期望
我会去了解一下的cron-容易。我还没有尝试过自己,但它的包装描述听起来前途。