Apr 12 2011

Lenovo S205 mit Ubuntu 11.04

Da ich mir das schöne Teil nun auch zugelegt habe, schreibe ich nun in diesem Post, wie man die ein oder andere Schwierigkeit meistert. Zunächst einmal: Ich habe die Beta Version von 11.04 installiert, da man bei 10.10 default Grub2 verwendet. Problem hierbei ist, dass die Hardware des S205 einfach zu neu fürGrub2 ist…

Bei der 64-bit Version von 11.04 kann man nun bei der Installation eine 1GB große EFI Partition anlegen. Damit bekommt man schonmal das Notebook zum Laufen, YAY! Doch das nächste Problem wartet bereits. Das WLAN funktioniert nicht (bei der 10.10 mit einem USB Stick Boot ist es kein Problem). Ich bin mir nicht sicher, ob hier die Beta dran schuld ist, oder einfach wieder die Hardware. Wie ich in Foren verstanden habe, wird ein falsches WLAN Modul geladen.

Um dem entegegnzuwirken und dennoch WLAN zu erhalten, habe ich zunächst ein komplettes Systemupgrade versucht.

sudo apt-get update
sudo apt-get upgrade

Nach derm Neustart (ich hatte das Netzwerkkabel noch angeschlossen) war die gesamte Installation kaputt (dachte ich). Dem war aber nicht so. Ich musste einfach nur das Netzwerkkabel entfernen. Voi la, da lief Ubuntu wieder. Allerdings recht seltsam. Also habe ich den propritären Treiber für AMD installiert. Seit dem sind zumindest die Bootprobleme weg.

So, nun zum spannenden Teil, das WLAN. Um dieses zu aktivieren, gibt es ein ganz einfachen Trick (vielen Dank an das 3DNow Forum).

modprobe acer_wmi

Danach aktiviert/deaktiviert man mit Fn + F5 das WLAN. Der Switch funktioniert hier wohl Softwareseitig, man sieht nur nichts davon. Auf jeden Fall sollte dann mit…

rfkill list

… beim Eintrag für WLAN zwei mal “no” stehen. Probiert Fn+F5 ruhig öfters mal aus, dann seht ihr auch, was sich ändert, wenn man den obigen befehl eingibt. Zum Schluss führt man noch

sudo modprobe -r acer_wmi

ausgeführt werden. Danach sollte das WLAN ohne Probleme funktionieren. Bei mir tut es das… Ich wünsche viel Erfolg und Spaß beim ausprobieren, rumspielen. ;)


Apr 7 2011

Repositories mit Git und SSH auf Ubuntu

Um meinem Versprechen aus vergangenen Posts nachzukommen, möchte ich ein ganz kurzes Tutorial vorstellen, das die Grundkniffe von Git auf der Konsole vorstellt. In diesem Post zeige ich, wie man ein “zentrales” Repository mit Git erstellt und dieses dann bei sich lokal auscheckt. Zudem werde ich versuchen euch das Arbeiten mit Branches etwas nächer zu bringen.

Zunächst brauchen wir ein frisches, neues Repository, mit dem wir arbeiten möchten/wollen/sollen. Ich nehme an, dass der versierte Leser den umgang mit einem Konsolentool beherrscht (hier ist speziell die Rede von Ubuntu und dem Teminal). Zudem setze ich voraus, dass ein vServer (oder ein ähnlicher Server, z.B. root-Server oder ein Heimserver) vorhanden ist, auf den ihr root Zugriff habt.

Da Git das Tool der Wahl ist, brauchen wir es sowohl auf dem Host-System (auch Remote genannt) als auch auf dem Client (z.B. euer lokaler Rechner). Ich führe das Beispiel vor, wenn euer Host System ein Heimserver ist mit der IP 192.168.1.102 und dem Benutzernamen “hostuser”

Um Git lokal (Ubuntu 10.04 oder 10.10, oder was ihr mögt…) nutzen zu können, müssten wir es installieren. Das geschieht mit folgendem Befehl:

sudo apt-get install git-core

Im zweiten Schritt loggen wir uns per SSH auf dem Host-System unter dem Benutzernamen hostuser ein und installieren auch hier Git:

ssh hostuser@192.168.1.102
sudo apt-get install git-core

Repositories lege ich (persönlich) gerne strukturiert im repos Ordner im Home-Folder des Benutzers ein. Aber das ist jedem selbst überlassen, hier gibt es keine speziellen Vorgaben:

mkdir -p /home/hostuser/repos

Nun wechseln wir in das Verzeichnis, um hier ein Repository zu erstellen (ja, es ist die Langvariante, für alle Besserwisser *g* ):

cd /home/hostuser/repos

Ein Repository ist bei Git im Grunde nur ein Verzeichnis, welches Git informationen enthält. Ich nehme hier an, dass wir ein PHP Projekt starten möchten, also erstellen wir zunächst ein Verzeichnis und wechseln zu direkt zu diesem:

mkdir php.myproject.git
cd php.myproject.git

Die Namensgebung ist auch hier nur eine Vorliebe von mir. Es ist jedem selbst überlassen, wie man das Verzeichnis benennt. In dem Verzeichnis selbst initiieren wir ein leeres Git repo.

git init --bare --share

Damit haben wir schon einene großen teil geschafft. Nun loggen wir uns mit dem “exit” oder “logout” befehl wieder aus, sodass wir nun auf dem lokalen System dieses erzeugte Repository clonen können. Dies geschieht wie folgt (wohlgemerkt auf dem lokalen Rechner, nicht auf dem Server):

git clone ssh://hostuser@192.168.1.102/home/hostuser/repos/php.myproject.git php.myproject.git

Falls alles wie geplant funktioniert hat, solltet ihr eine Passwortabfrage erhalten (wenn der Zugang zum server vernünftig gesichert ist). Im hinteren Teil des Befehls seht ihr das Zielverzeichnis in das geclont wird (euer lokales Repository). Nun wechseln wir in dieses Verzeichnis und führen…

git status

…aus. Hier solltet ihr einige erste Informationen zum lokalen repo bekommen. Damit sind wir eigentlich schon fertig und können mit dem Repository arbeiten. Nun kann man noch einige interessante Dinge ausprobieren. Mit…

git branch -r

… erfahrt ihr, welche branches euer Remote-Repository zur Verfügung hat. Um einen neuen Branch (lokal) zu eröffnen, führt man git branch aus, in etwa so:

git branch v1.0.0

Hier habe ich meinen neuen Branch v1.0.0 benannt. Wie ihr den Branch benennt ist auch hier eurer Phantasie überlassen. Mit git checkout wechselt man zu diesem neuen Branch:

git checkout v1.0.0

Um diesen Branch nun auch auf das Remote System zu bringen, kann man ganz einfach folgenden gut Befehl verwenden:

git push origin v1.0.0

Damit wird der Branch in euer “zentrales” Repo geschoben (damit auch andere diesen zur Verfügung haben).


Apr 4 2011

PostgreSQL mit PostGIS auf Ubuntu installieren

Diese kleine Tutorial soll in einer Step-by-step Anleitung beschreiben, wie man die PostgreSQL DB mit Postgis-Erweiterung bei sich auf dem Entwicklungsserver installieren kann. ZUsätzlich installieren wir noch den PHP-PG-Admin, um bequem per Webinterface auf die DB zugreifen zu können. Also los gehts:

Im ersten Schritt benötigen wir den Postgresql Server aus den Quellen:

sudo apt-get install postgresql

Je nach Version, die ihr haben wollt, geht das auch so (hier z.B für die 8.3):

sudo apt-get install postgresql-8.3

Im nächsten Schritt geht es nun schon an PostGIS:

sudo apt-get install postgresql-8.3-postgis

Da wir ja auch bequem per Webinterface Zugriff haben möchten, installieren wir nun auch den PHP-PG-Admin:

sudo apt-get install phppgadmin

Um auf den Admin zugreifen zu können, muss man noch ganz kurz den Apache restarten (wenn es nicht schon bei der Installation automatisch passiert):

sudo /etc/init.d/apache2 restart

Die Hauptarbeit ist nun getan. Allerdings fehlen uns noch die Zugangsdaten. Dazu wechselt man als root zum User postgres…

sudo su postgres

… und legt einen Superuser für die Datenbank an:

createuser -l -P superuser

Das “L, bzw -l” bedeutet, dass sich der User einloggen darf. Zudem soll der Zugang per Passwort geschützt sein (-P). Es folgt eine doppelte Passwortabfrage und die Frage, ob der User als Superuser angelegt werden soll. Ja, das soll er.

Das Grundsystem steht nun. Was uns noch fehlt, ist eine Datenbank mit der wir arbeiten möchten. Diese legen wir (am besten mit UTF-8 Encoding) mit diesem Befehl hier an:

createdb mydatabase --encoding="UTF-8"

Dieser Datenbank müssen wir noch den “Slang” (den Dialekt) von Postgis beibringen:

createlang plpgsql mydatabase

Danach müsste alles erledigt sein. Ihr könnt euch nun im Web-Admin anmelden, neue User anlegen und mit der Datenbank arbeiten. Ich wünsche viel Spaß und Erfolg ;)


Mrz 3 2010

Ubuntu für das Zend Framework konfigurieren

Aus aktuellem Anlass – einer Neuinstallation meines Systems – möchte ich euch die Schritte erklären, die zu einer lokalen LAMP (Linux Apache MySQL und PHP) Entwicklungsumgebung für Zend-Framework Projekte unter Ubuntu 9.10 Karmic Koala führen.

Ein fertiges Linux-System solltet ihr mit Ubuntu ja bereits besitzen. D.h. den nächsten Schritt, den man gehen muss, ist den Apache-Server zu installieren. Unter Ubuntu bewerkstelligt man dies in der Console mit dem einfachen Aufruf

sudo apt-get install apache2

Eine Internetverbindung vorausgesetzt, solltet ihr nun die Download-, Installations- und Konfigurationsroutine sehen. Um zu überprüfen, ob der Apache nach der Installation läuft, öffnet einen Browser eurer Wahl und versucht die Adresse http://127.0.1.1 aus. Ihr solltet etwas in der Art “It Works” zu lesen erhalten.

Das Zend-Framework basiert ja bekanntlich auf PHP und so benötigen wie jetzt entsprechend PHP. Um PHP5 zu installieren, bemüht man widerum die Console und holt die aktuelle Version aus den Quellen:

sudo apt-get install php5

Nach erfolgreicher Installation sollte der Apache neu starten und wir können überprüfen, ob die Installation korrekt ausgeführt wurde. Dazu wechselt man in das Web-Verzeichnis des Servers:

cd /var/www

Hier sollte bereits eine index.html existieren, die wir schon im Web-Browser bewundern durften. Mit dem Aufruf…

sudo gedit phpinfo.php

… erstellt man die Datei phpinfo.php und öffnet diese gleichzeitig mit dem (in Ubuntu mitgelieferten) Editor, welcher übrigens um einges mächtiger ist, als z.B. Notepad unter Windows, da er für sehr viele Dateitypen Syntax-Highlighting unterstützt. In diese Datei fügt ihr nun folgende Zeile ein und speichert die Datei ab:

<?php phpinfo(); ?>

Damit haben wir eine Test-PHP-Datei erstellt, welche die Methode phpinfo aufruft und uns somit ausführliche Informationen über die installierte PHP-Version liefert. Diese Datei könnt ihr über den Web-Browser unter http://127.0.1.1/phpinfo.php aufrufen. Bei erfolgreicher PHP-Installation solltet ihr nun PHP-Informationen (z.B. die Version) sehen.

Einen großen Teil habt ihr damit schon geschafft und könntet schon fast mit einem Zend-Projekt anfangen. Was noch fehlt ist die Datenbank und das Apache ModRewrite Modul. Wofür die Datenbank (MySQL) gebraucht wird, sollte klar sein. Das Modul benötigen wir, um euer Projekt zu “privatisieren”. Das bedeutet, dass wir – gemäß ZF-Vorgabe – einzig und allein einen öffentlichen Zugriff auf die index.php anbieten.

Starten wir doch mit dem Einfacheren, dem Modul. Dieses ist nämlich schon installiert und muss nur noch aktiviert werden. Dazu wieder die Konsole:

sudo a2enmod rewrite

Kurze Erklärung dazu: a2 (Apache2, unser Server) en (enable, aktivieren) mod (Modul) rewrite. Eventuell – falls nicht automatisch durchgeführt – müsst ihr den Apache neu starten.

Nun möchten wir uns noch um die letzte Komponente, einen MySQL-Server kümmern. Dazu bemühen wir wieder die geliebte Konsole und holen uns den mysql-server mit Hilfe von apt:

sudo apt-get install mysql-server

Bei der Installation solltet ihr die entsprechenden Zugriffspasswörter wählen, der Rest passiert automatisch. Für diejenigen, die phpMyAdmin kennen und nutzen möchten, bietet sich an das Paket phpmyadmin zu installieren, welches dann unter http://127.0.1.1/phpmyadmin zu finden ist.

sudo apt-get install phpmyadmin

Mit dieser Konfiguration könnt ihr euch nun in aller Ruhe in ein neues Zend-Projekt stürzen. Falls ihr möchtet, könnt ihr auch entsprechende Tipps und Tutorials dazu in meinem kleinen ScienceBlog zur Hilfe nehmen.


Mrz 2 2010

Der Eclipse Ubuntu Karmic Koala Fix

Nach einem Update auf Ubuntu 9.10 (Karmic Koala) habe ich festgestellt, dass einige Buttons nicht mehr mit der Maus bedienbar waren. Die einzige Lösung, die mir direkt eingefallen ist, war das Verwenden der Tastatur (entweder über Kürzel oder erst mit der Maus markieren und dann Enter). Eine Zeit lang war das ausreichend. Leider ging es (wie bei Informatikern üblich) mit ein wenig auf die Nerven.

Bei der Suche nach einer Lösung, bin ich auf folgende Bugmeldung bei Eclipse gestossen:

Starting from 2.18 on, GTK+ changed some of its internal behaviour (google for “client side windows”). This change is intentional, and needed for other development. It doesn’t make any difference to programs using GTK+ correctly, but it makes problems with programs that use GTK+ in weird ways, making wrong assumptions that only accidentally worked in the past. So, to ease the transition until those programs get fixed, an environment variable has been introduced to simulate the old behaviour.

Nun, die Lösung (bzw. Workaround) ist recht einfach zu bewerkstelligen. Dazu legt man eine Datei – z.B. fix.sh – im Eclipse Order an. Es kann natürlich auch ein x-beliebiger Ordner sein, ich habe es jedoch wegen der Zusammengehörigkeit direkt in den Eclipse-Ordner gepackt.

Diese Datei füllt man mit folgendem Inhalt:

export GDK_NATIVE_WINDOWS=true
/home/meinuserverzeichnis/programs/eclipse

Den Pfad müsst ihr natürlich auf euren Eclipse-Pfad anpassen. Danach nur noch speichern und evtl. entsprechend im Panel den Eclipse-Aufruf anpassen. Fertig, viel Spaß, ich hoffe, dass es geholfen hat!


Feb 2 2010

Xbox360 Spiele unter Linux brennen

An dieser Stelle möchte ich ein – wie ich festgestellt habe – heisses Gebiet thematisieren. Zunächst ist allerdings ein Vorwort notwendig: Überlegt es euch bitte gut diesen Schritt zu gehen. Ich persönlich habe im Grunde nur aus Langeweile einen Versuch gestartet, ob es auch so einfach funktioniert, wie ich es im Internet nachlesen konnte. Ja, es ist so einfach, allerdings bedenkt, dass Ihr den Spieleherstellern erheblichen Schaden hinzufügt und damit evtl. verhindert, dass Nachfolger von guten Spieleserien produziert werden.

Nun zum Thema selbst. Ausprobiert habe ich das Ganze unter Ubuntu 9.10 über die Konsole. Wer nach einer Lösung mit GUI sucht, wir dhier zwar nicht fündig, sollte diese Methode allerdings trotzdem einfach mal ausprobieren.

Realisieren kann man den Brennvorgang mit dem Linux.Kommando growisofs über die Konsole.  Dazu muss man vorerst einige Dinge in Erfahrung bringen. Zum einen, den Pfad wo euer Image liegt und zum anderen unter welchem Namen euer DVD-Brenner gemountet (im System eingehbunden) ist. Das erstere traue ich jedem, der das cd Kommando beherrscht zu (oder, wer faul ist, nutzt find  -name). Das Laufwerk findet man heraus, indem man in das Verzeichnis /dev/ wechselt und den ls Befehl mit -l als Parameter ausführt.

cd /dev/; ls -l

In dieser Liste sollte sich nun irgendwo der Name cdrom0 oder dvdrw wiederfinden. In der Regel (bei einem DVD-Brenner) heisst der Brenner sr0. Mit den informationen wechselt man nun (am besten) in das Verzeichnis der .iso Datei.

cd /pfad/zu/deiner/isodatei/

Ab hier ist es unglaublich einfach. Legt den DVD-Rohling in euer Laufwerk und führt den folgenden Befehl aus:

growisofs -speed=2 -dvd-compat -Z -use-the-force-luke=dao -use-the-force-luke=break:1913760 /dev/{{laufwerksname}}={{isoname}}.iso

In dem Befehl ersetzt Ihr noch die geschweiften Klammern. Die erste durch den Namen eures Laufwerks. Die zweite durch den Namen der Isodatei. Im Ergebnis dann in etwa so:

growisofs -speed=2 -dvd-compat -Z -use-the-force-luke=dao -use-the-force-luke=break:1913760 /dev/dvdrw=mygame.iso

Das wars. Ab hier sollte ein Fortschritt in Prozent und die Brenngeschwindigkeit angezeigt werden. Ihr seht, es ist recht einfach. Aber nochmals, ich rate euch dringend davon ab Spiele zu kopieren. Es ist nicht nur illegal, sondern auch schädlich für die Spielehersteller. Zudem übernehme ich keine Verantwortung/Haftung für mögliche Schäden (z.B. verbrannte Rohlinge).