web-dev-qa-db-ja.com

事前シード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

この画面は常に表示されます...

enter image description here

私はこれが12台以上のマシンで起こっているのを見たことがありますので、1台だけではありません。

ところで、これはUbuntu 16.04にあります。

これを試して沈黙させるために私が間違っていることは何ですか?

.debパッケージ内のDEBIAN/templatesファイルを調べましたが、異常なものは見つかりません。

3
Lantizia

最初に手動でインストールし、debconf-get-selections | grep "^libdvd-pkg"を使用して、debian confirmが使用するものを確認します。その後、パッケージにインストールする前に、結果をスクリプトに入れて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

できた!

これは、ダイアログとユーザーインタラクションを持つすべてのパッケージで実行できます。

3
mperon