我正在为我们的Repo中的一个无人值守安装的软件包编写一个脚本,它是一个软件包,其中一个Debian标记为config。
有没有任何可以传递给apt-get / aptitude的选项,以便它接受新的Config文件。
有没有任何可以传递给apt-get / aptitude的选项,以便它接受新的Config文件。
基本上我需要一个apt / aptitude相当于dpkg –force-confnew
我需要回答下面的问题提出,而apt-get安装与Y
配置文件`/opt/application/conf/XXX.conf’
==>由您或脚本创建的系统上的文件。
==>文件包也由包维护者提供。
你想做什么呢?您的选择是:
Y or I : install the package maintainer's version N or O : keep your currently-installed version D : show the differences between the versions Z : background this process to examine the
默认操作是保留当前版本。
附加信息:
此外,我正在管道中传递sudo密码以执行命令
回声“mysudopass”| sudo -S apt-get mypackage
当安装在Config Interactive阶段时,这标志着安装错误。
我在Ubuntu 10.04
apt版本:apt 0.7.25.3
为什么我不知道dpkg:这些debian是从Repo安装,我没有本地的debian在我的机器
谢谢你们的帮助提前!!!!
我在其他答案中尝试了建议,发现在尝试安装本地包时是不够的。
原文链接:https://www.f2er.com/ubuntu/349227.html使用debconf-set-selection来设置我需要的内容后,我不得不使用以下内容:
DEBIAN_FRONTEND=noninteractive apt-get -o Dpkg::Options::="--force-confnew" install localepurge
只有DEBIAN_FRONTEND环境变量设置为非交互式,我可以强制本地执行我所要求的。其他软件包也可能是这样。
当然,使用脚本,您可以导出变量,如果你想,但要知道它可能会混乱其他包。例如:
#!/bin/sh export DEBIAN_FRONTEND=noninteractive apt-get -o Dpkg::Options::="--force-confnew" install -y localepurge foo bar
哪里可以告诉apt-get停止提问(见手册页)。