Ubuntu dpkg,非交互式安装


10

我试图安装一堆.deb文件,而不必与它们进行交互。例如,MySQL服务器将提示dpkg进行配置时,提供交互式菜单以输入管理密码。

我努力了。

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

我知道我可以无需配置即可提取文件。我试图创建一个bash脚本来部署预先配置为默认安装Apache,php,mySQL等的服务器。但是,这种“交互式安装”引起了问题。

关于如何禁用它的任何想法?还是可以解决?

谢谢


如果不回答问题,您将如何处理MySQL服务器的root密码?
DerfK 2010年

使用mysqladmin配置服务器。
james moore 2010年

Answers:


6

您走在正确的轨道上。您一定要使用DEBIAN_FRONTEND=noninteractive。对于无法忽略的关键问题,您将希望在debconf数据库中预先添加必要的答案。该debconf手册页有所有关于如何实现这一目标的细节。


1
需要“ su-”并使用“ export”作为根。
james moore 2010年

sudo DEBIAN_FRONTEND =非交互式apt install -y package_you_want
aGuegu '19

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

我必须在上面的行之间放置blnk行,或者将其格式化为一条长行。在任何情况下,您都可以使用“脚本”命令在复杂的安装过程中保存输入,然后将输出修改为脚本以使其自动化以进行后续安装(man script)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.