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


10

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

私が試してみました。

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

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

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

ありがとう


質問に答えずに、MySQLサーバーのrootパスワードをどうしますか?
DerfK 2010年

mysqladminを使用してサーバーを構成します。
ジェームズムーア2010年

回答:


6

あなたは正しい軌道に乗っています。あなたは間違いなく使いたいですDEBIAN_FRONTEND=noninteractive。無視できない重要な質問についてdebconfは、必要な回答をデータベースに追加することをお勧めします。debconfmanページには、それを達成する方法についてのすべての詳細を持っています。


1
「su-」し、ルートとして「export」を使用する必要があります。
ジェームズムーア2010年

sudo DEBIAN_FRONTEND = noninteractive apt install -y package_you_want
aGuegu

4

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

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

0

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

$ pkgadd SOMEpkg << MYINPUT

y

some text

/usr/local

n

password

MYINPUT

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.