Предварительное заполнение 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