Update: Tesseract 3

Die professionelle OCR-Software Tesseract wurde am 1. Oktober in Version 3 veröffentlich. Sehr wichtig und neu hinzugekommen ist die Layout-Analyse und das Abspeichern des korrekten Layouts im hOCR-Format.

Leider ist diese Funktion nicht dokumentiert. Aktiviert wird die hOCR-Ausgabe, indem im Verzeichnis tessdata/configs die Datei „hocr“ (ohne Endung .txt!) angelegt wird mit dem Inhalt

tessedit_create_hocr 1

Aufgerufen wird Tesseract dann mit dem Wort „hocr“ am Ende der Parameterliste, also

tesseract Bild.tiff Ausgabe -l Sprache hocr

Mittels hocr2pdf können PDFs mit Text-Overlay erzeugt werden, wie man sie beispielsweise aus der Google-Büchersuche kennt. Durch die Möglichkeit, den erkannten Text im hOCR-Format zu speichern ist Tesseract nunmehr ein vollständiges Texterkennungsprogramm mit Strukturanalyse.

Die Geschwindigkeit und Erkennungsgenauigkeit sind überdurchschnittlich.

Advertisements

Visual Studio-Applikationen anfällig für Binary Planting

Einem Bericht von ACROS Security zufolge können sämtliche mit Visual Studio kompilierten MFC-Applikationen anfällig für das sogenannte Binary Planting sein. Dabei wird eine ausführbare Binärdatei lediglich in einem Programmverzeichnis hinterlegt und beim nächsten Programmstart ohne Zutun des Benutzers ausgeführt.

Dem Binary Planting liegt das Fehlverhalten einiger Anwendungen zu Grunde, beim Anfordern einer DLL-Datei keinen vollständig definierten Pfad (FQPN – Fully Qualified Path Name) anzugeben sondern die Suche nach der passenden DLL-Datei entweder Windows zu überlassen oder zunächst selbst im lokalen Verzeichnis nachzusehen.

Nun ist es nicht selten, daß ein Benutzer U mit eingeschränkten Rechten zwar bestimmte Programme oder Betriebssystemaktionen nicht ausführen darf, die nur für den Administrator A vorgesehen sind. Allerdings ist es bei schlechter Systemkonfiguration oft möglich, in den Programmverzeichnissen Daten ablegen zu können – unter anderem maliziöse DLL-Dateien. So kann beispielsweise eine DLL von A versteckt in einem Netzlaufwerk abgelegt und im gleichen Verzeichnis eine Visitenkarten-Datei für das installierte Kalenderprogramm gespeichert sein. Klickt ein Administrator oder anderer Benutzer mit erweiterten Rechten auf die Visitenkarten-Datei um sie in seinem Kalender zu importieren, sucht ein verwundbares Kalenderprogramm die von ihm benötigten Dateien zunächst auf dem Verzeichnis im Netzlaufwerk und lädt sie. Auf diese Weise kann ein unprivilegierter Benutzer U einen Administrator unbemerkt dazu veranlassen, die DLL-Datei mit Administrationsrechten auszuführen.

Binary Planting

Binary Planting

Bei Programmen, die z.B. vom Taskplaner regelmäßig automatisch aufgerufen werden, kann ein unprivilegierter Nutzer oder Gast im System sogar ohne jegliches manuelles Zutun eines Administrators gefährliche Dateien starten und das System kompromittieren.

Diese Problematik wurde unter anderem von Stuxnet erfolgreich genutzt, um unbemerkten Zugang zum System zu ermöglichen.

Da sowohl Windows als auch beliebige Programme verwundbar sein können, muss jedes Softwareprogramm von seinem Hersteller aktualisiert werden. Dies war der Grund für die Update-Welle populärer Softwareprogramme Anfang September 2010.

ACROS Security fand nun heraus, daß sämtliche Programme, die mit Visual Studio unter Nutzung der MFC (Microsoft Foundation Classes) kompiliert wurden, anfällig für Binary Planting sind. Bei dynamisch gelinkten PE-Dateien kann der Fehler relativ leicht durch ein Update der Microsoft VC++ Redistributable-Pakete auf dem Einsatzsystem der Software behoben werden. Dynamisch gelinkte PE-Dateien rufen die MFC-Dateien aus dem Redistributable-Paket auf. Daher reicht ein einmaliges VC++ Redist-Update, um sämtliche dynamisch gelinkten PEs vor dieser Art des Binary Planting zu schützen.

Schwieriger hingegen wird es bei statisch gelinkten Dateien. Der für die Binary Planting-Schwachstelle verantwortliche MFC-Code ist bei statisch gelinkten PEs im Programm integriert. Der Nutzer ist auf ein Softwareupdate von Seiten der Herstellers angewiesen, jeweils für jedes installierte Programm, das mit Visual Studio und MFC-Unterstützung kompiliert wurde.

Microsoft Patchday und Stuxnet

An heutigem Patchday hat Microsoft eine fast rekordverdächtige Zahl von 49 Sicherheitslücken in Windows geschlossen, die größtenteils von Stuxnet zur Infektion von Windowssystemen genutzt wurden.

Die von Stuxnet genutzten Injektionslücken -zumindest die bisher bekannten – wurden bereits zuvor geschlossen, dieses Mal handelte es sich bei den Bugfixes hauptsächlich um sogennante Privilege Elevation Bugs (Auch als Privilege Escalation bezeichnet), die das Ausführen von Schadcode mit höheren Rechten als jenen des Accounts, unter dem sie ausgeführt werden. In der Regel läuft ein Schadprogramm nach Ausnutzung eines solchen Bugs de facto mit Administrator-Rechten. Mindestens eine von Stuxnet genutzte Lücke bleibt auch knapp 5 Monate nach offiziellem Bekanntwerden des Schadprogramms noch offen und soll laut Microsoft erst zu einem späteren Zeitpunkt behoben werden.

Angetestet: Windows schneller und sicherer mit AppBooster

Unnötige Dienste und Programme, die sich ohne den Benutzer zu fragen in die Startleiste eintragen und bei jedem Systemstart mitgeladen werden, machen die meisten Windows-Rechner im Laufe der Zeit immer langsamer.

Windows-Nutzer können das Starten ungewünschter Programme beim Hochfahren verhindern, indem sie als Administrator den Befehl „msconfig“ unter „Start“ > „Ausführen“ eingeben. Dienste können über die Verwaltung in der Systemsteuerung permanent abgestellt werden, indem man sie – ebenfalls als Benutzer mit Administratorrechten – per Rechtsklick auswählt und den „Starttyp“ auf „Manuell“ oder „Deaktiviert“ ändert.

Dies ist allerdings für die meisten Nutzer zu umständlich, und die den einen oder anderen Service wie die Bluetoothdienste oder die Druckerwarteschlange braucht man vielleicht ab und zu.

Das in der Grundversion kostenlos erhältliche Programm AppBooster der Firma Appsmaker erledigt das Ausschalten und Neustarten beliebiger Windows-Dienste und Programme auf Knopfdruck. Während der Benutzer beispielsweise ein HD-Video von einer BluRay-CD ansieht oder ein Computerspiel ausführt, kann AppBooster automatisch unnütze Dienste und Programme abschalten um mehr RAM und CPU-Leistung freizumachen.

Nach Beendigung des Filmabends oder des Spieleabenteuers werden die Dienste von AppBooster ohne weiteres Zutun des Nutzers wieder gestartet.

Fazit: AppBooster ist eine durchdachte und ausgereifte Software. Ich fragte mich beim ersten Lesen der Beschreibung, warum zuvor noch niemand auf die Idee gekommen war, Windows-Dienste und Programme automatisch abzuschalten während ein bestimmtes Programm ausgeführt wird, das besonders viel Performance beansprucht.

Nachteilig erschien mir lediglich, daß AppBooster durch sein modernes Aussehen ebenfalls mehr Speicher als nötig belegt und somit womöglich einige der Performancegewinne wieder zunichte macht. Während Steuerprogramme, über 100 Megabyte RAM verbrauchende Grafikkartentreiber-Assistenten und Bluetooth-Software wohl nur bei den wenigsten PC-Benutzern regelmäßig benötigt sind und daher nicht bei jedem Systemstart geladen werden sollten, wäre gerade ein Programm wie AppBooster ein idealer Kandidat dafür.  Die Entwickler könnten beispielsweise zusätzlich zum normalen AppBooster-Programm für die Einstellungen und Hilfsfunktionen noch eine möglichst speichersparende, einfach gehaltene und kompakte Software für die Taskleiste in zukünfigen Versionen hinzufügen, die nur dem Überwachen der Prozesse und manuellen Auswählen gewünschter Profile dient.

Appsmaker ist auf Deutsch und Englisch erhältlich und kann kostenlos auf der Appsmaker-Homepage heruntergeladen werden.

Neues von Stuxnet

Ralph Langner hat auf der Internetseite seiner Firma Langner Communications eine hervorragende kurze Abhandlung über das Stuxnet-Dossier von Symantec veröffentlicht.

Während Symantec den Windows-Teil der Schadsoftware gut untersucht hat, ist dem Autor offenbar nicht bewußt, daß Stuxnet womöglich eine völlig neue Generation von Schadsoftware inspirieren könnte.

Iranische Anlagen scheinen zwar nach heutigem allgemeinem Kenntnisstand Ziel von Operation Myrtus gewesen zu sein. Stuxnet selbst wird anscheinend – insbesondere nachdem zumindest 4 der von ihm ausgenutzten Windowsbugs geschlossen sind – auch keinen weiteren Schaden mehr anrichten können. Das Problem besteht vielmehr darin, daß black-hat-Hacker durch Analyse des PLC-Schadcode mit zukünftigen Schadprogrammen nicht nur iranische, sondern beliebige PLC-basierte Industrieanlagen auf der ganzen Welt angreifen können. Es geht also viel weniger um herkömmliche Computer und den Windows-Teil von Stuxnet, als die Industrieanlagen und den PLC-Schadcode, für den Stuxnet nur Transportmedium ist.

Mancherorts scheint das immer noch nicht angekommen zu sein, und es wird weiterhin von bloßem „Datendiebstahl“ oder „Angriff auf SCADA-Software für Windows“ gesprochen.

Ubuntu 10.10 erschienen

Heute, dem 10.10.2010, erschien Ubuntu in der Version 10.10.

Heruntergeladen werden kann es hier: http://www.ubuntu.com/desktop/get-ubuntu/download

Mit dabei ist ein neues Softwarecenter, um die Installation von Programmen aus dem Repository weiter zu vereinfachen und Linux-Neulingen entgegenzukommen.

Außerdem wurde die Installation erleichter.

Ubuntu kommt mit aktuellem Linux-Kernel daher, die Netbook-Variante mit dem neuen Unity-Desktop.

Im Vergleich zu anderen Linux-Distributionen für den Desktop ist Ubuntu recht ausgereift und sicherlich für jeden empfehlenswert, der Lust auf Neues hat und eine Live-CD oder einen Live-USB-Stick booten möchte, ohne Risiko und ohne am bestehenden System etwas zu ändern.

Ist Linux für Desktop-Benutzer brauchbar?

Den ersten Kontakt mit Linux und *BSD hatte ich ihm Jahr 2000, vielleicht war es auch Ende der 90er. In einer Zeitschrift des Heise-Verlags wurde eine Linux-Distribution angeboten. Das Betriebssystem machte mich neugierig da ich mit Windows 95 und Windows 98 nicht besondeors zufrieden war. Nach einer sehr komplizierten Installation – es gab damals keinen Textmodus-GUI-Installer – war es dann soweit: der 486er mit 16MB RAM bootete und forderte mit einem kleinen Textprompt die Eingabe eines Benutzernamens und Passworts.

Da ich bis dahin nur den C64 und später DOS und Windows kannte, wartete ich vergebens auf eine graphische Oberfläche. Nach einigen Recherchen fand ich heraus, daß dazu erst ein „X“ konfiguriert werden müsse und anschließend mit „startx“ aufgerufen werden könne. Na gut, warum nicht. Einige Stunden und gefühlte zweihundert Konfigurationsdateien später begrüßte mich ein „X“-förmiger Cursor, der sich ab und zu in eine pixelige Hand verwandelte. Ein primitiv anmutender Window-Manager ermöglichte das Starten eines Terminal-Programms. Es kam mir vor, als würde man als DOS-Benutzer Windows installieren, nur um ein graphisches DOS-Eingabefenster starten zu können.

Ich lernte zwar schnell mit der Kommandozeile umzugehen und auch einige Programme zu starten, allerdings konnte ich als Privatanwender mit diesen Programmen nichts anfangen. Ich hatte das Gefühl, viel Zeit mit einer sinnlosen Beschäftigung verschwendet zu haben.

In unregelmäßigen Abständen, ungefähr jedes halbe Jahr, probierte ich seitdem eine Linux-Distribution aus, darunter Slackware, Zenwalk, Debian, Gentoo, Ubuntu und RedHat. Mit jedem Release verbesserte sich die Benutzbarkeit der jeweiligen Distribution (die in meinen Augen völlig sinnlose Zeitverschwendung namens „Gentoo“ ist hier eine Ausnahme). Auch die Anzahl und Qualität der verfügbaren Programme nahm zu.

Als ich 2006 aus verschiedenen Gründen vollständig auf Linux umstieg, entschied ich mich für Debian. Debian hat bis heute eine der umfangreichsten Paketarchive im Internet, ist schnell, stabil und leicht zu bedienen. Die Konfigurationsdateien und -verzeichnisse und Paketdateien und -verwaltung sind logisch aufgebaut und schnell zu erlernen. Außerdem hat Debian einen hervorragenden Online-„Support“ durch zahlreiche Nutzer in den Foren, Manuals und HowTos.

Ende 2008 mußte ich wegen eines bestimmten Softwareprogramms der Firma SIEMENS, das auch unter WINE nicht lauffähig ist, auf Windows umsteigen. Ich installierte Windows XP, das meiner Ansicht nach noch immer das schnellste und nach den zahlreichen Updates stabilste moderne Windows-Betriebssystem ist, das ohne viel unnötige Spielereien auskommt.

Nach dem Umstieg auf Windows bemerkte ich eine erhöhte Performance. Als Window-Manager hatte ich unter Linux Openbox genutzt, dennoch erschien mir die Windows-Oberfläche flüssiger. Auf dem Rechner, ein AMD X2 4800 mit 2048MB RAM, ließen sich KDE und GNOME nur sehr zäh bedienen. Anstatt einen benutzbaren Netzwerkmanager, eine venünftig aufgebaute „Systemsteuerung“ oder wenigstens einheitlich konfigurierbare Programmmenüs zu entwickeln, schienen sich die Programmierer lieber in ruckeligen Grafik-Spielereien (Desktop als drehbarer 3D-Würfel etc.) zu verlieren, als gäbe es sonst nichts zu verbessern.

Um nicht voreilig zu urteilen, entschloß ich mich auch während der Benutzung von Windows regelmäßig zu Tests von Linux-Live-CDs. Außerdem hatte ich es ab und zu Freunden und Bekannten empfohlen, die kein Windows mehr verwenden wollten. Insbesondere auf älteren Rechnern (z.B. ein Pentium 4 mit einem dreiviertel Gigabyte RAM)  lief Linux unglaublich langsam und war im Vergleich zu Windows XP sehr speicherhungrig. Es schien, als hätte man die Wahl entweder auf vollwertige Desktopumgebungen wie KDE und GNOME zu verzichten um wenigstens einfache Programme starten zu können, oder die Desktopumgebungen als einzige Software auf dem Rechner laufen zu lassen und sonst nichts. Linux war auf diesen Rechnern keine nutzbare Alternative.

Nun habe ich mich wieder zu einem Test entschieden. Ich testete Debian 5 Live, Ubuntu 10.04 und Ubuntu 10.10 Beta.

Debian erschien mir subjektiv schneller und flüssiger als Ubuntu. Außerdem ist Debian in meinen Augen ein richiges Linux, das für versierte Benutzer mehr Flexibilität bei der Installation und späteren Wartung als andere Betriebssysteme bietet.

Alle drei Distributionen waren nicht in der Lage die eingebaute Netzwerkkarte zu nutzen. Es fehlten Treiber. Auch die Grafikkarte wurde nur im unbeschleunigten Modus betrieben da Treiber fehlten. Ubuntu bot zumindest ohne weiteres Zutun des Nutzers an, die Treiber zu installieren. Allerdings war auch hierzu die nicht benutzbare Netzwerkverbindung nötig.

Die GNOME-Oberfläche fühlte sich zäh an. Im Netzwerk-Manager von Ubuntu wurde zwar die gefundene, aber nicht initialisierte Netzwerkkarte angezeigt. Allerdings fehlte GNOME ein Hardwaremanager wie man ihn aus Windows kennt vollständig, und auch in dem Netzwerk-Manager waren nicht einmal die verfügbaren Interfaces vermerkt, geschweige denn der Status der Hardware. Daß die Netzwerkkarte nicht funktionierte weil Treiber fehlten ließ sich nur umständlich durch Eingabe von zwei Kommandozeilenbefehlen mit bestimmten Parametern und anschließender Web-Suche nach der Fehlermeldung in Erfahrung bringen.

Der GNOME-Desktop erwies sich außerdem als unflexibel, da viele Konfigurationseinstellungen nur ueber den gconf2-Konfigurationseditor erreicht werden konnten, der jedoch dermaßen umfangreich und schlecht dokumentiert war, daß man ihn dem Otto-Normal-Benutzer nicht zumuten kann. Unter Benutzerfreundlichkeit wird etwas anderes verstanden.

Debian war zu einer schnelleren Lösung entschlossen: Nach dem Start der graphischen Oberfläche konnte es den angeschlossenen Monitor nicht richtig ansteuern und zeigte in den Grafikeinstellungen an, daß überhaupt kein Monitor angeschlossen sei und deshalb auch keine Änderungen vorgenommen werden könnten. Durch die fehlerhafte Monitoransteuerung wurde jedoch bei den getesteten Geräten permanent das Signal geändert und das Bild verschob sich um einige Millimeter, sodaß auch die monitorinterne Auto-Kalibrier-Funktion an den getesteten Geräten den Dienst verweigerte und stets frühzeitig abbrach.

Den Computer ohne Netzwerkzugang hoffte ich zumindest für Textverarbeitung nutzen zu können. Das mitgelieferte OpenOffice startete langsam, fragte beim ersten Start nach zahlreichen persönlichen Informationen und drängte anschließend zu einer per Default aktivierten Registrierung bei Sun/Oracle. Nach fast zehn Klicks in Openoffice angekommen wurde ein Beispieltext verfasst und die Seitennummerierungsfunktion getestet. Diese ging in OpenOffice nur auf sehr umständliche Weise. Zunächst mussten Fußnoten eingefügt und neue Vorlagen erstellt werden, um die Seitenzahlen abwechselnd auf der rechten und linken Seite eintragen zu lassen. Für die Suche dieser Möglichkeit und Umsetzung des im Internet angebotenen Tutorials waren ungefähr 15 Minuten nötig. Da die ersten beiden Seiten im Beispieldokument für Deckblatt und Index standen, sollten die Seitenzahlen erst ab Seite 3 beginnen. Dazu ließ sich innerhalb weiterer 10 Minuten in OpenOffice keine Funktion finden und das Experiment wurde beendet.

„Linux“ hatte mir wieder einmal bewiesen, daß es für den Desktopeinsatz unbrauchbar ist. Während Windows und OSX meines Erachtens als richtige Desktop-Betriebssysteme zu bezeichnen sind, deren Zweck darin besteht andere Programme zu starten, diese vom Benutzer anschaulich und intuitiv verwalten zu lassen und die Kluft zwischen Hard- und Software möglichst transparent für den Anwender zu überbrücken, erfordern die Linux-Desktop-Distributionen selbst die Zuwendung des Benutzers. Obwohl die Windows-Benutzer vor nicht all zu langer Zeit von Linux-Anwendern als „Klicki-Bunti-Fraktion“ bezeichnet wurden, erfordern die modernen Linux-Desktops weitaus mehr Klickerei als Windows oder OSX. Vor lauter Beschäftigung das System zusammen zu halten, kommt der Anwender nur schwerlich in die Lage etwas Produktives auf dem Gerät zu verrichten. Auch die unter einem frisch installierten Desktop-Linux im Hintergrund laufenden Dienste brauchen sich in Hinsicht auf Anzahl, RAM- und CPU-Verbrauch hinter den Windows-Diensten nicht zu verstecken.

Auch die Netbook-Distribution MeeGo lief auf dem Testgerät spürbar langsamer als Windows 7. Über die Paketverwaltung bzw. den MeeGo-„Marktplatz“ waren

Fazit: Der Linux-Kernel und die auf ihm laufende „freie Software“, die von Firmen und Privatpersonen zu den jeweiligen Distributionen zusammengepackt wird, ist als Ganzes betrachtet ein respektables Stück Software, daß zweifelsohne mit großem Aufwand von zahlreichen Freiwilligen und Profis auf der ganzen Welt hergestellt wurde. Auf Server-Computern ist Linux meines Erachtens eines der besten Betriebssystem und glänzt durch Stabilität, hohe Geschwindigkeit und Benutzerfreundlichkeit. Eine sehr respektable Leistung für ein kostenloses Betriebssystem, das für praktisch alle sinnvoll nutzbaren Rechnerarchitekturen verfügbar ist. Auf Desktopcomputern hingegen ist Linux noch immer eine chaotisch anmutende Baustelle und wird es voraussichtlich auch in den nächsten Jahren bleiben. Linux auf dem Desktop ist subjektiv unansehlicher als OSX, objektiv langsamer als Windows und unstabiler als beide. Unzählige Forks (Openbox, Fluxbox, Blackbox, …) zerstreuen die Leistungen der Programmierer anstatt sie zu bündeln, fehlende Standards verunsichern Anwender. Anwendungen verwenden unzählige Abhängigkeiten und unterschiedliche GUI-Libraries, sodaß KDE-Benutzer nicht selten noch zusätzlichen RAM für parallel geladene GTK-Libraries freimachen müssen und andersherum (GNOME mit QT-Applikationen).  So, wie man in Windows lange Zeit Outlook und den Internet Explorer nicht los wurde, wird man bei zahlreichen Linux-Distributionen Programme wie Evolution nicht mehr los, ohne das ganze System wegen unaufgelöster Abhängigkeiten zu zerstören. Es würde den Linux-Distributionen gut tun, auf modularere Entwicklung zu setzen und sich an den „Portable Apps“ für Windows zu orientieren, die sich großer Beliebtheit erfreuen. Der Quellcode der meisten Applikationen unter Linux ist zwar frei einseh- und modifizierbar, doch auf die „Intelligenz der Herde“ kann man sich bei den unzähligen Forks und parallel laufenden Projekten nicht verlassen. Linux bietet auch keine langfristige Sicherheit. Während das Argument, man könne durch offenen Quellcode jederzeit ein Programm selbst weiterentwickeln und den eigenen Wünschen anpassen, für Großfirmen bei populären Programmen zumindest in der Theorie eine gewisse Gültigkeit besitzt, ist es bei Privatanwendern schlicht und ergreifend falsch. Anwender wollen mit und nicht an dem Computer arbeiten. Wer erst einmal in die Tiefen der Linux-Konfigurationsdateien hinabsteigen mußte und möglicherweise auf einen Bug stieß, den er als Bug Nr. 713975349 in der Hoffnung auf Besserung im jeweiligen Bugtracker eintragen durfte, sehnt sich nach einem proprietären Betriebssystem zurück, in dem es ausreicht den Datenträger einzulegen, Setup zu starten und zwei Mausklicks später eine professionell programmierte Software verwenden zu können. Die großen Software-Repositories und die einfache Online-Installation daraus durch Paketmanager ist eine nützliche Erfindung. Sobald ein Benutzer jedoch Software benötigt die nicht in den Repositories ist, muß er sich meist den mühsamen Weg des Selbstkompilierens machen, bei dem ein Programm nicht selten 10 Abhängigkeiten hat, die jeweils nochmals 10 Abhängigkeiten aufweisen. Den Benutzer interessiert es nicht, ob die Software „frei“ ist und irgendwelchen FSF/GNU/GPL-Kriterien genügt oder nicht. Selbst Linux Torvalds, der Erfinder von Linux, distanziert sich mittlerweile von Open-Source-Fanatikern die nicht einsehen wollen, daß Linux neben seinen Vorteilen auch Nachteile hat, und so manche „proprietäre Software“ einfach besser programmiert ist als ihr „freies“ Gegenstück – falls es denn existiert. Dem durchschnittlichen Benutzer ist es auch egal, ob der Hersteller oder die Kernelentwickler schuld sind wenn seine Hardware nicht Dienst tut – ihm kommt es nur darauf an daß sie funktioniert und er mit ihr arbeiten kann. Es ist geradezu bezeichnend, daß eines der qualitativ hochwertigsten und fortgeschrittensten Projekte für Linux eine Software ist, die das Ausführen von Windows-Programmen unter Linux ermöglicht.

Vorherige ältere Einträge

%d Bloggern gefällt das: