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:

  • 'synaptic' installalieren, falls das noch nicht geschehen ist:
  sudo apt-get install synaptic
  • 'synaptic' als root starten, z.B. aus einer Bash Shell heraus mit
  sudo synaptic
  • Menü -> Einstellungen -> Packetquellen
  • Reiter 'Andere Software'. Dort Button 'Hinzufügen...' wählen.
  • Vollständige 'APT-Zeile' (siehe unten) kopieren und hinzufügen. (Alternativ kann bei einem PPA (Personal Packet Archive auf https://launchpad.net) die Form ppa:<ppa-name> gewählt werden.)
  • Schlüsseldatei als Textdatei herunterladen (Links siehe unten). Z.B. Seite mit 'firefox' öffnen und dann im Menü 'Seite speicher unter...' wählen. Im Dateiauswahldialog dann in der Combobox 'Textdatei' wählen (wichtig!) und Datei abspeichern.
  • Reiter 'Authentifizierung' wählen. Dort Button 'Schlüsseldatei importieren...' wählen.
  • Die vorher gespeichterte Datei auswählen.
  • Bei Erfolg umfasst die Liste der 'Vertrauenswürdigen Software-Anbieter' jetzt auch den neu gewählten.
  • Dialog 'Software-Packetquellen' schließen.
  • In 'synaptic' Icon 'Neu laden' wählen.
  • Die Software ist jetzt mit 'synaptic' verfügbar und kann von dort installiert werden.

Direkte Installation der Oracle Java VMs

  • ppa:webupd8team/java als Paketquelle hinzufügen

  • Homepage Webupd8 Team Java
  • Schlüsseldatei
  • Nun kann z.B. oracle-java7-installer installiert werden.
  • Mit dem Paket oracle-java7-set-default kann letzteres als Standard gesetzt werden.

 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:

  • Das Packet 'update-java' mittels synaptic oder mit
 sudo apt-get install update-java installieren.
  • Das gewünschte Java SE 6 von der Oracle Seite (als *.tar.gz oder *.bin) herunterladen.
  • Das Packet z.B. unter /opt entpacken:
 cd /opt
 sudo bash ~/Downloads/jdk-6u30-linux-x64.bin
  • Einen symbolischen Link nach /usr/lib/jvm anlegen:
 sudo ln -s /opt/jdk1.6.0_30 /usr/lib/jvm/
  • 'update-java' starten
 sudo update-java
  • Im GUI jetzt diese Java VM auswählen und den Button 'Ok' drücken.

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:

  • APT-Zeile: deb http://apt.postgresql.org/pub/repos/apt/ trusty-pgdg main

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 (Springsource Tool Suite) Eine besonders getestete Version von Eclipse, die um zahlreiche Plugins erweitert ist. Für uns besser als ein 'richtiges' Eclipse, da der Maven Support im STS vernünftig funktioniert. Zum Download muss man sich nicht registrieren: Einfach Checkbox anwählen und Link 'download page' folgen.
  • Squirrel-SQL Ein guter, in Java geschriebener Datenbank Client, also eine Art 'Toad für Arme'.

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)

  • libwebkitgtk-1.0.0 installieren
  • evt. libswt-webkit-gtk-jni installieren

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