Tag Archives: Linux

Webcam Zeitraffer, Bauanleitung

Mit ein paar Hausmitteln kann sich jeder so eine Webcam-Zeitraffer-Aufnahme zu Hause selbst bauen. Zutatenliste:

· Einen ausgemusterten Mac Mini: Der hier ist ein Mac Mini der ersten Generation, quasi der Urgroßvater aller Mac Minis, aus dem Jahre 2005. Das Gerät ist aufgrund der schmalbrüstigen CPU und Gesamtleistung heute kaum noch ernsthaft einsetzbar, als Heimserver jedoch, ist er unschlagbar!

· Eine Portion handelsübliches Linux: Der Mac Mini da oben läuft mit Ubuntu Linux statt mit Apples Mac OS. Mehr dazu, beschrieb ich damals hier.

· Eine stinknormale Webcam: Bei mir ist es eine Logitech Pro 9000, die einfach an einen USB Port des Mac Minis gesteckt wird. Linux erkennt das Gerät völlig Automagisch und macht es über /dev/video0 im System verfügbar.

Den Rest erledigen die folgenden fertige Programme für mich:

  • fswebcam (apt-get install fswebcam)
  • crontab (um das ganze Zeitlich zu steuern)
  • mencoder (der Encoder von mplayer, apt-get install mencoder)
  • Standard GNU binaries wie date und cp

Das folgende Shell-Script schiesst mir ein aktuelles Bild der Webcam und bewegt das letzte alte Bild ins Archiv:

#!/bin/sh
DATE=`date +”%s-%Y-%m-%d_%H-%M”`

## move old picture to archive
/bin/cp /var/www/cam/capture-latest.jpg /var/www/cam/archive/$DATE-capture.jpg

/usr/bin/fswebcam -q -F 10 –skip 9 -d /dev/video0 -r 1280×720 –jpeg -1 /var/www/cam/capture-latest.jpg

Als Dateiname generiere ich über “date” ein leicht sortierbares Ergebnis: Die einzelnen Dateien haben das Format <unix-timestamp>-Jahr-Monat-Tag_Stunde_Minute-capture.jpg. Da die Unix Zeit ein einfacher Zähler der Sekunden seit 1970  ist, kann man so seine Fotos effektiv sortieren oder weiterverarbeiten. Zum Spaß lasse ich die Dateien in das Verzeichnis des Webservers ablegen – so kann ich von überall schauen ob zu Hause die Welt noch vorhanden oder schon untergegangen ist. Ein zweites Script rotiert mir die Dateien dann geordnet nach Jahr/Monat/Tag in die jeweiligen Verzeichnisse.

fswebcam ist ein nützliches Programm, was mir das Bild von der Webcam abholt. Als Optionen benutze ich -q (für Quiet) -F 10 (schiesse 10 Frames/Bilder) –skip 9 (werfe die ersten 9 davon weg) -d /dev/video0 (vom Gerät /dev/video0, der Webcam) -r 1280×720 (die Auflösung des Bildes) –jpeg -1 (Kompressionsfaktor des Bildes, -1 automagie).

10 Bilder deshalb, weil die Kamera für Autofokus und Anpassung an die Lichtverhältnisse etwas Zeit braucht, vor allem bei den wechselnden Lichtverhältnissen. Deshalb fliegen auch die ersten 9 Bilder direkt wieder weg. fswebcam könnte man auch ohne Crontab dauerhaft laufen lassen, allerdings fand ich persönlich diesen Weg für meinen Zweck besser.

Zu guter Letzt müssen aus den vielen Bildern nur noch bewegte Bilder werden. Dazu bediene ich mich des Tools mencoder:

mencoder “mf://~/cam/archive/*.jpg” -mf fps=10 -o ~/webcam-current.avi -ovc lavc -lavcopts vcodec=msmpeg4v2:vbitrate=800

Mencoder wird hier angewiesen als Quelle alle JPEG Bilder im Heimatverzeichnis  zu benutzen und daraus ein MPEG4 Video im AVI Container mit 10 Frames/Sekunde zu erstellen; ein anderes Beispiel findet man in der manpage.

Das Endergebnis habe ich dann bei Vimeo hochgeladen – natürlich könnte man auch Youtube benutzen oder es selbst hosten. Letzteres ist aber vor allem durch die üblichen Unterschiede zwischen Browsern und den unterstützten Formaten so eine Sache – Vimeo ist der einfachere Weg. Viel Spaß beim Nachmachen!

Blauer oder roter Draht?

Auch im Jahr 2010 hat man als moderner Systemadministrator durchaus noch Probleme, die genau so schon im letzten Jahrtausend vorhanden waren.

Moderne Massenspeichersysteme auf Festplattenbasis kommen mit allerlei technischen Schnickschnack daher, der das Leben einfach macht, aber auch seinen Preis kostet. Wenn man darauf verzichtet, hat man heute noch wie schon damals ein einfaches System mit lokalen Festplatten, die durch einen Raid-Kontroller ‘hochverfügbar’ gemacht werden. Oder um es einfach auszudrücken: Man stopft in einen Server 2 Festplatten und spiegelt diese gegenseitig, um im Falle eines Festplattenausfalls keine Daten zu verlieren. (Raid 1)

Was passiert wenn eine Festplatte in solchen Systemen  getauscht werden muss, erinnert mich immer an typische Action Filme: Der Held steht vor der tickenden Bombe, deren digitale Anzeige langsam gen 0 zählt. Er muss sich entscheiden zwischen dem blauen oder roten Draht, um die Welt vor der totalen Zerstörung zu retten.

Mit Festplatten in einfachen Serversystemen ist das quasi genauso. Es sind zwei Festplatten eingebaut. Eine ist kaputt und muss dringend getauscht werden, bevor Datenverlust droht. Aber welche Platte ist die richtige? Das System meint es ist die Platte mit der ID 0 und es gibt keinerlei LEDs oder andere Hilfsmittel, die den Status anzeigen oder sonstwie helfen könnten.

Zählt das System jetzt von links nach rechts? Von oben nach unten? Oder ist es wie bei dem einen großen Enterprise-Storage System, von rechts nach links? Was immer man tut, als Sysadmin ist es leider nicht wie im Film. Man wird treu nach Murphy immer die falsche Platte ziehen und damit das Problem nur vergrößern.

Die Lösung wäre übrigens recht einfach, wenn man angestaubte Konzepte überdenken, moderne Technologien benutzen und einfach mal einen Schritt nach vorn machen würde. Die wenigen Tage nach so einer Bombenentschärfung sind es dann, in denen man schleunigst neue Konzepte und Ideen aufzeigen sollte, bevor das Problem wieder verdrängt wird. IT im Jahre 2010 ist erschreckend oft immernoch wie im Jahr 1996. Hoffentlich ist das bald vorbei.

Switch! Aus bunt wird Server.

Schon seit Ewigkeiten lebt in meinem großen spieletauglichen Windows PC  ein kleiner MAC Mini. Um genau zu sein, einer der ersten Minis, die damals auf den Markt kamen noch mit PowerPC CPU und OSX. Den Kleinen habe ich damals gekauft, um meine Intel Pentium 3 Linux Workstation zu ersetzen. Anfangs reichte mir der Kleine auch, ja sogar World of Warcraft liess sich darauf spielen – damals bevor die Ansprüche stiegen. ;-)

Mittlerweile allerdings ist das MAC OS für den Kleinen veraltet, schon lange wird für die veraltete Plattform nichts mehr von Apple entwickelt und natürlich liefert er auch keine Leistung mehr, die ich heute einfach brauche oder zumindest erwarte.

Also wanderte der Kleine ins Gehäuse des großen PCs und durfte dort bis Heute als quasi Heimserver seinen Lebensabend geniessen. Wie schon erwähnt, wurden Neuentwicklungen für die alte Plattform eingestellt und die Fernwartung ließ dank eines ständig einfrierenden VNC Daemons auch zu wünschen übrig. Also fasste ich den Entschluss und verabschiedete mich nun von Mac OS, um den kleinen mit Linux ‘Ubuntu Server’ zu betanken!

Auch bei Ubuntu wird nicht länger aktiv an einer PowerPC Version gearbeitet, allerdings stellt die Linux Community einen ziemlich aktuellen (10.04) Ubuntu Port bereit! Also einfach das CD Image runterladen, brennen, das alte System sichern und und der Anleitung folgen.

Zur Datensicherung habe ich meine wichtigen Daten auf eine externe Festplatte kopiert. Als Dateisystem habe ich mich für FAT32 entschieden, einfach als kleinster gemeinsamer Nenner zwischen der Apple und Linux Welt. Nach der Installation verhält sich der kleine jetzt wie jeder andere Linux Server. OpenVPN, Samba, Mediatomb, OpenSSH  usw. tun ihre Dienste und mein Heimserver darf endlich wieder mit neuen Features aufwarten. Ich denke damit lassen sich bestimmt weitere 2-3 Jahre locker überstehen!

Der kleine meldet sich nun mit:

$ cat /proc/cpuinfo
processor       : 0
cpu             : 7447A, altivec supported
clock           : 1416.666661MHz
revision        : 1.2 (pvr 8003 0102)
bogomips        : 83.24
timebase        : 41620997
platform        : PowerMac
model           : PowerMac10,1
machine         : PowerMac10,1
motherboard     : PowerMac10,1 MacRISC3 Power Macintosh
detected as     : 287 (Mac mini)
pmac flags      : 00000010
L2 cache        : 512K unified
pmac-generation : NewWorld
Memory          : 1024 MB

Die Installation verlief reibungslos. Das einzige was mich etwas verwundert hat ist, dass der Ubuntu Server Installer mich nicht nach der gewünschten IP Konfiguration fragte. Der “Server” hing dann also per DHCP irgendwie im LAN rum und musste nachträglich auf eine statische IP konfiguriert werden. Kleinigkeiten, die lösbar sind. Also absolut zur Nachahmung empfohlen! :)

Listen to network traffic

Immer dieser neumodische Angeberkram! Früher haben wir dafür noch ganz altmodisch unsere Keyboard LEDs genommen, heute nimmt man also die Soundkarte. Nee mal ehrlich, coole Idee! :)

Ubuntu ist teuer…?

Jetzt mal unter uns Pfarrerstöchter:

Xing: "mein Ubuntu System hat mich knapp 700€ an Technikerkosten gekostet..."

Wenn man bereit ist für sein System richtig Geld auszugeben und warum-auch-immer kein Windows will, wieso dann nicht einfach nen Mac? Dann hat man ein Unix, die Macht der Open-Source Welt und (wenn man mehr Geld ausgeben möchte) dazu noch alle Produkte der kommerziellen Seite.

The 64bit Experience

Aus der Kategorie ‘Warum brauch man doch gleich diesen angeblich plattformunabhängigen Kram?’:

Install Adobe AIR Linux 1.5 on 64-bit Linux distributions:

64-bit binaries of AIR are not currently available. Running 32-bit AIR on 64-bit systems has not been fully tested. However, we expect 32-bit AIR to run on these systems if they have the required 32-bit libraries and packages installed. (Quelle: http://kb2.adobe.com/cps/408/kb408084.html)

Aber nicht nur Adobe, auch Javascript/Google spielt mit:

    Google Gears for Linux System Requirements:

  • Linux
  • 32-bit OS (64-bit not supported)
  • Firefox 1.5+
  • Chrome for Linux is not supported

Schalten Sie auch demnächst wieder ein wenn es erneut heißt: Linux auf dem Desktop, der schnelle Weg zur Selbstgeißelung.

An Ubuntu scheitern ist keine Schande!

Auf meiner größeren Festplatte habe ich etwas Platz gelassen – ungefähr 100GB. Die sind dazu da, um mit anderen Betriebssystemen neben Windows7 rumzuspielen. Es gibt einfach Dinge, die macht man nicht unter Windows.  Als Vorbereitung für eine Demo sollte es also ein Ubuntu 10.04 Desktop LTS (64bit) sein, kann doch jeder!

Als erstes fällt mir auf, dass die Install CD ewig braucht, um zu laden. Mittlerweile muss man wohl ein ganzes Framework an X und irgend einen WindowManager laden, um einen absehnlichen Installer zu haben. Gut Ding will Weile haben, is ja gut. Und ansehnlich? Über Geschmack lässt sich bekanntlich ja nicht streiten, aber dieses Lila-DING was dann kommt, ist wohl nicht gerade die Arbeit eines gut bezahlten Designers. Genauso nicht, wie die Buttons “Zurück” und “Vor”. Leute, entweder “Vorwärts” oder in für alle Verständlich: Weiter.

Die Installation scheitert dann auch relativ schnell daran, dass der Installer die freie Partition (bzw. den freien Bereich) auf meiner Festplatte gar nicht erkennt. Genau genommen meint er, da wären nur 134MB mit NTFS benutzt, ob ich den restlichen Terabyte für Ubuntu formieren wolle…

Will ich natürlich nicht, irgendwie häng ich ja an meinen Daten. Also auf Abbrechen gedrückt und schwupps, ist man in der Live Version von Ubuntu, da X ja schon komplett geladen ist, auch fast Instant. :) Ironischerweise bekomm ich dort meine NTFS Partition direkt angeboten:

Irgendwas scheint also zu gehen, aber dieses Irgendwas scheint etwas anderes zu sein als das Installer *IRGENDWAS*.  Das Problem ist natürlich das Vieh vor dem Monitor, welches völlig unsozial gegenüber Ubuntu Dinge unter Windows7 angerichtet hat. Sicherlich kenne ich einen Weg um das Problem zu lösen, es sind ja nur 80gig in use.  Ich will aber nicht, weil mich sowas nervt. Ich frage mich was man an dieser Stelle als unbeholfener Anwender tut. Ich rate jetzt mal ins Blaue: Aufgeben?

Consumer Ready Desktop? War es nie, wird es nie werden. Nicht ohne die Hilfe von Profis, die aber nur den Linux Unterbau für ihre ‘WebOS’  oder Handy-Träume haben wollen, aber absolut NICHTS von Ubuntu. An Ubuntu zu scheitern ist absolut keine Schande, wirklich nicht. Und da man Windows nicht schlagen kann, gibts ja noch WUBI – das ist quasi Linux, nur mit ein paar Lagen Kondomen. Nicht ganz das Wahre, aber irgendwie besser als nix -  man will ja schliesslich mitspielen und vor allem mitreden können.

Backup in the cloud

Ein eigener Root Server hat seine Vor- und Nachteile. Ein Nachteil ist das Thema Backup, denn die auf dem Server abgelegten Daten sind unter Umständen sehr wichtig. Mails, Datenbanken, ganze Web-Präsenzen oder gar persönliche Daten, die in virtuellen Arbeitsumgebungen gespeichert wurden, sind Daten, die man im Ernstfall wieder haben möchte.

Wer mit seinem Root Server eine Backup-Möglichkeit geliefert bekommt, sollte diese als tunlichst auch benutzen – bequemer geht es nicht. Bei Strato kann man z.B. extra Platz für Backups auf einem FTP Server für 4,99EUR monatlich dazu buchen.

Eine andere Möglichkeit ist es die Angebote der Web2.0 Ära zu benutzen und seine Backups in die “Cloud” auszulagern. Daten, die einmal irgendwo im Internet zwischengespeichert wurden, sind auch zu jeder Zeit wieder von überall abrufbar. Recovery von wichtigen Daten ist damit also von überall möglich, sogar vom Handy.

Ich habe mich dazu entschieden meine Backups bei Dropbox auszulagern. Dropbox ist ein Internet-Service, der es ermöglicht Dateien über  mehreren Endgeräte zu synchronisieren. Dazu bedarf es lediglich dem Dropbox Client, den man auf den Endgeräten installieren muss. Dropbox gibt es für Windows, Linux, MacOS oder auch iPhones/iPods. Als kostenloser Benutzer bekommt man 2GB Speicherplatz zur freien Benutzung – für mich für den Anfang mehr als genug.

Backup in the cloud hat allerdings den faden Beigeschmack der Datensicherheit. Lege ich meine Daten ins Internet oder gebe sie einen fremden Anbieter, weiß ich nicht was mit diesen Daten passiert. Bevor ich meine sehr persönlichen Daten also irgendwo in die Wolke lege, sorge ich dafür, dass diese Verschlüsselt werden.

Wie sieht ein Backup auf Dropbox aus:

  • Backupuser anlegen
  • Dropbox für diesen User installieren (CLI)
  • die Maschine an den Dropbox User binden
  • GPG Schlüssel erzeugen, mit denen die Backup-Container verschlüsselt werden

Am Ende sorgt ein entsprechendes Script dafür, dass die Backup-Daten mit den richtigen User-Rechten verschlüsselt im Dropbox Verzeichnis abgelegt werden. Im Hintergrund wandert das Backup dann in die Cloud.

Wer keinen anständigen Storage mit brauchbaren Snapshot-Möglichkeiten hat, muss sich in der tollen neuen Web-Welt nur zu helfen wissen. Wer mehr als die freien 2GB Speicherplatz bei Dropbox benötigt, kann mehr Speicherplatz nachkaufen. Anstatt Dropbox könnte man natürlich auch andere Produkte wie zum Beispiel Statos HiDrive benutzen.

Große Verzeichnisse löschen per NFS / Linux

Ich wurde heute gefragt wieso es so lange dauert ein großes Verzeichnis mit vielen Dateien zu löschen, welches per NFS gemountet wurde. Angenommen ich habe die folgende Verzeichnisstruktur:

/fileserver/Vorratsdatenspeicherung/
/fileserver/Vorratsdatenspeicherung/2007/Januar/
/fileserver/Vorratsdatenspeicherung/2007/Januar/01/Server1/…
/fileserver/Vorratsdatenspeicherung/2007/Januar/01/Server2/…
[...]
/fileserver/Vorratsdatenspeicherung/2007/Januar/31/Server1/…
/fileserver/Vorratsdatenspeicherung/2007/Januar/31/Server2/…
[...]
/fileserver/Vorratsdatenspeicherung/2010/Januar/31/Server1/…
/fileserver/Vorratsdatenspeicherung/2010/Maerz/02/Server2/…

usw…

und möchte das aus gegebenen Anlass loswerden. Die Vermutung war, dass der Linux Client an den NFS Server nur den Befehl  ‘lösche das Verzeichnis “Vorratsdatenspeicherung”‘  schicken müsste, und den Rest würde der NFS Server dann automagisch tun. Ein Vorgang der innerhalb von 1-2 Sekunden also zumindest aus Client Sicht erledigt wäre. In der Realität sieht das ganze etwas anders aus, weshalb es schonmal eine Weile dauert, bis so ein großes Verzeichnis leer ist.

Warum?

Read more »

akutes Selbstschämen

Manchmal muss man auch die Größe haben NICHT stolz auf das zu sein, was man fabriziert hat:

Möge es in Frieden ruhen und irgendwann in den weiten der Bits&Bytes in Vergessenheit geraten. Wir machen weiter mit Musik.