kb

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste Überarbeitung Beide Seiten der Revision
kb [2015/03/26 16:25]
flacco [ISC DHCP mit ActiveDirectory]
kb [2015/04/01 16:14]
flacco [ISC DHCP mit ActiveDirectory]
Zeile 575: Zeile 575:
  
 Um den DHCP-Server des ISC mit einem Active Directory als Backend zu verwenden, muss dieser so gepatcht werden, dass er andere LDAP-Attribut- und Objektklassen-Namen akzeptiert. Dies ist notwendig, da Microsoft für seinen DHCP-Server teils identische Namen für Attribute und Objektklassen verwendet. Ohne das Patchen führt der Versuch einen ISC DHCP-Server Datenbestand aus einem OpenLDAP Verzeichnis in ein Active Directory zu migrieren zu "​Objectclass Violations"​ die nicht zu beheben sind. Um den DHCP-Server des ISC mit einem Active Directory als Backend zu verwenden, muss dieser so gepatcht werden, dass er andere LDAP-Attribut- und Objektklassen-Namen akzeptiert. Dies ist notwendig, da Microsoft für seinen DHCP-Server teils identische Namen für Attribute und Objektklassen verwendet. Ohne das Patchen führt der Versuch einen ISC DHCP-Server Datenbestand aus einem OpenLDAP Verzeichnis in ein Active Directory zu migrieren zu "​Objectclass Violations"​ die nicht zu beheben sind.
 +
 +==== LDAP Patch erzeugen ====
  
 Den Patch zu erstellen ist etwas umständlich,​ da im openSUSE-Paket bereits Patches auf die von uns zu patchenden Dateien angewendet werden. D.h. um unseren Patch zu erzeugen müssen zunächst die anderen Patches auf den Quellcode angewendet werden. Den Patch zu erstellen ist etwas umständlich,​ da im openSUSE-Paket bereits Patches auf die von uns zu patchenden Dateien angewendet werden. D.h. um unseren Patch zu erzeugen müssen zunächst die anderen Patches auf den Quellcode angewendet werden.
Zeile 613: Zeile 615:
 </​code>​ </​code>​
  
-Alle Einzelpatches werden ​dann zum Gesamtpatch zusammengesetzt:​+Jetzt müssen noch die Kopfzeilen der Einzelpatches ​angepasst ​werden. Aus: 
 + 
 +<​code>​ 
 +--- server/​ldap.c ​      ​2015-03-26 14:​24:​44.905456906 +0100 
 ++++ server/​ad.ldap.c ​   2015-03-26 17:​12:​52.783318249 +0100 
 +</​code>​ 
 + 
 +wird: 
 + 
 +<​code>​ 
 +--- a/​server/​ldap.c ​      ​2015-03-26 14:​24:​44.905456906 +0100 
 ++++ b/​server/​ldap.c ​   2015-03-26 17:​12:​52.783318249 +0100 
 +</​code>​ 
 + 
 +Danach werden alle Einzelpatches ​zum Gesamtpatch zusammengesetzt:​
  
 <​code>​ <​code>​
Zeile 636: Zeile 652:
 %patch99 -p1 %patch99 -p1
 %endif %endif
 +%endif
 +## clean up after patching
 +find . -type f -name \*.orig\* -exec rm -f {} \;
 +find . -type f -name \*.rej\* -exec rm -f {} \;
 </​code>​ </​code>​
  
 Die Zeilenangaben sind natürlich nicht genau, das sich das Spec-File mit jeder neuen Version ändern kann. Wichtig ist nur, dass unser Patch als letzter angewendete wird. Die Zeilenangaben sind natürlich nicht genau, das sich das Spec-File mit jeder neuen Version ändern kann. Wichtig ist nur, dass unser Patch als letzter angewendete wird.
 +
 +==== Paketbenennung und Konfliktverhalten ====
 +
 +Um nicht mit den regulären DHCP-Paketen in den SUSE Repositories in Konkurrenz zu geraten, haben wir unsere Pakete umbenannt. Sie tragen jetzt die Vorsilbe "​invis":​
 +
 +  * invisdhcp
 +  * invisdhcp-server
 +  * invisdhcp-client
 +  * invisdhcp-doc
 +
 +Die Umbenennung erfolgt im Specfile. Weiterhin wurde in den Paketen die Direktive "​Conflict"​ im Specfile verwendet. Dadurch können nur entweder die ungepatchten oder die gepatchten Pakete auf einem System installiert werden. Auch dies wird im Specfile eingetragen:​
 +
 +**Namensdefinition**
 +
 +<​code>​
 +Name:           ​invisdhcp
 +%define originname dhcp
 +....
 +Source0: ​       dhcp-%{isc_version}.tar.gz
 +Source1: ​       dhcp-%{isc_version}.tar.gz.asc
 +Source2: ​       %{originname}.keyring
 +</​code>​
  • kb.txt
  • Zuletzt geändert: 2020/10/20 10:47
  • von flacco