Tag Archives: Linux

1234567890 Sekunden Unixzeit

Unix und viele verwandte Systeme speichern Zeitangaben in Sekunden, die seit dem 1. Januar 1970 00:00 Uhr nach koordinierter Weltzeit (UTC) vergangen sind. Das ist nicht immer ganz unproblematisch, aber wie man unter anderem der deutschen Wikipedia entnehmen kann, gibt es ein paar besondere Werte, die für uns Geeks ein netter Vorwand sind, die Gläser zu erheben und anzustoßen.

Heute Nacht nun wird in dieser Zeitrechnung die Marke 1234567890 Sekunden erreicht. Nach deutscher Zeit (UTC+1) also in der Nacht von Freitag, dem 13. Februar 2009 auf Sonnabend, den 14. Februar 2009 um genau 00:31:30 Uhr.

Für viele Geeks rund um den Globus ist das auch ein Grund zum Feiern, zumindest ist die Trefferliste von Google zu utc 1234567890 ziemlich lang.

Ein besonderes Kuriosum: in Pennsylvania (USA) gibt es einen GeoCache mit dem Titel »When The Clock Strikes 1234567890«! *gg*

Wer mit Tux und mir heute nacht zusammen anstoßen will: wir halten uns in der Stadt Otto-von-Guerickes in der Schenke zur kräftigen Blume auf. ;-)

Nachtrag: ich hab nicht von webvariants abgeschrieben sondern von Stories of a KDE programmer. Den Link hatte Tux am Montag in seinem identi.ca Stream. 8-)

Samsung R700 Linux Installation: Erfahrungen (2)

Ich denke, ich habe jetzt eine Konfiguration fuer das R700 gefunden, mit der (fast) die gesamte Hardware funktioniert. Zumindest kann ich nun mit dem R700 unter Linux X-Plane und Flightgear betreiben, was gleichermassen dienstlich wie auch privat sehr angenehm ist.

Ich bin uebrigens erstmal bei KDE 3.5.9 haengengeblieben, statt wie zuerst vorgenommen gleich das neue KDE 4.1 zu verwenden. Zusammen mit compiz-fusion ist KDE 3.5 ausreichend huebsch anzuschauen und angenehm zu bedienen. (Wie konnte ich nur so lange ohne die Funktionalitaet der Compiz-Plugins “Scale” und “Expose” leben?)

Lediglich die Regelung des LCDs geht unter X noch nicht. Und ich glaube, mein Sound ist insgesamt noch leiser als unter Windows, was ich darauf zurueckfuehre, welchen Kernelparameter ich verwende “model=basic”. Den Kartenleser habe ich noch nicht ausgiebig getestet.

Hier aber nun die Konfigurationen im Detail:

Continue reading

Samsung R700 Linux Installation: Erfahrungen (1)

Ich habe mittlerweile mit der Installation von Gentoo begonnen. Das System laeuft mittlerweile aus eigenem Bootloader und bedarf der weiteren Softwareinstallation.

Einen 2.6.26er-Kernel habe ich schon gebacken. Leider musste ich die Config  selbst zusammensuchen, ich habe mit Google keine andere Linuxinstallationsanleitung oder zumindest Kernelconfig gefunden. Wenn ich zufrieden und fertig bin, sollte ich meine .config hier im Blog veroeffentlichen und dann Werner Heuser von Tuxmobil einen Link fuer seine Sammlung zukommen lassen. Schliesslich hat mit diese Linksammlung auch schon so oft geholfen, als ich das alte Inspiron installiert habe.

Momentan kompiliere ich X und Anwendungsprogramme (Firefox, Thunderbird, Gimp, Openoffice). KDE zu installieren zoegere ich noch hinaus, wer weiss, ob nicht doch noch (wenigstens maskierte) KDE 4.1 Pakete zu bekommen sind. Ich glaube, dass es ein Overlay von KDE 4.1 gibt, aber ich mag Overlays nicht sonderlich und wuerde es lieber direkt aus Portage beziehen.

Bereits beim Installieren des Basissystem von Gentoo (Stage3) sowie dem Uebersetzen des Kernels sind mir beim Arbeiten mit der Shell und dem R700 einige Sachen aufgefallen, die seltsames Verhalten zeigen oder ganz anders geloest sind als beim alten Dell Inspiron 8200:

  1. STRG links und Fn auf der Tastatur sind genau andersherum angeordnet als beim Dell. Wenn man viel mit den Bash-Shortcuts (CTRL-E, CTRL-A, etc.) zu arbeiten gewohnt ist und gleichzeitig in den Fingern noch die Erinnerung an die alte Tastatur stecken, dann wird das Tippen arg eingeschraenkt. Ist aber nur Gewoehnungssache.
  2. Sowohl beim Inspiron als auch beim R700 ist die LCD-Helligkeit ueber Fn+Cursortasten zu regeln. Waehrend beim Inspiron allerdings die Hardware das uebernimmt (und es deswegen auch auf der Console oder beim Booten funktioniert), ist es beim R700 nur in Software geloest. Als Workaround kann ich aber zumindest einen Zahlenwert in /proc/acpi/video/NVID/LCD/brightness schreiben und damit die Helligkeit regeln.
  3. Unter Vista liess (und beim R60 meiner Freundin unter XP laesst)  sich mit Fn-F5 das Backlight komplett deaktivieren. Sehr stromsparend und bei Sonne von hinten auch noch ein wenig ablesbar. Keine Ahnung, wie ich das unter Linux hinbekommen kann. Hat jemand Ideen?
  4. Das R700 hat eine Webcam und einen SD-Kartenleser eingebaut. Wie krieg ich die nur unter Linux zum Laufen? Ich vermute mal, I2C ist mein Freund bei der Kamera und fuer MMC habe ich auch ein Kernelmodul gesehen, konnte es aber bisher noch nicht probieren. Ratschlaege sind auch hier aeusserst willkommen.
  5. Die Backspacetaste funktioniert auf der Shell manchmal seltsam. Es wird ab und zu irgendein Sonderzeichen mit in den Zeichenpuffer geschrieben, der dann die ganze Befehlszeile ruiniert. Es koennte auch sein, dass dies die ASCII Bell ist, weil ich derzeit gar keine Bell auf der Shell hoere. Da muss ich noch mal nachforschen. Eventuell liegt es auch der Keymap de-latin1-nodeadkeys, die ich in /etc/conf.d/keymaps eingetragen habe. Ich gehe spaeter mal auf de-latin1 zurueck und schaue, ob es Besserung gibt.
  6. Der verbaute Intel WLAN Chip 4965 braucht beim wpa_supplicant den Parameter “-Dwext” und nicht — wie ich zuerst dachte — “-Dipw”, wie ich es aus der manpage herauslesen wuerde.

Bei Gentoo aergere ich mich immer mehr ueber den Status von Firefox: Die Version 3.0 ist seit Monaten draussen, 3.0.1 seit ueber fuenf Wochen. Warum muss beides immer noch maskiert im Gentoo Portage sein?

Neues Notebook: Distro gesucht

Ich hab mir Mittwoch ein Samsung R700, welches meinen doch schon in die Jahre gekommenen Inspiron 8200 ersetzen soll. Nachdem ich mich ein, zwei Stunden ueber das vorinstallierte Vista amuesiert hatte, habe ich sofort mit der Entscheidungsfindung fuer eine Linuxdistribution begonnen. Klar war, dass ich eine Distribution wollte, mit der ich bereits Mileage habe, damit die Installation zuegig von der Sache geht.

  • Debian habe ich kurz erwogen, mich aber dann doch dagegen entschieden, weil ich einen Firefox moechte, der auch so heisst, und keinen Iceweasel. Dieses Lizenzgerangel um Firefox/Icewease und Thunderbird/Icedove interessiert mich als Endnutzer nicht die Bohne, solange ich beides legal kostenfrei verwenden darf. (Debians Entscheidung kann ich trotzdem verstehen und gutheissen: Fuer Firmen als Anwender kann eine absolut freie Distribution in der Finanzbuchhaltung/Rechtsabteilung selbst bei einer staatlichen Pruefung fuer froehliche Gesichter sorgen!) Mit apt-get und aptitude habe ich aber immer gern gearbeitet. KDE 4.1 ist allerdings auch nicht dabei, auch wenn es wohl bald in Debian Sid aufschlaegt.
  • Knoppix: Siehe Debian. Und ich war zu faul, mir die DVD zu saugen und zu brennen. Und kein KDE 4.1…
  • Opensuse: Suse will ich aus Prinzip nicht. Und die OpenSuse Live CD mit KDE 4.1 lief bei mir eh nicht richtig rund.
  • Sabayon Linux: Klingt interessant, insbesondere weil ich nicht so viel selbst kompilieren muesste. Aber ich mag den Ansatz nicht, dass einfach ueber ebuild/portage noch ein anderes Paketmanagementsystem draufgestuelpt wird. Ebuild ist selbst schon komplex genug… Ich bin unschluessig. Hat jemand Erfahrungen damit gemacht? Ich bitte um entsprechende Kommentare!
  • (K|X)ubuntu? Hat bei mir im Kopf immer noch den Status des Anfaenger-Linux. Nett waere aber, dass es auf deb-Paketen basiert. Und die Hardwareerkennung soll genial sein. Der Installer ist wohl gleichzeitig eine LiveCD, die ich wohl mal ausprobieren sollte. Wenn, dann muss es Kubuntu sein, die haben seit einigen Tagen wohl auch KDE 4.1.
  • Gentoo: Habe ich bisher auf dem Inspiron verwendet, stecke ich gedanklich also derzeit am tiefsten in der Materie. Wenn doch nur diese langen Installationszeiten durch das Kompilieren nicht waeren. Ich will doch lediglich moeglichst aktuelle Pakete mit moeglichst wenig Aufwand installieren. Gentoo ist halt viel Handarbeit. Was mich wundert: Firefox ist in der 3.0.1 immer noch maskiert (~x86), KDE 4.1 ist noch nichtmal maskiert zu haben. Was ist los bei Gentoo, schlafen die, haben die keinen Bock mehr oder einfach zu wenig Leute? Die hatten doch mal den Ruf, alles superschnell ins Portage hineinzubekommen.

Schlussendlich: Ich werde die Installation wohl mit Gentoo beginnen, auch wenn ich dabei ein leicht ungutes Gefuehl habe. Die Kubuntu-Installer ziehe ich mir aber auch und teste sie mal als LiveCD.

Indirekter SPAM

Das Antiblau-Blog war heute zeitweise nicht erreichbar, gemeinsam mit einigen anderen Diensten, die auf diesem Server laufen.

Grund ist eine indirekte SPAM-Attacke: Irgend jemand hat heute morgen eine meiner E-Mail-Adressen als Absender für eine größere Menge von SPAM-E-Mails missbraucht. Der Effekt war, dass der Server mit failure notice-Nachrichten bombardiert wurde – insgesamt ca. 8000 Stück.

Das fiese an so einer Attacke: Das findet wohl kein SPAM-Filter. Die Fehlerbenachrichtigungen sind korrekte und unverdächtige E-Mails, lediglich ihre Anzahl ist ungewöhnlich. Hier kann wohl nur eine konsequente Umsetzung diverser Anti-Spam-Maßnahmen wie z.B. Absenderverifikation helfen.

Aber bis es soweit ist, kann ich wohl nur versuchen, die Erkennungsmaßnahmen zu optimieren und einzelne Parameter so zu tunen, dass viele E-Mails den Server nicht mehr in die Knie zwingen.

Ideen sind an dieser Stelle oder direkt an mich natürlich immer willkommen!

HowTo: Standard-Dateiberechtigungen im Apache

Die Aufgabe: Dateien, die vom Apache HTTP-Server erzeugt werden, sollen bestimmte Zugriffsrechte erhalten.

Seit wir das Antiblau-Blog mit einem Cache versehen haben, bekomme ich regelmäßig E-Mails von dem Script, das sich normalerweise um die Korrektur der Berechtigungen in den WWW-Verzeichnissen kümmert (die Struktur lässt sich mit den Standardmechanismen der Unix-Dateiberechtigungen nicht mehr abbilden und ACLs habe ich nicht). Der Grund ist, dass die Cache-Dateien mit der Gruppe des Apache, statt mit der Gruppe des Webspaces, und mit den falschen Zugriffsrechten erzeugt wurden.

Die Gruppenberechtigung lässt sich leicht korrigieren, indem das Gruppen-Stickybit des übergeordneten Verzeichnisses gesetzt wird:

chmod g+s cache

Schwieriger ist die Anpassung der Zugriffsrechte von 640 auf 660. Hierfür muss der Apache so konfiguriert werden, dass auch Gruppen Schreibrechte erhalten. Das geschieht über die umask-Variable (umasks legen fest, welche Berechtigungen bei einem chmod wieder gelöscht werden), die in der envvars-Konfiguration angegeben werden.

Dazu habe ich in die Datei

/etc/apache2/envvars

den Eintrag

umask 002

eingefügt, den Apache neu gestartet und schon war das Problem behoben.

SME Server

Gestern kurz vor Feierabend wurde ich in ein Gespräch über Trac verwickelt. Im Institut laufen die Projekt-Repositories und die entsprechenden Bugtracker auf einem Linux-System mit der Distribution SME Server. Wissensdurstig wie ich bin, hab ich mich mal umgeschaut. Im Hinterkopf hatte ich noch einen Artikel aus der c’t 4/07, wo das System nicht so schlecht weg kam. Mittlerweile ist Version 7.3 aktuell und die Hardware-Anforderungen sind relativ niedrig. Genau genommen handelt es sich bei dem System um direkte Konkurrenz zu eisfair, nur mit Weboberfläche.

Runterladen des Installations-Images per Bittorrent war kein Problem und Testrechner stehen hier genug rum. Die Wahl viel auf den 700er Duron mit den zwei 20 GB Festplatten. SME Server reißt sich auch gleich beide unter den Nagel und richtet ein RAID 1 drauf ein. Bei der Installation konnte man sich auf der zweiten Konsole daher schön /proc/mdstat anschauen und sehen wie er die Arrays synchronisierte. Das ist auf jeden Fall ein nettes und sinnvolles Feature. Der Installer beschwerte sich auch nicht, dass die Platten nicht exakt gleich groß waren. Das kann der neue Installer von eisXen bzw. eisfair-2 noch nicht – ich werde das mal anregen.

Nachdem alle Dateien auf die Kiste kopiert waren, kam der Rechner beim Reboot bis zum Einbinden der Swap-Partition und blieb dann hängen. Schluss, Ende, das war der Test von SME Server. Nächster Kandidat im bunten Distributions-Hopping: DesktopBSD

Kernel-Upgrade: Gar nicht so einfach

Nachdem ich die NE2k-Netzwerkkarte aus meinem Server durch eine 3com-Karte ersetzt hatte, dachte ich mir heute, dass ich eigentlich das längst fällige Kernel-Upgrade mal durchführen könnte. Bislang wurde das durch eben jene Netzwerkkarte verhindert, die nur mit einer Kernel-Version <= 2.6.18 lief.

Ganz so einfach, wie ich anfangs dachte, sollte sich das Upgrade dann aber doch nicht gestalten. Meist erzeuge ich die neue Config, indem ich das alte .config-File in das neue Kernelverzeichnis kopiere und dann manuell die Konfiguration anpasse. Die Parameter passen in der Regel so, dass ich am neuen Kernel kaum etwas verändern muss.

Heute nicht: Offenbar hat sich in den Bereichen SATA-Treiber und Netzwerkfilter so viel geändert, dass einige meiner Optionen, nämlich der SATA-Controller-Treiber selbst und die Targets für das NAT, nicht übernommen wurden. Und weil das letzte Kernel-Basteln mit diesem Rechner schon seeehr lange her ist, wusste ich eigentlich nur noch, dass der Treiber meines Controllers komplett anders heisst, als Chipsatz und Karte. Zum Glück hat die alte Kernel-Konfiguration noch aufschlussreiche Hinweise geliefert. SATA-Krams ist jetzt jedenfalls in einem eigenen Bereich und recht komplett vom SCSI getrennt.

Eine spontane Idee, die ich dabei hatte: Man könnte auf einer Webseite (zum Beispiel unter der Domain kernelconfig.org) einen Service einrichten, der Konfigurationen für einen bestimmten Kernel entgegennimmt und auf möglichst gleich funktionierende Konfigurationen für einen neueren Kernel umsetzt. Im gleichen Zuge könnten noch Tipps gegeben werden, wie sich die Konfiguration verbessern lässt und als Plus könnte passend zu einer Systemanalyse (dmesg, lspci, isapnp, lsusb, ….) eine passende Kernel-Konfiguration ausgegeben werden. Falls jemand viel Zeit und Lust hat …

Auf jeden Fall habe ich nun einen aktuellen Kernel (2.6.25) auf meinem Server und kann wieder Uptime sammeln. :)

LIRC für eisfair – eine Episode voller Rückschläge

Wie man auf Pack-Eis sehen kann, betreue ich das Paket »LIRC« für Eisfair. Wie bei climm und GnuPG bin ich 2005 aus persönlicher Notwendigkeit heraus in diese Rolle gerutscht. Mein Heimserver war damals für das Abspielen meiner Musik verantwortlich und eine Infrarotfernbedienung ist da Gold wert. Wie so oft im OpenSource-Bereich brachte ich das Paket auf einen Stand, der meinen Anforderungen genügte und beließ es bei einer längeren Liste mit Ideen und ToDos, die im Prinzip seit 2005 auf ihre Umsetzung warten – andere Dinge waren halt wichtiger.

Nun wurde kürzlich ein neues Kernel-Paket für eisfair-1 veröffentlicht: ein gepatchter 2.4.35. Wir haben im Testteam lange getestet bis er im März der Öffentlichkeit zum Fraß vorgeworfen wurde. Ein neuer Kernel bedeutet aber auch, dass LIRC neu übersetzt werden muss, da es seine Treiber selbst mitbringt und Kernelmodule nunmal zur Kernelversion passen müssen. Es gab auch schon die eine oder andere Anfrage in der Newsgroup und ich beschäftige mich seit ein paar Tagen mit einer neuen Version des Pakets.

Zunächst steht das Kompilieren an. Ich konnte LIRC 0.8.2 für die eisfair-Kernel 2.4.26-1 und 2.4.35-wt1 jeweils in den Versionen mit und ohne Unterstützung für SMP übersetzen – für 2.4.26 mit der alten Build-Umgebung mit gcc 2.95.3 und für den 2.4.35 mit der zukünftigen Build-Umgebung mit gcc 3.4.6, die zur Zeit vom Testteam getestet wird. Das Übersetzen von LIRC artet schnell in Arbeit aus, weil es mit einem Lauf aus ./configure, make und make install nicht getan ist. Das muss für jede Kernel-Version und jeden gewünschten Treiber einzeln gemacht werden, es sei denn, man kompiliert gleich alle Treiber. Tut man dies nicht, ist noch mindestens ein Lauf mit der Option --with-driver=userspace nötig, damit LIRC auch in der Lage ist mit verschiedenen Treibern gestartet zu werden und nicht nur mit dem, für den es kompiliert wurden, wie z.B. serial.

Also wie gesagt, ich konnte LIRC für die Treiber serial und atiusb kompilieren – das sind die beiden, wo ich selbst Hardware zum Testen habe. Dank VMware waren auch die verschiedenen Kernel kein Problem, ich hab einfach für jeden eine neue virtuelle Maschine angelegt. Die anfängliche Euphorie, dass auch ein LIRC 0.7.1 mit den aus 0.8.2 gebauten Kernelmodulen für 2.4.35 läuft, wich dann der ersten Enttäuschung. Ich hatte zunächst die Version, die mit allen Treibern laufen soll, mit --with-driver=none kompiliert. Das funktionierte logischerweise nicht. Der erste herbe Rückschlag: LIRC 0.8.1, 0.8.2 und 0.8.3pre1 lassen sich mit der neuen eisfair-Buildumgebung und der korrekten Option --with-driver=userspace nicht übersetzen, wie man auf der Mailingliste von LIRC nachlesen kann.

Man kann dort ebenfalls nachlesen, dass ich versucht habe, die neueste Version aus dem CVS zu übersetzen, wo dieser Fehler bereits behoben ist. Leider macht mir da die Buildumgebung einen Strich durch die Rechnung. Das Skript ./configure liegt nicht im CVS, sondern wird mit den autotools (autoconf, automake usw.) erst noch selbst erzeugt. In der Theorie funktioniert das gut, in der Praxis tritt bei mir leider der gleiche Fehler auf, den ich vor einiger Zeit schon hatte, als ich climm aus dem SVN bauen wollte. Es wird ein unbrauchbares Skript erzeugt, dass nur eine wenig hilfreiche Meldung ausgibt. Wenn sich jemand gut mit autoconf auskennt und eine Idee hat, wo da das Problem liegt, möge sie sich dringend bei mir melden! Fazit jedenfalls: LIRC aus CVS ist für mich nicht möglich.

Heute erreichte mich dann über die Mailingsliste von LIRC die überraschende Nachricht, dass gerade die 0.8.3pre2 rausgegeben wurde. Der o.g. Fehler tritt nicht mehr auf, dafür ein neuer. LIRC lässt sich nicht mehr mit dem Treiber serial übersetzen, weil in der entsprechenden Quellcode-Datei eine Header-Datei aus den Kernelquellen nicht gefunden wird. Zumindest wird sie bei den 2.4er Kerneln nicht gefunden. Ein flüchtiger Blick in den Quellbaum eines 2.6er Kernels offenbarte, dass es dort zwei Dateien io.h gibt, eine in /usr/src/linux/include/linux und eine in /usr/src/linux/include/asm – beim 2.4er Kernel gibt es bloß letztere.

Auch dies habe ich auf der Mailingliste von LIRC gemeldet und warte erstmal ab. Es gibt nämlich mehrere Möglichkeiten jetzt:

  • ich warte ab, bis die nächste LIRC-Version veröffentlicht wird, mit der ich alles korrekt übersetzen kann
  • ich baue das allgemeine LIRC und die Treiber für atiusb aus der 0.8.3pre2 und die Treiber für serial aus der 0.8.2
  • ich kann durch wundersame Eingebung oder Hilfe von außen den Fehler in der Buildumgebung finden, so es denn tatsächlich einer in dieser ist, und die aktuelle Version aus dem CVS übersetzen
  • ich gehe in den Versionen soweit zurück, bis ich auf eine stoße, die ich komplett übersetzen kann, das wäre dann wahrscheinlich die 0.8.0
  • ich behebe den Fehler in 0.8.3pre2 selbst und übersetze dann meine modifizierte Version

Ehrlich gesagt, gefällt mir die erste Version bisher am besten, allerdings könnte das unter Umständen noch eine Weile dauern, je nachdem wie schnell die Entwickler von LIRC die nächste Version rausbringen. Module aus verschiedenen Versionen wollte ich eigentlich vermeiden, um mir nicht eine zusätzliche Fehlerquelle aufzureißen. Auch eine alte Version finde ich nicht so cool. Ob wir den potentiellen Fehler in der Buildumgebung schnell finden, ist auch ungewiss, bleibt also im Grunde noch die letzte Möglichkeit: ich stöber durch den C-Code und beheb den Fehler selbst – dazu hab ich keine Lust…

Falls sich also jemand fragt, warum die neue Version des LIRC-Pakets für eisfair so lange braucht, ich weise sämtliche Schuld von mir und schiebe es auf höhere Gewalt!

Probleme beim Upgrade von Debian Sid

Nachdem Tux ja schon in XOrg vs. Eclipse über Probleme beim normalen Ugrade von Debian Sid berichtet hat, könnte dies zu einer kleinen Artikelserie werden. Heute in diesem Kino: libdjvulibre21. Bei Debian gibt’s schon einen Bugreport und die Lösung hab ich in einem Wiki gefunden:

dpkg --purge libdjvulibre15

purge mit aptitude reichte nicht aus. Danach braucht’s nur noch das einfache aptitude safe-upgrade und alles ist wieder in Butter.