Ubuntu下的软件安装自动配置

这两天配置keystone的LDAP后端,遇到一个问题,LDAP安装的过程中需要用户输入root的密码,并确认密码。

整个配置LDAP后端的过程都可以通过脚本自动化,但是就是这步安装LDAP输入用户密码的地方卡住了。

经过同事的提示,ubuntu下有个叫debconf的东西可以搞安装预配置,研究一下,呵呵,果然可以。

步骤是这样的:

1、先用debconf-show + 包名查出预配置项

例如:debconf-show slapd 查询slapd的预配置项,星号是必选项

root@compute204:/var/log/keystone# debconf-show slapd
* slapd/password1: (password omitted)
  slapd/internal/adminpw: (password omitted)
  slapd/internal/generated_adminpw: (password omitted)
* slapd/password2: (password omitted)
  slapd/allow_ldap_v2: false
  slapd/password_mismatch:
  slapd/invalid_config: true
  shared/organization: openstack.org
  slapd/upgrade_slapcat_failure:
  slapd/no_configuration: false
  slapd/move_old_database: true
  slapd/dump_database_destdir: /var/backups/slapd-VERSION
  slapd/purge_database: false
  slapd/domain: openstack.org
  slapd/backend: HDB
  slapd/dump_database: when needed
可以看出来slapd/password1和slapd/password2就是需要用户填入的密码了,其他含义类推

2、在自动化脚本里,用debconf-set-selections设置然后安装,每个配置项格式为  {包名} {配置项key} {配置项类型} {配置项value}

function install_ldap()
{
    cat <<LDAP_PRESEED | debconf-set-selections 
slapd slapd/password1 password ${LDAP_PASS}
slapd slapd/password2 password ${LDAP_PASS}
LDAP_PRESEED

    apt-get -y --force-yes install slapd
    apt-get -y --force-yes install ldap-utils

}
然后安装LDAP的过程就完全不需要人为干预了

大家要是有其他的软件需要自动安装,可以按照此方法尝试一下。


你可能感兴趣的:(ubuntu,云计算,openstack,LDAP,keystone)