Low Fat

Heute gegen 19 Uhr wird (höchstwahrscheinlich) die neuste Ubuntu-/Kubuntuversion 11.10 mit dem Codenamen Oneiric Ocelot das Licht der Welt erblicken. Interessant finde ich wie immer die entsprechende Kubuntuvariante. Besonders hat es mir dabei das neue Paket kubuntu-low-fat-settings angetan. In diesem Paket sind Einstellungen enthalten um das System flott zu machen, indem z.B. die Arbeitflächeneffekte, Nepomuk et cetera deaktiviert werden. Sehr schön für die die das nicht jedesmal neu konfigurieren wollen :)

Weitere Informationen gibt es unter:
http://wiki.ubuntuusers.de/Oneiric_Ocelot
http://dohbuoy.wordpress.com/2011/09/23/slim-it-down/

TeamViewer unter Ubuntu installieren

Manchmal möchte man jemandem helfen und ist aber nicht vor Ort. Dann bieten sich Fernwartungslösungen wie VNC oder RDP an. Das Problem an diesen ist, das sie meist relativ umständlich zu konfigurieren sind, was so Dinge wie Portforwarding et cetera angeht. In diesem Fall macht sich die proprietäre Software TeamViewer ganz gut, da sie ohne Konfiguration auskommt und für die private Nutzung kostenlos ist.

Möchte man den Teamviewer nun auf Ubuntu installieren so geht man auf die Seite http://www.teamviewer.com/en/download/index.aspx#downloadAreaLinux und lädt dort die deb Datei für die entsprechende Version (32 oder 64 Bit) herunter. Diese kann man mit einem Klick auf dieselbe installieren und den Teamviewer über das Menü aufrufen. Nach dem Start lässt man sich dann die entsprechende ID und den PIN geben und schon kann die Fernwartung beginnen :)

bash cannot execute binary file

Gestern wollte ich eine Binärdatei auf meinem Ubuntu Server ausführen und bekam dabei folgende Meldung:

bash cannot execute binary file

Im ersten Moment war das ganze etwas irritierend da es auf meinem lokalen Rechner ohne Probleme lief. Nach kurzem nachdenken fiel mir das Problem dann auf. Ich hatte versucht ein 64 Bit Kompilat auf einem 32 BIt Server auszuführen. Leider ist die Fehlermeldung dafür nicht all zu aussagekräftig. Hier sollte nachgebessert werden ;)

1024 Ports behalte ich für mich

Unter Linux (und UNIX) kann man die Ports bis 1024 (die sogenannten Well Known Ports) nur dann binden, wenn man über root Rechte verfügt. Das ist natürlich unschön wenn man einen Server z.B. auf Port 80 laufen lassen will, dieser aber keine dementsprechenden Rechte bekommen darf.

So läuft bei mir zum Beispiel ein Etherpad Light auf dem Port 9001. Jetzt wäre es natürlich schön wenn dieser auf dem Port 80 erreichbar wäre. Dazu würde eine iptables Regel reichen:

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 9001

Das Problem an dieser Regel ist zum ersten das die Anwendung damit unter Port 80 und Port 9001 zu erreichen ist. Das zweite Problem ist das jeder unprivilegierte Nutzer ebenfalls den Port 9001 öffnen kann und damit auch die Daten von Port 80 bekommt. Und es gibt auch noch ein drittes Problem. Das ganze funktioniert nicht auf Maschinen die mit dem Linux VServer betrieben werden. Dort funktioniert das IP Tables nämlich nicht:

iptables v1.4.4: can't initialize iptables table `nat': Permission denied (you must be root)

Eine weitere Variante wäre setpcaps was allerdings problematisch ist da man diese einem Programm geben muss, was dann bei Skripten nicht funktionieren sollte:

setcap 'cap_net_bind_service=+ep' /path/to/program

Weitere Informationen gibt es unter:
http://www.wensley.org.uk/info#setpcaps
http://serverfault.com/questions/112795/how-can-i-run-a-server-on-linux-on-port-80-as-a-normal-user
http://stackoverflow.com/questions/413807/is-there-a-way-for-non-root-processes-to-bind-to-privileged-ports-1024-on-li

Etherpad Light auf einem Ubuntu Server installieren

Nachdem gestern Etherpad Light vorgestellt wurde, dachte ich mir das man das ja ruhig mal ausprobieren kann. Bei Etherpad Light handelt es sich um eine Portierung und Neuausrichtung von Etherpad welches nun unter node.js läuft und somit von Java losgelöst ist.

Um es auf einem Ubuntu Server zu installieren müssen erst einmal ein paar Pakete installiert werden:

apt-get install gzip git-core curl python libssl-dev

Anschließend muss node.js heruntergeladen werden, compiliert und installiert werden:

wget http://nodejs.org/dist/node-v0.4.11.tar.gz
tar xf node-v0.4*
cd node-v0.4*
./configure && make && make install

Jetzt fehlt nur noch der Paketmanager für Node:

curl http://npmjs.org/install.sh | sh

Nun legen wir auf dem System einen Nutzer pad an und loggen uns mit ihm ein:

adduser pad
su pad
cd /home/pad/

Im nächsten Schritt wird das Git Repository von Etherpad Light geklont.

git clone 'git://github.com/Pita/etherpad-lite.git'

Nun müssen nur noch ein paar Abhängigkeiten installiert werden:

cd etherpad-lite/bin/
 ./installDeps.sh

Nach der Konfiguration (settings.json) kann man das ganze auch schon starten:

screen ./run.sh

Sollte bei der Benutzung von Screen folgende Meldung (oder ähnlich) erscheinen:

Cannot open your terminal '/dev/pts/5' - please check.

so hilft es diesem (Pseudo)Terminal weitere Rechte zu geben:

chmod 777 /dev/pts/5

und es danach nochmal zu versuchen.

Weitere Informationen gibt es unter:
http://pitapoison.de/
http://www.golem.de/1108/86036.html
http://pitapoison.de/wie-etherpad-lite-entstand
https://github.com/Pita/etherpad-lite/blob/7e4bba0e31d600a5d1d3833211252b1472f07f2c/README.md