[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