[Pkg-openldap-devel] Bug#603544: Update failed, no way to continue now

Robert Kehl robertkehl at robertkehl.de
Tue Feb 15 19:29:58 UTC 2011


Hi!

I'm hitting the same bug, at least a part of it. Therefore I append my
story to #603544 rather than opening a new bug.

After upgrading my system to Squeeze yesterday, all seemed to go well
when upgrading slapd from 2.4.11-1+lenny2 to 2.4.23-7. This is what
apt-get showed ([...these are my comments and snippings...]

====%<====
# apt-get install slapd squid3 squid3-common
[...package lists loading etc...]
Die folgenden zusätzlichen Pakete werden installiert:
  ldap-utils libldap-2.4-2 libldap2-dev squid-langpack
Vorgeschlagene Pakete:
  squidclient resolvconf
Die folgenden NEUEN Pakete werden installiert:
  squid-langpack
Die folgenden Pakete werden aktualisiert (Upgrade):
  ldap-utils libldap-2.4-2 libldap2-dev slapd squid3 squid3-common
6 aktualisiert, 1 neu installiert, 0 zu entfernen und 50 nicht aktualisiert.
Es müssen noch 0 B von 4.790 kB an Archiven heruntergeladen werden.
Nach dieser Operation werden 3.031 kB Plattenplatz zusätzlich benutzt.
Möchten Sie fortfahren [J/n]?


Preconfiguring packages ...
(Lese Datenbank ... 95275 Dateien und Verzeichnisse sind derzeit
installiert.)
Vorbereitung zum Ersetzen von ldap-utils 2.4.11-1+lenny2 (durch
.../ldap-utils_2.4.23-7_i386.deb) ...
Ersatz für ldap-utils wird entpackt ...
Vorbereitung zum Ersetzen von libldap2-dev 2.4.11-1+lenny2 (durch
.../libldap2-dev_2.4.23-7_i386.deb) ...
Ersatz für libldap2-dev wird entpackt ...
Vorbereitung zum Ersetzen von slapd 2.4.11-1+lenny2 (durch
.../slapd_2.4.23-7_i386.deb) ...
Stopping OpenLDAP: slapd.
  Dumping to /var/backups/slapd-2.4.11-1+lenny2:
  - directory o=base... done.
Ersatz für slapd wird entpackt ...
Vorbereitung zum Ersetzen von libldap-2.4-2 2.4.11-1+lenny2 (durch
.../libldap-2.4-2_2.4.23-7_i386.deb) ...
Ersatz für libldap-2.4-2 wird entpackt ...
[...squid things omitted here...]
libldap-2.4-2 (2.4.23-7) wird eingerichtet ...
ldap-utils (2.4.23-7) wird eingerichtet ...
libldap2-dev (2.4.23-7) wird eingerichtet ...
slapd (2.4.23-7) wird eingerichtet ...
Neue Version der Konfigurationsdatei /etc/ldap/schema/inetorgperson.ldif
wird installiert ...
Neue Version der Konfigurationsdatei /etc/ldap/schema/misc.schema wird
installiert ...
Neue Version der Konfigurationsdatei /etc/ldap/schema/cosine.ldif wird
installiert ...
Neue Version der Konfigurationsdatei /etc/ldap/schema/openldap.ldif wird
installiert ...
Neue Version der Konfigurationsdatei /etc/ldap/schema/openldap.schema
wird installiert ...
Neue Version der Konfigurationsdatei /etc/ldap/schema/duaconf.schema
wird installiert ...
Neue Version der Konfigurationsdatei /etc/ldap/schema/dyngroup.schema
wird installiert ...
Neue Version der Konfigurationsdatei /etc/ldap/schema/README wird
installiert ...
Neue Version der Konfigurationsdatei /etc/ldap/schema/nis.ldif wird
installiert ...
Neue Version der Konfigurationsdatei
/etc/ldap/schema/inetorgperson.schema wird installiert ...
Neue Version der Konfigurationsdatei /etc/ldap/schema/nis.schema wird
installiert ...
Neue Version der Konfigurationsdatei /etc/init.d/slapd wird installiert ...

Konfigurationsdatei »/etc/default/slapd«
 ==> Modifiziert (von Ihnen oder von einem Skript) seit der Installation.
 ==> Paketverteiler hat eine aktualisierte Version herausgegeben.
   Wie möchten Sie vorgehen? Ihre Wahlmöglichkeiten sind:
    Y oder I : Die Version des Paket-Betreuers installieren
    N oder O : Die momentan installierte Version beibehalten
       D     : Die Unterschiede zwischen den Versionen anzeigen
       Z     : Eine Shell starten, um die Situation zu begutachten
 Der Standardweg ist das Beibehalten der momentanen Version.
*** slapd (Y/I/N/O/D/Z) [Vorgabe=N] ? y
Neue Version der Konfigurationsdatei /etc/default/slapd wird installiert ...
  Backing up /etc/ldap/slapd.conf in
/var/backups/slapd-2.4.11-1+lenny2... done.
  Moving old database directories to /var/backups:
  - directory o=base... done.
  Loading from /var/backups/slapd-2.4.11-1+lenny2:
  - directory o=base... done.
  - chowning database directory (openldap:openldap)... done
  Migrating slapd.conf to slapd.d configuration style... done.
Starting OpenLDAP: slapd failed!
invoke-rc.d: initscript slapd, action "start" failed.
dpkg: Fehler beim Bearbeiten von slapd (--configure):
 Unterprozess installiertes post-installation-Skript gab den Fehlerwert
1 zurück
[...again squid things...]
Fehler traten auf beim Bearbeiten von:
 slapd
E: Sub-process /usr/bin/dpkg returned an error code (1)
====>%====

My /var/log/syslog showed this for the very first start of slapd:

====%<====
Feb 14 23:56:02 ox slapd[1094]: @(#) $OpenLDAP: slapd 2.4.23 (Nov 22
2010 23:39:34) $#012#011 at biber:/build/buildd-openldap_2.4.23
-7-i386-mi96UQ/openldap-2.4.23/debian/build/servers/slapd
Feb 14 23:56:02 ox slapd[1094]: PROXIED attributeDescription "O" inserted.
Feb 14 23:56:02 ox slapd[1094]: PROXIED attributeDescription "C" inserted.
Feb 14 23:56:02 ox slapd[1094]: PROXIED attributeDescription "OU" inserted.
Feb 14 23:56:02 ox slapd[1094]: /etc/ldap/slapd.d: line 1: group
objectclass "/groupOfNames" unknown.
Feb 14 23:56:02 ox slapd[1094]: <access clause> ::= access to <what> [
by <who> [ <access> ] [ <control> ] ]+ #012<what> ::= * |
dn[.<dnstyle>=<DN>] [filter=<filter>] [attrs=<attrspec>]#012<attrspec>
::= <attrname> [val[/<matchingRule>][.<attrstyle>]=<value>
] | <attrlist>#012<attrlist> ::= <attr> [ , <attrlist> ]#012<attr> ::=
<attrname> | @<objectClass> | !<objectClass> | entry | chi
ldren#012<who> ::= [ * | anonymous | users | self | dn[.<dnstyle>]=<DN>
]#012#011[ realanonymous | realusers | realself | realdn[
.<dnstyle>]=<DN>
]#012#011[dnattr=<attrname>]#012#011[realdnattr=<attrname>]#012#011[group[/<objectclass>[/<attrname>]][.<style>]
=<group>]#012#011[peername[.<peernamestyle>]=<peer>]
[sockname[.<style>]=<name>]#012#011[domain[.<domainstyle>]=<domain>] [sockur
l[.<style>]=<url>]#012#011[dynacl/<name>[/<options>][.<dynstyle>][=<pattern>]]#012#011[ssf=<n>]
[transport_ssf=<n>] [tls_ssf=<n>]
 [sasl_ssf=<n>]#012<style> ::= exact | regex | base(Object)#012<dnstyle>
::= base(Object) | one(level) | sub(tree) | children | e
xact | regex#012<attrstyle> ::= exact | regex | base(Object) |
one(level) | sub(tree) | children#012<peernamestyle> ::= exact | r
egex | ip | ipv6 | path#012<domainstyle> ::= exact | regex |
base(Object) | sub(tree)#012<access> ::= [[real]self]{<level>|<priv>
}#012<level> ::=
none|disclose|auth|compare|search|read|{write|add|delete}|manage#012<priv>
::= {=|+|-}{0|d|x|c|s|r|{w|a|z}|m}+#0
12<control> ::= [ stop | continue | break
]#012dynacl:#012#011<name>=ACI#011<pattern>=<attrname>#012
Feb 14 23:56:02 ox slapd[1094]: config error processing
olcDatabase={1}hdb,cn=config: <olcAccess> handler exited with 1
Feb 14 23:56:02 ox slapd[1094]: slapd stopped.
Feb 14 23:56:02 ox slapd[1094]: connections_destroy: nothing to destroy.
====>%====

The config in question should be this one:

====%<====
dn: olcDatabase={1}hdb
objectClass: olcDatabaseConfig
objectClass: olcHdbConfig
olcDatabase: {1}hdb
olcSuffix: o=base
olcAccess: {0}to dn.base=""  by * read
olcAccess: {1}to *  by
group/groupOfNames/member.exact="cn=fullwriters,ou=grou
 ps,ou=managers,o=base" write  by * none break
olcAccess: {2}to dn.subtree="o=base"  attrs=userPassword,sambaNTPasswor
 d,sambaLMPassword  by self write  by * auth
olcAccess: {3}to dn.base="cn=manager,o=base"  by * none
olcAccess: {4}to dn.regex="^cn=(Read|Write)ACL,.*,?o=base$"  by group/g
 roupOfNames/member.exact="cn=aclmanagers,ou=groups,ou=managers,o=base"
  write
olcAccess: {5}to dn.subtree="ou=managers,o=base"  by group/groupOfNames
 /member.exact="cn=writeacl,ou=managers,o=base" write
olcAccess: {6}to dn.subtree="o=base"  attrs=entry,objectClass,uid  by g
 roup/groupOfNames/member.exact="cn=uidsearchers,ou=groups,ou=managers,o=rokne
 t,c=de" read  by * none break
olcAccess: {7}to dn.subtree="o=base"  attrs=member  by group/groupOfNam
 es/member.exact="cn=membersearchers,ou=groups,ou=managers,o=base" read
   by * none break
olcAccess: {8}to dn.subtree="o=base"  by group/groupOfNames/member.exac
 t="cn=uidsearchers,ou=groups,ou=managers,o=base" none  by group/groupO
 fNames/member.exact="cn=membersearchers,ou=groups,ou=managers,o=base"
 none  by * none break
olcAccess: {9}to dn.subtree="ou=groups,o=base"  by group/groupOfNames/m
 ember.exact="cn=writeacl,ou=groups,o=base" write  by group/groupOfName
 s/member.exact="cn=readacl,ou=groups,o=base" read
olcAccess: {10}to dn.subtree="ou=gab,o=base"  by group/groupOfNames/mem
 ber.exact="cn=writeacl,ou=gab,o=base" write  by group/groupOfNames/mem
 ber.exact="cn=readacl,ou=gab,o=base" read  by * none break
olcAccess: {11}to dn.regex="^ou=PAB,(uid=[^,]+,ou=intern,o=base)$"  by
 group/groupOfNames/member.exact="cn=writeacl,ou=intern,o=base" write
 by group/groupOfNames/member.exact="cn=readacl,ou=intern,o=base" read
  by dn.base,expand="$1" read
olcAccess: {12}to dn.regex="^.+,ou=PAB,(uid=[^,]+,ou=intern,o=base)$"
 by dn.base,expand="$1" write
olcAccess: {13}to dn.subtree="o=base"  by group/groupOfNames/member.exa
 ct="cn=writeacl,ou=intern,o=base" write  by group/groupOfNames/member.
 exact="cn=readacl,ou=intern,o=base" read  by realusers read
olcAddContentAcl: FALSE
olcLastMod: TRUE
olcMaxDerefDepth: 15
olcReadOnly: FALSE
olcRootDN: cn=Manager,o=base
olcRootPW:: XxXxXxXxXxXxXxXxXxX=
olcSyncUseSubentry: FALSE
olcMonitoring: FALSE
olcDbDirectory: /var/lib/ldap/db1
olcDbCacheSize: 1000
olcDbCheckpoint: 512 30
olcDbConfig: {0}set_cachesize 0 2097152 0
olcDbConfig: {1}set_lk_max_objects 1500
olcDbConfig: {2}set_lk_max_locks 1500
olcDbConfig: {3}set_lk_max_lockers 1500
olcDbNoSync: FALSE
olcDbDirtyRead: FALSE
olcDbIDLcacheSize: 0
olcDbIndex: default sub
olcDbIndex: objectClass pres,eq
olcDbIndex: cn pres,eq,sub
olcDbIndex: uid eq
olcDbIndex: uidNumber eq
olcDbIndex: gidNumber eq
olcDbIndex: mail eq
olcDbIndex: sn pres,eq,sub
olcDbIndex: givenName pres,eq,sub
olcDbIndex: ou pres,eq,sub
olcDbIndex: memberUid eq
olcDbIndex: sambaSID eq
olcDbIndex: sambaPrimaryGroupSID eq
olcDbIndex: sambaDomainName eq
olcDbLinearIndex: FALSE
olcDbMode: 0600
olcDbSearchStack: 16
olcDbShmKey: 0
olcDbCacheFree: 1
olcDbDNcacheSize: 0
structuralObjectClass: olcHdbConfig
entryUUID: 149e4758-ccd9-102f-895f-d3794e96a5a7
creatorsName: cn=config
createTimestamp: 20110214225410Z
entryCSN: 20110214225410.623119Z#000000#000#000000
modifiersName: cn=config
modifyTimestamp: 20110214225410Z
====>%====

Subsequent tries to re-run the update resulted in what Frederik reported:

====%<====
# apt-get -f install
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut
Statusinformationen werden eingelesen... Fertig
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 49 nicht aktualisiert.
1 nicht vollständig installiert oder entfernt.
Nach dieser Operation werden 0 B Plattenplatz zusätzlich benutzt.
slapd (2.4.23-7) wird eingerichtet ...
  Backing up /etc/ldap/slapd.conf in
/var/backups/slapd-2.4.11-1+lenny2... done.
  Moving old database directories to /var/backups:

  Backup path /var/backups/o=base-2.4.11-1+lenny2.ldapdb exists. Giving
up...
dpkg: Fehler beim Bearbeiten von slapd (--configure):
 Unterprozess installiertes post-installation-Skript gab den Fehlerwert
1 zurück
configured to not write apport reports
                                      Fehler traten auf beim Bearbeiten von:
 slapd
E: Sub-process /usr/bin/dpkg returned an error code (1)
====>%====

Setting SLAPD_CONF=/etc/ldap/slapd.conf in /etc/default/slapd allowed me
to start slapd finally, but would not prevent the system from trying to
configure the package again and again.

It would be nice if you could help me either migrating to the slapd.d
format or stay at old slapd.conf (which would be completely ok for me)
and have the package upgrade ok.

In my eyes, having SLAPD_CONF set to a specific file should disable the
package trying to convert to slapd.d format, which in turn would render
the system usable for me now. So I'm stuck in the middle of nowhere with
my Squeeze upgrade...

With highest regards,

Robert Kehl





More information about the Pkg-openldap-devel mailing list