Ubuntu 16.04 LTS (Xenial Xerus)

+ andere TechDocs
+ Docker
+


Ubuntu ist die auf Desktop-PCs am häufigsten verwendete Linux-Variante. Sie basiert auf Debian. Die Version 16.04 heißt so, weil sie von April 2016 ist. Außerdem ist dies eine LTS-Version ("Long Term Support"), die für einen besonders langen Zeitraum, nämlich fünf Jahre, mit Updates und Sicherheitskorrekturen unterstützt wird.

Der folgende Text beschreibt erste Schritte im Umgang mit Ubuntu und richtet sich überwiegend an "Linux-Einsteiger".



Inhalt

  1. Doku zu Ubuntu
  2. Installationsoptionen von Ubuntu
  3. Ubuntu in einer Virtual Machine mit Oracle VirtualBox
  4. Ubuntu mit Dual-Boot neben Windows installieren
  5. Begriffe und erste Schritte in Ubuntu
  6. Wichtige Kommandos (besonders für Linux-Anfänger)
  7. Weitere speziellere Linux-Kommandos
  8. Besonderheiten der bash
  9. ssh, scp und ssh-keygen
  10. Linux-Verzeichnisstruktur
  11. Konfiguration der Terminal-Fenstergröße
  12. Dateimanager Nemo
  13. Texteditor Geany
  14. Texteditor Visual Studio Code
  15. Texteditor UltraEdit
  16. Installation von Java 8 und Java 11
  17. Installation von Maven 3
  18. Installation von Eclipse Neon 4.6
  19. Installation von JetBrains IntelliJ IDEA 2018
  20. Installation des YourKit Java Profilers
  21. Installation von MySQL
  22. Installation von SQuirreL
  23. Installation von SQL*Plus
  24. Installation von Oracle WebLogic Server
  25. Installation von Docker
  26. Installation von Wireshark
  27. Installation von yWorks yEd
  28. Git-Server mit GitLab
  29. Problembehandlungen



Doku zu Ubuntu

Weiterführende Doku finden Sie beispielsweise unter:
Canonical Ubuntu,
Wikipedia: Ubuntu,
UbuntuUsers: Wiki,
Heise: Ubuntu 16.04 LTS: Linux mit Langzeitunterstützung.


Installationsoptionen von Ubuntu

Es gibt diverse verschiedene Varianten zur Installation von Ubuntu. Für alle im Folgenden genannten Varianten müssen Sie zuerst die Ubuntu-16.04-ISO-Image-Datei "ubuntu-16.04-desktop-amd64.iso" von Ubuntu Desktop Download downloaden.

Einige der diversen verschiedenen Varianten zur Installation von Ubuntu sind (statt DVD kann meistens auch ein USB-Stick verwendet werden, siehe Universal USB Installer):



Ubuntu in einer Virtual Machine mit Oracle VirtualBox

  1. Falls Sie Windows verwenden, und falls Sie kein Dual-Boot einrichten wollen, können Sie Ubuntu in einer "virtuellen Maschine" (= VM) installieren und betreiben. Es gibt verschiedene Arten von VMs. Für eine Linux-VM unter Windows werden meistens Hypervisor-basierende Virtualisierungen verwendet, wie beispielsweise VirtualBox und VMware Workstation 12 Player.

  2. Zur Installation von VirtualBox downloaden Sie VirtualBox 5.0.16 for Windows hosts (x86/amd64) und führen VirtualBox-5.0.16-105871-Win.exe aus. Sehen Sie sich das VirtualBox User Manual an.
    Überprüfen Sie:

    "C:\Program Files\Oracle\VirtualBox\VBoxManage" -v

    "C:\Program Files\Oracle\VirtualBox\VirtualBox"

  3. Downloaden Sie die Ubuntu-16.04-ISO-Image-Datei "ubuntu-16.04-desktop-amd64.iso" von Ubuntu Desktop Download.

  4. Starten Sie den "Oracle VM VirtualBox Manager". Klicken Sie in der oberen Icon-Leiste auf das Icon für "Neu", vergeben Sie einen Namen für die neue VM, wählen Sie bei Typ "Linux" und bei Version "Ubuntu (64-bit)". Konfigurieren Sie in den folgenden Dialogen genügend viel RAM (mindestens 2 GByte) und genügend viel Festplattenplatz (mindestens 30 GByte).
    Speichern Sie und klicken Sie in der oberen Icon-Leiste auf das Icon für "Starten". Geben Sie das Verzeichnis der downgeloadeten Ubuntu-16.04-ISO-Image-Datei "ubuntu-16.04-desktop-amd64.iso" an.

  5. Installieren Sie die "VirtualBox Gasterweiterungen", beispielsweise damit Sie die Fenstergröße und Bildschirmauflösung wählen können, und damit Sie Daten und Texte zwischen dem Windows-Host und dem Linux-Gast austauschen können, per Zwischenablage und Austauschverzeichnis. Wählen Sie bei laufender Ubuntu-VM in der oberen Menüleiste vom VirtualBox-Fenster "Geräte | Gasterweiterungen einlegen..." und installieren Sie die Gasterweiterungen.

    Falls Sie dabei eine Fehlermeldung erhalten ähnlich zu:
    Das virtuelle optische Medium C:\Program Files\Oracle\VirtualBox\VBoxGuestAdditions.iso konnte nicht in das Laufwerk der Maschine Ubuntu 16.04 eingelegt werden.
    Could not mount the media/drive 'C:\Program Files\Oracle\VirtualBox\VBoxGuestAdditions.iso' (VERR_PDM_MEDIA_LOCKED).

    Dann starten Sie den Dateimanager Nautilus und klicken in der linken Spalte auf das Auswurf-Icon rechts neben VBOXADDITIONS_...

  6. Aktivieren Sie in der oberen Menüleiste vom VirtualBox-Fenster unter "Geräte | Gemeinsame Zwischenablage" die gewünschte Option, z.B. "bidirektional".



Ubuntu mit Dual-Boot neben Windows installieren

Die Dual-Boot-Installation ist auf einigen PCs sehr einfach, aber auf anderen PCs kann sie sehr schwierig sein. Im Folgenden wird nur der einfache unproblematische Weg beschrieben. Falls es Komplikationen gibt, sehen Sie sich an: UbuntuUsers-Wiki: Dualboot, Ubuntu-Forum-Wiki: Dualboot Windows - Ubuntu, Ubuntu 16.04 (Helmut Hinterthür), Dualboot von Windows und Ubuntu (Thorsten Eggeling), c't-Artikel: Ubuntu ausprobieren – ohne Gefahr für das eigene Windows (Axel Vahldiek).

  1. Falls Sie noch kein Betriebssystem installiert haben: Zuerst muss Windows installiert werden, und erst danach Ubuntu.

  2. Falls Sie wichtige Daten auf dem PC haben: Machen Sie unbedingt zuerst ein zuverlässiges Backup, z.B. mit Drive Snapshot!

  3. Ermitteln Sie Ihre Windows-Version: "Win+R (Windows-Taste und gleichzeitig R) | winver eingeben"

  4. Falls Sie Windows 8.1 oder Windows 10 verwenden, ermitteln Sie so den "BIOS-Modus": "Win+R (Windows-Taste und gleichzeitig R) | msinfo32 eingeben | Systemübersicht | den Eintrag zu 'BIOS-Modus' suchen": "Vorgängerversion" bedeutet "BIOS/MBR", "UEFI" bedeutet "UEFI/GPT".

  5. Bevor Sie mit der Ubuntu-Installation beginnen, sollten Sie eine wichtige Voraussetzung überprüfen. Betätigen Sie Win+X (Windows-Taste und gleichzeitig X) und starten Sie die Datenträgerverwaltung. Falls Ihr PC nicht im UEFI-Modus, sondern im BIOS-Modus startet, und nicht GPT sondern eine BIOS-MBR-Partitionstabelle verwendet, können Sie nicht mehr als vier "primäre Partitionen" einrichten. Falls Sie bereits vier primäre Partitionen verwenden, können Sie Dual-Boot nicht installieren. In manchen Fällen kann es möglich sein, eine der Partitionen (eventuell eine Recovery-Partition) zu löschen. Falls sie sich unter Windows nicht löschen lässt, können Sie "gparted" unter Linux versuchen.

  6. Die zweite Voraussetzung ist genügend freier Speicherplatz auf der Festplatte, mindestens 30 GByte, möglichst als "nicht partitionierter Bereich", der als "nicht zugeordnet" markiert ist. Falls ein solcher Bereich noch nicht existiert: Klicken Sie in der Datenträgerverwaltung mit der rechten Maustaste auf das zu verkleinernde Volume und wählen Sie: Volume verkleinern | Zu verkleinernder Speicherplatz in MB: z.B. 30000 | Verkleinern. Es entsteht ein neuer Bereich: "Nicht zugeordnet".

  7. Downloaden Sie die Ubuntu-16.04-ISO-Image-Datei "ubuntu-16.04-desktop-amd64.iso" von Ubuntu Desktop Download.

  8. Sie können Ubuntu entweder vom USB-Stick oder von einer DVD installieren.
    Zur Installation per USB-Stick können Sie beispielsweise den Universal USB Installer verwenden.
    Zur Installation per DVD brennen Sie das ISO-Image auf DVD. Unter Windows klicken Sie hierfür im Windows-Explorer mit der rechte Maustaste auf den Dateinamen und wählen "Datenträgerabbild brennen".

  9. Stellen Sie im BIOS-Setup ein, dass von der DVD (bzw. vom USB-Stick) gebootet wird. Beim PC-Neustart erscheint kurz ein Text ähnlich zu: "Press ... to run Setup". Betätigen Sie die dort genannte Taste, und verschieben Sie beispielsweise unter "Boot Device Priority" das gewünschte Medium nach oben. Speichern Sie und starten Sie neu.

  10. Booten Sie von der DVD (bzw. vom USB-Stick). Wählen Sie: Deutsch | Ubuntu installieren | Herunterladen der Aktualisierungen und Installation von Drittanbieter-Software aktivieren | Weiter | "Ubuntu neben Windows installieren: Dokumente, Musik und andere persönliche Daten bleiben bestehen. Sie können bei jedem Start des Rechners auswählen, welches Betriebssystem Sie benutzen möchten."
    Falls Sie die zuletzt genannte Option nicht angeboten bekommen, brechen Sie ab und suchen sie nach dem Grund.

  11. Vergessen Sie nicht, im BIOS-Setup die Boot-Reihenfolge wieder so umzustellen, dass von Festplatte gebootet wird, damit der PC schneller startet.

  12. Wenn Sie nicht eingreifen, startet der neue Bootloader als Default Ubuntu. Falls Sie als Default Windows wollen, stellen Sie dies folgendermaßen ein: Starten Sie unter Ubuntu per Strg+Alt+T ein Terminal. Geben Sie ein:

    sudo gedit /etc/default/grub

    Ändern Sie die Zeile "GRUB_DEFAULT=0" zu "GRUB_DEFAULT=4" und speichern Sie. Führen Sie im Terminal aus:

    sudo update-grub

  13. Falls Sie verhindern wollen, dass unter Ubuntu versehentlich auf dem Windows-C:-Laufwerk geschrieben wird, können Sie es verbergen: "Super-Taste (= linke Windows-Taste) | 'Laufwerke' eintippen | Windows-C:-Partition markieren | Zahnrädchen | Einhängeoptionen bearbeiten | Optionen zum automatischen Einhängen ausschalten | Beim Start einhängen deaktivieren | In der Benutzerschnittstelle anzeigen deaktivieren".

  14. Sehen Sie sich unter Ubuntu an, welcher Grafiktreiber installiert ist, unter: "Systemeinstellungen | Anwendungen & Aktualisierungen | Zusätzliche Treiber".
    Falls Sie eine AMD-Grafikkarte installiert haben, sollten Sie es beim Open-Source-Treiber belassen.
    Falls Sie eine Nvidia-Grafikkarte installiert haben, sollten Sie einen der von Ubuntu angebotenen proprietären Nvidia-Treiber installieren, bevorzugt einen, der "update" in der Kurzbeschreibung enthält.

  15. Wenn Sie zwischen den beiden Dual-Boot-Betriebssystemen wechseln, kann es sein, dass in einem der beiden Betriebssysteme die Uhrzeit immer wieder um zwei Stunden falsch eingestellt wird. Um dies zu vermeiden, stellen Sie unter Windows UTC ein. Öffnen Sie den Registry-Editor über: Win+R | regedit. Öffnen Sie darin den Schlüssel "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation". Erstellen Sie darin den neuen 32bit-DWORD-Wert mit dem Namen "RealTimeIsUniversal" und dem Wert "1".

  16. Falls Sie Ubuntu wieder entfernen wollen, müssen Sie zuerst den Windows-Bootloader reaktivieren, bevor Sie die Ubuntu-Partition löschen.
    Falls Ihr PC im "BIOS/MBR-Modus" arbeitet, führen Sie ab Windows 8 das folgende Kommando mit Admin-Rechten aus: "bootsect /nt60 SYS /mbr".
    Falls Ihr PC im "UEFI/GPT-Modus" arbeitet, stellen Sie im BIOS-Setup die Bootreihenfolge auf den Windows-Bootloader um.



Begriffe und erste Schritte in Ubuntu



Wichtige Kommandos (besonders für Linux-Anfänger)

Erforschen Sie die Ubuntu-Linux-Installation. Klicken Sie oben links auf das Icon für "Rechner durchsuchen". Tippen Sie die ersten Buchstaben von "Terminal" ein, um ein Bash-Terminal (Shell-Fenster / Kommandozeilenfenster) zu öffnen und beginnen Sie beispielsweise mit den im Folgenden gezeigten Kommandos.
Beachten Sie, dass im Terminal-Fenster Copy&Paste nicht per Strg+C und Strg+V, sondern stattdessen mit Strg+Shift+C und Strg+Shift+V funktioniert. Kopieren Sie die Kommandos auf der Webseite mit Strg+C und fügen Sie sie im Terminal-Fenster mit Strg+Shift+V ein:



Weitere speziellere Linux-Kommandos



Besonderheiten der bash



ssh, scp und ssh-keygen

ssh ("Secure Shell") ermöglicht über eine sichere verschlüsselte Verbindung Zugriff auf entfernte Rechner. Eine Beschreibung zu den vielen Optionen zu ssh finden Sie beispielsweise unter SSH Client (MKS). ssh kann auf verschiedene Arten verwendet werden:

scp ("Secure Copy") ermöglicht es, Dateien vom lokalen PC auf entfernte Rechner, oder umgekehrt, oder von einem entfernten Rechner zu einem anderen entfernten Rechner zu kopieren. Eine Beschreibung zu den vielen Optionen zu scp finden Sie beispielsweise unter SCP (MKS) und Linux scp command (Computer Hope). Beispiele:

ssh-keygen (SSH Key Generator) ermöglicht es, die ssh- und scp-Kommandos zu verwenden, ohne jedesmal ein Passwort angeben zu müssen. Dies ist insbesondere wichtig, wenn die Kommandos in Shell-Skripen verwendet werden sollen. Hierzu wird mit ssh-keygen ein Schlüsselpaar erzeugt (Private und Public Key). Der Private Key verbleibt auf dem PC und der Public Key kann auf beliebig viele entfernte Rechner übertragen werden, auf die ein passwortloser Remote-Zugriff erfolgen soll. Eine Beschreibung zu den vielen Optionen zu ssh-keygen finden Sie beispielsweise unter ssh-keygen (Linux Man Page) und ssh-keygen (MKS). Komplette Anleitungen finden Sie beispielsweise unter:
SSH login without password (Kettner), ssh key erstellen (Wentland/Mittwald), OpenSSH Public Key Authentifizierung unter Ubuntu (Schönberger/Krenn), SSH ohne Passwort (Schlittermann).

Im Folgenden wird davon ausgegangen, dass der Benutzer a vom Rechner A aus mit Benutzer b auf Rechner B zugreifen will. Dabei soll ein spezieller Key "id_rsa_spezial" angelegt werden:

a@A (mit Benutzer a auf Rechner A):

cd ~/.ssh

ssh-keygen -t rsa

   bei: 'file in which to save the key' z.B.: id_rsa_spezial
   bei: 'Enter passphrase (empty for no passphrase)': keine 'passphrase' angeben

ls -al ~/.ssh

   -->
   id_rsa_spezial
   id_rsa_spezial.pub

Falls auf B das Verzeichnis /home/b/.ssh noch nicht existiert:

ssh b@B mkdir -p .ssh

Public Key kopieren:

cat ~/.ssh/id_rsa_spezial.pub | ssh b@B 'cat >> .ssh/authorized_keys'

Ab jetzt darf beim Zugriff von a vom Rechner A mit dem Benutzer b auf den Rechner B nicht mehr nach dem Passwort von b gefragt werden. Test mit:

ssh -i ~/.ssh/id_rsa_spezial b@B "ls -al"

ssh -i ~/.ssh/id_rsa_spezial b@B "cat .ssh/authorized_keys"

   -->
   ssh-rsa ... a@A

Falls doch noch das Passwort verlangt wird, müssen wahrscheinlich auf dem B-Rechner Benutzerrechte anders gesetzt werden. Wechseln zu:

b@B (mit Benutzer b auf Rechner B):

chmod 700 ~/.ssh

chmod 600 ~/.ssh/authorized_keys

Außerdem sollten auf dem A-Rechner die Einträge in der ~/.ssh/known_hosts überprüft werden: Es darf kein Rechner doppelt eingetragen sein. Bei der Prüfung muss beachtet werden, dass die Rechner mit unterschiedlicher Bezeichnung eingetragen sein können: mit IP-Adresse, mit Hostnamen, mit Rechnernamen oder mit Kombinationen daraus.

Zurück zum Rechner A wechseln, die known_hosts überprüfen:

a@A (mit Benutzer a auf Rechner A):

cat ~/.ssh/known_hosts

   -->
   B,ipadresse ssh-rsa ...

Anschließend den obigen Test erneut ausführen.



Linux-Verzeichnisstruktur

Ubuntu verwendet eine für viele Linux-Systeme ähnliche Verzeichnisstruktur. Falls Sie tree installiert haben, können Sie sich die Verzeichnisstruktur anzeigen lassen (die tatsächlichen Verzeichnisse hängen von den installierten Programmen ab):

cd /

tree -d -L 3

/                               Root-Verzeichnis
+-- bin                         Programm-Binärdateien
+-- boot                        Zum Booten benötigte Dateien sowie der Linux-Kernel
¦   +-- grub ...
+-- cdrom
+-- dev ...                     Hardware-Gerätedateien
+-- etc                         Konfigurationsdateien
¦   +-- docker
¦   +-- firefox
¦   +-- init
¦   +-- init.d                  Konfigurationsdateien zum Booten von Linux
¦   +-- libreoffice
¦   +-- lightdm
¦   +-- maven
¦   +-- mysql
¦   +-- systemd ...
¦   +-- X11 ...
¦   ...
+-- home
¦   +-- meinname                Anwender-Home-Verzeichnis
¦       +-- Dokumente
¦       +-- Downloads
¦       +-- MeinWorkspace
¦       ...
+-- lib ...                     Libraries für die Programme
+-- lib64
+-- lost+found                  Beschädigte Dateien
+-- opt                         Verzeichnis zur Installation "fremder" Programme
¦   +-- eclipse ...
¦   +-- idea-IC ...
¦   +-- VBoxGuestAdditions ...  
¦   +-- yed ...
+-- proc ...                    Betriebssystem-/Prozesse-Parameter/-Metriken
+-- root
+-- run ...                     PID-Dateien laufender Prozesse
+-- sbin                        Programm-Binärdateien
+-- snap
+-- srv
+-- sys ...
+-- tmp ...
+-- usr                         Linux-Systemdateien und zusätzlich installierte Programme
¦   +-- bin ...
¦   +-- include ...
¦   +-- lib ...
¦   +-- local ...
¦   +-- locale ...
¦   +-- sbin
¦   +-- share ...
¦   +-- src ...
+-- var                         Zur Laufzeit erzeugte veränderliche Dateien
    +-- backups
    +-- cache ...
    +-- crash
    +-- lib ...
    +-- local
    +-- log ...
    +-- mail
    +-- metrics
    +-- opt
    +-- snap
    +-- spool ...
    +-- tmp ...


Konfiguration der Terminal-Fenstergröße

Um die Default-Größe des Terminal-Fensters einzustellen, öffnen Sie ein Terminal-Fenster per Strg+Alt+T und wählen oben in der Menüzeile:
Bearbeiten | Profileinstellungen | Allgemein | Anfängliche Größe des Terminals.



Dateimanager Nemo

Falls Ihnen der in Ubuntu enthaltene Dateimanager Nautilus nicht genügt: Testen Sie den alternativen Dateimanager Nemo. Siehe auch: Dateimanager-Vergleich.



Texteditor Geany

Falls Ihnen der in Ubuntu enthaltene Texteditor gedit nicht genügt: Installieren Sie einen Texteditor mit mehr Features, zum Beispiel Geany.

Geany bietet unter anderem beispielsweise:

Geany ist leicht installierbar über:

Allerdings erhalten Sie so nicht die aktuellste Version. Wenn Sie die aktuelle Version wünschen, führen Sie aus:

Falls Sie Tastenkürzel oder Einrückungen umkonfigurieren wollen oder benutzerdefinierte Kommandos hinzufügen wollen:

Falls Sie Geany als Default-Editor konfigurieren wollen:

Falls Sie Geany als Source-Editor in Firefox konfigurieren wollen:



Texteditor Visual Studio Code

Eine weitere gute Alternative zu dem in Ubuntu enthaltenem Texteditor gedit ist Microsoft Visual Studio Code.

VS Code bietet unter anderem beispielsweise:

Infos zu VS Code finden Sie unter: MS Visual Studio Code, Running VS Code on Linux, ubuntuusers: Visual Studio Code, Vergleich Texteditoren.

VS Code können Sie folgendermaßen installieren:

Falls Sie VS Code als Source-Editor in Firefox konfigurieren wollen:



Texteditor UltraEdit

Einige Programme lassen sich nicht direkt per "apt-get install" aus dem Ubuntu-Software-Repository installieren. Im Folgenden wird anhand des kostenpflichtigen Texteditors UltraEdit (IDM Computer Solutions) beschrieben, wie ein solches Programm installiert werden kann, wenn es als Ubuntu-kompatibles .deb-Debian-Paket angeboten wird.

  1. Downloaden Sie das zu installierende .deb-Debian-Paket, im Falle von UltraEdit entweder manuell über Download UltraEdit for Linux oder über:

    cd ~/Downloads

    wget http://www.ultraedit.com/files/uex/Ubuntu/trusty/uex_15.1.0.8_amd64.deb

  2. Installieren Sie das .deb-Debian-Paket mit dem seit Ubuntu 16.04 zur Verfügung stehendem apt-Kommando:

    sudo apt install ./uex_15.1.0.8_amd64.deb

    rm ./uex_15.1.0.8_amd64.deb

  3. Überprüfen Sie die Installation:

    apt policy uex

    whereis uex

    which uex

  4. Starten Sie UltraEdit vom Terminal aus (und beenden Sie es wieder):

    uex

  5. Starten Sie UltraEdit vom Dash aus:
    Betätigen Sie die "Super-Taste" (= linke Windows-Taste) und tippen Sie uex.

  6. Falls Sie das UltraEdit-Start-Icon in der linken Starter-Leiste behalten wollen:
    Klicken Sie mit der rechten Maustaste bei laufendem UltraEdit auf das UltraEdit-Starter-Icon in der linken Starter-Leiste und wählen Sie "Im Starter behalten". Anschließend können Sie UltraEdit auch über dieses Starter-Icon starten.

Beachten Sie, dass UltraEdit für Ubuntu nicht dieselben Features und Tastaturkürzel bietet wie UltraEdit für Windows. Siehe hierzu auch: Vergleich.



Installation vom Java JDK

Oracle Java ist eine der verbreitetsten Programmiersprachen. Das JRE (Java Runtime Environment) ist die Laufzeitumgebung. Das JDK (Java Development Kit) wird für die Entwicklung von Java-Programmen benötigt.

Es gibt zwei Implementierungen: OpenJDK ist komplett Open Source. Oracle Java ist kommerziell.

Java 11: Installation von OpenJDK manuell ohne PPA (nicht empfohlen, da es keine automatischen Updates gibt)

  1. Überprüfen, ob es eine neuere Version gibt, die dann gegebenenfalls verwendet werden sollte: https://jdk.java.net/11/.

  2. Installation:

    sudo su

    mkdir /opt/jdk

    cd /opt/jdk

    wget https://download.java.net/java/GA/jdk11/9/GPL/openjdk-11.0.2_linux-x64_bin.tar.gz

    ls -l

    tar -zxf openjdk-11.0.2_linux-x64_bin.tar.gz -C /opt/jdk

    rm openjdk-11.0.2_linux-x64_bin.tar.gz

    ls -l

    exit

    ls /opt/jdk/jdk-11.0.2/bin

    /opt/jdk/jdk-11.0.2/bin/java -version

    /opt/jdk/jdk-11.0.2/bin/javac -version

  3. Falls diese Java-Version der Default sein soll:

    sudo update-alternatives --install /usr/bin/java java /opt/jdk/jdk-11.0.2/bin/java 100

    sudo update-alternatives --install /usr/bin/javac javac /opt/jdk/jdk-11.0.2/bin/javac 100

    sudo update-alternatives --display java

    java -version

    javac -version

  4. Eventuell müssen die Environmentvariablen JAVA_HOME und PATH gesetzt oder angepasst werden:

    echo $JAVA_HOME

    echo $PATH

    env | grep -i java

Java 11: Installation von OpenJDK per PPA

  1. Die Einrichtung des PPAs ist erforderlich für Ubuntu 16.04, aber nicht für Ubuntu ab 18.x.

  2. Installation:

    sudo add-apt-repository ppa:openjdk-r/ppa \

         && sudo apt-get update -q \

         && sudo apt install -y openjdk-11-jdk

    ls -al /usr/lib/jvm

    ls /usr/lib/jvm/java-11-openjdk-amd64/bin

    /usr/lib/jvm/java-11-openjdk-amd64/bin/java -version

    /usr/lib/jvm/java-11-openjdk-amd64/bin/javac -version

  3. Falls diese Java-Version der Default sein soll:

    sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-11-openjdk-amd64/bin/java 100

    sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java-11-openjdk-amd64/bin/javac 100

    sudo update-alternatives --display java

    java -version

    javac -version

  4. Eventuell müssen die Environmentvariablen JAVA_HOME und PATH gesetzt oder angepasst werden:

    echo $JAVA_HOME

    echo $PATH

    env | grep -i java

Java 8: Installation von OpenJDK mit apt-get

  1. Fragen Sie zuerst die installierbare Version ab und installieren Sie dann OpenJDK 8:

    sudo apt-get update

    apt-cache search openjdk-

    apt-cache policy openjdk-8-jdk-headless

    sudo apt-get install -y openjdk-8-jdk-headless

  2. Überprüfen Sie die Java-Installation:

    java -version

    javac -version

    whereis java

    whereis javac

    ls -al /usr/lib/jvm/java-8-openjdk-amd64/bin/java*

Java 8: Installation von Oracle Java per PPA-Repository

  1. Um andere als Standard-Debian-Programmpakete installieren zu können, gibt es mit "Personal Package Archive" (PPA) ein Service-Angebot von Launchpad. Damit können Debian-Pakete für unterschiedliche Ubuntu-Versionen gebaut und als Paketquelle oder als Direktlink zur Verfügung gestellt werden.
    Sehen Sie sich hierzu an: UbuntuUsers-Wiki: PPA, Install Oracle Java Via PPA Repository und Oracle Java (JDK) Installer PPA.

  2. Zur Installation von Oracle Java 8 führen Sie aus:

    sudo -E add-apt-repository ppa:webupd8team/java

    sudo apt-get update

    apt-cache search oracle-j

    apt search oracle-j

    apt-cache policy oracle-java8-installer

    apt show oracle-java8-installer

    sudo apt-get install -y oracle-java8-installer

    update-alternatives --display java

  3. Überprüfen Sie die Java-Installation:

    java -version

    javac -version

    env | grep -i JAVA_HOME

    cat /etc/profile.d/jdk.sh

    whereis java

    whereis javac

    ls -al /usr/lib/jvm/java-8-oracle/bin/java*

  4. Falls Sie mehrere Java-Versionen im Einsatz haben, können Sie folgendermaßen die zu bevorzugende Java-Version konfigurieren:

    sudo update-java-alternatives -s java-8-oracle

    java -version

    javac -version

  5. Falls Sie mehrere Java-Versionen im Einsatz haben, können Sie folgendermaßen dynamisch die Umgebungsvariable JAVA_HOME setzen:

    export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:bin/javac::")

    env | grep -i JAVA_HOME

    Oder alternativ so:

    export JAVA_HOME=$(dirname $(dirname $(readlink -f /usr/bin/javac)))

    env | grep -i JAVA_HOME

  6. Falls Sie erweiterte Schlüssellängen per "Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files" verwendet wollen (siehe auch: Erweiterte Schlüssellängen und JCE-Unlimited-Download):

    sudo apt install oracle-java8-unlimited-jce-policy

Java 8: Installation von Oracle Java per tar.gz-Download

  1. Oracle JDK 8 kann auch aus einem tar.gz-Download installiert werden. Dies wird beispielsweise in einigen Dockerfiles verwendet.
    Alternativ zum im Folgenden verwendeten wget-Kommando könnten Sie die jdk-...-linux-x64.tar.gz-Datei natürlich auch per Webbrowser downloaden.

    sudo su

    mkdir /opt/jdk

    cd /opt/jdk

    wget --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u92-b14/jdk-8u92-linux-x64.tar.gz

    ls -l

    tar -zxf jdk-8u92-linux-x64.tar.gz -C /opt/jdk

    rm jdk-8u92-linux-x64.tar.gz

    ls -l

    update-alternatives --install /usr/bin/java java /opt/jdk/jdk1.8.0_92/bin/java 100

    update-alternatives --install /usr/bin/javac javac /opt/jdk/jdk1.8.0_92/bin/javac 100

    update-alternatives --display java

  2. Wir schalten wieder zurück vom Root-User zum normalen User:

    exit

  3. Überprüfen Sie die Java-Installation:

    java -version

    javac -version

Weitere Installationsoptionen

  1. Alternativ zu dem hier gezeigten Verfahren können Sie einige "...tar.gz"-Dateien auch in "...deb"-Dateien konvertieren, beispielsweise im Falle von Java mit dem Debian-JavaPackage-Tool java-package. Diese .deb-Dateien können Sie dann per "dpkg -i MeineDatei.deb" installieren.

  2. Als weitere Alternative gibt es das alien-Tool, welches zwischen verschiedenen Linux-Paketformaten konvertieren kann. Allerdings sollte dies mit größter Vorsicht verwendet werden, da es die Paketverwaltung durcheinander bringen kann.



Installation von Maven 3

Apache Maven ist (ähnlich wie Ant und Gradle) ein leistungsfähiges "Build Management Tool", um viele in der Softwareentwicklung immer wieder anfallende Prozeduren zu automatisieren und zu vereinfachen.

Installation von Maven 3 per apt-get

  1. Ein aktuelles Java JDK muss installiert sein.

  2. Fragen Sie zuerst die installierbare Version ab (falls Sie eine andere als die installierbaren Versionen installieren wollen, sehen Sie sich den nächsten Abschnitt an):

    sudo apt-get update

    apt-cache policy maven

  3. Installieren Sie Maven 3:

    sudo apt-get install -y maven

  4. Überprüfen Sie die Maven-Installation:

    mvn -version

    whereis mvn

    ls -al /usr/share/maven/bin

    ls -al /etc/maven

    ls -al ~/.m2

    Das zuletzt abgefragte ~/.m2-Verzeichnis entsteht erst später bei der Verwendung von Maven. Dort wird im Ordner repository das lokale Maven-Repository angelegt, wenn in der settings.xml nichts anderes konfiguriert ist.

  5. Überprüfen Sie die Maven-Konfiguration für systemweite Einstellungen:

    gedit /etc/maven/settings.xml

  6. Erstellen Sie die Maven-Konfiguration für benutzerspezifische Einstellungen (siehe auch Installation von Maven):

    gedit ~/.m2/settings.xml

Installation von Maven 3.6.0 per manuellem Download

  1. Ein aktuelles Java JDK muss installiert sein.

  2. Führen Sie folgende Schritte aus:

    sudo su

    cd /opt/

    wget https://archive.apache.org/dist/maven/maven-3/3.6.0/binaries/apache-maven-3.6.0-bin.tar.gz

    ls -l

    tar -zxf apache-maven-3.6.0-bin.tar.gz

    rm apache-maven-3.6.0-bin.tar.gz

    ls -l

    update-alternatives --install /usr/bin/mvn mvn /opt/apache-maven-3.6.0/bin/mvn 100

    update-alternatives --display mvn

    ls -l /usr/bin/mv*

    exit

    mvn -version

    cat /opt/apache-maven-3.6.0/conf/settings.xml

    cat ~/.m2/settings.xml

Weitere Tipps zu Maven

  1. Sehen Sie sich die Erläuterungen unter Installation von Maven an. Insbesondere die settings.xml müssen Sie normalerweise konfigurieren.

  2. Erstellen Sie ein Test-Hello-World-Maven-Projekt:

    mkdir ~/MeinWorkspace

    cd ~/MeinWorkspace

    mvn archetype:generate -DinteractiveMode=false -DgroupId=de.meinefirma.meinprojekt -DartifactId=MvnHelloApp

    cd MvnHelloApp

    Falls Sie tree installiert haben, lassen Sie sich die generierte Verzeichnisstruktur anzeigen:

    tree

    ~/MeinWorkspace/MvnHelloApp
    +-- pom.xml
    +-- src
        +-- main
        ¦   +-- java
        ¦       +-- de
        ¦           +-- meinefirma
        ¦               +-- meinprojekt
        ¦                   +-- App.java
        +-- test
            +-- java
                +-- de
                    +-- meinefirma
                        +-- meinprojekt
                            +-- AppTest.java
    
  3. Compilieren und bauen Sie die Test-Hello-World-Maven-Anwendung und führen Sie das Ergebnisartefakt aus:

    mvn package

    java -cp target/MvnHelloApp-1.0-SNAPSHOT.jar de.meinefirma.meinprojekt.App

    Sie erhalten:

    Hello World!
    
  4. Sehen Sie sich den Maven-Repository-Ordner an:

    ls -al ~/.m2/repository

  5. Falls Sie im MeinWorkspace-Verzeichnis viele Maven-Projekte haben, und in allen Projekten dasselbe ausführen wollen (z.B. git pull, mvn install, ...), dann sollten Sie hierfür ein Shell-Skript erstellen, beispielsweise so:

    cd ~/MeinWorkspace

    gedit run-in-all-dirs.sh

    #!/bin/bash
    IGNORE_LIST=" ProjXyz RemoteSystemsTempFiles "
    SKIPTEST_LIST=" Proj123 ProjAbc "
    echo
    echo "Aktuelles Verzeichnis: "$(pwd)
    echo
    for verzeichnis in *
    do
       echo -e "\n------------------------------------------------------"
       if [[ $IGNORE_LIST == *${verzeichnis}* ]]
       then
          echo "---- "${verzeichnis}" ist zu ignorieren ----"
       elif [ ! -d "${verzeichnis}" ]
       then
          echo "---- "${verzeichnis}" ist kein Verzeichnis ----"
       elif [ ! -f "${verzeichnis}/pom.xml" ]
       then
          echo "---- "${verzeichnis}" enthaelt keine pom.xml ----"
       else
          echo "---- "${verzeichnis}":"
          cd "${verzeichnis}"
          if [[ $SKIPTEST_LIST == *${verzeichnis}* ]]
          then
             mvn clean install -Dmaven.test.skip=true || exit 1
          else
             mvn clean install || exit 1
          fi
          cd ..
       fi
    done
    echo "------------------------------------------------------"
    ( speaker-test -t sine -f 1000 > /dev/null )& pid=$! ; sleep 0.1s ; kill -9 $pid
    echo -e "\n++++ OK ++++\n"
    

    chmod +x run-in-all-dirs.sh

    ./run-in-all-dirs.sh

  6. Falls Sie in Shellskripten Werte aus der pom.xml extrahieren wollen, und falls Sie hierzu nicht "mvn help:evaluate -Dexpression=..." verwenden können (z.B. weil Sie eine ältere Maven-Version verwenden müssen), dann können Sie beispielsweise die Projekt-Version mit Python ermitteln:

    PROJ_VERS=$(python -c 'from xml.etree.ElementTree import ElementTree; \
      print ElementTree(file="pom.xml").findtext("{http://maven.apache.org/POM/4.0.0}version")')

    echo $PROJ_VERS

  7. Falls Sie mehrere Java-Versionen installiert haben und nur ausnahmsweise testweise hin und wieder Java 11 verwenden wollen, dann können Sie hierzu ein Shell-Skript erstellen:

    mvn11.sh

    #!/bin/bash
    echo
    export JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"
    echo
    echo ---- Maven- und Java-Version:
    mvn -Djvm="${JAVA_HOME}/bin/java" -version
    echo
    echo
    echo ---- Maven-Aufruf: mvn -Djvm="${JAVA_HOME}/bin/java" $*
    echo
    mvn -Djvm="${JAVA_HOME}/bin/java" $*
    

    Legen Sie einen Link an, z.B. so, falls Sie das Skript im /opt/apache-maven-3.6.0/bin-Verzeichnis erstellt haben:

    sudo ln -s /opt/apache-maven-3.6.0/bin/mvn11.sh /usr/bin/mvn11

    Hiermit können Sie beispielsweise die Demo Java-Codegenerierung aus einem XSD-Schema mit JAXB wahlweise mit Ihrer Default-Java-Version (z.B. Java 8) und alternativ mit Java 11 ausführen:

    Java 8:  mvn clean package

    Java 11: ./mvn11 clean package

  8. Falls Sie
    - in einer Firma sitzen und für Internetzugriff einen Proxy verwenden müssen (z.B. per Cntlm),
    - nicht das sonst übliche lokale Maven-Repository sondern nur ein spezielles temporäres lokales Repo verwenden wollen (z.B. unterhalb vom Arbeitsverzeichnis),
    - und mehrere Java-Versionen installiert haben und nur ausnahmsweise testweise Java 11 verwenden wollen,
    dann sehen Sie sich die folgenden beiden Dateien an (beide im Arbeitsverzeichnis, dabei "~/Tools/Experimente-Java11-ExtMvnRepo" durch Ihr Arbeitsverzeichnis ersetzen):

    settings.xml ("MeinName" ersetzen!)

    <?xml version="1.0" encoding="UTF-8"?>
    <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                                  http://maven.apache.org/xsd/settings-1.0.0.xsd">
       <localRepository>/home/MeinName/Tools/Experimente-Java11-ExtMvnRepo/Maven-Repo</localRepository>
       <proxies>
          <proxy>
             <active>true</active>
             <protocol>http</protocol>
             <host>127.0.0.1</host>
             <port>3128</port>
          </proxy>
       </proxies>
    </settings>
    

    mvn-Java11-ExtMvnRepo.sh

    #!/bin/bash
    echo
    export JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"
    echo
    echo ---- Maven- und Java-Version:
    mvn -Djvm="${JAVA_HOME}/bin/java" -version
    echo
    echo
    echo ---- Maven-Aufruf: mvn -s ~/Tools/Experimente-Java11-ExtMvnRepo/settings.xml -Djvm="${JAVA_HOME}/bin/java" $*
    echo
    mvn -s ~/Tools/Experimente-Java11-ExtMvnRepo/settings.xml -Djvm="${JAVA_HOME}/bin/java" $*
    

    Hiermit können Sie beispielsweise die Demo Java-Codegenerierung aus einem XSD-Schema mit JAXB wahlweise mit Ihrer Default-Java-Version (z.B. Java 8) und alternativ mit Java 11 ausführen:

    Java 8:  mvn clean package

    Java 11: ./mvn-Java11-ExtMvnRepo.sh clean package



Installation von Eclipse Neon 4.6

Eclipse (The Eclipse Foundation) bietet eine der am häufigsten verwendeten IDEs (Integrated Development Environment) für Java. Es konkurriert mit JetBrains IntelliJ IDEA und Oracle NetBeans IDE.

Falls Sie Eclipse mit Java 9 verwenden wollen, sehen Sie sich die Hinweise zur Jigsaw-Demo mit Eclipse an.

  1. Ein aktuelles Java JDK muss installiert sein.

  2. Ubuntu bietet die Installation von Eclipse per "apt-get install" an, aber leider nur für eine veraltete Eclipse-Version. Deshalb wird Eclipse aus dem tar.gz-Download installiert.

  3. Downloaden Sie das gewünschte Eclipse-Paket vom gewünschten Mirror-Server, entweder manuell über https://eclipse.org/downloads/ oder beispielsweise so per Kommandozeile:

    cd ~/Downloads

    wget http://ftp-stud.hs-esslingen.de/Mirrors/eclipse/technology/epp/downloads/release/neon/R/eclipse-jee-neon-R-linux-gtk-x86_64.tar.gz

  4. Wechseln Sie in Ihr gewünschtes Zielverzeichnis und entpacken Sie das tar.gz-Archiv:

    cd /opt

    sudo tar -xvzf ~/Downloads/eclipse-jee-neon-R-linux-gtk-x86_64.tar.gz

  5. Erstellen Sie die Datei eclipse.desktop mit dem gezeigten Inhalt (passen Sie die Pfade an):

    cd /opt/eclipse

    sudo gedit eclipse.desktop

    [Desktop Entry]
    Name=Eclipse
    Type=Application
    Exec=/opt/eclipse/eclipse
    Terminal=false
    Icon=/opt/eclipse/icon.xpm
    Comment=Integrated Development Environment
    NoDisplay=false
    Categories=Development;IDE;
    Name[de]=Eclipse
    

    (Doku zum .desktop-Format finden Sie unter: .desktop-Dateien.)

  6. Führen Sie aus:

    sudo desktop-file-install eclipse.desktop

    ls -al /usr/share/applications/e*

  7. Starten Sie Eclipse, indem Sie die "Super-Taste" (= linke Windows-Taste) betätigen und Eclipse tippen.
    Anschließend klicken Sie mit der rechten Maustaste auf das Eclipse-Icon in der Starter-Leiste und wählen: "Im Starter behalten".
    Danach können Sie Eclipse wahlweise über die Dash oder über das Icon in der Starter-Leiste starten.

  8. Falls Ihnen die beiden genannten Optionen zum Start von Eclipse nicht genügen und Sie Eclipse auch vom Terminal aus starten wollen, führen Sie aus:

    sudo ln -s /opt/eclipse/eclipse /usr/bin/eclipse

    Wechseln Sie in Ihr Home-Verzeichnis und starten Sie Eclipse per Terminal:

    cd ~

    eclipse

  9. Falls Sie das obige Test-Hello-World-Maven-Projekt erstellt haben, können Sie es folgendermaßen in Eclipse importieren:

    File | Switch Workspace | ~/MeinWorkspace

    File | Import... | Maven | Existing Maven Projects | Next | Root Directory: MeinWorkspace | Projects: MvnHelloApp | Finish

    Öffnen Sie beispielsweise die Hauptanwendungsklasse App.java, führen Sie sie aus und überprüfen Sie das Ergebnis:

    Strg+Shift+T | App | OK | Strg+F11.

    Hello World!
    

    Führen Sie den JUnit-Test in AppTest.java aus:

    Strg+Shift+T | AppTest | OK | Strg+F11.



Installation von JetBrains IntelliJ IDEA 2018

JetBrains IntelliJ IDEA ist ebenfalls eine der am häufigsten verwendeten IDEs (Integrated Development Environment) für Java. Es konkurriert mit Eclipse und Oracle NetBeans IDE.

Falls Sie IntelliJ IDEA mit Java 9 verwenden wollen, sehen Sie sich die Hinweise zu den Jigsaw-Demos mit IntelliJ IDEA an: Jigsaw-Dep-Demo und Jigsaw-Service-Demo.

Hilfe für Einsteiger zu IntelliJ IDEA finden Sie unter: JetBrains IntelliJ IDEA: Erste Schritte.

  1. Die folgende Anleitung installiert die kostenfreie Community Edition. Falls Sie die komerzielle Ultimate Edition installieren wollen, ersetzen Sie in den folgenden Idea-Verzeichnis- und Dateinamen "IC" durch "IU".

  2. Ein aktuelles Java JDK muss installiert sein.

  3. Wie Eclipse wird im Folgenden auch IntelliJ IDEA per tar.gz-Download installiert.

  4. Downloaden Sie das gewünschte IntelliJ-IDEA-Paket, entweder manuell über https://www.jetbrains.com/idea/ oder beispielsweise so per Kommandozeile (passen Sie den Dateinamen und die Versionsnummer an):

    cd ~/Downloads

    wget https://download-cf.jetbrains.com/idea/ideaIC-2018.3.tar.gz

  5. Wechseln Sie in Ihr gewünschtes Zielverzeichnis und entpacken Sie das tar.gz-Archiv:

    cd /opt

    sudo tar -xvzf ~/Downloads/ideaIC-2018.3.tar.gz

  6. Falls Sie eine vorherige Idea-Installation haben und diese nicht sofort löschen wollen, können Sie den alten Idea-Ordner beispielsweise so umbenennen:

    sudo mv /opt/idea-IC /opt/___idea-IC

  7. Damit auch nach zukünftigen Software-Updates Links und Desktop-Icons weiter funktionieren, empfiehlt es sich, den neuen Idea-Ordner umzubenennen:

    sudo mv /opt/idea-IC* /opt/idea-IC

  8. Wechseln Sie in das IntelliJ-IDEA-bin-Verzeichnis und starten Sie das IntelliJ-IDEA-Installationsskript (passen Sie den Pfad an):

    cd /opt/idea-IC/bin

    ./idea.sh

  9. Wählen Sie im IntelliJ-IDEA-Willkommensstartdialog unten rechts "Configure | Create Desktop Entry". Dabei entsteht die Ubuntu-Starterdatei jetbrains-idea.desktop im Verzeichnis ~/.local/share/applications. Klicken Sie anschließend mit der rechten Maustaste auf das IntelliJ-IDEA-Icon in der Starter-Leiste und wählen Sie: "Im Starter behalten".
    Jetzt können Sie IntelliJ IDEA wahlweise über verschiedene Wege starten:
    über die Dash (per "Super-Taste" (= linke Windows-Taste) und IntelliJ IDEA) oder über das Icon in der Starter-Leiste.

  10. Falls Sie das obige Test-Hello-World-Maven-Projekt erstellt haben, können Sie es folgendermaßen in IntelliJ IDEA importieren:

    Import Project | ~/MeinWorkspace/MvnHelloApp | Maven | Next | Next | JDK home path: /usr/lib/jvm/java-8-oracle | Next | Finish.

    Laden Sie die Applikationsklasse: Strg+N | App.

    Führen Sie die Applikationsklasse aus: Strg+F9 | Alt+Shift+F10 | App | Run.

    Hello World!
    

    Führen Sie den JUnit-Modultest aus: Strg+N | AppTest | Alt+Shift+F10 | AppTest | Run.

  11. Falls Sie IntelliJ IDEA inklusive aller Einstellungen wieder deinstallieren wollen (passen Sie die Pfade an):

    sudo rm -r /opt/idea-IC

    sudo rm /usr/local/bin/idea

    sudo rm /usr/share/applications/jetbrains-idea*.desktop

    rm ~/.local/share/applications/jetbrains-idea*.desktop

    rm ~/.gnome/apps/jetbrains-idea*.desktop

    rm -r ~/.IntelliJIdea2018.3

    rm -r ~/.IdeaIC2018.3



Installation des YourKit Java Profilers

Der kostenpflichtige YourKit Java Profiler ist ein weit verbreiteter Profiler für Java-Programme. Im Folgenden wird die Installation der YourKit-Version von 2016 beschrieben, inklusive der Integration in IntelliJ IDEA.

  1. Downloaden Sie yjp-2016.02-b46-linux.tar.bz2 von https://www.yourkit.com/java/profiler/ und kopieren Sie die Datei nach /opt.

  2. Führen Sie aus:

    cd /opt

    sudo bzip2 -d yjp-2016.02-b46-linux.tar.bz2

    sudo tar -xvf yjp-2016.02-b46-linux.tar

    sudo rm yjp-2016.02-b46-linux.tar

    cd yjp-2016.02-b46/bin

    ./yjp.sh

    Geben Sie Ihren YourKit-Lizenz-Key ein.

  3. Falls IntelliJ IDEA läuft, beenden Sie IntelliJ IDEA.
    Wählen Sie in YourKit:
    Integrate with IDE... | Choose IDE: IntelliJ IDEA | IDEA is configured to use the following non-standard plugins directory: ~/.IntelliJIdea2018.3/config/plugins | Install Plugin.

  4. Beenden Sie YourKit und wählen Sie in IntelliJ IDEA:
    Run | Profile '...' (es gibt zweimal Profile...: das obere wählen).



Installation von MySQL

Oracle MySQL ist ein weit verbreitetes relationales Datenbank-System (RDBMS).

  1. Ein aktuelles Java muss installiert sein.

  2. So installieren Sie MySQL:

    sudo apt-get update

    apt-cache policy mysql-server

    sudo apt-get install -y mysql-server

    Merken Sie sich das dabei vergebene root-Passwort. Im Folgenden wird angenommen, Ihr Passwort würde mysqlpwd lauten.

  3. Passen Sie die Konfiguration an, insbesondere bind-address (siehe hierzu beispielsweise UbuntuUsers: MySQL):

    gedit /etc/mysql/mysql.conf.d/mysqld.cnf

  4. Hier befindet sich das Datenverzeichnis:

    sudo ls -al /var/lib/mysql

  5. Überprüfen Sie die Installation:

    mysqladmin -uroot -pmysqlpwd version status proc

  6. Für ein erstes Erfolgserlebnis können Sie die Schritte unter Kurzanleitung zur Anlage einer Database und einer Tabelle in MySQL ausführen.



Installation von SQuirreL

SQuirreL ist ein universeller Datenbank-Client für relationale SQL-Datenbanken.

  1. Ein aktuelles Java muss installiert sein.

  2. Sie können SQuirreL entweder manuell downloaden, oder per Terminal:

    cd ~/Downloads/

    wget http://downloads.sourceforge.net/project/squirrel-sql/1-stable/3.7.1/squirrel-sql-3.7.1-standard.jar

  3. Starten Sie die Installation von SQuirreL:

    sudo java -jar ~/Downloads/squirrel-sql-3.7.1-standard.jar

    Wenn die Aufforderung "Select the installation path:" erscheint, dann sollten Sie die Versionsnummer aus dem Pfad entfernen, beispielsweise so: "/usr/local/squirrel-sql".
    Fahren Sie weiter fort mit der Installation.

  4. Anschließend können Sie die .jar-Datei löschen:

    rm squirrel-sql-3.7.1-standard.jar

  5. Überprüfen Sie, ob folgende Variablen korrekt gesetzt sind:

    gedit /usr/local/squirrel-sql/squirrel-sql.sh

    IZPACK_JAVA_HOME  = /usr/lib/jvm/java-8-oracle/jre
    SQUIRREL_SQL_HOME = /usr/local/squirrel-sql

  6. Überprüfen Sie, ob der für Ihre Datenbank benötigte JDBC-Treiber vorhanden ist:

    ls -al /usr/local/squirrel-sql/lib

    Beispielsweise für die MySQL-DB benötigen Sie den MySQL-Connector/J-JDBC-Treiber:

    cd ~/Downloads/

    wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.39.zip

    unzip mysql-connector-java-5.1.39.zip

    sudo cp mysql-connector-java-5.1.39/mysql-connector-java-5.1.39-bin.jar /usr/local/squirrel-sql/lib/

    rm mysql-connector-java-5.1.39.zip

    rm -r mysql-connector-java-5.1.39

  7. Starten Sie SQuirreL:

    /usr/local/squirrel-sql/squirrel-sql.sh

    Falls Sie wie oben beschrieben die MySQL-DB und darin die DB "MeineDb" eingerichtet haben, können Sie so einen neuen Datenbankverbindungs-Alias anlegen:

    Name      = MySQL-MeineDb
    Driver    = MySQL Driver
    URL       = jdbc:mysql://127.0.0.1:3306/MeineDb
    User Name = root
    Password  = mysqlpwd

  8. Legen Sie im Verzeichnis ~/.local/share/applications die Datei squirrel.desktop mit diesem Inhalt an:

    [Desktop Entry]
    Name=SQuirreL
    GenericName=SQuirreL SQL Client
    Comment=Browse/edit SQL databases
    Exec=/usr/local/squirrel-sql/squirrel-sql.sh %U
    Icon=/usr/local/squirrel-sql/icons/acorn.png
    Terminal=false
    Type=Application
    Categories=Development;
    StartupNotify=true
    MimeType=text/x-sql;
    StartupWMClass=net-sourceforge-squirrel_sql-client-Main
    Keywords=Programming;Java;SQL
    

    Klicken Sie bei laufendem SQuirreL mit der rechten Maustaste auf das SQuirreL-Icon in der Starter-Leiste und wählen Sie: "Im Starter behalten". Anschließend können Sie hierüber SQuirreL starten.



Installation von SQL*Plus

Oracle SQL*Plus ist ein Kommandozeilen-Client für Oracle-Datenbanken, der normalerweise zusammen mit der Oracle-Datenbank installiert wird. Oracle SQL*Plus Instant Client ist das gleiche Tool, aber als Stand-alone-Tool. Letzteres wird im Folgenden installiert.

  1. Downloaden Sie von http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html die beiden Dateien:
    oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm
    oracle-instantclient12.2-sqlplus-12.2.0.1.0-1.x86_64.rpm

  2. Falls "alien" noch nicht installiert ist, führen Sie im Terminal aus:

    sudo apt-get update

    sudo apt-get upgrade

    sudo apt-get install alien rpm lsb

  3. Installation von SQL*Plus:

    cd ~/Downloads

    sudo alien -i oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm

    sudo alien -i oracle-instantclient12.2-sqlplus-12.2.0.1.0-1.x86_64.rpm

    rm oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm

    rm oracle-instantclient12.2-sqlplus-12.2.0.1.0-1.x86_64.rpm

    sqlplus64 -V

  4. Falls es folgende Fehlermeldung gibt:

    sqlplus64: error while loading shared libraries: libsqlplus.so: cannot open shared object file: No such file or directory

    Dann verfahren Sie folgendermaßen:

  5. Falls es folgende Fehlermeldung gibt (tritt beispielsweise bei Verwendung von Cntlm auf):

    Error 46 initializing SQL*Plus
    HTTP proxy setting has incorrect value
    SP2-1502: The HTTP proxy server specified by http_proxy is not accessible

    Dann muss NO_PROXY zurückgesetzt werden:

    unset no_proxy

    unset NO_PROXY

  6. Falls insbesondere Letzteres nicht systemweit, sondern nur für SQL*Plus erfolgen soll, kann SQL*Plus über ein Skript gestartet werden. Öffnen Sie ein neues Skript:

    cd /usr/lib/oracle/12.2/client64

    sudo gedit sqlplus.sh

    Skriptinhalt:

    unset no_proxy
    unset NO_PROXY
    export LD_LIBRARY_PATH=/usr/lib/oracle/12.2/client64/lib
    /usr/lib/oracle/12.2/client64/bin/sqlplus $*
    

    Skript ausführbar machen und testen:

    sudo chmod +x /usr/lib/oracle/12.2/client64/sqlplus.sh

    sudo ln -s /usr/lib/oracle/12.2/client64/sqlplus.sh /usr/bin/sqlplus

    whereis sqlplus

    sqlplus -V

    sqlplus -H

  7. Starten Sie SQL*Plus folgendermaßen für interaktive Nutzung (ersetzen Sie alle Platzhalter):

    sqlplus <benutzer>/<passwort>@//<server>:1521/<sid>

  8. Starten Sie SQL*Plus folgendermaßen zur Ausführung eines SQL-Skripts (ersetzen Sie alle Platzhalter):

    sqlplus <benutzer>/<passwort>@//<server>:1521/<sid> @<skriptpfad>

  9. Folgendermaßen können Sie testweise ein SQL-Skript erstellen und ausführen, welches eine DB-Tabelle als HTML-Seite ausgibt. Erstellen Sie folgendes SQL-Skript in der Datei Read-MeineTabelle.sql:

    set markup HTML on
    spool MeineTabelle.html
    Select * from MeineTabelle;
    spool off
    set markup HTML off
    exit
    

    Führen Sie aus:

    sqlplus <benutzer>/<passwort>@<server>:1521/<sid> @Read-MeineTabelle.sql

    firefox MeineTabelle.html



Installation von Oracle WebLogic Server

Eine Installationsbeschreibung zum Oracle WebLogic Server unter Ubuntu-Linux finden Sie unter Oracle WebLogic Server 12cR2 (12.2.1) sowie unter WebLogic 12.2.1 im Docker-Container unter Ubuntu-Linux.



Installation von Docker

Docker ist ein wichtiger Baustein im Umfeld von DevOps und Continuous Delivery. Docker ist eine Virtualisierungslösung, die keinen Hypervisor einsetzt, sondern "Operating-system-level Virtualization" mit Linux-Containern verwendet. Diese Container sind unabhängig voneinander, aber verwenden Teile des Linux-Kernels gemeinsam. Dadurch ist die Effizienz wesentlich höher als bei anderen Virtualisierungslösungen.

Folgendermaßen installieren Sie Docker und erzeugen einen ersten Test-Container:

  1. Eine ausführlichere Beschreibung der Installation finden Sie unter Installation von Docker unter Ubuntu. Hier folgt eine Kurzversion.

  2. Führen Sie Folgendes im Terminal aus, um sicher zu stellen, dass HTTPS funktioniert und CA-Zertifikate installiert sind, sowie um einen neuen GPG-Key hinzuzufügen:

    sudo apt-get update

    sudo apt-get install -y apt-transport-https ca-certificates

    sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D

  3. Erzeugen Sie folgende Datei neu bzw. ersetzen Sie den Inhalt:

    sudo gedit /etc/apt/sources.list.d/docker.list

    deb https://apt.dockerproject.org/repo ubuntu-xenial main
    
  4. Installieren Sie die Docker-Engine:

    sudo apt-get update

    sudo apt-get purge lxc-docker

    apt-cache policy docker-engine

    sudo apt-get install -y linux-image-extra-$(uname -r)

    sudo apt-get install -y docker-engine

  5. Starten Sie den Docker-Daemon:

    sudo service docker start

  6. Downloaden Sie das kleine Test-Hello-World-Docker-Image hello-world, starten Sie damit einen Docker-Container, und überprüfen Sie das angezeigte Ergebnis:

    sudo docker run hello-world

    Hello from Docker.
    This message shows that your installation appears to be working correctly.
    
  7. Sehen Sie sich die Docker-Version, die lokal vorhandenen Docker-Images und die Docker-Container an:

    sudo docker version

    sudo docker images

    sudo docker ps -a

  8. Falls Docker beim PC-Neustart automatisch gestartet werden soll, führen Sie aus:

    sudo systemctl enable docker

  9. Sehen Sie sich die Einführung und die vielen Beispiele an unter: Docker.



Installation von Wireshark

Wireshark ist ein universeller Netzwerk-Sniffer, also ein Programm zur Analyse der Netzwerk-Kommunikation. Sehen Sie sich den Wireshark User's Guide und die ubuntuusers-Wireshark-Seite an.

  1. So installieren Sie Wireshark (inklusive TShark) (bestätigen Sie die Frage, ob außer dem Superuser noch andere Nutzer Pakete aufzeichnen dürfen, mit "Ja"):

    sudo apt-get install wireshark tshark

    sudo dpkg-reconfigure wireshark-common

    sudo adduser $USER wireshark

    newgrp

    groups

    Der aktuelle Benutzer (und alle weiteren Benutzer, die Wireshark verwenden wollen) müssen in der Gruppe wireshark eingetragen sein (eventuell müssen Sie sich ab- und wieder anmelden).

  2. Sehen Sie sich an, wie Sie mit TShark als Kommandozeilen-Sniffer eine REST-Service-Kommunikation beobachten können.

  3. Sehen Sie sich an, wie Sie dieselbe REST-Service-Kommunikation komfortabler mit dem grafischen Wireshark beobachten können.



Installation von yWorks yEd

yWorks yEd ist ein grafischer Editor zum Erstellen von Diagrammen und Struktogrammen.

  1. Ein aktuelles Java muss installiert sein.

  2. Sie können yEd entweder manuell downloaden, oder per Terminal:

    cd ~/Downloads/

    wget http://www.yworks.com/resources/yed/demo/yEd-3.16.2.1.zip

  3. Verzweigen Sie in Ihr gewünschtes Zielverzeichnis, entzippen Sie das .zip-Archiv und umbenennen Sie das yEd-Verzeichnis:

    cd /opt

    sudo unzip ~/Downloads/yEd-3.16.2.1.zip

    rm ~/Downloads/yEd-3.16.2.1.zip

    sudo mv yed-3.16.2.1 yed

  4. Erstellen Sie das Skript yed.sh und machen Sie es ausführbar:

    cd /opt/yed

    sudo gedit yed.sh

    cd /opt/yed
    java -jar yed.jar $* &
    

    sudo chmod +x yed.sh

  5. Führen Sie das Skript aus:

    /opt/yed/yed.sh

    Sobald in der linken Starter-Leiste das Programm-Icon für yEd erscheint: Klicken Sie mit der rechten Maustaste auf das yEd-Icon in der Starter-Leiste und wählen Sie: "Im Starter behalten". Anschließend können Sie hierüber yEd starten.



Git-Server mit GitLab

Git ist mittlerweile das am häufigsten eingesetzte Versionsverwaltungssystem (VCS / SCM). Es ist ein so genanntes verteiltes Versionskontrollsystem (DVCS, Distributed/Decentralized Version Control System). Doku zu Git finden Sie beispielsweise unter Documentation und Pro Git Book.

Der Git-Client kann installiert werden über:

sudo apt install git

Zur Zusammenarbeit mit anderen Entwicklern können Projektdateien in zentralen Git-Servern gehostet werden. Dies kann über öffentliche Git-Server wie beispielsweise GitHub.com, GitLab.com oder TeaHub.io erfolgen. Alternativ kann ein privater Git-Server installiert werden, der beispielsweise nur in einem Intranet verfügbar ist. Hierfür bietet GitLab die Optionen "GitLab CE (Community Edition)" und "GitLab EE (Enterprise Edition)".

Wenn Sie wie empfohlen die "Omnibus-Installationsvariante" verwenden, kann GitLab CE in vier Schritten installiert werden, die unter Download / Install GitLab CE beschrieben sind.

Anschließend erreichen Sie den GitLab-Server unter http://localhost. Sie müssen zu Beginn ein Passwort für den Benutzer root vergeben und sich anschließend mit diesem Account einloggen. Dann können Sie weitere Benutzer und Projekte anlegen, beispielsweise MeinName und MeinGitlabProjekt. Das Projekt finden Sie dann unter http://localhost/MeinName/MeinGitlabProjekt.

Verwenden Sie für einen ersten Test beispielsweise folgende Kommandos:

git config --global user.name "MeinName"

git config --global user.email "MeinName@meinefirma.de"

cat ~/.gitconfig

cd ~/MeinWorkspace

git clone http://localhost/MeinName/MeinGitlabProjekt

cd MeinGitlabProjekt

echo xyz > abc.txt

git add .

git remote

git status

git commit -m "abc.txt hinzugefuegt"

git push -u origin master

Der GitLab-Server ist übrigens nicht nur ein Versionsverwaltungssystem, sondern beinhaltet auch ein Wiki und einen Issue-Bugtracker.



Problembehandlungen

UbuntuUsers-Portal und -Wiki

Viele Fragen zu Ubuntu finden Sie beantwortet im UbuntuUsers-Portal und -Wiki.

GTK-3-Problem

Falls bei einer neu installierten grafischen Anwendung das GUI einfriert, Menüs nicht geöffnet werden können oder Menüzeilen unlesbar sind, könnte ein Problem mit GTK 3 vorliegen (wie etwa bei der früheren Eclipse-Mars-Version). Führen Sie testweise folgende Kommandos aus, bevor Sie die Anwendung starten:

export SWT_GTK3=0

export UBUNTU_MENUPROXY=0

Falls es eine ...desktop-Datei gibt, ändern Sie darin den Exec-Parameter:

[Desktop Entry]
...
Exec=env SWT_GTK3=0 UBUNTU_MENUPROXY=0 /.../...
...

Beep-Problem

In Ubuntu-Installationen wird der so genannte "PC-Lautsprecher" ("pcspkr") in der Regel abgeschaltet. Das hat zur Folge, dass ohne weitere Maßnahmen das Shell-Beep-Kommando "echo -e '\a'" nicht funktioniert. Als Ersatz können Sie folgendes Kommando verwenden:

( speaker-test -t sine -f 1000 > /dev/null )& pid=$! ; sleep 0.2s ; kill -9 $pid

USB-Problem in VM

Falls Sie unter Ubuntu in einer VirtualBox-VM Windows betreiben, und von Windows aus nicht auf USB-Sticks zugreifen können, obwohl die VirtualBox Gasterweiterungen installiert sind, überprüfen Sie bzw. ändern Sie die Gruppeneinstellung für den Ubuntu-Benutzer, unter dem die VirtualBox-VM läuft:

groups

sudo usermod -aG vboxusers Benutzer

vboxmanage list usbhost

Software-Aktualisierungs- und apt-get-upgrade-Probleme

Falls es grundsätzlich Probleme bei der Software-Aktualisierung oder beim update/upgrade gibt, können Folgende Einstellungen versucht werden:

"Acquire::BrokenProxy=true" (siehe Trastle: 99fixbadproxy und Hash sum mismatch):
sudo gedit /etc/apt/apt.conf.d/99fixbadproxy

Acquire::http::Pipeline-Depth 0;
Acquire::http::No-Cache true;
Acquire::BrokenProxy true;

IPv4 vor IPv6 bevorzugen (siehe Karvinen: Prefer IPv4 on Ubuntu):
sudo gedit /etc/gai.conf
Auskommentierung entfernen vor der Zeile:

precedence ::ffff:0:0/96  100

Falls ein Proxy (z.B. Cntlm) verwendet wird (siehe askubuntu: 'apt-get' does not work with Proxy)
sudo gedit /etc/apt/apt.conf

Acquire::http::proxy  "http://127.0.0.1:3128/";
Acquire::https::proxy "https://127.0.0.1:3128/";
Acquire::ftp::proxy   "ftp://127.0.0.1:3128/";
Acquire::socks::proxy "socks://127.0.0.1:3128/";

Fehlermeldung "...Clearsign...":
sudo apt-key update
sudo apt-get clean
sudo apt-get update

Falls es beim "apt-get upgrade"-Kommando sporadisch Probleme beim Download von großen Dateien gibt (z.B. weil sich ein Virenscanner oder Proxy dazwischen schaltet), kann wie im Folgenden für die beispielhafte Datei "meineGrosseDownloadDatei" beschrieben vorgegangen werden:

ls -al /var/cache/apt/archives/partial/

cat /var/cache/apt/archives/partial/meineGrosseDownloadDatei

ls -al ~/Downloads

Manuellen Download von meineGrosseDownloadDatei nach ~/Downloads durchführen.

sudo rm /var/cache/apt/archives/partial/meineGrosseDownloadDatei

sudo mv ~/Downloads/meineGrosseDownloadDatei /var/cache/apt/archives/

sudo apt-get update

sudo apt-get upgrade

add-apt-repository-Probleme

Falls der Internetzugang über einen Proxy erfolgt und ein PPA per

sudo add-apt-repository ppa:webupd8team/...

hinzugefügt werden soll, und dabei eine Fehlermeldung erscheint ähnlich zu:

Cannot add PPA: 'ppa:webupd8team/...'.
Please check that the PPA name or format is correct.

Dann kann es daran liegen, dass die Proxy-Einstellung vielleicht nur für den aktuellen Benutzer gilt, aber nicht für andere. Test:

env | grep -i http_proxy

env | grep -i https_proxy

sudo bash

env | grep -i http_proxy

env | grep -i https_proxy

exit

Falls die ersten beiden env-Kommandos einen Proxy melden, aber die letzten beiden nicht: Dann muss entweder der Proxy systemweit konfiguriert werden, oder die apt.conf erweitert werden, oder das add-apt-repository-Kommando wird mit -E aufgerufen:

sudo -E add-apt-repository ppa:webupd8team/...

sudo-Probleme

Falls beim Experimentieren aus Versehen der Benutzer aus der Gruppe sudo oder aus anderen Gruppen entfernt wurde (z.B. per: usermod -G ...):
- PC-Neustart mit gedrückter Shift-Taste
- "Erweiterte Optionen für Ubuntu" wählen
- "Ubuntu ... (recovery mode)" wählen
- "root: Zur root-Befehlszeile (Shell) wechseln" wählen
- Ausführen (<username> ersetzen):

mount -o remount,rw /

usermod -aG <username>,adm,cdrom,dip,lpadmin,plugdev,sambashare,sudo <username>

groups <username>

shutdown -r now

Doku siehe ubuntu-sudo-probleme.





Weitere Themen: andere TechDocs | Docker
© 2016 Torsten Horn, Aachen