📚 Linux (17. Aufl.) erschienen

Soeben ist mein Linux-Buch in der (unglaublich!) 17. Auflage beim Rheinwerk-Verlag erschienen!

Wie üblich habe ich das Buch im Sommer komplett aktualisiert, d.h., der gesamte Text wurde an die bis August 2021 verfügbaren Distributionen und Software-Versionen angepasst. Die folgende Liste nennt in Stichpunkten weitere Neuerungen:

  • Distributionen: AlmaLinux, Manjaro Linux, Oracle Linux, Rocky Linux
  • Desktop-Nutzung: Gnome 40, draw.io, Visual Studio Code
  • Shell: zsh als zunehmend attraktive bash-Alternative
  • Let’s Encrypt: Zertifikate mit acme.sh einrichten
  • SSH: Zweifaktorauthentifizierung (2FA) mit Google Authenticator und YubiKey
  • Firewalls: von iptables zu nft
  • Docker: Container ohne root-Rechte, Podman
  • Linux unter Windows: WSL2 und WLSg

Noch mehr Details zum Buch finden Sie hier.

 

📚 Docker (3. Aufl.) erschienen

Docker ist seit einigen Jahren die Schlüsseltechnologie abseits aller Programmiersprachen, die den Arbeitsalltag zahlloser Entwickler enorm vereinfacht. Docker ermöglicht es, Sprachen, Server, Linux-Umgebungen etc. in beliebigen Versionen parallel zueinander zu installieren und auszuführen — und das unter Linux, Windows und macOS.

Für die dritte Auflage haben wir das Buch vollständig aktualisiert und die Einführungskapitel übersichtlicher strukturiert. Wichtige inhaltliche Neuerungen sind:

  • Rootless Docker: Docker ohne root-Rechte verwenden
  • CPU-Architekturen: Docker auf Apple-Computern mit ARM-Prozessoren
  • Pull-Limit: Docker-Hub-Limits beim Image-Zugriff umgehen
  • Container automatisch starten: restart-Option und systemd
  • neue GUI-Tools: Docker Desktop, VSCode, Portainer
  • Traefik: ein Proxy-Server speziell für Container-Anwendungen

Weitere Infos finden Sie hier.

Debian 11 »Bullseye«

Es gibt — wie immer — zwei Sichtweise auf das neue Debian: Die positive (»Das Glas ist halb voll«) Interpretation geht in die Richtung, dass Debian im Vergleich zum letzten Release deutlich moderner geworden ist, teilweise nahezu aktuelle Software-Versionen ausliefert, neue Funktionen bietet — und das für viel mehr Plattformen als bei jeder anderen Linux-Distribution.

Die nicht so euphorische Sichtweise (»Das Glas ist halb leer«) bedauert die im Vergleich zu Fedora oder Ubuntu nicht ganz so aktuelle Software-Ausstattung und das unverändert altmodische Erscheinungsbild des Installationsprogramms. Andererseits erfüllt der Installer seinen Zweck — und wer es gerne moderner hat, kann ja den Calamares-Installer der Live-Medien verwenden.

Das Erscheinungsbild des Debian-Installationsprogramms ist seit vielen Jahren unverändert geblieben.

Debian 11 »Bullseye« weiterlesen

Kotlin-Updates: Jetpack Compose 1.0

In Teil 7 der Kotlin-Updates-Serie werfe ich einen Blick auf Jetpack Compose. Als ich mein Kotlin-Buch im Herbst 2020 fertiggestellt habe, gab es erst eine Alpha-Version dieses neuen UI-Frameworks. Mittlerweile ist Jetpack Compose fast fertig. Weil die mittlerweile stattgefundenen Änderungen umfassend waren, habe ich das betroffene Kapitel 26 vollständig aktualisiert. Sie finden die PDF-Datei am Ende dieses Blog-Beitrags zum Download. Das Kapitel bietet einen guten Einstieg in die Zukunft der Android-Programmierung!

Kotlin-Updates: Jetpack Compose 1.0 weiterlesen

Gnome 40 mit einem vertikalen Dock

Vor ein paar Wochen habe ich hier im Blog kritisiert, dass mich Gnome 40 zu einem horizontalen Dock zwingen will, dass noch dazu zumeist ausgeblendet wird. Mag sein, dass manche dies auf einem kleinen Notebook-Monitor zweckmäßig finden, für mich ist es keine Option. Ich will ein ständig sichtbares Dock, und ich will es am linken Bildschirmrand. Und mittlerweile ist mein Wunsch auch erfüllbar, wie ich in diesem Beitrag anhand von drei Distributionen (Fedora 34, Manjaro, Ubuntu 21.10) zeige.

Das Gnome Entwickerteam vertritt zwar die Ansicht, Shell extensions are always going to be a niche thing, aber da Ubuntu und einige andere Distributionen solche Extensions per Default installieren, wird die Nische womöglich größer als das Original …

Anmerkung: Die Gnome-Nomenklatur nennt das Dock übrigens »Dash«, aber ich bleibe in diesem Artikel bei dem etablierteren Begriff »Dock«.

Gnome 40 mit einem vertikalen Dock weiterlesen

Docker-Container automatisch starten

Beim Arbeiten mit Docker besteht oft der Wunsch, einen Container automatisch bei jedem Rechnerstart auszuführen, z.B. um einen Netzwerkdienst anzubieten. In diesem Text stelle ich Ihnen drei Wege vor, wie Sie diesen Wunsch realisieren können. Die ersten beiden Varianten setzen voraus, dass es einen systemweiten Docker-Dienst gibt (dockerd), dass Sie also mit einer »normalen« Docker-Installation arbeiten (nicht rootless oder mit mit Podman).

Docker-Container automatisch starten weiterlesen

Kotlin-Updates: ktor 1.5

Teil 5 der Kotlin-Updates-Serie behandelt die Backend-Bibliothek ktor. Als ich mein Kotlin-Buch im Herbst 2020 fertiggestellt habe, war noch Version 1.3 aktuell, mittlerweile ist es 1.5.

ktor entwickelt sich rasch weiter, aber nicht alle Entwicklungen sind erfreulich: Ärgerlicherweise gilt das ktor-Plugin nun als obsolet. Zwar gibt es ein neues Plugin, dieses ist aber nur in IntelliJ Ultimate enthalten. So wird Jetbrains ktor nicht zum Erfolg verhelfen …

Davon abgesehen ist ktor zwar im Funktionsumfang gewachsen, aber — zumindest was die Beispielprogramme im Buch betrifft — nahezu kompatibel geblieben. (Die einzige Ausnahme betrifft den Umgang des Zeichens / am Ende von URLs, siehe unten.)

Kotlin-Updates: ktor 1.5 weiterlesen

Kotlin-Updates: kotlinx.coroutines 1.5

Im vierten Teil der Kotlin-Updates-Serie geht es um die Bibliothek kotlinx.coroutines, die bei der Programmierung asynchronen Codes zum Einsatz kommt. In meinem Kotlin-Buch habe ich mich auf Version 1.3.9 bezogen, inzwischen gibt es Version 1.5. Soviel vorweg: Es gibt zwar viele Änderungen, diese betreffen die Einführungsbeispiele aus Kapitel 17 aber nicht und sind nur für Entwickler relevant, die fortgeschrittene Funktionen der Bibliothek nutzen.

Kotlin-Updates: kotlinx.coroutines 1.5 weiterlesen