Unter Linux eine Liste der größten Dateien ausgeben

Folgende Problemstellung: Es soll unter Linux eine nach Dateigröße sortierte Liste von Dateien ermittelt werden, die eine bestimmte Größe überschreiten.

find /srv -type f -size +50000k

Mit dem Find-Befehl wird eine Liste aller Dateien im Verzeichnis /srv und den darin enthaltenen Unterverzeichnissen ermittelt, die größer als 50000 Kb sind. Das Ergebnis ist noch nicht ganz zufriedenstellend, da nur die Dateien ausgegeben werden, nicht aber ihre Größe. Ebenfalls sind die Dateien noch nicht sortiert. Dies lässt sich erreichen, indem man das Ergebnis des Find-Befehls mithilfe des Befehls xargs mit dem ls Befehl kombiniert.

find /srv -type f -size +50000k| xargs ls -lahS

Jetzt erhält man die gewünschte Liste mit den Dateien im Verzeichnis /srv, die größer als 50000Kb sind – sortiert nach der Dateigröße.

Nach dem Update von TYPO3 auf die Version 4.3 funktioniert ImageMagick nicht mehr

Problem:

Nach dem Update von TYPO3 auf die Version 4.3 funktioniert ImageMagick 4.2.9 nicht mehr.

Symptome:

Im Backend werden z.B. keine Vorschaubilder von Grafiken mehr generiert. Stattdessen
erscheint ein Bild mit dem Hinweis: No thumb generated!

Im Install-Tool unter dem Menüpunkt Image Processing schlagen die Grafikoperationen fehl.

Lösung:

Ändern der neu hinzugekommenen Einstellung im_useStripProfileByDefault im Install-Tool unter All Configurations von 1 auf 0.

Vorher:

[‘GFX’][‘im_useStripProfileByDefault’] = 1

Nachher:

[‘GFX’][‘im_useStripProfileByDefault’] = 0

Quelle:
http://www.typo3forum.net

Nähere Infos:
http://bugs.typo3.org

Minimal CPU Benchmark für Linux

Nachdem ich heute zwei unterschiedliche virtuelle Server von Strato geordert hatte, suchte ich nach einer Möglichkeit, mit wenig Aufwand die CPU-Leistung der virtuellen Server zu vergleichen. Im Forum www.linux-club.de fand ich einen Einzeiler, mit dem die Zeit ermittelt wird, die Zahl Pi auf 1000 Stellen zu berechnen.

time echo "scale=1000; 4*a(1)" | bc -l

Hier noch ein paar Ergebnisse:

Root KVM vServer Netcup S v6
4,99€ / Monat
40GB HD RAID1
2GB RAM
1 vCore  Westmere E56xx/L56xx/X56xx (Nehalem-C) cpu MHz : 2000.000

(25.08.2015)
real 0m0.613s
user 0m0.592s
sys 0m0.016s

(29.10.2015)
real 0m0.631s
user 0m0.620s
sys 0m0.004s

(29.10.2016)
real 0m0.660s
user 0m0.628s
sys 0m0.028s

Root Server Linux Small (bkm-v1411.1.29)  (Hardware)
19,00 €/Monat
500GB HD Raid 1
4 GB Ram
Dual-Core AMD Opteron(tm) Processor 1214 HE cpu MHz : 1000.000

(29.12.2014)
real 0m0.764s
user 0m0.760s
sys 0m0.000s

(29.10.2015)
real 0m0.763s
user 0m0.756s
sys 0m0.000s

Strato Virtual Server Linux V20-49 (1609.1de)
10,00€/Monat
300GB HDD
Min 2GB RAM, max 4GB RAM
2 vCores (Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz  cpu MHz:1998.828 )

(29.10.2016)
real 0m0.376s
user 0m0.375s
sys 0m0.000s

 

Virtual Server Linux Level 1 Site (Wandel.1406.ERG)
8,99 €/Monat
200GB HDD
Min 2GB RAM, max 4GB RAM
2 vCores (Quad-Core AMD Opteron(tm) Processor 2347 HE cpu MHz : 379.443)

(29.12.2014)
real 0m2.272s
user 0m0.932s
sys 0m0.004s

 

Virtual Server Linux Level 1 Site (Wandel.1406.ERG)
8,99 €/Monat
200GB HDD
Min 2GB RAM, max 4GB RAM
2 vCores (Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz cpu MHz : 239.648)

(29.12.2014)
real 0m2.638s
user 0m1.069s
sys 0m0.005s

(29.10.2016)
aktuelle CPU MHz: 1998.828!!!
real 0m0.412s
user 0m0.394s
sys 0m0.012s

 

Virtual Server Linux Level 1 Site (Wandel.1406.ERG)
8,99 €/Monat
200GB HDD
Min 2GB RAM, max 4GB RAM
2 vCores (Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz cpu MHz : 559.179)

(29.12.2014)
real 0m1.032s
user 0m0.388s
sys 0m0.044s

(29.10.2015)
real 0m1.100s
user 0m0.394s
sys 0m0.000s

Strato Virtual Server Linux Level 1 (v1304.1)
7,99 €/Monat
50GB HDD
Min 1GB RAM, max 2GB RAM
1 x Quad-Core AMD Opteron(tm) Processor 2347 HE 1425.000 MHz (physikalische CPU, nicht die nutzbaren Kerne)

(31.10.2013)
real 0m1.225s
user 0m0.921s
sys 0m0.005s

Strato Virtual Server Linux Level 2UP
14,90 €/Monat
100GB HD
Min 2GB RAM, max 4GB RAM
1 x Octo-Core AMD Opteron(tm) Processor 6128 1500.105 MHz (physikalische CPU, nicht die nutzbaren Kerne)

(31.10.2013)
real 0m1.278s
user 0m0.969s
sys 0m0.006s

(02.12.2012)
real    0m1.476s
user    0m1.224s
sys     0m0.023s

V-PowerServer S (v5.1)
7,90 €/Monat
25GB HDD
2048 MB RAM (physikalisch)
1 x Quad-Core AMD Opteron(tm) Processor 2347 HE 1431.598 MHz (physikalische CPU, nicht die nutzbaren Kerne)

(31.10.2013)
real 0m1.267s
user 0m0.958s
sys 0m0.008s

(01.12.2012)
real 0m1.674s
user 0m1.324s
sys 0m0.008s

STRATO V-PowerServer S (v4.1)
9,90 €/Monat
(20.02.2010)
real 0m1.793s
user 0m1.405s
sys 0m0.035s

(09.05.2011)
real 0m1.371s
user 0m1.090s
sys 0m0.006s

STRATO V-PowerServer L (v4.3)
29,90 €/Monat
50GB HDD
4096 MB RAM (physikalisch)
2 x Quad-Core AMD Opteron(tm) Processor 2347 HE 1670.198 MHz (physikalische CPU, nicht die nutzbaren Kerne)

(31.10.2013)
real 0m0.953s
user 0m0.942s
sys 0m0.002s

(01.12.2012)
real 0m0.950s
user 0m0.940s
sys 0m0.005s

(09.05.2011)
real 0m0.987s
user 0m0.978s
sys 0m0.008s

(20.02.2010)
real 0m0.680s
user 0m0.674s
sys 0m0.007s

STRATO V-PowerServer L (v5.3)
24,90 €/Monat

(09.05.2011)
real 0m1.074s
user 0m1.067s
sys 0m0.008s

STRATO V-PowerServer A (v2.5)
(20.02.2010)
real    0m0.875s
user    0m0.866s
sys     0m0.007s

STRATO PowerServer MR (v4.3)  (Hardware)

(20.02.2010)
real    0m1.695s
user    0m1.688s
sys     0m0.008s

ThinClient mit Via 800 Mhz CPU

(20.02.2010)
real    0m9.423s
user    0m6.800s
sys     0m0.020s

Raspberry Pi

(10.02.2013)
real    0m4.566s
user   0m3.730s
sys     0m0.020s

PC mit Intel Core 2 CPU 1600 Mhz CPU

(02.12.2012)
real    0m0.600s
user    0m0.596s
sys     0m0.004s

Dell Poweredge 2950  (Hardware)
Dual-Quad Core Intel(R) Xeon(R) CPU E5430 @ 2.66GHz  cpu MHz : 2660.011

(29.12.2014)
real 0m0.489s
user 0m0.488s
sys 0m0.000s

Intel Atom  (Hardware)
Quad Core Intel(R) Atom(TM) CPU D525 @ 1.80GHz cpu MHz : 1800.150

(29.10.2015)
real 0m1.759s
user 0m1.752s
sys 0m0.004s

Strato Server Cloud VM
1CPU 1GB Ram 20GB HDD
Intel(R) Xeon(R) CPU E5-2630 0 @ 2.30GHz cpu MHz : 2300.050

(29.10.2015)
real 0m0.666s
user 0m0.652s
sys 0m0.008s

Wie in der Überschrift erwähnt, ist dies nur ein Minimal CPU Benchmark. Er liefert nur als Momentaufnahme grobe Anhaltspunkte über die Geschwindigkeit der CPU (eines CPU Cores) und ersetzt keineswegs einen vollständigen Benchmark, der alle Systemkomponenten einbezieht.

System State Backup von Windows Server 2008 mit DPM 2007 (Microsoft System Center Data Protection Manager 2007)

Trotz Installation von Service Pack 1 für DPM 2007 (Microsoft System Center Data Protection Manager 2007)  konnte keine System State Backup von Windows Server 2008 Maschinen erstellt werden. Als Fehlermeldung erschien folgende Fehler Meldung im DPM Server :

Betroffener Bereich: Computer\SystemState
Besteht seit: 29.09.2009 14:53:07
Beschreibung: Das Replikat von System State Computer\SystemState auf tfp01.uni-kl.de ist nicht mit der geschützten Datenquelle konsistent. Alle Schutzaktivitäten für die Datenquelle scheitern, bis das Replikat mit Konsistenzprüfung synchronisiert wird. Sie können Daten aus vorhandenen Wiederherstellungspunkten wiederherstellen, aber neue Wiederherstellungspunkte können erst erstellt werden, wenn das Replikat konsistent ist (ID 3106).
DPM-Fehler beim Erstellen der Systemstatussicherung. Wenn Sie versuchen, den Systemstatus eines Windows 2008 Server-Betriebssystems zu erstellen, überprüfen Sie, ob WSB (Windows Server Backup) installiert ist und ob ausreichend freier Speicherplatz auf dem geschützten Server vorhanden ist, um den Systemstatus zu speichern (ID 30214 Details: Interner Fehlercode: 0x809909FB).
Empfohlene Aktion: Prüfen Sie das Ereignisprotokoll auf dem geschützten Computer COMPUTERNAME und beheben Sie alle gemeldeten Fehler.
Synchronisieren Sie mit der Konsistenzprüfung.
Synchronisierungsauftrag mit Konsistenzprüfung ausführen.

Das Problem ließ sich wie folgt lösen:

Der Data Protection Manager 2007 Client greift für das System State Backup auf die Backup Funktion des Betriebssystems zurück. Bei Windows Server 2003 war ntbackup standardmäßig installiert. Bei Windows Server 2008 sind die Backup-Funktionen aber ein Feature, das zuerst aktiviert werden. Im Servermanger muss man bei den Features auf “Features hinzufügen” klicken und dann die Windows Server Sicherungsfeatures installieren.

Weiterhin ist das DPM 2007 Feature Pack (http://support.microsoft.com/kb/949779) Vorraussetzung für ein Windows Server 2008 Backup. Dieses Feature Pack sollte aber im Data Protection Manager 2007 Service Pack 1 includiert sein.

Entfernen des “Versteckt”(hidden)-Attributs von einem Ordner nach einer Robocopy-Aktion

Wenn man mit Robocopy ein komplettes Laufwerk in ein Verzeichnis auf einem anderen Datenträger kopiert, wird man feststellen, dass der Zielordner plötzlich versteckt ist. Das heißt, das Hidden-Attribut des Ordners ist gesetzt. In den Dateieigenschaften kann man dieses hidden Flag auch nicht deaktivieren. Die Checkbox ist ausgegraut.

Versteckt Attribut eines Ordners gesetzt aber nicht bearbeitbar
Versteckt Attribut eines Ordners gesetzt aber nicht bearbeitbar

Verursacht wird dieses Verhalten, wenn mit Robocopy Systemdateien wie z.B. der Ordner “System Volume Information”  mit in das Zielverzeichnis kopiert werden. Dadurch wird anscheinend im übergeordneten Ordner auch das System-Flag gesetzt und gleichzeitig das Hidden-Flag. Ein erster Versuch mit dem Kommandozeilenprogramm attrib

attrib -h ORDNERPFAD

das Hidden-Flag zu entfernen, schlug fehl. Die Fehlermeldung lautete “Systemdatei wird nicht zurückgesetzt”. Also versuchte ich mit

attrib -s ORDNERPFAD

das System-Flag des neuen Ordners zu entfernen. Aber auch hier erscheint die Fehlermeldung “Versteckte Datei wird nicht zurückgesetzt”.

Erst die Kombination der beiden Parameter brachte den gewünschten Erfolg.

attrib -s -h  /S ORDNERPFAD

Nun wurde das Hidden-Attribut des Ordners entfernt. Der Parameter /S sorgt dafür, dass auch rekursiv alle Unterordner und Dateien bearbeitet werden.

Exchange 2010 Beta Test als Single Server Installation

Dies ist ein kurzer Erfahrungsbericht/Anleitung, wie man die Betaversion von Exchange Server 2010 zu Hause (DSL-Router mit NAT) in einer virtuellen Testumgebung installiert und für den direkten Empfang und das direkte Senden von E-Mail konfiguriert.
Natürlich sollte man solch eine Konfiguration nicht in einer Produktivumgebung einsetzen. Eine Veröffentlichung eines Exchange Servers im Internet sollte immer über einen ISA Server geschehen. Zumal es sich bei einem DSL-Anschluss in der Regel um dynamische IP-Adressen handelt. Selbst wenn man eine quasi statische IP-Adresse von Kabeldeutschland hat, verweigern viele Mailserver die Annahme von Mails, die von einem Server mit einer IP aus einem dynamischen Adresspool kommt. Aber hier geht es ja nur um einen Test der Beta Version von Exchange 2010 in einer Testumgebung.

Im Netz bin ich über einen Bericht mit den Neuerungen im Exchange Server 2010 gestolpert. Dieser Bericht hat mich so neugierig gemacht, dass ich mir gleich zu Hause das ISO Image der 360 Tage Trial Version von Exchange 2010 heruntergeladen habe.
Ein erster Versuch, die Vorabversion von Windows Server 2008 R2 für die Installation zu nehmen, schlug fehl. Aber auf einem aktuellen Windows Server 2008 lief die Installation relativ problemlos. Zuvor wurde noch eine Testdomäne auf einem weiteren Windows Server 2008 R2 aufgesetzt, die nötigen Rollen und Features, die Exchange 2010 voraussetzt, installiert und dann das Hauptsetup gestartet.

Um Exchange 2010 richtig testen zu können, habe ich bei meinem Domainhoster für eine bisher nicht verwendete Domain einen neuen Hostrecord mit der IP-Adresse unseres DSL-Anschusses angelegt. Danach wurde noch ein MX Record erstellt, der auf den zuvor angelegten Hosteintrag zeigt.

Um Exchange mitzuteilen, für welche Domains Exchange zuständig ist, wurde in der Exchange Mangement Konsole unter den Organisationseinstellungen,  Hub Transport, ein neuer Eintrag bei den Accepted Domains erstellt. Hier wurde die oben im DNS konfigurierte Domain eingetragen (Abb. 1).

Konfiguration der Accepted Domains
Konfiguration der Accepted Domains (Abb. 1)

Nun ging es ans Testen.

Zuerst der Versuch, von Extern eine Mail an Exchange 2010 zu schicken. Kurze Zeit nach dem Absenden kam die Mail mit folgender Fehlermeldung zurück: #< #5.7.1 SMTP; 530 5.7.1 Client was not authenticated> #SMTP#

In der Standardkonfiguration von Exchange 2010 können also nur authentifizierte User eine Mail bei Exchange 2010 einwerfen. Im Blog des Exchange Server Teams wird gezeigt, wie man mit einer Einstellung erreichen kann, dass Exchange 2010 alle Mails aus dem Internet annimmt.
In der Exchange Server Managementkonsole sind unter “Server Konfiguration”“Hub Transport” die Eigenschaften des “Default Receive Connectors” aufzurufen und unter dem Tab “Permission Groups” der fehlende Haken bei Anonymous Users zu setzten (Abb.2).

Koniguration des Default Receive Connectors (Abb. 2)
Konfiguration des Default Receive Connectors (Abb.2)

Ein erneuter Test mit der neuen Outlook Web Access Oberfläche von Exchange 2010 zeigt, dass nun Mails von “Extern” ankommen.

Als nächtes wurde versucht, eine Mail aus Exchange 2010 an eine “externe” Mailadresse zu senden. Es zeigte sich aber, dass dies ebenfalls mit den Grundeinstellungen von Exchange 2010 nicht funktioniert. Stichwort für das Senden ist hier “Send-Connector”. Der entscheidende Hinweis kommt ebenfalls aus dem Blog des Exchange Server Teams.  In der Management Konsole von Exchange 2010 ist unter den “Organisationseinstellungen”, unter “Hub Transport” auf dem Tab “Send Connectors” ein neuer Send Connector anzulegen. Hier kann man nun einen beliebigen Namen angeben. Als Typ wählt man nur Internet aus. Auf der nächsten Seite des Assistenten fügt man nun einen Eintrag in die Adressliste hinzu. Diese Liste beinhaltet die Adressen, für die der Send Connector konfiguriert ist. Der Einfachheit halber kann man hier einfach ein * als Wildcard benutzen. So gilt der Send Connector für alle Adressen (Abb. 3).

Konfiguration des Send-Connectors
Konfiguration des Send-Connectors (Abb. 3)

Nachdem der Send Connector erstellt wurde, funktioniert nun auch das Versenden von E-Mail aus dem Exchange Server 2010.

Der für mich wichtigste Unterschied zu Exchange 2007 ist das neue Outlook Web Access (OWA) von Exchange 2010. Endlich werden andere Browser gegenüber dem Internet Explorer nicht mehr benachteiligt. Dies merkt man vor allem bei der Kalenderansicht und bei den nun vorhandenen Kontextmenüs unter Firefox (Abb. 4).

Outlook Web Access 2010 mit Firefox (Abb. 4)
Outlook Web Access 2010 mit Firefox (Abb. 4)

Kombination der Linux/Unix Befehle find und ls mit xargs

Ich wollte die Dateigröße aller Logdateien verschiedener vhosts eines Webservers anschauen. Mit

find /srv/ -name access_log.log

konnte ich mir die Logdateien anzeigen lassen. Nähere Informationen zu den Dateien inklusive Dateigröße erhoffte ich mir von folgendem Befehl:

/srv/ -name access_log.log | ls-alh

Die Pipe funktionierte leider nicht so, wie ich es erwartete. Ich bekam nur die Liste der Dateien im aktuellen Ordner. Eine Internetrecherche brachte dann die richtige Befehlskombination:

find /srv/ -name access_log.log| xargs ls -lah

HTML/XML Code in WordPress Kommentaren

Ein Leser des Blogs wollte seine Lösung eines Problems in Form von HTML/XML Code als Kommentar veröffentlichen. Dies misslang aber, da WordPress HTML/XML Code aus Sicherheitsgründen aus den Kommentaren herausfiltert. In anderen Blogs fand ich einen Hinweis, dass zur Anzeige von Code in Kommentaren zusätzliche Plugins nötig sind. Die wollte ich aber nicht installieren und maskierte den HTML/XML Code, den mir der Blogleser als Mail zugesendet hat. Damit ich dies nicht manuell machen musste, suchte ich mir eine Website, die HTML/XML Code online maskiert. Auf http://www.opinionatedgeek.com/dotnet/tools/htmlencode/encode.aspx kann man HTML Code per Knopfdruck online maskieren. Mit diesem maskierten HTML/XML Code konnte ich dann den Kommentar vervollständigen. Dies kann man natürlich auch schon selbst machen, wenn man HTML/XML Code in einem Kommentar posten möchte.

Data Protection Manager 2007 Backup von Exchange Server 2007 funktioniert nach Exchange 2007 Service Pack 1 nicht mehr

Nach dem ServicePack 1 für den Microsoft Exchange Server 2007 funktionierte das Backup des Exchange Mailboxclusters mit dem Microsoft System Center Data Protection Manager 2007 (DPM) nicht mehr.

Die Ereignisanzeige zeigte folgende Fehlermeldung:

Beschreibung: Das Replikat von Speichergruppe First Storage Group auf Mailboxserver1 ist nicht mit der geschützten Datenquelle konsistent. Alle Schutzaktivitäten für die Datenquelle scheitern, bis das Replikat mit Konsistenzprüfung synchronisiert wird. Sie können Daten aus vorhandenen Wiederherstellungspunkten wiederherstellen, aber neue Wiederherstellungspunkte können erst erstellt werden, wenn das Replikat konsistent ist. (ID 3106)
Fehler bei der Datenkonsistenzprüfung für LOGS von Speichergruppe First Storage Group auf Mailboxserver1 (ID 30146 Details: Unknown error (0xfffffdfe) (0xFFFFFDFE))
Empfohlene Aktion: Entweder sind die Datenbankdateien beschädigt, oder die ordnungsgemäßen Versionen folgender Dateien fehlen.
Wurde der Exchange-Server kürzlich aktualisiert, kopieren Sie die Dateien von diesem Server auf den DPM-Server.
eseutil.exe
ese.dll

Der DPM benutzt die Dateien eseutil.exe und ese.dll, um die Konsistenz des Backups der Exchangeserver Mailboxdatenbanken zu überprüfen. Diese Dateien sind kein Bestandteil des DPM. Sie müssen aber in ein Verzeichnis des Data Protection Managers kopiert werden, damit der DPM die Exchange Backups überprüfen kann. Die Versionen dieser Datein müssen mit der Version des Exchangeservers übereinstimmen. Das Servicepack 1 des Exchangeserver 2007 bringt auch neue Versionen der eseutil.exe und ese.dll Dateien mit. Die Dateiversionen dieser Dateien, die sich auf dem DPM befanden, waren nach dem Exchange 2007 SP1 nicht mehr kompatibel mit der neuen Exchange Version. Ein einfaches Kopieren der neuen SP1 Versionen von eseutil.exe und ese.dll vom Exchangeserver auf den Data Protection Manager scheiterte daran, dass der Exchangeserver ein 64bit-System ist und der Data Protection Manager ein 32bit-System. Da Microsoft die eseutil.exe und ese.dll Dateien nicht explizit zum Download anbietet, war zunächst guter Rat teuer. Woher sollte man jetzt eine 32bit-Version von eseutil.exe und ese.dll bekommen? Extra eine 32bit-Testversion von Exchange Server 2007 mit Service Pack 1 zu installieren erschien mir als zu umständlich.

Im Technet Blog fand ich den Hinweis, dass die Service Pack 1 Versionen der eseutil.exe und ese.dll Dateien in den Microsoft Exchange Server 2007 Management Tools 32-Bit enthalten sind, die man bei Microsoft downloaden kann. Diese wurden dann auf einem Testserver installiert und die dort enthaltenen neueren SP1 Versionen von eseutil.exe und ese.dll,

eseutil_ese_on_exchange

wurden dann auf den DPM Server kopiert.

ese_on_dpm

Von nun an funktionierte das Data Protection Manager 2007 Backup von Exchange Server 2007 wieder.

dpm_nach_neuer_ese

Die Microsoft Exchange Server 2007 Management Tools 32-Bit entpuppten sich beim Setup als 32bit Exchangeserver, was die Downloadgröße schon erahnen lies. Bei der Installation sollte man deshalb darauf achten, dass nur die Management Tools ausgewählt sind.

setup_exchange_sp1_managementtoolsl1

Wie kann man bei dem Typo3-Feature “Klick-vergrössern” die Größe der vergrößerten Bilder anpassen?

Als ich in Typo3 ein Bild mit der Funktion “Klick-vergrössern” vergrößern wollte, war das vergrößerte Bild kleiner als das Orginalbild. Auf der Weboberfläche fand ich keine Option, wo ich die Größe des vergrößerten Bild einstellen konnte.

Auf www.typo3-tutorials.org fand sich die Lösung des Problems.

Um die Maximalgröße der vergrößerten Bilder zu definieren, ist TypoScript notwendig. Im Constants Editor

kann man mit folgenden Zeilen die Größe des vergrößerten Bildes festlegen:

styles.content.imgtext.linkWrap.width = 500
styles.content.imgtext.linkWrap.height = 500

Die angegebenen Werte sind Maximalwerte. Die Bilder werden proportional skaliert und nicht verzerrt.