Ubuntu Linux als Entwicklungsplattform für Nuclos

Auf dieser Seite sind einige Ideen gesammelt, wie man Ubuntu Linux (aktuell in der Version 13.10/saucy) so einrichtet, dass man gut an Nuclos entwickeln kann (z.B. eigene Nuclets...).

Welche Linux Version benutze ich?

Die einfachste Möglichkeit, das heraus zu finden, ist

$ lsb_release -a

Übersicht Ubuntu Versionen

Versionen, die hier nicht aufgeführt sind, sind veraltet!

VersionsnummerVersionsnameBemerkung
10.04 LTSlucidVeraltet
12.04 LTS

precise

Veraltet, aber noch unterstützt
13.04raringVeraltet
13.10saucyVeraltet
14.04 LTStrustyAktuell
14.10utopicAktuell

Weitere Software Repositories einrichten

Einige zur Entwicklung nützliche Software findet man nicht in der Standard Ubuntu Distribution, sondern in zusätzlichen Repositories. Hier die grundsätzlichen Schritte, die benötigt werden, um ein zusätzliches Software Repository zu einer Ubuntu Installation hinzu zu fügen:

  sudo apt-get install synaptic
  sudo synaptic

Direkte Installation der Oracle Java VMs

 update-java: Hilft bei der Installation von Oracle JDKs und JREs

Noch einfacher ist es die direkte Installation der Oracle Java VMs (siehe oben) vorzunehmen.

 deb http://ppa.launchpad.net/nilarimogard/webupd8/ubuntu saucy main 

Um nun z.B. ein aktuelles Oracle Java SE 6 JDK zu installieren und als Standard Java unter Ubuntu einzurichten, müssen folgende Schritte durchgeführt werden:

 sudo apt-get install update-java installieren.
 cd /opt
 sudo bash ~/Downloads/jdk-6u30-linux-x64.bin
 sudo ln -s /opt/jdk1.6.0_30 /usr/lib/jvm/
 sudo update-java

Subversion 1.8: Aktuelle Version

Dieser Abschnitt ist für Ubuntu 14.04/trusty (und höher) obsolet.

 Ubuntu 13.10 kommt noch mit einer Subversion Version 1.7.x. Die Version 1.8.x steht jedoch als getrenntes Repository zur Verfügung:

 deb http://opensource.wandisco.com/ubuntu precise svn18 

Um ein 'altes' svn Repository in das neue (ab 1.7) Format umzuwandeln, wird folgender Befehl benötigt:

 svn upgrade

Ubuntu ab 12.10 kommt bereits mit Subversion 1.7

Postgresql 9.3

Ubuntu Versionen vor 11.10 kamen noch mit einer Postgresql Version 8.4. Die neueren Versionen stehen direkt bei Postgres zur Verfügung. Wer Postgres 9.3 verwendet möchte, benötigt folgendes:

Ein paar Tipps und Tricks zu Postgresql finden sich hier und hier.

Seit kurzem Betreiben die Postgresql Entwickler ein eigenes Repository, das unter http://apt.postgresql.org/ zu finden ist. Weitere Details finden sich hier. Das Repository umfasst insbesondere aktuelle Versionen von pgadmin3, pgbouncer und pgpool-II.

Admin-Passwort einrichten

[Dieser Abschnitt ist aus Ubuntu PostgreSQL übernommen.]

PostgreSQL wird unter Ubuntu von einem Systembenutzer postgres verwaltet, dieser hat alle Rechte um z.B. Datenbanken oder auch Datenbankbenutzer anzulegen. Es gilt zu beachten, dass Datenbankbenutzer und Systembenutzer in der Regel in keinem Zusammenhang stehen.

Daher ist es zunächst ratsam dem Datenbankbenutzer postgres ein Passwort zu geben, so das man sich mit diesem auch über das Netzwerk anmelden kann. Hierzu öffnet man ein Terminal und führt folgende Befehle aus:

sudo -u postgres psql 

Man befindet sich nun in der Umgebung von PostgreSQL (erkennbar an postgres=#). Als nächsten Befehl gibt man

\password postgres  
ein. Nun wird man zur Eingabe des neues Passwortes aufgefordert.

Um die Postgre-Umgebung wieder zu verlassen, einfach

\q 

eingeben.

postgres.conf

Damit Java auf den DB Server zugreifen kann, muss man (zumindest auf einem Interface) TCP/IP Sockets zulassen. Im auf allen Interfaces zu binden:

#listen_addresses = 'localhost'         # what IP address(es) to listen on;
                                        # comma-separated list of addresses;
                                        # defaults to 'localhost'; use '*' for all
                                        # (change requires restart)
# added by tp
listen_addresses = '*'

pg_hba.conf

In pg_hba.conf müssen die Berechtigungen für die Datenbank eingetragen werden, falls man von einem anderen Rechner auf den DB Server zugreifen möchte. (Vom eigenen Rechner aus ist das im Normalfall bereits möglich.) Beispielsweise:

# TYPE  DATABASE        USER            ADDRESS                 METHOD
# allow IP connection from 192.168.0.0 netmask 255.255.0.0
host     all             all             192.168.0.0/16          md5

 

Weitere Software

Software aus Paketquellen

Aktuelle Versionen Virtualbox

Aktuelle Version LibreOffice

Aktuelle Version git

GetDeb Repository

Software, die manuell installiert werden muss

Einige zur Entwicklung nützliche Software findet man auch nicht als externes Repository. Sie muss 'von Hand' installiert werden:

STS oder Eclipse einrichten

Es hat sich als vorteilhaft erwiesen, den Besitzer der STS/eclipse auf den eigenen Account umzubiegen, z.B. mittels:

sudo chown -R rufus:users /opt/springsource/sts-3.1.0.RELEASE

Beschleunigung STS/Eclipse bei Aspectj Compile Time Weaving

Es hat sich als sehr vorteilhaft erwiesen, folgende Zeile (als root) in /etc/fstab einzutragen:

tmp             /tmp            tmpfs   nosuid,size=1500M              0       0

Diese Änderung bitte wie folgt testen:

$ sudo mount -a
$ sudo mount
... (Ausgabe überprüfen)
$ sudo umount /tmp

Das System muss danach neu gestartet werden.

Native libsvn Hooks für subversive/subclipse

  1. Ubuntu Packet 'libsvn-java' installieren
  2. Editor für <sts>/STS.ini bzw. <eclipse>/eclipse.ini öffnen
  3. Am Ende der Datei folgende Zeile hinzufügen: '-Djava.library.path="/usr/lib/x86_64-linux-gnu/jni:/usr/lib/jni"'.

Weitere Informationen liefert Subclipse JavaHL.

Es ist oft sehr schwer, die für das Linux passende subversive/subclipse Version zu finden. Daher ist es schwierig, die Native libsvn Hooks unter Linux zu benutzen. Der Aufwand für die Einrichtung übersteigt daher im Allgemeinen den Nutzen.

dashboard (embedded browser) nutzbar machen (Ubuntu 13.10/saucy und höher)

Nun folgende Zeilen zu <sts>/STS.ini bzw. <eclipse>/eclipse.ini hinzufügen:

-Dorg.eclipse.swt.browser.DefaultType=webkit
-Dorg.eclipse.swt.browser.UseWebKitGTK=true
-Djava.library.path="/usr/lib/x86_64-linux-gnu/jni:/usr/lib/jni"

pgadmin3

Dieser Abschnitt ist für Ubuntu 12.04/precise (und höher) obsolet.

Die Aktuelle Version 1.14.x, die mit Postgresql 9.1 getestet wurde befindet sich nicht in den Ubuntu Standard Repositories. Z.Z. ist sie am einfachsten aus der nächsten Ubuntu Version 'precise' wie folgt zu installieren.

 sudo dpkg -i ~Downloads/pgadmin3-data_1.14.0-1_all.deb
 sudo dpkg -i ~Downloads/pgadmin3_1.14.0-1_amd64.deb