预先植入 debconf 不会影响 libdvd-pkg 的安装

预先植入 debconf 不会影响 libdvd-pkg 的安装

我在这里提出这个问题是因为我不确定这是一个错误还是我疯了。但是当我安装新的 Ubuntu 桌面时,我喜欢使用大量可复制和粘贴的行来快速安装有用的东西...例如..

echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula boolean true | sudo debconf-set-selections
sudo apt-get -y install ttf-mscorefonts-installer

效果很好。

但是当涉及到 libdvd-pkg 时,我就是无法让它闭嘴(我不想使用“DEBIAN_FRONTEND=noninteractive”)。以下是我尝试过的……

echo libdvd-pkg libdvd-pkg/first-install note | sudo debconf-set-selections
echo libdvd-pkg libdvd-pkg/post-invoke_hook-install boolean true | sudo debconf-set-selections
sudo apt-get -y install libdvd-pkg

您总是会看到这个屏幕...

在此处输入图片描述

我已经在 12 多台机器上看到这种情况,所以这不仅仅是一次性现象。

顺便说一下,这是在 Ubuntu 16.04 上。

你知道我为了试图消除这种影响可能做错了什么吗?

我检查了 .deb 包中的 DEBIAN/templates 文件,没有发现任何异常。

答案1

第一次手动安装,然后使用它debconf-get-selections | grep "^libdvd-pkg"来查看 debian confirmed 使用了什么。之后,将结果放入脚本中并debconf-set-selections在安装软件包之前执行。

1)在已安装的机器上运行 deb-conf-get-selections:

#$ debconf-get-selections | grep "^libdvd-pkg"
libdvd-pkg  libdvd-pkg/build    boolean true
libdvd-pkg  libdvd-pkg/upgrade  note
libdvd-pkg  libdvd-pkg/post-invoke_hook-remove  boolean false
libdvd-pkg  libdvd-pkg/post-invoke_hook-install boolean true
libdvd-pkg  libdvd-pkg/first-install    note

2)安装之前,将以下几行放入安装程序脚本中:

#!/bin/bash

echo "Installing libdvd-pkg ... "

cat <<EndOfConfig | sudo debconf-set-selections
libdvd-pkg  libdvd-pkg/build    boolean true
libdvd-pkg  libdvd-pkg/upgrade  note
libdvd-pkg  libdvd-pkg/post-invoke_hook-remove  boolean false
libdvd-pkg  libdvd-pkg/post-invoke_hook-install boolean true
libdvd-pkg  libdvd-pkg/first-install    note
EndOfConfig

sudo apt-get install libdvd-pkg

完毕!

您可以在所有具有对话框和用户交互的包中执行此操作。

答案2

export DEBIAN_FRONTEND=noninteractive
sudo DEBIAN_FRONTEND=noninteractive apt -yq install libdvd-pkg
sudo bash /usr/lib/libdvd-pkg/b-i_libdvdcss.sh

相关内容