私はそれらと対話することなく、たくさんの.debファイルをインストールしようとしています。たとえば、MySQLサーバーは、dpkgの構成時に管理パスワードを入力するためのインタラクティブメニューを要求します。
私が試してみました。
export DEBIAN_FRONTEND=noninteractive && export DEBIAN_PRIORITY=critical && Sudo /usr/bin/dpkg -i ./files/*
設定なしでファイルを抽出できることを知っています。 Apache、php、mySQLなどのデフォルトインストールが事前構成されたサーバーをデプロイするbashスクリプトを作成しようとしています。しかし、この「対話型インストール」が問題を引き起こしています。
それを無効にする方法に関するアイデアはありますか?または回避策?
ありがとう
あなたは正しい軌道に乗っています。あなたは間違いなくDEBIAN_FRONTEND=noninteractive
。無視できない重要な質問については、debconf
データベースに必要な回答を事前に提示することをお勧めします。 debconf
man page には、それを実現する方法に関するすべての詳細があります。
一般的な非インタラクティブなフロントエンドについては、以下を試してみてください。
Sudo dpkg-reconfigure debconf -f noninteractive -p critical
MySQL資格情報を構成するには、次のように サーバー構成ファイル (例:~/.my.cnf
)を使用できます。
[client]
user=root
password=root
特定の選択を選択するには、debconf-set-selections
を使用します。例:
echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true | Sudo debconf-set-selections
これはうまくいくはずです:
$ pkgadd SOMEpkg << MYINPUT
y
some text
/usr/local
n
password
MYINPUT
上の行の間に空白行を配置するか、1つの長い行としてフォーマットしました。いずれの場合でも、「script」コマンドを使用して、複雑なインストール中に入力を保存し、その後、出力をスクリプトに変更して、後続のインストール(man script
)。