Tar*_*rka 33 scripting configuration apt
我正在尝试为新服务器编写配置脚本,第一步是安装一系列必需的软件包,例如 MySQL、phpMyAdmin 等。apt-get install
但是,当 dpkg 尝试配置它们时,它会要求您提供几个选项,例如 MySQL 根密码、phpMyAdmin 密码、要使用的服务器等。
由于我可能会将这个脚本传递给不太可能阅读提示的同事,并且我希望简单地启动它并离开,我想知道如何传递一系列“默认”答案/值以供使用。这可能包括在命令行上传递的用户名/密码/其他动态值。
——
我意识到在脚本中使用密码是一个安全问题,但我愿意忽略它,特别是在安装包的更一般意义上,这是一个答案所暗示的。
Sha*_*den 46
使用 debconf 的配置预置。
进行测试安装以获取所需的值:
root@test1:~# apt-get install mysql-server
Run Code Online (Sandbox Code Playgroud)
..并在安装过程中出现提示时设置root密码。
然后你可以检查你刚刚安装的 debconf 设置的样子(你可能需要安装debconf-utils
):
root@test1:~# debconf-get-selections | grep mysql-server
mysql-server-5.5 mysql-server/root_password_again password
mysql-server-5.5 mysql-server/root_password password
mysql-server-5.5 mysql-server/error_setting_password error
mysql-server-5.5 mysql-server-5.5/postrm_remove_databases boolean false
mysql-server-5.5 mysql-server-5.5/start_on_boot boolean true
mysql-server-5.5 mysql-server-5.5/nis_warning note
mysql-server-5.5 mysql-server-5.5/really_downgrade boolean false
mysql-server-5.5 mysql-server/password_mismatch error
mysql-server-5.5 mysql-server/no_upgrade_when_using_ndb error
Run Code Online (Sandbox Code Playgroud)
那里有一些噪音,但重要的部分是密码设置。
然后,对于全新安装,您可以通过预先设置密码来完全避免提示:
root@test2:~# echo "mysql-server-5.5 mysql-server/root_password_again password Som3Passw0rd" | debconf-set-selections
root@test2:~# echo "mysql-server-5.5 mysql-server/root_password password Som3Passw0rd" | debconf-set-selections
root@test2:~# apt-get install mysql-server
Run Code Online (Sandbox Code Playgroud)
在安装过程中根本没有提示。
Mic*_*ton 19
export DEBIAN_FRONTEND=noninteractive
apt-get -q -y install _packages_
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
29398 次 |
最近记录: |