如需转载,请标明原文出处以及作者

陈锐 RuiChen @kiwik

2013/08/25 10:30:01


这两天配置keystone的LDAP后端,遇到一个问题,LDAP安装的过程中需要用户输入root的密码,并 确认密码。整个配置LDAP后端的过程都可以通过脚本自动化,但是就是这步安装LDAP输入用户密码的 地方卡住了。经过同事的提示,ubuntu下有个叫debconf的东西可以搞安装预配置,研究一下,呵呵, 果然可以。

步骤是这样的:

  • 先用debconf-show + 包名查出预配置项,例如:debconf-show slapd 查询slapd的预配置 项,星号是必选输入项。可以看出来slapd/password1slapd/password2就是需要用户填入的密 码了,其他含义类推
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  
  • 在自动化脚本里,用debconf-set-selections设置然后安装,每个配置项格式为{包名} {配置项key} {配置项类型} {配置项value} 然后安装LDAP的过程就完全不需要人为干预了,大家要是有其他的软件需要自动安装,可以按照此方法尝试一下。
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  
  
} 


Published

25 August 2013

Category

OpenStack

Tags