surgery on existing directory

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dumping the entire thing, editing, and restoring worked fine. Thank you!

Graham

Rich Megginson wrote:
> Graham Seaman wrote:
>> Hi,
>>
>> I have an existing populated directory supporting a live application. 
>> The next development version will have some fairly large scale 
>> changes - changes to schema, objectClasses, attribute names and 
>> attribute values - but I can't lose the actual data we already have.
>>
>> The approach I've been trying is:
>>
>> 1. Use db2ldif to dump the groups and users (the only bit of the data 
>> which is 'mine') from the live directory on the live system:
>>
>> /usr/lib/dirsrv/slapd-flame/db2ldif -U -n userRoot -a 
>> /opt/backups/original.ldif -s "dc=lse,dc=ac,dc=uk" -s "ou=My Groups" 
>> -s "ou=My Users"
> That's not really the purpose of db2ldif - it really wants to operate 
> on the entire contents of the database.  If you need to edit selective 
> parts of the tree, you'll have to use one of the following approaches:
> Use db2ldif to get everything, but only modify the parts you want
> Use ldapsearch to selectively get what you want - then, either use 
> ldapdelete to remove entire entries and ldapmodify -a to add them 
> back, or if you can just modify the entries in place, use ldif change 
> statements (changetype: modify) and use ldapmodify (no -a)
>>
>> 2. Edit the ldif file with the changes I need
>>
>> 3. Load the ldif file  into a  new fedora directory  on my 
>> development system with ldif2db.pl:
>>
>> /usr/lib/dirsrv/slapd-dam/ldif2db.pl -D "cn=directory manager" -w 
>> MYPASS -n userRoot -s  "dc=lse,dc=ac,dc=uk"  -s "ou=New Groups" -s 
>> "ou=New Users" -i /opt/backups/new.ldif
>>
>> ldif2db.pl terminates almost immediately, clearly without having read 
>> most of the file. The fedora log shows:
>>
>> [14/Nov/2008:11:35:54 +0000] conn=2 op=1 ADD 
>> dn="cn=import_2008_11_14_11_35_55, cn=import, cn=tasks, cn=config"
>> [14/Nov/2008:11:35:54 +0000] conn=2 op=1 RESULT err=0 tag=105 
>> nentries=0 etime=0
> This is because ldif2db.pl just invokes an internal task using a task 
> entry.  If you want to monitor the progress of the import, you'll have 
> to look at the errors log, or use ldapsearch to query the entry that 
> ldif2db.pl spits out (cn=import_2008_11_14_11_35_55, cn=import, 
> cn=tasks, cn=config)
>>
>> If I repeat the operation I get 'operation error';  and if I try to 
>> access the directory, it appears to be completely empty.
> Probably what happened is that you attempted to import from an LDIF 
> file that did not contain the parent entries - the LDIF only contained 
> your users and groups.  Import (ldif2db) is a _destructive_ operation 
> - it will completely wipe out the contents of your database before 
> adding the new entries.  In order to add an entry in LDAP, the parent 
> entry must exist.   This means that if you want to import an LDIF 
> file, and dc=lse,dc=ac,dc=uk is your base suffix, the LDIF file must 
> contain the entry
> dn: dc=lse,dc=ac,dc=uk
> ...
>
> and any other parent entries of the entries you want to import.
>>
>> So, two questions:
>>
>> - is this a reasonable way to go about this task, or are there other 
>> tools I should use?
>> - any suggestions for debugging?
>>
>> Thanks
>> Graham
>>
>>
>>
>>
>>
>> -- 
>> Fedora-directory-users mailing list
>> Fedora-directory-users at redhat.com
>> https://www.redhat.com/mailman/listinfo/fedora-directory-users
>
> ------------------------------------------------------------------------
>
> --
> Fedora-directory-users mailing list
> Fedora-directory-users at redhat.com
> https://www.redhat.com/mailman/listinfo/fedora-directory-users
>   




[Index of Archives]     [Fedora User Discussion]     [Older Fedora Users]     [Fedora Announce]     [Fedora Package Announce]     [EPEL Announce]     [Fedora News]     [Fedora Cloud]     [Fedora Advisory Board]     [Fedora Education]     [Fedora Security]     [Fedora Scitech]     [Fedora Robotics]     [Fedora Maintainers]     [Fedora Infrastructure]     [Fedora Websites]     [Anaconda Devel]     [Fedora Devel Java]     [Fedora Legacy]     [Fedora Desktop]     [Fedora Fonts]     [ATA RAID]     [Fedora Marketing]     [Fedora Management Tools]     [Fedora Mentors]     [Fedora Package Review]     [Fedora R Devel]     [Fedora PHP Devel]     [Kickstart]     [Fedora Music]     [Fedora Packaging]     [Centos]     [Fedora SELinux]     [Fedora Legal]     [Fedora Kernel]     [Fedora QA]     [Fedora Triage]     [Fedora OCaml]     [Coolkey]     [Virtualization Tools]     [ET Management Tools]     [Yum Users]     [Tux]     [Yosemite News]     [Yosemite Photos]     [Linux Apps]     [Maemo Users]     [Gnome Users]     [KDE Users]     [Fedora Tools]     [Fedora Art]     [Fedora Docs]     [Maemo Users]     [Asterisk PBX]     [Fedora Sparc]     [Fedora Universal Network Connector]     [Fedora ARM]

  Powered by Linux