簡體   English   中英

apt-get update非交互式

[英]apt-get update non interactive

我正在嘗試完全非交互式更新。(在ubuntu 14.04.3 LTS上)我認為使用這種類型的命令會很容易:

export DEBIAN_FRONTEND=noninteractive
apt-get update && apt-get upgrade -q -y --force-yes && apt-get dist-upgrade -q -y --force-yes

但沒有......我總是有一個問題:

Configuration file '/etc/cloud/cloud.cfg'
 ==> Modified (by you or by a script) since installation.
 ==> Package distributor has shipped an updated version.
   What would you like to do about it ?  Your options are:
    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     : start a shell to examine the situation
 The default action is to keep your current version.
*** cloud.cfg (Y/I/N/O/D/Z) [default=N] ?

所以你知道我如何自動接受默認值嗎?

您需要將一些dpkg選項傳遞給您的命令,例如:

export DEBIAN_FRONTEND=noninteractive
apt-get update && 
    apt-get -o Dpkg::Options::="--force-confold" upgrade -q -y --force-yes &&
    apt-get -o Dpkg::Options::="--force-confold" dist-upgrade -q -y --force-yes

在旁注中,我建議使用dist-upgrade ,如果使用upgrade ,最終將導致破壞的依賴關系。

> = Apt 1.1

如果您使用的是Apt 1.1或更高版本, 則已棄用--force-yes ,因此您必須使用以--allow開頭的選項,例如--allow-downgrades , - --allow-remove-essential--allow-change-held-packages

所以命令是:

DEBIAN_FRONTEND=noninteractive \
  apt-get \
  -o Dpkg::Options::=--force-confold \
  -o Dpkg::Options::=--force-confdef \
  -y --allow-downgrades --allow-remove-essential --allow-change-held-packages

注意:使用--force-confold保持舊,並使用--force-confnew保持新的配置。

來源: CFE-2360:了解apt_get包模塊版本

有關:

暫無
暫無

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

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