Prof. Dr.-Ing. Oliver Radfelder
Informatik / Wirtschaftsinformatik
Hochschule Bremerhaven
Setups: Linux - MacOS - Windows

Ihr werdet im Verlaufe des Studiums, insbesondere aber des ersten Semesters, einiges an Software auf Euren eigenen Laptops benötigen. Wir suchen Software für Euch heraus, die Euch das Studienleben erleichtern soll.

Software, die wir Euch empfehlen, entspricht den folgenden Kriterien:

Wir empfehlen Euch für das Studium, Linux als Betriebssystem zu installieren. Das erleichtert Euch das Leben im Studium enorm. Und wenn Ihr Euch dafür entscheidet, helfen wir Euch gerne dabei.

Zunächst einmal benötigt Ihr vor allem eine Möglichkeit, auf unseren Arbeitsserver Hopper zu kommen. Dafür benötigt Ihr eine Shell. Ihr werdet die Bash als Shell lernen und die solltet Ihr Euch installieren bzw. die solltet Ihr auch bei Euch nutzen. Das ist aber nicht das Einzige: es kommen im Verlaufe der Zeit noch einige Kommandozeilenprogramme und grafische Programme hinzu, die Ihr benötigt. Daher solltet Ihr unter Windows und MacOS einen entsprechenden Paketmanager installieren, über den Ihr dann Software installiert. Unter Linux gehört ein solcher Paketmanager schon zur Basisausstattung und es muss nichts besonderes mehr getan werden.

Für die Gesamteinrichtung von EMail, Elli und Co solltet Ihr einen Bookmark auf https://orientierung.hs-bremerhaven.de/tutorials/ gesetzt haben.

Software unter Linux

Wir gehen davon aus, dass Ihr Debian oder Ubuntu als Distribution verwendet. Bei diesen Varianten ist apt Euer Paketmanager.

Mit apt installiert Ihr Software-Pakete zusammen mit den jeweiligen Abhängigkeiten. Unsere Infrastruktur in der Informatik basiert im Wesentlichen auf Debian.

Für die ersten Wochen habt Ihr auf einem Linux-System fast alles, was Ihr braucht, bereits installiert. Lediglich wezterm, der Terminalemulator, den wir alle nutzen, muss noch gesondert installiert werden.

Installation von wezterm

Dennoch ist es gut, auch folgende Software lokal installiert zu haben.

sudo apt update 
sudo apt install -y sudo bat tidy vim curl wget 
sudo apt install -y ncat nmap
sudo apt install -y bc jq git coreutils bash-completion build-essential
sudo apt install -y apt-transport-https
sudo apt install -y imagemagick
sudo apt install -y chromium # ubuntu: chromium-browser
sudo apt install -y firefox thunderbird
sudo apt install -y libreoffice 
sudo apt install -y inkscape
sudo apt install -y evince
sudo apt install -y poppler-utils
sudo apt install -y openjdk-21-jdk
sudo apt install -y emacs
sudo apt install -y plantuml
sudo apt install -y graphviz gnuplot

Sollte mal ein Paket nicht da sein - das kann passieren - dann wird der ganze Aufruf fehlschlagen. Nehmt dann das entsprechende Paket raus, damit wenigstens die restliche Software installiert werden kann.

Ihr müsst täglich dafür sorgen, dass die Software aktualisiert wird. Dafür könnt Ihr:

sudo apt update && sudo apt upgrade -y

aufrufen. Das lässt sich natürlich automatisieren.

Der Desktop-Client für Matrix - element - ist bei Debian nicht in den Paketquellen enthalten. Daher müssen wir noch das entsprechende Repository mit aufnehmen:

sudo wget -O /usr/share/keyrings/element-io-archive-keyring.gpg https://packages.element.io/debian/element-io-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/element-io-archive-keyring.gpg] https://packages.element.io/debian/ default main" | sudo tee /etc/apt/sources.list.d/element-io.list
sudo apt update
sudo apt install element-desktop

Da nun unter allen Systemen der vim als Editor installiert ist, solltet Ihr Euch auch eine initiale .vimrc in Euer Home-Verzeichnis kopieren.

cd ~
curl -O https://informatik.hs-bremerhaven.de/oradfelder/.vimrc
Software unter MacOS

Auf dem Mac sind ebenfalls viele Programme bereits installiert, die Ihr benötigt. Allerdings sind einige davon veraltet und es lohnt sich, auf aktuellere Versionen zu gehen.

Dafür hat sich in der Mac-Entwickler:innen-Welt homebrew als Paketverwaltung nahezu durchgesetzt.

Homebrew - oder kurz nur brew - und die sehr kurze Installationsanleitung findet Ihr auf https://brew.sh/.

Wenn Ihr das bewerkstelligt habt, installiert Euch zunächst mit

brew install bash
die aktuelle Bash-Version.

Dann geht ebenfalls zur Installation von wezterm über - dem Terminalemulator, den Ihr in STEP benutzen sollt.

Installation von wezterm

Neben der Bash und WezTerm sind im Folgenden noch andere Programme nützlich. temurin ist eine Distribution des openjdk von der Eclipse Foundation. Alternativ könnt Ihr dort direkt openjdk installieren.

brew install element
brew install bat jq tidy-html5 vim wget imagemagick
brew install nmap
brew install --cask chromium 
brew install --cask firefox 
brew install --cask thunderbird
brew install --cask libreoffice 
brew install --cask inkscape
brew install evince
brew install poppler
brew install --cask emacs
brew install plantuml
brew install --cask temurin
brew install graphviz
brew install gnuplot

Ihr müsst in Eure .zshrc in Eurem Home-Verzeichnis noch die folgende Zeile einfügen:

PATH="/opt/homebrew/bin:/opt/homebrew/sbin:$PATH"

Am einfachsten lasst Ihr das per echo-Kommando automatisch hineinschreiben:

echo 'PATH="/opt/homebrew/bin:/opt/homebrew/sbin:$PATH"' >> ~/.zshrc

Da wir sonst überall mit der bash arbeiten, ist es vielleicht hilfreich, auch unter MacOS als Standardshell die bash zu wählen:

echo "/opt/homebrew/bin/bash" |sudo tee -a /etc/shells # Passwort angeben
chsh -s /opt/homebrew/bin/bash # Passwort angeben
cd
curl -o .profile https://informatik.hs-bremerhaven.de/oradfelder/.profile.macos
curl -o .bashrc https://informatik.hs-bremerhaven.de/oradfelder/.bashrc.macos

Da nun unter allen Systemen der vim als Editor installiert ist, solltet Ihr Euch auch eine initiale .vimrc in Euer Home-Verzeichnis kopieren.

cd ~
curl -O https://informatik.hs-bremerhaven.de/oradfelder/.vimrc

Mit libreoffice kommen ein paar Schriften in das System und es wäre schön, wenn man sich beim Arbeiten in der Shell darauf verlassen könnte, dass ein paar Schriften übergreifend vorhanden sind - beispielsweise mit den Programmen aus dem imagemagick-Paket. Allerdings müssen sie unter MacOS - soweit mir bekannt - händisch installiert werden. Eine Anleitung dazu findet sich unter ger.oza.hn. Das solltet Ihr auf jeden Fall tun - Beispiele in unserem Arbeitsfluss beinhalten das Nutzen der freien Schriften Liberation-Sans oder Liberation-Serif. Falls jemand einen besseren - automatisierbaren - Weg kennt, schickt mir gerne eine EMail.

Führt regelmässige Updates auf Eurem System durch:

brew update
brew doctor
brew upgrade

Der Editor Emacs benötigt unter MacOS eine Spezialbehandlung, ohne die die Eingabe von geschweiften und eckigen Klammern auf deutschen Tastaturen nur schwer möglich ist. Holt Euch - wieder mit curl - eine minimale .emacs Datei in Euer Homeverzeichnis:

cd 
curl -o .emacs https://informatik.hs-bremerhaven.de/oradfelder/.emacs.macos

Sinnvoll ist es auch, unter MacOS die gnu findutils zu installieren, da die find-Version von MacOS etwas ungewöhnlich ist.

brew install findutils

Wie üblich bei brew, wenn ein Standardwerkzeug überschrieben wird, muss auch hier der Pfad angepasst werden:

echo 'PATH="/opt/homebrew/opt/findutils/libexec/gnubin:$PATH"' >> ~/.zshrc
echo 'PATH="/opt/homebrew/opt/findutils/libexec/gnubin:$PATH"' >> ~/.bashrc
Software unter Windows

Auch hier ist das Erste, das Ihr benötigt, eine passende Shell, mit der Ihr Euch auf hopper einloggen könnt. Auch hier benötigt Ihr die Bash. Wir arbeiten hier mit der git-bash. Die git-bash lässt sich auf unterschiedliche Weise installieren. Wenn Ihr die Installationsvariante wählt, die wir Euch hier empfehlen, dann können und werden wir Euch helfen. Bei anderen Varianten stimmen dann die Pfade nicht und wir müssen bei Problemen lange suchen. Das werden wir nicht tun.

Installiert Euch scoop als Paketmanager. Sowohl die Anleitung als auch die verwalteten Pakete findet Ihr unter https://scoop.sh/.

Sobald Ihr scoop installiert habt, öffnet ein Terminal und installiert mit:

scoop install git

die git-bash. Danach könnt Ihr sie mit Windows-Taste und git starten.

Dann nehmt noch die weiteren Buckets (Sammlungen) mit auf:

scoop bucket add main
scoop bucket add java
scoop bucket add extras

Es gibt mehr buckets als nur main, java und extras. Allerdings werden diese drei gepflegt und wir raten Euch, vorerst aus anderen Buckets nichts zu installieren.

Neben der git-bash benötigt Ihr in jedem Falle wie alle anderen auch noch den Terminalemulator wezterm.

Installation von wezterm

Wenn Ihr jetzt wezterm startet, sollte dort nicht mehr die cmd oder Powershell erscheinen, sondern die bash in Eurem Home-Verzeichnis.

Weitere Pakete, die Ihr jetzt oder bald benötigt. temurin-jdk ist eine Distribution des openjdk von der Eclipse Foundation. Alternativ könnt Ihr dort direkt openjdk21 installieren.

scoop install element
scoop install bat jq bc nmap tidy imagemagick
scoop install chromium firefox thunderbird
scoop install poppler
scoop install sumatrapdf
scoop install temurin-jdk
scoop install libreoffice inkscape
scoop install emacs
scoop install plantuml
scoop install graphviz
scoop install gnuplot

Ihr solltet regelmäßig:

scoop update
scoop update '*'

ausführen, damit Euer System auf dem aktuellen Stand bleibt.

Da nun unter allen Systemen der vim als Editor installiert ist, solltet Ihr Euch auch eine initiale .vimrc in Euer Home-Verzeichnis kopieren. In der git-bash gebt nun das Folgende ein:

cd ~
curl -O https://informatik.hs-bremerhaven.de/oradfelder/.vimrc
Die Software

Damit sollte auch auf dem lokalen System das Wichtigste installiert sein, was wir zum täglichen Arbeiten benötigen:

Mit der git-bash kommen eine ganze Reihe Unix-Programme, die unter MacOS und Linux bereits installiert sind:

bash, less, awk, base64, perl, ls, ln, basename, seq, ps, pwd, mkfifo, md5sum, cat, rm, rmdir, chmod, chown, chgrp, clear, sed, sftp, comm, sha512sum, date, cut, cp, dd, sort, sleep, diff, dos2unix, stdbuf, tail, tar, tee, find, touch, file, test, true, false, tr, uname, uniq, unix2dos, unzip, vim, vimdiff, wc, which, gpg, git, view, grep, gzip, gunzip, mv, xxd, iconv, nl, od, yes, kill, od, paste, join, xargs, expand, expr ...

Das alles gehört zur viel gerühmten Posix-Umgebung. Mit der git-bash lässt sich erstaunlich gut fast wie mit einem richtigen Unix-System arbeiten. Fast...