web-dev-qa-db-ja.com

Ubuntu dpkg、非対話型インストール

私はそれらと対話することなく、たくさんの.debファイルをインストールしようとしています。たとえば、MySQLサーバーは、dpkgの構成時に管理パスワードを入力するためのインタラクティブメニューを要求します。

私が試してみました。

export DEBIAN_FRONTEND=noninteractive && export DEBIAN_PRIORITY=critical && Sudo /usr/bin/dpkg -i ./files/*

設定なしでファイルを抽出できることを知っています。 Apache、php、mySQLなどのデフォルトインストールが事前構成されたサーバーをデプロイするbashスクリプトを作成しようとしています。しかし、この「対話型インストール」が問題を引き起こしています。

それを無効にする方法に関するアイデアはありますか?または回避策?

ありがとう

9
james moore

あなたは正しい軌道に乗っています。あなたは間違いなくDEBIAN_FRONTEND=noninteractive。無視できない重要な質問については、debconfデータベースに必要な回答を事前に提示することをお勧めします。 debconf man page には、それを実現する方法に関するすべての詳細があります。

6
Steven Monday

一般的な非インタラクティブなフロントエンドについては、以下を試してみてください。

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
4
kenorb

これはうまくいくはずです:

$ pkgadd SOMEpkg << MYINPUT

y

some text

/usr/local

n

password

MYINPUT

上の行の間に空白行を配置するか、1つの長い行としてフォーマットしました。いずれの場合でも、「script」コマンドを使用して、複雑なインストール中に入力を保存し、その後、出力をスクリプトに変更して、後続のインストール(man script)。

0
dixie_flatline