Предварительное заполнение debconf не влияет на установку libdvd-pkg

Я поднимаю это здесь, поскольку я не уверен, является ли это ошибкой или я просто схожу с ума. Но когда я устанавливаю новый Ubuntu Desktop, мне нравится использовать фрагменты строк для копирования и вставки, чтобы очень быстро установить полезные вещи... например..

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, кстати.

Есть идеи, что я могу делать неправильно, чтобы попытаться заставить это замолчать?

Я проверил файл DEBIAN/templates в пакете.deb и не могу найти ничего необычного.

2 ответа

Сначала установите вручную, затем используйте debconf-get-selections | grep "^libdvd-pkg" чтобы увидеть, что использует debian для подтверждения. После этого поместите результат в скрипт и выполните 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

Готово!

Вы можете сделать это во всех пакетах, у которых есть диалоги и взаимодействие с пользователем.

      export DEBIAN_FRONTEND=noninteractive
sudo DEBIAN_FRONTEND=noninteractive apt -yq install libdvd-pkg
sudo bash /usr/lib/libdvd-pkg/b-i_libdvdcss.sh
Другие вопросы по тегам