RSS

Archiv für den Monat Juni 2011

Verzeichnisse vergleichen unter Linux und Gnome


Während es unter Windows eine Vielzahl von guten Vergleichsprogrammen für Verzeichnisse gibt (TotalCommander, Beyond Compare etc.) sind solche unter Linux eher rar gesäht. Ein einfaches Hilfsmittel ist das Kommandozeilenprogramm diff:

diff [-i] -r Verzeichnis1 Verzeichnis2

vergleicht zwei Verzeichnisse rekursiv (Option „-r“) und gibt den Unterschied aus. Evtl. kann man als Option noch „-i“ mitgeben, um Groß-/Kleinschreibung zu deaktivieren.

Während „diff“ nur einen Vergleich durchführt, kann man mit „rsync“ auch gleich eine Synchronisierung starten. Zudem ermöglicht „rsync“ eine Synchronisierung über Rechnergrenzen hinweg.

Eine ausführliche Anleitung ist hier im Ubuntu Wiki zu finden.

 

Als GUI Alternativen bieten sich der Gnome Commander,  Grsync, Unison und Meld an. Hier ein paar Screenshots:

Gnome Commander:

gnome-commander_window

 

Grsync:

grsync_window

Unison:

unison_windows

Meld:

meld_window

Während es unter Windows eine Vielzahl von guten Vergleichsprogrammen für Verzeichnisse gibt (TotalCommander, Beyond Compare etc.) sind solche unter Linux eher rar gesäht.

Ein einfaches Hilfsmittel ist das Kommandozeilenprogramm diff:

diff [-i] -r  <<em>Verzeichnis1</em>> <<em>Verzeichnis2</em>>

vergleicht zwei Verzeichnisse rekursiv (Option „-r“) und gibt den Unterschied aus. Evtl. kann man als Option noch „-i“ mitgeben, um Groß-/Kleinschreibung zu deaktivieren.

Als GUI Alternative bietet sich der Gnome Commander und/oder Meld an.

 
Hinterlasse einen Kommentar

Verfasst von - Juni 29, 2011 in Linux

 

OpenLDAP – Accounts mit unerlaubten Zeichen löschen


In einem aktuellen Projekt hatte ich das Problem, dass im OpenLDAP Accounts angelegt wurden, die ungültig waren. Mit dem Tool LDAPAdmin konnte ich die Accounts sehen, wenn ich sie dann angeklickt habe, kam die Meldung, dass der Eintrag nicht existiert.

Das Szenario war wie folgt: Über die Import-Funktion der SAP UME wurden Accounts im Standard-Format importiert. Die UME war direkt an einen OpenLDAP Server gekoppelt. Nachträglich stellte ich fest, dass in der Import-Datei UIDs mit Umlauten auftauchten. Diese wurden (über die SAP UME) im LDAP mit einem Fragezeichen abgelegt, z.B. „jürgen“ wurde im LDAP zu „j?rgen“. Ein direktes Löschen über LDAPAdmin war nicht möglich.

Die Lösung war ein Suchen und anschließendes Löschen der Accounts LDAP Host mit den Befehlen ldapsearch und ldapdelete.

Der Befehl ldapsearch erlaubt die Suche von LDAP Einträgen, Wildcards wie z.B. „*“ sind erlaubt. Hier einige Beispiele:
ldapsearch -h 10.0.8.203 -p 389 -x -b "ou=people,dc=jkhofmann,dc=com" "objectclass=*"
ldapsearch -h 10.0.8.203 -p 389 -x -b "ou=people,dc=jkhofmann,dc=com" "cn=1234"
ldapsearch -h 10.0.8.203 -p 389 -x -b "ou=people,dc=jkhofmann,dc=com" "cn=*234"
ldapsearch -h 10.0.8.203 -p 389 -x -b "ou=people,dc=jkhofmann,dc=com" "cn=*ster*"

Beispiel:
Der Account mit der Kennung „jürgen“ wird in die UME importiert und landet im LDAPAdmin als „j?rgen“ in „ou=people,dc=jkhofmann,dc=com“ dargestellt.

Mit dem Befehl
ldapsearch -h 10.0.8.203 -p 389 -x -b "ou=people,dc=jkhofmann,dc=com" "cn=j*rgen"
erhält man die interne Darstellung im LDAP:

# jEFBFBDrgen, people, jkhofmann.com

dn:: Y24977+9c3RlcnJlaWNosdfZXIsb3U9cGVvcGxlLGRjPWhhZ2ViYXUsZGM9Y29t
mail: jkhofmann@test.de
userPassword:: sdfasdf
uid:: 77+sdfsdf
objectClass: inetOrgPerson
givenName: Juergen
sn:: 77+9c3RlcnJsadlaWNoZXI=
cn:: 77+9c3RlcnJsadlaWNoZXI=

 
Dieser ungültige Eintrag kann mit dem Befehl
ldapdelete -h 10.0.8.203 -p 389 -x "cn=jEFBFBDrgen,ou=people,dc=jkhofmann,dc=com" -D "cn=Manager,dc=jkhofmann,dc=com" -w man
gelöscht werden.

 
Hinterlasse einen Kommentar

Verfasst von - Juni 16, 2011 in LDAP

 

Schlagwörter: , ,

Kontakte von XING nach Google, inklusive Bilder


dp.SyntaxHighlighter.ClipboardSwf = ‚/flash/clipboard.swf‘;dp.SyntaxHighlighter.HighlightAll(‚code‘);Wenn man die Kontakte von XING in das VCARD Format exportiert und diese anschließend in Google importiert, gehen die Bilder der Kontakte „verloren“. Das liegt daran, daß XING nicht die Bilder selbst, sondern nur einen Link auf die Bilder in der VCARD speichert:

XING-VCARD:

...
PHOTO;VALUE=URL;TYPE=JPEG:http://www.xing.com/img/users/1/3/a/58ebb19f7.11990404,2.jpg
...

erwünschte VCARD:

...
PHOTO;TYPE=JPEG;ENCODING=BASE64:
/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9
...

Mit einem Shell-Skript (Bash), kann man den jeweiligen Bilder-Link aufrufen, die Bilder-Datei herunterladen, das Bild kodieren und eine neue VCARD Datei erzeugen, die schließlich das Bild (BASE64-kodiert) enthält.

Hinweis: Dieses Skript ist nicht „auf meinem eigenen Mist“ gewachsen, sondern wurde „geklaut“ von http://superwallah.twoday.net/stories/6377326/

Hier das Skript:

#!/bin/bash
# Copyright 2010 Superwallah, this code is distributed under GPL 3.0
if [ "$1" = "" ] ; then
echo "usage: ./xing2outlook.sh vcards-XING.vcf"
exit
fi
# wget all images
wget -N $(gawk -F";" '/PHOTO/ { print substr($3,11,length($3)-11)}' $1 )
# correct charset settings in XING vcards
sed -e 's/ISO-8859-1/utf-8/g' $1 > neuesvcard_out.vcf
# delete empty address lines
sed -e '/;;;;;;/d' neuesvcard_out.vcf > XING4Outlook.vcf
# convert all pictures into base64
for i in $( ls *.jpeg *.jpg *.gif 2> error.log ); do
base64 --wrap=0 $i > $i.b64
# BASE64 enthält /, daher ! sed-Trennzeichen
sed -e 's!VALUE=URL;TYPE=JPEG:.*'$i'!ENCODING=b;TYPE=JPEG:'$(cat $i.b64)'!g' XING4Outlook.vcf > neuesvcard_out.vcf
cp neuesvcard_out.vcf XING4Outlook.vcf
done
rm neuesvcard_out.vcf
 
Hinterlasse einen Kommentar

Verfasst von - Juni 7, 2011 in IT

 

Schlagwörter: , ,