Dienstag, 3. Juni 2008
Geschrieben von Christian Boltz
in english, Linux, Reallife
um
01:15
| Kommentare (0)
| Trackbacks (0)
Zurück vom LinuxTagDer LinuxTag ist mal wieder vorbei. Wie gewohnt waren es schöne Tage in Berlin, an denen ich einiges lernte und auch etlichen Besuchern am openSUSE-Stand ihre Fragen beantworten konnte. Außerdem traf ich viele Leute, die ich vorher nur aus Mails kannte. Mindestens genauso schön waren die Abende - am Donnerstag auf der LinuxNacht (die offizielle LinuxTag Party), am Freitag mit dem openSUSE Team beim "openSUSE dinner". Vielen Dank an alle, die durch ihre gelungenen Vorträge, ihre interessanten Fragen und durchs Spendieren des Abendessens ;-) den LinuxTag zu einem gelungenen Event machten! Inzwischen habe ich auch meine Hausaufgaben gemacht und die GPG-Keys aller Teilnehmer der Keysigning-Party signiert. LinuxTag is over again. As usual, the time in Berlin was very good. I learned several things and was able to answer lots of questions at the openSUSE booth. Besides that, I met several people I only knew from mails before. The evenings were even better - thursday at the LinuxNacht (LinuxNight, the official LinuxTag party), friday at the openSUSE dinner with the openSUSE team. Thanks to everybody who made the LinuxTag an exciting event by giving good talks, asking interesting questions and by treating the dinner ;-) In the meantime, I did my homework and signed the GPG keys of all participiants of the keysigning party. Der LinuxTag in Bildern: / LinuxTag in pictures: Donnerstag, 29. Mai 2008
Geschrieben von Christian Boltz
in english, Linux, Reallife
um
16:31
| Kommentare (0)
| Trackbacks (0)
Berlin, Berlin, ich bin in Berlin!Wie schon vor ein paar Tagen angedroht ;-) bin ich seit heute in Berlin. Heute morgen habe ich mir zuerst ein paar Sehenswürdigkeiten angesehen, und seit ca. 10:30 Uhr bin ich auf dem LinuxTag zwischen Vorträgen, Besuchen an diversen Ständen und Dienst am openSUSE-Stand. Da ich gerade keine Lust für große Worte habe (ich habe schon genügend Leuten openSUSE nähergebracht ;-) lasse ich lieber Bilder sprechen. As already mentioned some days ago ;-) I'm at the LinuxTag in Berlin. This morning, I first did some sightseeing. Since about 10:30 am, I'm at the LinuxTag between talks, visiting boots and the openSUSE booth. I don't really want to write lots of text right now (I have already explained openSUSE to enough people ;-) and let images talk.
Sonntag, 25. Mai 2008LinuxTagDer LinuxTag steht vor der Tür (28.-31.5. in Berlin). Ich bin auch wieder dabei, und zwar vom Donnerstag bis Samstag. Falls noch jemand eine Eintrittskarte zum LinuxTag braucht - eine habe ich noch übrig. Bei Interesse einfach per Mail melden (Adresse siehe Impressum). Und falls jemand einfach nur "hallo" sagen will: Ich bin in Berlin des Öfteren am openSUSE-Stand anzutreffen ;-) Tags für diesen Artikel: linuxtag
Freitag, 18. April 2008Paste SearchSchöner Titel zum Mitraten, oder? ;-) Paste Search ist ein unspektakuläres PHP-Script, das aber die Usability von Konqueror (und anderen Webbrowsen) enorm verbessert. Konkret geht es um das Verhalten beim "Mittelklicken" des Browserfensters, das normalerweise eine Google-Suche auslöst und nach dem Begriff in der Zwischenablage sucht. Dieses Standardverhalten ist schonmal gut, aber oft habe ich andere Ziele - beispielsweise ein Bugreport auf bugzilla.novell.com oder im SourceForge Tracker. Die Lösung ist relativ einfach: Das folgende PHP-Script wird auf einen Webserver hochgeladen und als Standard-Suchmaschine im Browser eingetragen. Ab diesem Zeitpunkt wird bei Zahlen automatisch im Bugtracker gesucht (die Unterscheidung erfolgt anhand der Nummer - alles bis 500000 geht an bugzilla.novell.com, der Rest an SourceForge), bei Text mit Google. Nice title to guess on, right? ;-) Paste Search is an unspectacular PHP script that greatly enhances the usability of Konqueror (and other web browsers). To be exact, it is about the behaviour when "middle-clicking" the browser window which usually starts a google search for the content of the clipboard. This default behaviour is not bad, but sometimes I have other targets - for example bugreports on bugzilla.novell.com or in the SourceForge trackers. The solution is quite simple: Upload the following PHP script to a webserver and configure your browser to use it as default search engine. If you paste numbers to your browser now, it will go to the bugtracker automatically (the selection depends on the bug number - up to 500000 goes to bugzilla.novell.com, everything above to the SourceForge tracker). If you paste text, you will be redirected to Google. <?php # cbPasteSearch.php Natürlich kann man sich das Script nach Bedarf durch zusätzliche if-Abfragen anpassen. Vorschläge dazu nehme ich in den Kommentaren gern entgegen ;-) Of course you can customize the script as needed by adding additional if statements. Please add your ideas to the comment section ;-) Mittwoch, 2. April 2008MySQL Query TuningHätte ich diesen Artikel zwei Stunden früher gepostet, hätte man ihn für einen Aprilscherz gehalten: Ich habe gestern eine MySQL-Query bei gleichem Ergebnis um den Faktor 1000 beschleunigt. Das Ganze ohne irgendwelche Änderungen an der Datenbank oder der MySQL-Konfiguration, sondern nur durch Änderung der Query. Das ist die ursprüngliche Query (etwas vereinfacht, im Original wurden noch ein paar mehr Felder SELECTed): SELECT Laufzeit dieser Abfrage sind gut 3 Sekunden bei einem recht kleinen Datenbestand (b, c und d haben jeweils rund 100 Datensätze, a hat "immerhin" 380). Das Ergebnis der Query sind lächerliche 8 Datensätze. Bei einem so kleinen Datenbestand ist die hohe Laufzeit doch recht verwunderlich. Ich wage zu behaupten, dass man die Daten per RTP (Rauchzeichen Transfer Prototokoll ;-) schneller aus der Datenbank bekommen hätte... Sieht man sich die Abfrage mit EXPLAIN an, sieht man einen Teil der Ursache: Es wird eine temporäre Tabelle angelegt. (Waaas?! Für 8 Datensätze?!). Verständlich wird das Problem, wenn man einmal das "GROUP BY" weglässt. Das Ergebnis enthält dann rund 15.000 Datensätze - davon 14.992 Duplikate, die durch die impliziten JOINs ("WHERE ... a.oid=b.oid") erzeugt werden. Dass man für diese Datenmenge eine temporäre Tabelle braucht, ist schon weniger verwunderlich ;-) aber trotzdem nicht akzeptabel. Die überarbeitete Query sieht dann so aus: SELECT a.rubrik,a.id,a.tabname,a.sort, Wie man sieht, braucht diese Abfrage kein GROUP BY, weil sie keine überflüssigen Duplikate produziert. Das wirkt sich auch sehr positiv auf die Laufzeit aus - nur noch 0,003 Sekunden und somit ein Tausendstel der alten Query :-) Danke, Kris für die MySQL-Dienstage in Deiner Zeit in Karlsruhe, bei denen man u. a. solche Dinge lernen konnte. Ja, ich lese Dein Blog immer noch ;-) - unter anderem wegen der hervorragenden technischen Artikel. Tags für diesen Artikel: mysql
Sonntag, 23. März 2008Migration von Plesk/Qmail zu Postfix/MySQLMit etwas Verspätung (wegen Zeitmangel), dafür aber mit Grüßen vom Osterhasen veröffentliche ich heute die SQL-Abfragen, um die Mailkonfiguration von Qmail / Plesk nach Postfix mit MySQL-Backend zu migrieren. Einige der Queries haben durchaus Chancen auf den Longest-SQL-Query-of-the-year-Award ;-) Alle Queries wurden bei einer echten Migration getestet und funktionieren. Zur Verwaltung der Mailkonfiguration nach der Migration zu Postfix empfehle ich Postfixadmin (RPMs), bei dem ich auch seit einiger Zeit mitprogrammiere. A bit late (because a lack of time), but with greetings from the easter-bunny, I publish the SQL queries that are needed to migrate from Qmail / Plesk to Postfix with MySQL backend. Some of the queries have good chances to win the longest-SQL-query-of-the-year award ;-) All queries were tested while a real server migration and work. To manage your mail addresses after migrating to postfix, I recommend Postfixadmin (RPMs) on which I'm co-developer since some time. Die SQL-Queries und einige Details stehen im vollständigen Artikel - bitte weiterlesen... The SQL queries and some more details are available in the full article - read on... Dienstag, 26. Februar 2008patch2mail - now in Zypp SVNMein erster Commit ins Zypp SVN: patch2mail. Ich nutze diese Gelegenheit gleich mal, um das Ganze bekanntzumachen ;-) Server-Administratoren kennen das Problem: Es gibt kein gutes und einfaches Werkzeug, um per Mail benachrichtigt zu werden, sobald es neue Updates gibt. Mein patch2mail füllt diese Lücke und verschickt die gewünschte Mail. Da Admins eh englisch können müssen, ist der Rest dieses Eintrags auf englisch ;-) My first commit to the Zypp SVN: patch2mail. I'll use this opportunity to announce this little tool ;-) Server admins know the problem: There's no good and simple tool available to get an email notification when new security updates are available. patch2mail is a simple tool that fills this gap and mails you whenever new updates are available. In theory, you could use zypper lu | mail -s updates root but this will also send a mail if no update is available. I was annoyed by that and therefore wrote this little tool, consisting of a shell script and a XSLT file to transform the zypper XML output to text. Usage is easy: Download the RPM from the buildservice (http://software.opensuse.org/search?q=patch2mail, it's in home:cboltz) and install it on your server. Make sure you receive mails for root (for example setup mail forwarding in /etc/aliases). That's it. The script directly installs to /etc/cron.daily and will inform you when new updates are available. patch2mail is available for openSUSE 10.2 and 10.3. (might work on 11.0 alpha also, but I didn't test it yet) If you want to know in advance how the update notification mails look, have a look at this example mail:Subject: <servername> updates === foobar-libs - Patch 1234-0 (security) === foobar-libs: fixed security issue when doing foo. This patch contains the fix for a security problem when doing foo. [... long patch description continues ...] Mittwoch, 26. Dezember 2007Schöne BescherungWeihnachten - das ist die Zeit von Ruhe und Besinnlichkeit. Es sei denn, man ist Admin eines Servers, der sich just an Heiligabend verabschiedet. Dann wird es nämlich recht hektisch. So "durfte" ich dann kurzerhand die Postfächer von rund 100 Domains auf einen anderen Server umziehen. Dazu noch ein paar datenbanklastige Webseiten (Typo3 und ein paar Spezialitäten). Naja, immerhin war ich vor der Bescherung fertig *g* Das Gute daran: Der Umzug hat recht schmerzfrei geklappt (die nötigen SQL-Queries hatte ich zum Glück schon vor längerer Zeit vorbereitet) und die betroffenen Kunden haben jetzt sogar ein (fast) spamfreies Postfach, was der vorherige Server (Plesk, Qmail) nicht geschafft hat. Und ich weiß jetzt, dass (entgegen meiner Erwartung und früherer Erfahrung) die meisten Spammer ihne DNS-Einträge nicht cachen - ich hatte nach der MX-Umstellung innerhalb einer Stunde eine Reject-Rate von 50 Mails/Minute statt vorher 3 ;-)Das "Migration von Plesk zu Postfix/MySQL HOWTO" zur Migration der Mailuser-Datenbank gibt es demnächst an dieser Stelle. Soviel verrate ich jetzt schon: Hauptbestandteil ist eine SQL-Query, die eine DIN A4-Seite für sich braucht. Was meint Ihr - soll ich das HOWTO auch im Plesk Forum posten? Wäre doch bestimmt ein Spaß ;-) Trotz allem wünsche ich frohe Rest-Weihnachten und schonmal einen guten Rutsch! Mittwoch, 5. Dezember 2007Computer beim Shutdown *nicht* ausschalten(this text describes how to avoid that your computer switches off itsself on shutdown - english version available in the openSUSE wiki as SDB article) Auch wenn der Wunsch etwas ungewöhnlich ist: mein Server soll sich nach dem Shutdown nicht automatisch ausschalten. Der Grund ist einfach: ich schalte den Strom mit einer abschaltbaren Steckdose an und aus und möchte nicht jedesmal den Power-Button des Servers betätigen. Das Problem ist, dass das BIOS nicht die Option bietet, bei Rückkehr der Stromversorgung den Rechner hochzufahren. Immerhin erinnert sich der Rechner an den letzten Status - nach einem Stromausfall (auch wenn er über die abschaltbare Steckdose simuliert wurde ;-) fährt er also wieder hoch. Die Lösung ist einfach, sobald man sie kennt: In /etc/sysconfig/shutdown muss die Variable HALT="halt" gesetzt werden (Voreinstellung ist "auto"). Bei dieser Gelegenheit sollte man auch gleich einen HALT_SOUND in derselben Datei setzen, damit der Rechner nach dem Shutdown piept. Damit kann man ein zu frühes Abschalten der Stromversorgung vermeiden. (Der Dank geht an Stefan Seyfried, der mich auf die Configdatei hingewiesen hat.) Montag, 8. Oktober 2007vim-freundliche Tastatur(as special present for everybody coming from my People of openSUSE interview, this post also includes an english translation (green font) ;-) Ich bin gerade in den Nachrichten :-) Um genau zu sein: Ich wurde für People of openSUSE interviewt. Als kleines Geschenk an alle openSUSE-User hier die Erklärung, wie man seine Tastatur vim-freundlicher macht. Vim ist dank der Tastaturbedienung der schnellste Editor, den ich kenne. Einzig der weite Weg zur Escape-Taste stört etwas. Linux wäre aber nicht Linux, wenn man die Tastaturbelegung nicht selbst ändern könnte. Aus meiner Sicht ist CapsLock ziemlich überflüssig. Daher habe ich Escape auf CapsLock verlegt und nutze jetzt die noch überflüssigere Break-Taste für CapsLock. Die Änderung der Tastaturbelegung ist ziemlich einfach. Zuerst legt man ~/.Xmodmap mit folgendem Inhalt an: Vim is the fastest editor I know because you can operate it with the keyboard. Only the long distance to the Escape key is annoying. But Linux would not be Linux if you could not change the keyboard mapping yourself. IMHO the CapsLock key is quite superfluous. Therefore I have mapped Escape to the CapsLock key and use the even more superfluous Break key for CapsLock functionality. Changing the keyboard mapping is easy. First create ~/.Xmodmap with this content: !! map CapsLock functionality to the "Break" key !! map Escape to the CapsLock key !! clear CapsLock and map it on "Break" Jetzt muss man nur noch dafür sorgen, dass die .Xmodmap beim Login geladen wird. Da die KDE-Tastatureinstellungen gern mal die Einstellungen der .Xmodmap überschreiben, mache ich das Ganze spät genug mit einem Script im KDE Autostart-Ordner: Then you have to make sure that .Xmodmap is loaded at login. The KDE keyboard settings tend to overwrite earlier settings, therefore I load my .Xmodmap late enough in a script inside the KDE autostart folder: xmodmap /home/cb/.Xmodmap
If you want to modify the keymap of the virtual consoles also (this time without changing Break), create the file /usr/share/kbd/keymaps/i386/qwertz/escape-capslock.map with this content: include "de-latin1-nodeadkeys.map.gz" # enter your local keytable here keycode 58 = Escape Anschließend ändert man in /etc/sysconfig/keyboard die Tastaturbelegung: Then change your keyboard layout in /etc/sysconfig/keyboard: KEYTABLE="escape-capslock.map"
That's it. With this little change of the keyboard layout, working with vim is more comfortable and faster. Donnerstag, 4. Oktober 2007openSUSE 10.3 ist da!Neuigkeiten aus Nürnberg: Heute wurde openSUSE 10.3 offiziell released und steht zum Download bereit. Eine Übersicht über die Highlights von openSUSE 10.3 gibt es bei den openSUSE News, mit dabei ist auch eine Reihe von Screenshots. Weitere Infos gibt es wie immer im openSUSE Wiki. Meine persönliche Meinung: 10.2 war schon sehr gut, aber 10.3 ist noch besser! Zur Feier des Tages finden einige Release Parties statt, die aber leider alle zu weit weg sind. Mein Vorschlag für alle, die in der Pfalz wohnen, ist deshalb: Kommt diesen Samstag (6.10.) zum Linux Infotag der LUG Landau - ich bin definitiv dort. Im Anschluss suchen wir uns ein gemütliches Lokal und feiern openSUSE 10.3 :-) Dienstag, 5. Juni 2007LinuxTag - NachschlagDer LinuxTag ist inzwischen vorbei. Wie befürchtet ;-) "durfte" ich vom Nachtzug (kam um 5:33 in Karlsruhe an) direkt ab in die Weinberge. Das verhindert übrigens zuverlässig, dass man einschläft... Zwischenzeitlich haben auch andere Leute über den LinuxTag geschrieben, u. a. AJ (Vorbereitung, openSUSE day, nochmal openSUSE day und LinuxTag und LinuxNacht) und Martin Lasarsch. Was gibt es im Nachhinein noch Interessantes vom LinuxTag zu berichten? Am Freitag war die Keysigning-Party mit rund 100 Teilnehmern. Die Beschreibung "Kultiges Zusammensitzen und gemeinsames Murmeln magischer Zahlen." (Gert Döring, FdI 95) trifft es ziemlich gut, auch wenn es in diesem Fall nach dem Prüfen der MD5- und SHA1-Summen hauptsächlich ein "OK, stimmt" war. Damit war es mit dem Zusammensitzen auch schon vorbei, weil sich dann alle auf dem Flur aufstellten und gegenseitig ihre Idendität prüften. Ja, das muss man mal erlebt haben ;-) Das Signieren der Keys habe ich dann mit caff gemacht, das AJ freundlicherweise im Buildservice zur Verfügung stellt. Leider war Postfix auf meinem Laptop nicht korrekt konfiguriert (Absender cb@cboltz.boltz...), sodass wohl etliche Mails mit den Signaturen nahe /dev/null gelandet sein dürften :-( Ich werde nächste Woche die Keys aller Teilnehmer durchsehen und an alle, die meine Signatur noch nicht haben, nochmal eine Mail schicken. Außerdem ist ein Feature Request zu überlegen - caff sollte KMail zum Versand unterstützen ;-) oder notfalls wenigstens alle Mails als mbox rausschreiben können. Wer im Jahr 2007 noch zwingend einen korrekt konfigurierten MTA auf einer Workstation voraussetzt, ist ziemlicher Optimist... Das zum LinuxTag - für mich waren es 3 schöne Tage in Berlin, auch wenn ich von der Stadt recht wenig gesehen habe. Beim LinuxTag habe ich auf den Vorträgen wieder einiges gehört und gelernt, viele Bekannte getroffen und auch der Kontakt mit "Otto-Normal-User" am openSUSE-Stand war immer wieder interessant. Und nächstes Jahr fahre ich natürlich wieder hin! Freitag, 1. Juni 2007LinuxNacht BerlinNach dem LinuxTag kommt... Ja, richtig - die LinuxNacht in Berlin-Kreuzberg. Was das ist? Man nehme einen Haufen Geeks, packe diese in ein altes Umspannwerk, füge leckeres Essen und reichlich Getränke hinzu und runde das Ganze mit einem DJ, einer Ladung Scheinwerfer und etwas Nebel ab. Fertig ist die Party ;-) Vom roten Teppich habe ich leider kein Bild, dafür aber einige von der Party:
Donnerstag, 31. Mai 2007LinuxTag BerlinNach fast 2 Tagen LinuxTag eine schnelle Zusammenfassung: Gestern gab es eine Reihe interessante Vorträge beim openSUSE-Day rund ums openSUSE-Projekt, den Buildservice, die Entwicklung der 10.3 und rund um "mobile devices", also Laptops (Suspend, Stromeinsparung usw.). Gestern Abend ging ich dann mit einer Gruppe SUSE-Mitarbeiter Pizza essen und anschließend in ein Pub. Heute hatte ich gemischtes Programm - ein paar Vorträge, dazwischen immer wieder Dienst am openSUSE-Stand. Und heute Abend geht's zum Social Event, zu dem mir Martin Lasarsch netterweise eine Freikarte organisiert hat :-) Mittwoch, 20. Dezember 2006Sichere Weihnachten!Frohe Weihnachten! (Bild von Klowner's wallpapers) Eigentlich nicht, aber ich habe trotzdem ein vorgezogenes Geschenk: Die AppArmor-Profile dieses Servers. Im Einzelnen sind das Profile für:
Der Vorteil meiner Profile gegenüber den in SUSE Linux 10.1 mitgelieferten ist schlicht, dass meine Profile durchgetestet sind und (zumindest bei meiner Konfiguration) auch alle nötigen Aktionen erlauben. Das nervige Nacharbeiten der Profile und "warum blockt er das jetzt?" fällt also weg ;-) Außerdem habe ich für einige Programme (Mailman, Courier, maildrop, vsftpd, SQLgrey, ClamAV) die Profile komplett selbst erstellt. (Bei vsftpd können Anpassungen der Pfade je nach Struktur der Homedirs nötig sein, außerdem ist /home/mailbox/ als Mail-Verzeichnis fest in den maildrop- und Courier-Profilen verdrahtet.) Einige Profile sind nach /etc/apparmor/profiles/extra/ verlinkt - diese Profile funktionieren entweder im Originalzustand oder ich habe das entsprechende Programm noch nie gebraucht ;-) Download: apparmor-profiles-20061220.tgz Installation: nach /etc/apparmor.d/ entpacken, rcapparmor reload aufrufen und schon ist das System ein gutes Stück sicherer. Die Weitergabe und Verwendung der AppArmor-Profile ist unter den Bedingungen der GPL erlaubt. Und ich wünsche an dieser Stelle schon mal Sichere ;-) und Frohe Weihnachten! |
ArchiveKategorienBlog abonnierenImpressum |
Kommentare