0

我正在尝试创建一个脚本来自动安装 LAMP 服务器,并且在 debian 中无人值守。

问题是我意识到 debconf-set-selections 似乎不适用于 phpmyadmin。

事实上,如果我跑..

debconf-get-selections | grep phpmyadmin

..它不返回任何东西,它应该返回您可以选择和使用的可用选项。

是否有可能在 debconf 的最新版本中 phpmyadmin 不可用?

这是我的代码,它什么也不做。我的意思是,它仍然要求选项:

def installPHPMyAdmin():
    subprocess.call("debconf-set-selections <<< " +
    "\"phpmyadmin phpmyadmin/dbconfig-install boolean true\"")
    subprocess.call("debconf-set-selections <<< \"phpmyadmin phpmyadmin/mysql/admin-pass " +
    "password " + mysqlPass + "\"")
    subprocess.call("debconf-set-selections <<< \"phpmyadmin phpmyadmin/mysql/app-pass " +
    "password " + phpMyAdminPass + "\"")
    subprocess.call("debconf-set-selections <<< \"phpmyadmin phpmyadmin/app-password-confirm " +
    "password " + phpMyAdminPass + "\"")
    subprocess.call("debconf-set-selections <<< \"phpmyadmin phpmyadmin/reconfigure-webserver " +
    "multiselect none\"")
    return subprocess.call("apt-get install -y phpmyadmin")
4

1 回答 1

1

Debconf(工具,而不是会议;))是一个允许包维护者编写配置脚本的系统,该脚本允许系统管理员配置系统的许多部分,具有可交换的 UI。该架构使得问题的答案存储在“数据库”(实际上是一组文件)中,因此如果软件包升级,之前已回答的问题不会重复。

debconf-get-selections是一种允许系统管理员查询该数据库的工具;然而,要让它返回一些东西,首先在你运行它的系统上的数据库中必须有一些东西。如果您尚未在系统上配置 phpmyadmin,则数据库将为空。

要修复,请运行以下命令:

dpkg-reconfigure -p low phpmyadmin

这将询问系统对 phpmyadmin 的所有问题,并为您进行配置。

于 2015-09-05T15:12:12.867 回答