Server boot loggen (/var/log/boot.msg) mit Gentoo - bootlogd / showconsole

Heute hatte dieser Server mal wieder einen kleinen Ausfall und ließ sich nicht mehr booten. Nach einem Hard-Reset (Strom aus/an) antwortete der Server auch nach 10 Minuten noch auf keinen Ping (untypisch für die Gentoo-Maschine, die normalerweise in rund 2 Minuten komplett hochfährt). Also habe ich den Server ins Rescue gefahren und nachgesehen, ob Logs zu erkennen sind… Fehlanzeige, es wurden KEINE Logs geschrieben. Wo liegt also das Problem? Evtl Festplattenchecks? fsck.ext3 auf meine Platten laufen lassen, alles in Ordnung. Nun in der Ruhe liegt die Kraft dachte ich mir…Rebooten lassen und derweil mal frühstücken. Ich kam zurück und der Server war wieder online. Ursache ungeklärt, Bootzeit rund 20 Minuten. Geschwind mal ein bisschen Pakete gesucht mit Bootloggern (unter Debian hatte ich immer ein /var/log/boot(.msg), warum habe ich das unter Gentoo (noch) nicht?) ...

Bootvorgang visualisieren mit bootchart

Man fragt sich ja gelegentlich was der Server eigentlich macht, wenn er hochfährt… heute morgen hat meiner zum Beispiel bestimmt noch ein Bierchen getrunken, bevor er losgelegt hat. Für die Visualisierung (der Mensch will doch was zum gucken haben) gibt es ein Tool namens bootchart  , welches bereits in vielen großen Distributionen (wenn meistens auch nur im unstable-Zweig) aufgenommen wurde. Nebenstehend eine Beispielgrafik von der Bootchart-Webseite  eines nicht-optimierten Gentoo-Systems. ...

PHP5.2 rockt - JSON einfach gemacht

Seit gerade eben liebe ich PHP5.2 :) Ich entwickle momentan an einer Webapplikation, die sehr stark auf Javascript-basierte “Web2.0”-Techniken Wert legt. Hierzu brauche ich gelegentlich mehrere Rückgabewerte in einem Request. Da man nicht einfach ein Array übermitteln kann, haben sich findige Entwickler JSON  ausgedacht. Dieses Datenformat erzeugt als Vorteil gegenüber XML (bei der Nutzung als Datenaustauschformat) deutlich weniger Overhead, was dem Sinn von Ajax doch sehr entgegenkommt ;) Seit PHP5.2 gibt es nun die einfache Möglichkeit Arrays in das JSON-Format mittels des Befehls json_encode()  zu konvertieren. Die geniale Java-Script Bibliothek jquery  , welche auch bei meinem Projekt zum Einsatz kommt, kann JSON als Rückgabewerte ohne Probleme verarbeiten ;) ...

2007-12-16 117 Wörter 1 Minute Uli

Service Pack 1 für Microsoft Office 2007 ist erschienen und machts wirklich schneller

Gestern habe ich die Ankündigung für den Service Pack 1 für Microsoft Office 2007 auf Golem.de ( Link zum Artikel  ) gelesen und bin über den Absatz: ...

Eine kleine MySQL-Klasse für PHP

Ich habe mir eine kleine MySQL-Klasse für PHP gebastelt, die mittlerweile schon von einigen Kumpels für ihre eigenen Projekte kopiert wurde. Die Klasse besteht aus einer Config-Datei und der Datenbankklasse selbst. Ich bin mir sicher, dass man einige Dinge besser machen könnte, diese Klasse ist aber für viele Anwendungsbereich vollkommen ausreichend. Verbesserungsvorschläge sind willkommen! Diese ist nicht mehr verfügbar - da völlig überholt.

2007-12-07 63 Wörter 1 Minute Uli

Windows XP kann keine Datei mit dem namen "Con" anlegen

Soeben bin ich auf einen verrückten Fehler gestoßen, der mich ziemlich genervt hat… Unter Windows kann man offensichtlich keine Datei anlegen, die mit den drei Buchstaben “Con” gefolgt von einem Punkt oder einem blank (Leerzeichen) beginnt. Egal welche Endung und egal, was danach kommt, es kommt immer obiger Fehler (im Bild zu sehen). Dann möchte man das ganze in Microsoft melden und findet kein verdammtes Formular, wo man sich mal melden kann, ohne dass man 72 Euro+19% MwSt abdrücken muss… zum kotzen. Ich hoffe es wird wenigstens auf diesem Wege irgendwann gelesen. ...

Invalid command 'CacheSize', perhaps misspelled or defined by a module not included in the server configuration

Ein Kumpel Martin hatte soeben das nachstehende Problem: Invalid command ‘CacheSize’, perhaps misspelled or defined by a module not included in the server configuration Sein System: Debian Etch Apache/2.2.3 PHP5.2 Nachdem es mal wieder fast nix im Google zu finden gibt, gibt es mal wieder einen Blogeintrag von mir dazu. Grund des Problems: 1 2 3 4 5 6 7 8 9 ProxyRequests Off ProxyVia On CacheRoot "/var/cache/httpd" CacheSize 100000 CacheGcInterval 4 CacheMaxExpire 10 CacheLastModifiedFactor 0.1 CacheDefaultExpire 8 Eine Caching-Configuration, deren Herkunft nicht genau geklärt werden konnte, stand dort eingetragen. Die Direktive “CacheSize” existiert aber, wie einige andere Direktiven, nur in der Version 2.0 des Apache Webservers. Die von ihm verwendete Version 2.2 unterstützte diese DIrektive nicht, weshalb der obenstehende Fehler auftrat. Hier die Links zu mod_proxy in den verschiedenen Versionen: ...

Lösung für Fehler "locker: safe_lock: cannot create tmp lockfile" von Spamassassin unter Gentoo

Heute habe ich beim empfangen der Mails festgestellt, das Spamassassin noch gar nicht korrekt arbeitet. Also habe ich mal das Logfile mail.err geprüft und einige Fehlermeldungen entdeckt…. 1 2 3 spamd[5061]: mkdir /root/.spamassassin: Permission denied at /usr/lib/perl5/vendor_perl/5.8.8/Mail/SpamAssassin.pm line 1536 spamd[5061]: locker: safe_lock: cannot create tmp lockfile /root/.spamassassin/auto-whitelist.lock.ainra.cundenserver.de.5061 for /root/.spamassassin/auto-whitelist.lock: Permission denied spamd[5061]: bayes: locker: safe_lock: cannot create tmp lockfile /root/.spamassassin/bayes.lock.ainra.cundenserver.de.5061 for /root/.spamassassin/bayes.lock: Permission denied Zunächst habe ich tatsächlich ein Rechte-Problem erkannt, denn Spamassassin sollte nicht unter root laufen. Also habe ich das mal geändert, was aber den Fehler in den Logs nur auf das Home-Directory des neuen Users verlegt, aber nicht geändert hat. ...

/usr/sbin/apache2: error while loading shared libraries: libexpat.so.0: cannot open shared object file: No such file or directory

Heute unterlief mir ein seltsamer Fehler beim Neustarten des Apache2.2: 1 /usr/sbin/apache2: error while loading shared libraries: libexpat.so.0: cannot open shared object file: No such file or directory System-OS: Gentoo Lies sich folgendermaßen lösen: 1 revdep-rebuild --library=libexpat.so.0 Am besten macht man gelegentlich einen kompletten “revdep-rebuild”, wie ich bemerkt habe… war einiges im Eimer…bei mir hat er 12 Pakete neu emerged (darunter svn, php4 & 5). Quellen: Gentoo-Forums, Thread #483971  Gentoo-Forums, Thread #448550 

PATH-Informationen stimmen nicht mehr

Seit ein paar Tagen (genauerweise seit ich in .profile im Userverzeichnis was geändert hatte), stimmten meine PATH-Informationen nicht mehr, was sich z.b. beim Update geäussert hatte: 1 2 3 4 5 dpkg: `ldconfig' not found on PATH. dpkg: `start-stop-daemon' not found on PATH. dpkg: `install-info' not found on PATH. dpkg: `update-rc.d' not found on PATH. dpkg: 4 expected program(s) not found on PATH. Auch das zurückändern und neu ausführen der .profile hatte nichts gebracht, jedoch fand ich einen Weg, wie ich die PATH-Informationen wieder in Ordnung bringen konnte ...