我正在设置一个bash脚本来自动构建一个灯环境。
在安装mysql、phpmyadmin等之前,我使用debconf-set-selections设置选项。
它主要是很好的工作。但问题是,我必须为mysql设置一个空密码,而且它在安装过程中仍然要求输入密码,即使前面输入的行是:
echo "mysql-server-5.5 mysql-server/root_password password" | debconf-set-selections
echo "mysql-server-5.5 mysql-server/root_password_again password" | debconf-set-selections发布于 2015-04-09 13:46:11
在mysql-server的包安装过程中使用debconf-set-selections设置空密码的推荐方法取决于现有的包版本。
auth_socket。因此,无密码登录应以使用基于UNIX套接字的身份验证为条件(例如,要求登录来自本地计算机上的用户帐户root )。- For the package provided by the [MySQL APT repository](https://dev.mysql.com/doc/mysql-apt-repo-quick-guide/en):sudo debconf set- <<< -社区-服务器mysql-社区-服务器/根传递密码- sudo set- <<< -社区-服务器-mysql-社区-服务器/重新根-通密码
- For the package provided by the [Ubuntu package repositories](https://help.ubuntu.com/community/Repositories):sudo debconf set- <<< "mysql-server mysql-server/root密码密码“sudo debconf set- <<< -server mysql-server/root-password _<<<”
退步解决方案
如果所有的方法都失败了,就可以绕过这个问题,通过阻止debconf完全向用户询问密码,从而隐式地将密码保留为空白。不幸的是,这适用于所有的问题,而不仅仅是密码相关的问题。
以下是实现预期结果的两种方法:
debconf的前端设置为noninteractive:
DEBIAN_FRONTEND=noninteractive apt-获取安装-y mysql-serverdebconf的优先级设置为critical:
DEBIAN_PRIORITY=critical apt-获取安装-y mysql-server
这种方法可能更好,因为它允许显示关键消息。发布于 2015-11-22 21:38:39
目前,--有可能做到这一点,但这有点棘手。
您必须显式设置引号来标记空密码,如下所示:
sudo debconf-set-selections <<< "mysql-server mysql-server/root_password password \"''\""刚在Ubuntu 15.10上测试过,效果很好。
发布于 2014-07-26 20:58:06
我认为您的问题是,就在“密码”之前,您需要添加“string”一词,如下所示:
echo "mysql-server-5.5 mysql-server/root_password string password" | debconf-set-selections顺便说一句,这也是一样的,但我觉得很酷:
debconf-set-selections <<< "mysql-server-5.5 mysql-server/root_password string password"https://stackoverflow.com/questions/23358918
复制相似问题