Ist bereits ein paar Monate her, aber der Inhalt dieses Quick-Posts ist auch nicht gerade hochgradig zeitkritisch.

Folgende Meldung bekommt man, wenn man es schafft bei YouTube auf einen internen Serverfehler (500) zu stoßen:

YouTube Fehler

YouTube Fehler

Es folgt ein Dauerwerbethread … 😉

Aber wer mich und/oder das Blog hier kennt weiß, das ich nicht leichtfertig Mist empfehle oder hype. Ich bin wirklich von hide.io überzeugt und möchte diesem nicht mehr ganz jungem Startup daher gerne zu etwas mehr Verbreitung verhelfen. Da sich dieses vor dem Hintergrund aktuellen Zeitgeschehens (Stichworte: NSA-Überwachungsskandal, Edward Snowden, etc.) gerade aktueller den je ist, möchte ich gerne meinen kleinen Beitrag leisten.

Zunächst: Worum geht es überhaupt? (mehr …)

Could not chdir to /var/spool/fcron: Permission denied

Diese Meldung bekam ich nach einem Update auf meinem Raspberry Pi unter ArchLinux jedes Mal, wenn ich mit

#> fcrontab -e

die root-Crontab aufrufen wollte.

Die Lösung ist total einfach: Selbst als User root muss man Mitglied der Gruppe fcron sein; schon geht’s! Aus- und wieder einloggen nicht vergessen! 😉

Could not chdir to /var/spool/fcron: Permission denied

This message I got after a system-update on my Raspberry Pi running ArchLinux everytime, I tried to edit my root-crontab using:

#> fcrontab -e

The solution is very simple: Even when you are root, you have to be a member of the fcron group. After adding a user to this group, editing the crontabs works again. Do not forget to logout and re-login prior to editing the crontabs! 😉

Ein neues Projekt. Man hat eine super Idee, die man gerne umsetzen möchte. Jenseits des normalen Rhythmus hat man neben ausreichend Engagement auch endlich mal ein paar Tage Zeit um sich so richtig schön zu vergraben und an seiner Idee zu arbeiten. Eine Woche Arbeit; man hat ein genaues Bild von dem im Kopf, was man erreichen will. Bisher sieht alles vielversprechend aus: Man hat ein paar neue Dinge gelernt, recherchiert, manches auf für einen selbst unüblichem aber erstaunlich effektivem Wege gelöst, … kurz: man ist stolz auf das was man bisher erreicht hat. Doch dann, das undenkbare:

Festplatten-Crash!

Kann doch nicht sein: SSD für 300,- € am Start, man nutzt Git, bis gestern keine Probleme, alles lief flott und reibungslos. Und von jetzt auf gleich – einfach alles weg??

Wie der jüngste Fall von Linux Kernel Maintainer Linux Torvalds zeigt, passiert das selbst den besten von uns … in diesem Fall ist „nur“ ein teil der Arbeit eines einzigen Tages verloren gegangen. Jedoch zeigt mir das mal wieder: Git alleine ist lediglich ein guter Anfang: Wirklich sicher ist erst, was nicht nur commited, sondern auch bereits in ein externes Repository gepushed wurde! „Häufig pushen“ ist also das neue „Häufig speichern“.

Der Fall zeigt jedoch auch, wie abhängig und wie selbstverständlich wir inzwischen eine ausreichend geölten Maschinerie voraussetzen. Früher war man bereits froh, wenn man beim erstellen von z.B. einer umfangreichen, lokalen Arbeit am PC durch häufiges speichern gegen Stromausfälle, Programmabstürze und ähnlichem abgesichert war. Fiel nun die Festplatte aus, dann war das zwar ärgerlich wenn unter Umständen die Arbeit von einer ganzen Woche (bei vorbildlich gemachten, 1x wöchentlichen Backups), wurde jedoch allerseits als höhere Gewallt akzeptiert.
Heutzutage schlägt ein Fall wie dieser bereits hohe Wellen, nur weil die Arbeit von ein paar Stunden verloren gegangen ist!

Ich denke mir dabei folgendes:

  1. Ticken wir eigentlich noch ganz richtig?? Das ist doch nicht mehr verhältnismäßig, solche Erwartungen zu stellen; wo bereits so ein „Furz im Wind aktueller Entwicklung“ für manche eine Welt, da: Gestörter Zeitplan zusammenbrechen lässt.
  2. Trotzdem: Remote Branches nutzen und häufig pushen! Gibt es eine Policy in einer Firma, welche die Nutzung eigener Branches unterbindet oder reglementiert, hat der Initiator keine Ahnung von Git und man kann den Ball bei einer etwaigen Frage, wie man sowas in Zukunft zu unterbinden gedenkt, selbstbewusst zurückspielen.

Mannometer … wenn <6 Stunden Arbeit soooo viel Wert sind, müssen alle, die sich bereits in einer vergleichbaren Diskussion wiedergefunden haben, ihr Gehalt wohl noch einmal neu verhandeln …

Ha! Da kann ich mir, als jemand der über Apple seit sehr langer Zeit als treffendsten Kommentar nur den Kopf schütteln kann, das Grinsen doch wirklich nicht verkneifen: Angesichts der auf der Apple-Keynote 2013 am 10. September vorgestellten, neuen iPhone – Serie folgte am Abend ein Kommentar der heise Redaktion, welchen ich sehr lesenswert finde und mir voll aus der Seele spricht.

Spätestens, wenn man bereits von Nokia verarscht wird, sollte einem das langsam zu denken geben …

Nokia's Facebook-Reaktion auf die vorstellung der neuen iPhone - Serie

Nokia’s Facebook-Reaktion auf die Vorstellung der neuen iPhone – Serie

GNU Screen ist ein Terminal Multiplexer, welcher einem über in der Manpage dokumentierte Tastenkombinationen die komfortable Steuerung mehrerer Terminal-Sitzungen über nur eine „echte“ Konsole ermöglicht. Dieses kann man sich vorstellen wie „Tabs“, welche man heutzutage von allen Internet Browsern her kennt. Ein weiterer Vorteil ist, das man so einen Container einfach mitsamt den darin laufenden Sitzungen in den Hintergrund schicken kann und die darin enthaltenen Sitzungen weiterhin ausgeführt werden. Dieses gilt auch für „unfreiwilliges“ schließen der Verbindung; beispielsweise wenn die Internetverbindung abbricht, der Computer abstürzt, etc.

Ich suche mir jedes Mal die folgende Information neu aus dem Internet heraus, daher notiere ich sie mir einmal, leicht auffindbar, hier.

Man kann in Screen auch in jeder einzelnen Sitzung scrollen. Jedoch sind die Zeilen, die Screen dabei speichert, von Haus aus auf recht wenige eingestellt: 100 Zeilen; das ist, bei heutigen Auflösungen der meisten Konsolen, gerade mal etwas mehr als ein Bildschirm. Für mich ist das viel zu wenig! Daher erhöhe ich das meistens per Default auf 5000. Das kann, je nach Einsatzgebiet auch zu viel sein; wenn jemand nun 200 Konsolen darin startet und in jeder ein Logfile mit „tail -f“ durchlaufen lässt, kann hierbei schonmal recht viel Arbeitsspeicher für belegt werden. Daher: Bitte diese Einstellung nicht ungeprüft übernehmen.

Es gibt zwei Konfigurationsdateien für GNU Screen:

  1. Globale Konfigurationsdatei : /etc/screenrc
  2. Userbezogene Konfigurationsdatei : ~/.screenrc

Beide verwenden soweit dieselbe Syntax; Details sind der Manpage zu Screen zu entnehmen.

Nun aber zum Kern des Artikels:

Man füge folgende Einstellung hinzu:

defscrollback 5000

Fertig :)

Ich habe hier das Buch „Shell-Programmierung“ (ISBN: 978-3-8362-1157-4) von Jürgen Wolf im Original im Hardcover liegen; ein rund 800 Seiten starker Trümmer randvoll mit praktischen Tipps, Anwendungsbeispielen und nachvollziehbaren Erklärungen rund um die Programmierung in den verbreitetsten Linux-Shells. Das Buch ist super! Ich schaue regelmäßig rein und finde nach wie vor immer wieder etwas neues. Besonders als Referenz finde ich es einsame spitze!

Da sich nun leider nach mehreren Jahren der regelmäßigen Benutzung die Bindung mancher Seiten in den wohlverdienten Ruhestand verabschieden, wollte ich eben mal schauen ob man das nicht zufällig als digitale Kopie erstehen kann.
Tatsächlich: Kann man! Und zwar inzwischen kostenlos als Galileo OpenBook!

Ich kann nur jedem an diesem Thema interessiertem empfehlen: Downloaden!

Nur ein kleiner Quick-Tipp, denn ich jedoch jedes Mal wieder suche:

Wenn man Perl Module aus dem CPAN Archiv installieren möchte, geht das wie folgt:

perl -MCPAN -e ‚install Algorithm::Diff‘

„Algorithm::Diff“ ist dabei durch die das korrekte Modul zu ersetzen.

Hallo zusammen,

das Gentoo/Funtoo Paket ‚media-sound/teamspeak-server-bin‘ benötigt noch MySQL 5.1; dieses ist jedoch im ebuild nicht richtig aufgelöst, so das es nicht als Installationsbedingung aufgelistet wird. Installiert man das Paket, setzt in der Datei ‚/etc/teamspeak3-server/server.conf‘ ‚dbplugin=ts3db_mysql‘ (um die Einstellungen statt in einer SQLite-DB in einer MySQL-DB zu speichern) und versucht dann den TeamSpeak3 Server zu starten, bekommt man im Log folgende Meldung:

|INFO |ServerLibPriv | | TeamSpeak 3 Server 3.0.5 (2012-04-23 04:46:12)
|INFO |DatabaseQuery | | Please make sure you use the supplied ts3server_minimal_runscript.sh to run the server, or set LD_LIBRARY_PATH yourself
|CRITICAL|DatabaseQuery | | unable to load database plugin library „libts3db_mysql.so“, halting!

LD_LIBRARY_PATH ist aber (im Init-Script) schon auf das Verzeichnis gesetzt, in welchem die Datei libts3db_mysql.so liegt: /opt/teamspeak3-server/, also was soll die Meldung?
Das ganze wird klar, wenn man sich mit ldd einmal die  shared library dependencies der Datei /opt/teamspeak3-server/libts3db_mysql.so anzeigen lässt:

ldd /opt/teamspeak3-server/libts3db_mysql.so
linux-vdso.so.1 =>  (0x00007fff4efa4000)
libmysqlclient.so.15 => not found
libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.3.4/libstdc++.so.6 (0x00007f17f2bc0000)
libm.so.6 => /lib/libm.so.6 (0x00007f17f293d000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007f17f2727000)
libc.so.6 => /lib/libc.so.6 (0x00007f17f23ca000)
/lib64/ld-linux-x86-64.so.2 (0x00007f17f30fd000)

Es fehlt also die Datei libmysqlclient.so.15 ; diese ist jedoch leider nur in MySQL 5.1 enthalten. Nun hat man zwei Möglichkeiten:

  1. Man installiert und betreibt MySQL 5.1 . Dann löst sich das Problem ohne weiteres Zutun, jedoch finde ich es blöd sich von einem einzigen Programm eine veraltete MySQL Version aufzwingen zu lassen.
  2. Man besorgt sich die libmysqlclient.so.15.0.0 Datei von einem Build-Chain kompatiblen System (gleiche GCC Version, gleiche Arch, etc.). Das geht z.B. indem man erst MySQL in Version 5.1 installiertst, die Datei wegkopiert und wieder die MySQL Version, die man eigentlich haben möchte installiert.

Sofern man sich für Variante 2 entscheidet, kopiert man, während MySQL 5.1 installiert ist, die Datei /usr/lib64/mysql/libmysqlclient.so.15.0.0 nach /usr/local/lib/, erstellt einen Symlink von /usr/local/lib/libmysqlclient.so.15 auf /usr/local/lib/libmysqlclient.so.15.0.0 und installiert anschließend wieder die eigentliche Version von MySQL.

Hat man dieses alles erledigt, sollte sich der Teamspeak3 Server problemlos starten lassen.

Nachzulesen ist das ganze außerdem im Gentoo Forum. Auf die Idee gebracht hat mich der Blogeintrag von Alexander Winkler.