RSS-Feed

Eigenen Homeserver betreiben

von Kai um 21:21 am Dienstag, 29. Dezember 2009 in How-To, ubuntu | 2 Kommentare

Seit knapp zwei Jahren betreibe ich zu Hause nun meinen eigenen kleinen Server für verschiedene Dinge. Zeit, mal ein kleines Resümee zu ziehen und zu beschreiben, wie ich vorgegangen bin.
Vorneweg kann ich jedem den Einsatz eines kleinen Servers für die eigenen Wände nur empfehlen. Nach einiger Zeit habe ich mich so daran gewöhnt, dass ich das Teil nicht mehr missen möchte.

Hardware

Ich habe mich für ein mittelkleines Mini-ITX Motherboard von VIA entschieden, einfach weil meine Wohnung nicht sooo klein ist und mir die Pico-ITX (Maße: 100 mm × 72 mm) Modelle zu schwach auf der Brust waren. Als Gehäuse habe ich mir ein Gehäuse von Morex bestellt. Bei dem Motherboard war mir wichtig, dass es passiv gekühlt ist, weil das leiser und stromsparender ist. Ich habe leider erst später bemerkt, dass ich gerade mal 1 GB RAM verbauen kann und dass auf dem Mainboard lediglich ein Ethernet-Anschluß von 100 Mbit/s steckt. Wegen letzterem habe ich mir also noch eine schnellere Netzwerkkarte besorgt. Außerdem habe ich noch ein CD-Rom Laufwerk verbaut. Wie sich jetzt allerdings nach zweijähriger Laufzeit herausstellt, habe ich es vielleicht ein halbes Dutzend Mal benötigt und verbraucht ansonsten nur Strom.
Trotzdem würde ich den Stromverbrauch generell als sehr gering bezeichnen. Im Idle-Zustand verbraucht der Server so ca. 7-8 Watt.

Die Lautstärke ist wirklich annehmbar. Selbst unter Last ist der Server praktisch lautlos (so ohne Lüfter :-) ). Dafür würde ich auch nicht versuchen darauf einen Film zu dekodieren. Das soll aber auch gar nicht der Anwendungszweck des kleinen Helferleins sein, was mich direkt zu meinem nächsten Punkt bringt:

Anwendungszweck

Hauptsächlich nutze ich den Homeserver für Backup, zum Laden größerer Dateien (Torrents und One-Click Hoster via JDownloader) und als kleinen Webserver auf dem ein Wiki läuft und auf dem ich lokal immer wieder mal Sachen ausprobieren kann. Wie eben schon angedeutet habe ich, um JDownloader benutzen zu können auch ein X-Server und Windowmanager installiert. Auf dem Server selbst läuft Ubuntu (wobei ich seit einiger Zeit mit dem Gedanken spiele, FreeBSD darauf zu installieren) und als Windowmanager Fluxbox.

Beim Starten von GUI-Anwendungen auf fremden Hosts hat man normalerweise das Problem, dass man beim Beenden der Sitzung auch die GUI-Anwendung sich beendet bzw. die aktuelle grafische Sitzung, in der die Anwendung gestartet wurde. Das ist natürlich unschön, weil man bei größeren Downloads (wie z.B. Linuxdistributionen ;-) ) nicht die ganze Zeit die aktuelle Sitzung aufrecht erhalten möchte. Leider gibt es auch für JDownloader derzeit noch keine “GUI-lose” Version, mit der dieses Problem ebenfalls umschifft werden könnte. Abhilfe gibt es aber dennoch:
Und zwar gibt es von der Firma NoMachine NX einen kostenlosen Client, mit dem man sich auf einen Server grafisch einloggen und Anwendungen ausführen kann. Die Sitzung lässt sich jederzeit unterbrechen und zu einem späteren Zeitpunkt wieder aufnehmen. Im Hintergrund laufen alle gestarteten Anwendungen normal weiter.

Alleskönner FFmpeg

von Kai um 00:04 am Sonntag, 20. Dezember 2009 in How-To, News, ubuntu | 0 Kommentare

FilmrolleFür sämtliche Audio- und Videobearbeitungen oder Konvertierungen ist FFmpeg das Tool der Wahl. Es gibt praktisch kaum bekannte Codecs und Formate, die nicht von FFmpeg unterstützt werden. Außerdem benutzen auch bekannte Mediaplayer wie VLC oder MPlayer ebenfalls FFmpeg unter der Haube.

Wie es sich unter Ubuntu installieren lässt, ist bereits hier sehr gut beschrieben. In der Regel reicht aber ein einfaches sudo apt-get install ffmpeg auf der Kommandozeile.

Um nun zum Beispiel bei Youtube heruntergeladene Videos in das MP3-Format umzuwandeln, reicht es oft schon aus, einfach die Quelle anzugeben, da FFmpeg standardmäßig schon eine Vorauswahl über die verwendeten Codecs und Einstellungen trifft.

$ ffmpeg -i foo.mp4 foo.mp3
$ ffmpeg -i bar.flv bar.mp3

Sicherlich gibt es unzählige Anwendungsfälle für den Einsatz von FFmpeg. Leider ist die Auswahl an brauchbaren Videobearbeitungsprogrammen unter Ubuntu immer noch Mangelware. Zum Konvertieren von Videodateien ist aber Handbrake meiner Meinung nach grundsätzlich schon zu empfehlen. Da sich niemand die ganzen Flags für FFmpeg merken kann lohnt sich evtl. ein Blick auf Handbrake, da unter anderem schon vorangelegte Einstellungen und Profile für Ipod, IPhone und Spielekonsolen existieren.

So, wie ich Mark Shuttleworth auf der letzten Linuxcon verstanden habe, wird Ubuntu aber in Zukunft hier verstärkt einen Fokus drauflegen. Witzigerweise gab es bei dem Vortrag von ihm dort auch eine Wortmeldung von jemanden, der sich darüber beschwerte, dass er mit Ubuntu versuchte ein kleines Geburtstagsvideo zusammen zu schneiden. Das endete leider in einem Desaster, so dass er letztlich das Video auf einem Mac zusammengeschnitten hatte.

Der Papa Gründer von Ubuntu beschreibt oft in Interviews, dass er möchte, dass sein Betriebssystem möglichst so leicht zu bedienen und schick sein soll wie es Mac OSX tut. Meiner Meinung nach ist dieses Ziel aber schon erreicht, ich sehe eher ein Defizit an “schicker” Hardware, die möglichst perfekt auf Ubuntu abgestimmt ist.

Sollte das in Zukunft (vielleicht ja sogar mit DELL) passieren, würde das dem Betriebssystemmarkt sicherlich einen neuen Push geben. Und wer weiß, jüngste Nachrichten gehen ja genau in diese Richtung :-)

Karmic Koala auf dem Thinkpad T61

von Kai um 18:21 am Mittwoch, 28. Oktober 2009 in How-To, ubuntu | 1 Kommentar

Um dem großen Ansturm auf die neue Ubuntuversion zu entgehen, habe ich mir bereits gestern den Daily Build von der neuen Version “Karmic Koala” heruntergeladen und auf meinem Thinkpad T61 installiert. Davor habe ich ein Backup von meiner Homepartition gemacht. Ich pflege im Schnitt alle zwei Releases immer einen Clean Install zu machen, da sich bei mir in der Zwischenzeit immer ziemlich viel Müll ansammelt. Außerdem habe ich die Erfahrung gemacht, dass das System zu Instabilitäten neigt, wenn man von Version zu Version immer die alten Konfigurationsdateien mitschleppt. Um mir nicht jedes mal aufs neue die Mühe zu machen, habe ich dafür vor einiger Zeit ein mittlerweile recht ansehnliches Backup-Skript entworfen, was mir die Datenbanken und Einstellungen von den wichtigsten Programmen extra sichert.

Die Installation selbst lief sauber durch. Wie immer waren aber einige Anpassungen zu machen:

Energieverwaltung

Da ich den Laptop zu Hause immer in der Dockingstation habe, musste ich bei der Energieverwaltung angeben, dass im Netzbetrieb das Schließen des Deckels vom System ignoriert wird. Tja, leider ist diese Einstellung in der aktuellen Version verschwunden, man kann das entsprechende Flag aber immer noch über den Konfigurationseditor setzen. Dazu stellt man die Einstellung apps->gnome-power-manager->lid_ac auf “nothing”

Eclipse

Die Gebete der Java Entwickler wurden erhört und endlich mal wieder eine aktuelle Version von Eclipse in die Ubuntuquellen mit aufgenommen. Somit hat sich die etwas umständliche Einrichtung von Eclipse zum Glück nun erledigt.

DVB-T unter Ubuntu

Um meinen DVB-T Stick zum Laufen zu bekommen, musste ich noch eine spezielle Firmware herunterladen. Im verlinkten Wikieintrag hab ich beschrieben, was man genau machen muss.

tp-smapi

Die Entwickler von Ubuntu haben entschieden, dass sie das tp-smapi Modul aus den Quellen entfernen, da sich der Autor nicht zu erkennen geben möchte. Warum das so ist, kann man nur mutmaßen (vielleicht sind die Informationen, die er gebraucht hat, um das Modul zu entwickeln, auf nicht ganz legalem Wege in seinen Kopf gewandert). Jedenfalls muss man nun wieder selbst etwas Hand anlegen, damit so Sachen wie Lade/Entladegrenzen für den Akku gesetzt werden können:

$ sudo apt-get install tp-smapi-source

ausführen. Danach muss man

$ sudo module-assistant

starten und das tp-smapi Modul bauen und installieren (build und install). Abschließend kann man das Modul noch mit

$ sudo modprobe tp_smapi

starten.

Nach diesen Anpassungen läuft Ubuntu auf dem Thinkpad wieder flott und stabil wie eh und je. Kürzere Bootzeiten wie in den einschlägigen Blogs beschrieben, konnte ich auch ausmachen, wobei sich noch zeigen muss, ob das nur an dem Clean Install liegt, oder sich die Zeiten tatsächlich verkürzt haben. Ansonsten freue ich mich über aktuelle Programmversionen und ein rundes Gesamtbild vom neuen Theme.

Bilder einheitlich umbenennen

von Kai um 23:07 am Donnerstag, 27. August 2009 in How-To, Linux | 0 Kommentare

Um die letzten Urlaubsbilder einheitlich umzubenennen, hab ich eben kurz die Shell bemüht und bin dabei anscheinend über eine mir bis dahin unbekannte Eigenheit gestolpert:

$ counter=1
$ for i in *.jpg; do mv -v $i img_1280x1024_$(printf "%03d" $counter).jpg; counter=$(($counter+1)); done

Und zwar passiert es mir, dass ich ohne das -v (verbose) Flag als Ergebnis manche Bilder nun doppelt im Verzeichnis liegen habe. Mit dem verbose-Modus klappt die Umbenennung reibungslos.

Ich habe keine Ahnung warum das so ist. Ich könnte mir vorstellen, dass die Aktion in verschiedenen Threads abläuft (also die einzelnen Befehle nicht sequentiell nacheinander abgearbeitet werden) und deswegen bei der Umbenennung etwas geschludert wird. Sicher bin ich mir da aber nicht.

Learning Perl

von Kai um 11:57 am Samstag, 15. August 2009 in How-To, Programmiersprachen | 2 Kommentare

Einführung in Perl Semesterferien. Das bedeutet, (Frei)zeit, sich mit Sachen zu beschäftigen, für die sonst eher weniger Zeit übrig bleibt.

Ich wollte mir schon seit längerem mal Perl etwas näher anschauen, weil ich immer wieder gelesen habe, dass sie “programmiererfreundlich” sein soll, und man mit Perl “mal eben” ein Programm runter hacken kann. Im Prinzip also, ideale Vorraussetzungen für eine neue Sprache.

Nachdem ich mich nun einige Zeit damit beschäftigt habe, kann ich dem nur zustimmen. Die Sprache bietet die Möglichkeit, ein Problem auf so vielfältige Art und Weise zu lösen, dass man meist direkt anfangen kann etwas zu programmieren, ohne sich vorher darüber Gedanken zu machen, wie man das jetzt genau umsetzen muss.

Perl ist nicht sehr penibel, was die Syntax angeht. Das heißt konkret, dass ich es bisher nicht geschafft habe, ein Programm zu schreiben, was vom Compiler nicht auch übersetzt und ausgeführt wurde. Das ist schön, wenn das Programm danach auch genau das tut, was man erwartet hat. Wenn.. :-) Es gibt viele Kleinigkeiten, die das Programmieren mit Perl einfacher machen. So wird in Funktionen stehts der letzte Ausdruck als Rückgabewert übergeben. Nicht initialisierte Arrays, Variablen, Listen etc. haben immer den Wert undef. Man braucht keine Hilfsvariablen, wenn man durch eine Liste oder ein Array durchiteriert usw. aber genau da liegt meines Erachtens auch der Hund begraben:

Man kann Programme schreiben wie Sau und alles ist gut:-) Ich denke, die Freiheit, die Perl einem bietet ist sowohl Segen als auch Fluch. Auf der einen Seite muss man sich weniger um sprachliche Barrieren kümmern (habe ich schon erwähnt, dass der Erfinder Larry Wall studierter Linguist ist?) und hat mehr Zeit für das eigentliche Problem, auf der anderen Seite muss man sich sehr disziplinieren und strukturiert vorgehen, sofern man den Quellcode in einem halben Jahr noch verstehen möchte. Wahrscheinlich ist Perl nicht gerade eine Sprache, die man Anfängern empfiehlt und ich schätze man sieht am Quellcode immer sehr schnell, aus was für einem Umfeld der Programmierer kommt, der das geschrieben hat. Ich habe mir nämlich sehr schnell angewöhnt, bei der mir vertrauten Java-Syntax zu bleiben, um kleinere Probleme möglichst direkt zu erschlagen.

Ein wirklich außergewöhnlich schönes Beispiel für die eben beschriebene Problematik bot der bis zum Jahr 2000 jährlich stattfindende “Perl Obfuscated Contest”:

@P=split//,".URRUU\c8R";@d=split//,"\nrekcah xinU / lreP rehtona tsuJ";sub p{
@p{"r$p","u$p"}=(P,P);pipe"r$p","u$p";++$p;($q*=2)+=$f=!fork;map{$P=$P[$f^ord
($p{$_})&6];$p{$_}=/ ^$P/ix?$P:close$_}keys%p}p;p;p;p;p;map{$p{$_}=~/^[P.]/&&
close$_}%p;wait until$?;map{/^r/&&<$_>}%p;$_=$d[$q];sleep rand(2)if/\S/;print

Wie dem geübten Leser wahrscheinlich sofort auffällt, gibt der Quellcode die Zeile “Just another Perl / Unix hacker” aus:-)

Mein persönliches Fazit also: Schöne Sprache, Freiheit ist nicht alles und immer schön diszipliniert bleiben.

Zeitmanagement und Semesterferien

von Kai um 19:57 am Mittwoch, 5. August 2009 in Allgemeines, How-To | 1 Kommentar

Während ich die letzten Wochen des Semester damit verbrachte, von Abgabe zu Abgabe zu denken und in den letzten vier Wochen (Klausurenzeit) von Klausur zu Klausur gelernt habe, besitze ich momentan sozusagen Zeit im Überfluss, was mich auf einen interessanten Ansatz brachte: Dass nämlich dieser positive Umstand zugleich Segen und Fluch sein kann.So habe ich von den vielen Projekten, die ich mir für die Semesterferien aufgehoben habe, bisher nicht eins angefangen.

Daher folgende Überlegung:

Was einem in der Arbeitswelt die Stechuhr, oder in der Studentenwelt der Vorlesungsplan angibt, nämlich zeitliche Vorgaben, sind im Grunde genommen etwas Gutes, weil sie den Tagesablauf (zumindest grob) vorgeben. So gibt es feste Zeitpunkte, an denen man bestimmten Tätigkeiten nachgehen muss, was meines Erachtens für die eigene Produktivität extrem förderlich ist, da man sich körperlich (duschen, frühstücken, anziehen, zur Uni/Arbeit fahren) und geistig (letzte Aufzeichnungen durchgehen, Gespräche planen etc.) darauf vorbereitet und im Idealfall in einen guten Workflow fällt.

Übertragen auf den Status Quo bedeutet das nun, dass ich mir für die nächsten Wochen schlicht feste Termine vorgeben werde, an denen ich bestimmte Sachen tun möchte. Eigentlich bin ich ja kein Freund von durchgeplanten und organisierten Tagesabläufen, aber ich sehe ein, dass man dadurch mehr gemacht bekommt, als den Tag damit zu vertrödeln den Newsreader bis zur letzten Nachricht durchzulesen :-)

Unterkategorie Ubuntu und Thinkpad T61

von Kai um 13:28 am Samstag, 1. August 2009 in How-To, Linux, ubuntu | 0 Kommentare

Ubuntu-CD-9.04

Um mir die Arbeit nicht noch einmal zu machen, habe ich auf der Webseite hier eine Unterkategorie zu dem Thema Ubuntu und Thinkpad eingerichtet.

Ich werde versuchen die Anleitung aktuell zu halten und würde mich freuen, wenn jemand eine Verbesserung, Korrektur oder einen weiteren Tipp hat.

Hier gehts zur Unterseite

Ubuntu mit der 3M Ergonomic Mouse bekannt machen

von Kai um 22:01 am Montag, 15. Juni 2009 in How-To, Linux, ubuntu | 0 Kommentare

Aufgrund einer nervigen Zerrung irgendwo im rechten Arm habe ich mir heute aus der Uni die 3M Ergonomic Mouse für unbestimmte Zeit für einige Wochen ausgeliehen.

Nach dem Anschließen hat diese direkt funktioniert, bis mir nach einiger Zeit aufgefallen ist, dass sich mit der 3.Taste nicht mehr vertikal scrollen lässt.
Da spätestens seit Ubuntu 8.10 alles über HAL läuft, musste ich deswegen die Konfiguration hierfür etwas abändern. Wie hier schon einmal beschrieben, musste ich die mouse-wheel.fdi entsprechend anpassen, so dass alle angeschlossenen Mäuse sich mit Drücken der dritten Maustaste dazu überreden lassen, überlange Seiten vertikal nach unten zu scrollen.

<match key="info.capabilities" contains="input.mouse">
 <merge key="input.x11_options.EmulateWheel" type="string">true</merge>
 <merge key="input.x11_options.EmulateWheelButton" type="string">2</merge>
 <merge key="input.x11_options.YAxisMapping" type="string">4 5</merge>
 <merge key="input.x11_options.XAxisMapping" type="string">6 7</merge>
 <merge key="input.x11_options.Emulate3Buttons" type="string">true</merge>
 <merge key="input.x11_options.EmulateWheelTimeout" type="string">200</merge>
</match>

Eine spezifischere Einstellung ging leider nicht, da die 3M Mouse sich nirgendwo namentlich erkenntlich zeigte. Die aktuelle Einstellung ist jetzt etwas globaler (nämlich für alle Mäuse, die künftig an das System angeschlossen werden), sollte aber technisch keinen Unterschied machen.

Eclipse sauber unter Ubuntu 9.04 einrichten

von Kai um 19:18 am Freitag, 29. Mai 2009 in How-To, Studium | 1 Kommentar

Um die beliebte Java-IDE Eclipse unter aktuellem Ubuntu einzurichten, geht man am besten folgendermaßen vor:

Man lädt sich auf der Homepage von Eclipse die komplette IDE als tar.gz herunter und entpackt das ganze mit

$ tar xzf eclipse-jee-ganymede-SR2-linux-gtk.tar.gz

Der nun entstandene Ordner eclipse verschiebt man dann nach /opt und passt die Besitzerrechte entsprechend an

$ sudo mv eclipse /opt/eclipse
$ cd /opt
$ sudo chown -R root:root eclipse

Jetzt muss man noch die Ausführungsrechte für den Benutzer entsprechend setzen. Das lässt sich auch prima in Verbindung mit dem find command erledigen

$ sudo chmod -R +r eclipse
$ sudo chmod +x `sudo find eclipse -type d`

Damit nun auch die Normalsterblichen (also alle nicht root) die IDE aufrufen können, muss man noch ein ausführbare Datei im /usr/bin/ Pfad erstellen

$ sudo vi /usr/bin/eclipse

und folgendes reinschreiben:

#!/bin/sh
#export MOZILLA_FIVE_HOME="/usr/lib/mozilla/"
export ECLIPSE_HOME="/opt/eclipse"
$ECLIPSE_HOME/eclipse $*

Danach noch die Rechte setzen (sudo chmod 755). Für einen ordentlichen Eintrag im Menü (Unter Gnome -> Anwendungen) legt man noch eine .desktop-Datei an -> /usr/share/applications/eclipse.desktop und schreibt folgendes rein:

[Desktop Entry]
Encoding=UTF-8
Name=Eclipse
Comment=Eclipse IDE
Exec=eclipse
Icon=/opt/eclipse/icon.xpm
Terminal=false
Type=Application
Categories=GNOME;Application;Development;
StartupNotify=true

Die Entwicklung von Javaprogrammen setzt natürlich voraus, dass sich auf dem System eine entsprechende Java JDK befindet. Hierfür verweise ich auf den guten Artikel im Wiki von ubuntuusers.de

Am ICQ-Protokoll rumgeschraubt

von Kai um 22:05 am Montag, 9. März 2009 in Allgemeines, How-To | 2 Kommentare

PidginSeit ca. einer Stunde können sich Benutzer des Pidgin-Clients nicht mehr mit dem ICQ-Netzwerk verbinden, da anscheinend (?) wieder am Protokoll rumgeschraubt wurde. Beim Versuch sich zu verbinden kam die Meldung

“Die Client-Version, die Sie nutzen ist zu alt. Bitte updaten Sie unter http://pidgin.im”

Das Problem sollte sich beheben lassen, sofern man den Client auf die aktuelle Version 2.5.5 updated. Ubuntubenutzer können in diesem Fall auf bereits fertig gepackte Pakete von www.getdeb.net zurückgreifen.

Link: http://www.getdeb.net/release/3960

Danach sollte der Connect wieder problemlos funktionieren.