相关疑难解决方法(0)

如何在没有 grub 配置提示的情况下 apt-get -y dist-upgrade?

Per Make apt-get (or aptitude) run with -y 但不提示替换配置文件?

我做了以下事情:

ec2run ami-3c994355 --region us-east-1 -n 1 -t m1.large -z us-east-1d
Run Code Online (Sandbox Code Playgroud)

在机器上:

sudo apt-get update
sudo apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" dist-upgrade
Run Code Online (Sandbox Code Playgroud)

我仍然收到提示,询问我想使用哪个配置文件。这些是出现在提示之前的行:

Setting up grub-pc (1.99-21ubuntu3.1) ...
Run Code Online (Sandbox Code Playgroud)

然后:

                         ????????????????????????????????????????????????????????? Configuring grub-pc ?????????????????????????????????????????????????????????                              
                         ? A new version of configuration file /etc/default/grub is available, but the version installed currently has been locally modified.  ?                              
                         ?                                                                                                                                     ?                              
                         ? What do you want to do about modified configuration file grub?                                                                      ?                              
                         ?                                                                                                                                     ? …
Run Code Online (Sandbox Code Playgroud)

apt grub2 amazon-ec2

68
推荐指数
2
解决办法
4万
查看次数

如何显示所有 apt-get Dpkg::Options 及其当前值?

apt-get -o Dpkg::Options::="--force-confnew"
Run Code Online (Sandbox Code Playgroud)

apt-get -o Dpkg::Options::="--force-confold"
Run Code Online (Sandbox Code Playgroud)

还有很多。

如何获取所有列表Dpkg::Options及其当前设置的值?

apt dpkg

11
推荐指数
2
解决办法
2万
查看次数

始终清除包装中的删除

我正在维护一个 debian 包,其中包含一些安装在/etc/. 有没有一种方法可以让我--purge在用户执行常规操作时以某种方式使包始终自动自动运行apt-get remove mypackage

原因是我在 /etc 中有一些配置文件,当二进制文件被删除时,这些文件应该被删除,否则会导致奇怪的行为。但是我仍然想将它们视为 conf 文件,即确保 apt 不会在每次升级包时擦除它们。但是当卸载包时它们应该被删除。

目前我正在我的 postrm 脚本中手动删除 /etc conf 文件。但是我刚刚发现这有一个不幸的副作用:如果用户卸载然后重新安装软件包,则不会重新安装 conf 文件,因为 apt 认为它们仍然存在。那么有没有一种方法可以在我的 postrm 中手动触发一个完整的“清除”,这样 apt 就知道 conf 文件已经消失了?

package-management packaging apt dpkg

6
推荐指数
1
解决办法
1492
查看次数

如何在 Ubuntu 1604 和 1804 中禁用交互式对话框?

我发现了这个问题并且我的脚本基本上有同样的问题。

但!我不是用 packer 运行它,而是用一个简单的脚本:

DEBIAN_FRONTEND=noninteractive sudo apt-get update
DEBIAN_FRONTEND=noninteractive sudo dpkg --configure -aq
DEBIAN_FRONTEND=noninteractive sudo apt-get upgrade -yq --force-yes
DEBIAN_FRONTEND=noninteractive sudo apt-get dist-upgrade -yq --force-yes
Run Code Online (Sandbox Code Playgroud)

...和其他东西。

该脚本确实在 1404 上工作,但是对于 1604 Xenial 和 1804 Bionic,我遇到了问题,即对话框提示想要在脚本中打开并且不会自行继续。这是因为我无法在工作站上使用键盘输入进行响应。

在我看来,这个解决方案对于 GRUB 来说似乎风险太大,但我需要自动化,因为我无法手动更新数百台服务器。

我认为这是所有“新”1604 和 1804 机器的问题。

有人知道解决方案吗?

更新:我尝试了这个接受的答案解决方案,它给了我以下错误:

E: Invalid operation Dpkg::Options::=--force-confdef
Run Code Online (Sandbox Code Playgroud)

command-line apt sudo

5
推荐指数
1
解决办法
1756
查看次数

为什么包 mercurial 在 chroot 环境中依赖于 x11-common?

关于我提出的前一个问题(使用 -y 运行 apt-get(或 aptitude)但不提示替换配置文件?)我遇到了一个有点奇怪且难以解释的行为。也许有人仍然可以解释它。

当我debootstap在目标内部之后立即执行以下命令时chroot,包mercurial似乎需要比看起来更合理的更多内容:

apt-get -s -y -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confold install mercurial
Reading package lists...
Building dependency tree...
The following extra packages will be installed:
  ca-certificates fontconfig-config fonts-dejavu-core libdrm-intel1
  libdrm-nouveau2 libdrm-radeon1 libelf1 libfontconfig1 libfontenc1
  libfreetype6 libgl1-mesa-dri libgl1-mesa-glx libglapi-mesa libice6
  libllvm3.4 libpciaccess0 libsm6 libtcl8.6 libtk8.6 libtxc-dxtn-s2tc0
  libutempter0 libx11-6 libx11-data libx11-xcb1 libxau6 libxaw7 libxcb-dri2-0
  libxcb-dri3-0 libxcb-glx0 libxcb-present0 libxcb-shape0 libxcb-sync1 libxcb1
  libxcomposite1 libxdamage1 libxdmcp6 libxext6 libxfixes3 libxft2 libxi6
  libxinerama1 libxmu6 libxmuu1 libxpm4 …
Run Code Online (Sandbox Code Playgroud)

package-management apt dpkg 14.04

4
推荐指数
1
解决办法
1592
查看次数