Seit dem letzten Update hatte mein Gentoo/Gnome-System einen kleinen Schönheitsfehler: USB-Sticks wurden nicht mehr gemountet. Nach einigen erfolglosen Streifzügen durch die Nautilus- und gconf-Optionen sieß ich dann im Geek-Blog auf die Lösung des Problems: sys-apps/hal hat seit einigen Versionen ein neues USE-Flag „disk-partition“, welches standardmäßig inaktiv ist. Trägt man dieses ein und kompiliert HAL neu funktioniert das automatische Mounten wieder wie gewohnt.
Schlagwort-Archiv: Gentoo
Und es Synct doch… Windows Mobile und Linux endlich vereint
Lange hats gedauert, aber endlich funktioniert es: Mein WM6-PDA spricht Linux. Bisher beschränkte sich die Kommunikation auf die Massenspeicheremulation WM5orage. Zwar hatte ich öfter mal mit SyncML und Funambol getestet, allerdings waren die Ergebnisse für die Tonne: Anständige SyncML-Clients für Linux scheint es nicht zu geben und selbst die einfachsten Funktionen brachten Chaos: Doppelte Kontakte, verschwundene Adressen und die Geburtstage waren Kategorisch einen Tag später als angegeben. Nich wirklich brauchbar.
Heute habe ich das ganze nochmal mit RNDIS und SynCE versucht. Der erste Eindurck hatte mich doch etwas überrascht: Statt dem bekannten gewurschtel mit synce-serial-start und dccm läuft nun alles HotPlug per DBus und HAL. Ganz ohne Konfiguration tauchte das Tray-Icon auf, zeigte anstandslos die installierten Programme, Speicherplatz und Batteriestand – sogar ein ActiveSync ähnlicher Assistent zum Anlegen einer Gerätepartnerschaft tauchte auf.
Bei der Synchronisation etwas Handarbeit: Mit OpenSync sollte es zur KDE-PIM-Suite gehen. Zwar bin ich eigentlich Gnome-User, aber Kontact und Korganizer sind doch schon sehr ausgereift. Das Sync-Modul offenbar nicht – alle Termine und Aufgaben verschwanden, Kontakte mit Sonderzeichen bereiteten ganz neue Ansichten. Also Sync abgeschaltet, Backup rein und selbes nochmal mit Bauchschmerzen und Evolution. Evolution ist die Software, welche bei mir vor allem durch mangelnde Datenintegrität, Abstürze und einem Bedienkonzept aus der Steinzeit in Erinnerung ist. An der Bedienung hat sich nicht viel geäntert, aber technisch läuft erst mal alles: Keine Abstürze, OpenSync hält alles auf dem aktuellen Stand, keine Kollisionen und alle Daten scheinen so zu sein, wie ich sie haben möchte.
Auch, wenn die Bedienung nicht immer so einfach ist: Da ich meist am Handy arbeite stört mich das weniger. Um Termine zu Pflegen und ab und an einen Kontakt zu Editieren reicht es definitiv.
Edit: Offenbar zu früh gefreut. Auf einem zweiten PC fehlen plötzlich in Evolution Postadressen und Bilder :/
Gnome vs. MIME – Wenn alles text/plain ist
In den letzten Tagen machte mein Gnome auf mehreren Rechnern macken: Alle Dateien wurden plötzlich von Nautilus als „text/plain“ erkannt – MP3 und PNG wollte er im Texteditor öffnen usw. Schuld ist offenbar ein Update, welches auch das Format der MIME-Datenbank ändert. Abhilfe schafft der Befehl „update-mime-database“. In meinem Fall musste ich für den Befehl noch eine Datei mit benutzerdefinierten Einstellungen unter ~/.local/share/mime löschen – da bei mir nichts wichtiges drin war kein Problem. Als Abschluss wegen Restart- und PID-Suchfaulheit ein „killall nautilus“ und schon lassen sich die Dateien wieder richtig bearbeiten.
1x Installieren, 2x Patchen
Sowas kenn ich sonst nur von Windows-Spielen, aber offenbar dienen die bein einigen Ebuilds als Vorbild. Erwischt hat mich avidemux in zugegeben etwas ungewöhnlicher Konstellation: Avidemux, ein Videoschnitttool, kommt normal mit GTK- oder QT4-Oberfläche, lässt sich aber auch ohne in einer CLI-Version bauen. Obwohl ein reiner CLI-Build also möglich ist besteht das Script des Avidemux-Projektes zwingend auf libX11. Das ebuild was eigentlich korrekt – mit „-qt4 -gtk“ wird libX11 nicht als Dependency gezogen, das erwähnte Script killt aber den build-Prozess. Inzwischen hab ich das ganze halbwegs zusammengeflickt – zugegeben: Es gibt schönere Methoden, aber fürs erste ist damit eine CLI-Version ohne X11-Installation möglich.
Nächster Volltreffer war mein Hardened-GCC. Dessen Linker beißt sich irgendwie mit avidemux. Hier kann man als Workarround für den Build per gcc-config auf den -vanilla GCC wechseln.
OK, genug gepacht für Gestern. Morgen wirds dann irgendwann nach der Herstellung eines Labyrinths aus Heizungsrohren im neuen Bad meiner Eltern an den neuen Servern weiter gehen. Ich möchte zumindest die derzeit abgeschalteten Dienste zeitnah auf dem neuen Server online bekommen. Hosting folgt dann in den nächsten Monaten wenn ich alles durchgetestet und sichergestellt habe, dass mein SMS-Monitoring sich nicht unbemerkt über eine Woche verabschiedet :/.
Neues Jahr, neuer Server
Schon einige Jahre hat er auf dem Blechkasten, mein derzeitiger Webserver, der seit dem geglücktem Start der Rhein-Blogger vor einigen Tagen auf 18 aktive Webseiten kommt. 3GHz und 1GB RAM reichen noch aus, aber da der Anbieter Preise wenn überhaupt nur erhöht ist das Preis- Leistungsverhältnis nun nicht mehr tragbar. Das neue Zuhause ist bereits online und wird grade fleißig eingerichtet: Ein Intel Core2 Duo E8400 @2×3.00GHz sorgte zusammen mit den 4GB RAM schon beim Kompilieren für freudige Gesichter, zudem bringen die 2 750GB SATA2-Platten im RAID1 doch etwas mehr Durchsatz als die 160er-Platte aus SATA-Urzeiten.
Wenn schon neu, dann richtig. Erste Amtshandlung war es natürlich das vorinstallierte System zu löschen und mein gutes, altes Gentoo zu installieren. Dieses mal aber mit einer kleinen Besonderheit: Da der Server mehrere IPs besitzt machen VMs nun mehr Sinn. Um nicht unnötig Leistung zu verlieren kommt das Rennpferd unter den Virtualisierungslösungen zum Einsatz: Xen. Zudem wird der neue Server ein 64Bit-System verwenden.
Die ersten Systeme sind bereits online: Die dom0 ist ein Gentoo x86_64 mit dem 2.6.18er XEN-Kernel (neuere sind nicht geplfegt). Am Ende wird diese nur noch beschränkten Netzzugriff haben, daher hoffe ich, dass der ältere Kernel keine Probleme veranstaltet. Eine domU ist läuft mit 2.6.27 hardened (.18er hat noch einen Bug) und wird momentan von einem Arbeitskollegen vergewaltigt eingerichtet. Auch im Hostingsegment wird sich einiges ändern: FastCGI, APS und Dovecot sind nur einige Schlagwörter auf meiner ständig wachsenden Liste.
Was mich aber am meisten beeindruckt: Bisher habe ich alles im ersten Anlauf online bekommen – offenbar zahlt sich die wochenlange Planung mit 2 Testservern im heimischen „Serverraum“ aus.
Audio over Ethernet in Aktion
So ein kaputter Kopfhöreranschluss kann auch was Positives haben: Da ich momentan nicht auf mein Soundsystem verzichten wollte kam mir Pulseaudio wieder in den Sinn. OK, mein Server kann mangels 3.3V-fähiger Soundkarte noch immer nur Stereo über USB ausgeben, aber trotzdem ein gutes Stück besser als ein Headset. Inzwischen kann ich auch wieder die Nachbarn nerven: Mein Laptop streamed per RTP die Daten direkt zum Server, der sich um die Ausgabe kümmert. Das ganze funktioniert besser als gedacht – keine Lags o.ä. und auch von den Qualitätsproblemen, die mich beim letzten PA-Versuch am Mediacenter quälten, ist nichts mehr zu sehn. Schön, schön.
Bastelarbeiten zum Jahresende
Eine Woche Urlaub hinterlässt spuren. Der Schreibtisch hat sich in ein riesiges Steckbrett verwandelt und der Boden dürfte sich irgendwo unter der zentimeterdicken Schicht der Testverkabelung befinden. Obwohl die Post offenbar schon Weihnachtsurlaub hat und mir noch einiges an Hardware fehlt konnte ich doch einige Punke auf meiner Liste abarbeiten:
Zum einen habe ich den schwachen Dollar etwas ausgenutzt und meinem Server noch ein paar Festplatten spendiert. Neben dem bisherigem Terrabyte für die Daten (4x250GB, SATA-1, RAID 5 = effektiv 750GB) gesellen sich jetzt 2 weitere Terrabytechen ins Gehäuse (4x500GB, SATA-2, Controller PCI-X 64Bit, RAID 5 = effektiv 1,5TB) und erhöhen damit die Kapazität aller 13 Festplatten auf physikalische 3,1TB. OK, irgendwie muss ich noch einen Lüfter dabeizaubern – bei Volllast kratze ich an der 40°C-Marke. Zwar sind die Platten laut Datenblatt bis 60°C ausgelegt, aber man muss ja nichts riskieren.
Nächster Punkt ist mein zusätzliches „Brandmeldesystem“. Zwar fehlt immernoch die endgültige Platine der Zentraleinheit, aber inzwischen hängen meine Rauchmeldeeinheiten in den Räumen, können lokal im Bandfall einen akustischen Alarm geben und liefern bereits Temperaturmesswerte an meinen Server, der fleißig Diagramme zeichnet. Die Stromversorgung läuft über ein überwachtes Schaltnetzteil, ist mit mehreren dezentralen Bleiakkus gepuffert, jeder Sensor hat eine separat abgesicherte Leitung und alle Sensoren werden (wenn die Zentraleinheit läuft) ständig auf korrekte Funktion überwacht.
Zwischendurch hat sich dann noch meine Workstation zu Wort gemeldet – ein RAID1 schützt vielleicht vor Festplattenausfällen, aber gegen Probleme des Dateisystems (ext3) ist auch das machtlos. 4 Stunden später lief ein neues Gentoo auf dem System und dank den letzten Updates klappt trotz 64Bit jetzt sogar Flash. UT ist natürlich auch drauf 😉
Meine Wetterstation närt sich langsam wieder einem funktionsfähigem Zustand – inzwischen konnte ich die Fehlfunktionen auf einen kaputten Sensor zurückführen. Zusammen mit dem Funksender können so jetzt wieder Temperatur und Luftfeuchte ermittelt werden. Auch der Luftdrucksensor müsste funktionieren, ist aber noch nicht kalibriert. Der Regensensor ist hardwareseitig auch fertig, hier fehlt noch eine passende Ergänzung Software. Gänzlich fehlen meine letzten Wunschsensoren für Wind und Sonnenenergie, die danach irgendwann mal in Angriff genommen werden.
Bei iSys bin ich noch nicht weiter. Zwar schau ich mir zwischendurch immer mal wieder einzelne Softwareteile an, aber auch hier warte ich noch auf meine Platinenbestellung, denn Softwaretest auf dem Steckbrett sind recht aufwändig.
Ansonsten herrscht das übliche Weihnachtsgeraffel – Geschenke organisieren etc. Nebenbei noch Zertifikate erneuern (ja, ich weiß, der IMAP-Server fehlt noch) und packen müsste ich natürlich auch noch…
Ungeplante Migration
Uff, Was für ein Marathon. Eigentlich hatte ich am Freitag ja noch gute Laune, als der Postbote – passend zum freien Tag – meinen neuen Server durch die Tür schleppte. 2 Sockel mit je einem soliden Xeon 3.06GHz, 4GB RAM und netten Spielereien wie z.B. IPMI (aka mein BIOS kann TCP/IP) sollten wieder für einige Zeit Beschäftigung bieten. Außerdem ist er deutlich leiser und dank Speedstep & Co dürften auch die Stromkosten etwas sinken. Da allerdings mit der neuen Hardware einige Anschlüsse wegfallen wollte ich eigentlich langsam umsteigen. Erst mal in Ruhe ein aktuelles Gentoo drauf, dann meine Steuerung passend umstellen und schlussendlich dann den alten Server abschalten.
Nunja, das war der Plan, die Praxis kam etwas überraschender. Gerade hatte ich das frische Gentoo auf der neuen Kiste gebootet und eine ellenlange Liste an Portage übergeben gab es als Quittung nur eine Fehlermeldung: Der Portage-Tree wäre ungültig. Huh? Der Tree liegt auf meinem Server und ist per NSF an alle Rechner verteilt – was soll da jetzt auf einmal ungültig sein. Die Antwort war nicht sehr erfreulich: Mein alter Server hatte den Dienst quittiert. Offenbar waren die frostigen Temperaturen zu viel für eine LAN-Karte, die nun den ganzen PCI-Bus lahmlegte. Naja, also die große Auswahl: Weiter arbeiten ohne Internet und mit „lediglich“ 100MBit/s im LAN oder direkt den neuen Server fertig aufsetzen. Naja, dir Grundfunktionen sollte der Neuling packen – Routing steckt in einer VM und zur Steuerung reicht PHP. PHP ist schon drauf, also Platten und Karten umgebaut und gestartet. Schnell noch VMware installieren – ach halt. Kein Internet. Auf den alten Platten lagen natürlich auch die Distfiles und somit eine passende Version des VMware Servers. Installiert, Konfiguriert, Gestartet, Connected, … nichts. Keine Reaktion. Hier macht sich der große Nachteil von Closed Source bemerkbar: Debuggen Fehlanzeige. „Es ist ein Fehler aufgetreten – der Fehler lautet:“ – nunja, kein Fehler ist auch ein Fehler.
OK, also den VMware-Server auf meinem Laptop installiert und notdürftig den Router zum Booten verholfen. Im Netz auch nichts Neues. Viele kennen den Fehler, nur eine Antwort sucht man vergebens. Mein erster Gedanke war nun direkt auf KVM zu setzen, da dies inzwischen sogar PCI-Karten an VMs weitergeben kann lässt sich damit viel Zeit vertreiben. Dummerweise unterstützen die CPUs keine Hardwarevirtualisierung, womit nur QEmu übrig bliebe. QEmu ist die Lösung, die mir schon öfter Offline-Tage beschert hatte, weil der Netzwerkstack nicht immer so will wie ich. Dann kam mir wieder VMware in den Sinn – die Version 2 des Servers ist seit kurzem stable, im entsprechenden VMware-Overlay fand sich auch schon ein passendes Ebuild und siehe da: Nach etwas gebastel startet sogar das neue Webinterface. OK, ich musste zwar den halben Laptop neu kompilieren, weil das Plugin nur mit USE=“accessibility“ funktioniert, aber immerhin konnte ich danach meine zwischenzeitlich neu geladene Version von Endian in eine serverseitige VM bannen.
Nächste Baustelle war meine Steuerung. Die Relaiskarte mit serieller Schnittstelle lässt sich ja noch recht einfach zur Zusammenarbeit überreden, bei meinen Schaltergebastel am Parallelport ist das schon schwerer: Zwar ist das Ganze prinzipiell auch mit dem neuen Server möglich, aber der Parallelport ist hier nur intern auf einem Pfostenstecker ausgeführt. Dumm, wenn man seinerzeit neben den Drähten auch die nötigen Widerstände direkt auf den Sub-D-Stecker gepflastert hat. Als Lösung muss wie immer der Holzhammer her: Jetzt pollt ein kleiner Atmega8 die Schalter und gibt die Daten seriell an den Server weiter. Als kleiner Bonus fragt der in der Leerlaufzeit noch meine 1wire-Thermometer ab, sodass ich trotz der Blockade beider COM-Ports nicht auf die Temperaturen verzichten muss. Auf Dauer auch keine Lösung, dafür habe ich wie schon erwähnt andere Pläne: Nachdem ich während dem Kompilieren etwas mit meinem AVR-Zeugs gebastelt habe konnte ich die ersten beiden MCP2515, trotz der von mir gehasstem SMD-Bauweise, zum reden bringen. Das ganze war so stabil, dass jetzt direkt ein kleines Paket mit MCP2515s zu mir unterwegs ist (diesmal in DIP). Dabei sind auch ein paar weitere Atmega’s – u.A. passend für einen iSysBus Devnode.
Inzwischen geht also sogar das Licht an, wenn ich den Schalter betätige und „mein“ Internet ist wie auch die Datenfreigaben zurück auf dem Schirm. Einzige dringende Problemstelle ist das Soundsystem: Meine alte Soundkarte lässt sich nicht in den neuen Slot prügeln – die Karte besteht auf ihre 5V Versorgungsspannung, mein Server hält nur Slots für 3,3V bereit. Schlecht, wenn der Server normal als Wecker dient: Zwar sollte mein Handy hier temporär ausreichen, aber irgendwie ist das nicht immer laut genug :/. Naja, ich mach mich dann auf die Suche nach einer passenden Soundkarte, aber erst mal begebe ich mich jetzt wieder an meinen Terminkalender: Die ersten Konzerttermine für 2009 zeichnen sich ab um zwischen Weihnachten und Neujahr war ja auch noch Etwas.
Unbekannte USB-Geräte unter VMWare automatisch nutzen
Vor einiger Zeit hatte ich mal in meiner schlauen Kategorie einen kleinen Hinweis versteckt: Möchte man auf neueren Linux-Systeme ein Gerät ohne Linux-Treiber an eine VMWare anhängen quittiert diese mit einer Fehlermeldung – das USB-Gerät könnte nicht genutzt werden. Abhilfe schafft der erwähnte Befehl “ echo 1 > /sys/bus/usb/devices/*USB-ID*/bConfigurationValue“ – allerdings hilft dies immer nur kurzzeitig – wird das USB-Gerät entfernt oder der PC neu gestartet muss die Konfiguration beim nächsten mal neu gesetzt werden. Abhilfe schafft eine udev-Rule, welche unter Gentoo z.B. „/etc/udev/rules.d/06-VmwareUsbFix.rules“ heißen kann:
BUS="usb",
SYSFS{idProduct}=="bbbb",
SYSFS{idVendor}=="aaaa",
RUN+="/bin/sh -c 'echo 1 > /sys/$devpath/device/bConfigurationValue'"
Die Werte für Vendor und Product lassen sich per lsusb ermitteln. Das ganze kann auch um Seriennummern o.Ä. erweitert werden, wenn die Zuordnung über die o.g. IDs nicht genau genug ist. btw: Mit entsprechenden Named Pipes & co kann man hiermit auch ein automatisches attachen an eine QEMU/KVM einrichten.
OpenTTD 0.6.2-RC1
Der erste 0.6.2er Releasekandidat des Simulationsspiels „OpenTTD“ bringt eine ganze Palette an Fehlerkorrekturen mit sich. Die Quelltexte gibt es auf der Projektseite, ein passendes Ebuild findet sich wie immer auf meinem Server.