簡體   English   中英

如何讓apt-get接受來自Repo的無人值守的debian安裝中的新配置文件

[英]How to make apt-get accept New config files in a unattended install of debian from Repo

我正在編寫一個腳本,用於無人值守安裝我們的Repo中的軟件包,它是一個軟件包,其中一個Debian標記為config。 有沒有我可以傳遞給apt-get / aptitude的選項,以便它接受新的配置文件。

基本上我需要一個相當於dpkg --force-confnew的apt / aptitude

在使用Y進行apt-get安裝時,我需要回答以下問題


配置文件`/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密碼來執行命令

echo“mysudopass”| sudo -S apt-get mypackage

當安裝位於Config Interactive階段時,這會標記安裝錯誤。

我在Ubuntu 10.04 apt版本:apt 0.7.25.3

為什么我不能使用dpkg:這些debian將從Repo安裝,我的機器上沒有本地debian

感謝大家提前幫助!!!!

我認為你正在尋找的apt-get命令行是

apt-get -o Dpkg::Options::="--force-confnew" install your-package

至於你的sudo -S問題,也許可以嘗試在'|'周圍添加一些空格 字符。 不是,問題如何在不覆蓋TTY的情況下將密碼傳遞給su / sudo / ssh? 可能有用。

我嘗試了其他答案中的建議,發現在嘗試安裝localepurge包時還不夠。

使用debconf-set-selections設置我需要的東西后,我不得不使用以下內容:

DEBIAN_FRONTEND=noninteractive apt-get -o Dpkg::Options::="--force-confnew" install localepurge

只有將DEBIAN_FRONTEND環境變量設置為非交互式,才能強制localepurge執行我所要求的操作。 其他包可能也是如此。

當然,如果您願意,可以使用腳本導出變量,但要注意它可能會混亂其他包。 例如:

#!/bin/sh
export DEBIAN_FRONTEND=noninteractive
apt-get -o Dpkg::Options::="--force-confnew" install -y localepurge foo bar

-y告訴apt-get停止提問(參見手冊頁 )。

您也可以通過創建/etc/apt/apt.conf.d/local並添加以下apt配置:

Dpkg::Options {
   "--force-confdef";
   "--force-confold";
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM