debconf-set-selections无法使用phpmyadmin

时间:2015-09-04 12:41:58

标签: python dpkg debconf

我试图创建一个脚本来自动安装LAMP服务器并在debian中进行unatended。

问题是我意识到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")

1 个答案:

答案 0 :(得分:1)

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

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

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

dpkg-reconfigure -p low phpmyadmin

这将询问系统为phpmyadmin提出的所有问题,并为您配置一些东西。