Java 9: Collections komfortabler initialisieren

Viele Programmiersprachen kennen bequeme Kurzschreibweisen zur Initialisierung von Maps, Sets etc. In Java gibt’s das leider nur für Arrays (also int [] x = {1, 2, 3}). Daran wird auch Java 9 nichts ändern, JEP186 wurde vorerst verworfen. Aber immerhin wurde stattdessen JEP269 implementiert. Dieser Erweiterungsvorschlag sieht die neue Methoden List.of, Set.of und Map.of vor, mit denen sich Collections recht komfortabel initialisieren lassen. (JEP = JDK Enhancement Proposals).

Java 9: Collections komfortabler initialisieren weiterlesen

Die Java-Shell (JShell)

Die für Einsteiger vermutlich nützlichste Neuerung in Java 9 besteht darin, dass es nun einen Kommandointerpreter gibt, die Java-Shell (JShell). In der Fachsprache heißt dieses Feature auch Read-Eval-Print-Loop (REPL). In anderen Sprachen wie Python oder Swift ist ein derartiger Kommandointerpreter ja schon seit jeher eine Selbstverständlichkeit.

Die Java-Shell (JShell) weiterlesen

Ubuntu: Probleme mit vollen Boot-Partitionen

Auf immer mehr meiner Ubuntu-Server-Installationen mit automatischen täglichen Updates bin ich in letzter Zeit auf das Problem voller Boot-Partitionen gestoßen. Aus historischen Gründen richtet der Ubuntu-Installer standardmäßig eine eigene Boot-Partition für die Kernel-Dateien ein, obwohl dies in den meisten Fällen vollkommen überflüssig ist. Im Boot-Verzeichnis landet bei jedem Kernel-Update die gerade neueste Kernel-Version samt diverser Zusatzdateien.

Pro Kernel-Version beträgt der Platzbedarf unter Ubuntu 16.04 ca. 50 MByte, wobei die Initrd-Datei mit ca. 36 MByte der bei weitem wichtigste Faktor ist. Ubuntu 14.04 war hier noch sparsamer, dort fand man mit ca. 25 MByte pro Kernel das Auslangen (Initrd-Datei mit 20 MByte).

Ganz egal, wie groß die Boot-Partition ist: ohne Aufräumarbeiten läuft sie früher oder später voll. Das führt dazu, dass Kernel-Updates nicht mehr (richtig) installiert werden können. Mit etwas Pech hängt Ubuntu beim nächsten Reboot. Bei einer lokalen Maschine kann man dann im Grub-Menü einen älteren Kernel auswählen, damit booten und Aufräumarbeiten durchführen. Bei einem Server ist das aber viel schwieriger.

Update 23.1.2017 15:10: Bessere Lösung mit Unattended-Upgrade::Remove-Unused-Dependencies "true" dokumentiert.

Ubuntu: Probleme mit vollen Boot-Partitionen weiterlesen

Atom als Markdown/Pandoc-Editor

Seit mehr als 20 Jahren verfasse ich nahezu alle meine Texte, Hunderte von Seiten jedes Jahr, mit dem Editor Emacs. Selten hat mich seither ein anderer Editor in Versuchung gebracht, zu wechseln. Zu den wenigen Ausnahmen zählt Atom. Der Editor ist schnell zu erlernen, hat eine moderne Oberfläche, läuft unter Linux/Windows/macOS. Außerdem ist es sehr weitreichend konfigurierbar, und das ganz ohne Emacs-Gruft und Elisp-Horror.

Dieser Beitrag stellt Atom kurz vor und zeigt seinen Einsatz als Editor für Markdown-Dokumente in der Pandoc-Variante.

Atom als Markdown/Pandoc-Editor weiterlesen

Geänderte SSH-Server-Konfiguration von Raspbian

Wenn Sie in der Vergangenheit Raspbian installierten, egal, ob mit NOOBS oder durch die direkte Übertragung des Raspbian-Images auf eine SD-Karte, war der SSH-Server standardmäßig aktiv. Jeder, der eine Netzwerkverbindung zum Raspberry Pi herstellen konnte, konnte sich als pi mit dem bekannten Passwort raspberry einloggen und hatte dann per sudo uneingeschränkte Rechte. Es wird natürlich überall empfohlen (auch in allen Auflagen unseres Raspberry-Pi-Buchs), das Default-Passwort von pi sofort zu ändern, aber wen kümmern schon solche Empfehlungen :-(

Immer mehr Pis sind so in Netzwerke integriert, dass sie auch aus dem Internet erreichbar sind. Unter dem Eindruck der Sicherheitskatastrophen der letzten Monate (z.B. Verwundbare Router oder Botnets aus gehackten Webcams) haben sich die Raspbian-Entwickler endlich zu ein klein wenig mehr Sicherheit per Default entschlossen: Bei aktuellen Raspbian-Images ist der SSH-Dienst zwar installiert, aber standardmäßig nicht aktiv. Wie Sie SSH weiterhin verwenden können, erklärt dieser Beitrag.

Geänderte SSH-Server-Konfiguration von Raspbian weiterlesen

Fedora 25

Seit 2013 sprechen die Fedora- und Ubuntu-Entwickler davon, das X Window System durch einen neuen Anzeige-Server zu ersetzen. Fedora favorisiert das distributionsübergreifende Wayland-Projekt, Ubuntu dagegen die Eigenentwicklung Mir.

Es hat zwar länger gedauert als erwartet, aber Fedora hat das Rennen auf jeden Fall gewonnen: Fedora 25 verwendet standardmäßig Wayland, sofern die Grafiktreiber mitspielen, andernfalls automatisch das immer noch vorhandene X Window System. Die meisten Anwender werden den Umstieg freilich gar nichts bemerken, weder in positiver noch in negativer Hinsicht. Die Vorteile des Abschieds vom X Window System sind eher technischer Natur und werden wohl erst in ein paar Jahren deutlich spürbar sein, wenn auch der Desktop und seine Anwendungsprogramme für Wayland optimiert sind.

Fedora 25 mit Gnome-Desktop
Fedora 25 mit Gnome-Desktop

Fedora 25 weiterlesen

iPROT 3.0 ist fertig

iPROT ist eine web-basierte Software zum Verfassen und Versenden von Protokollen. Der entscheidende Vorteil im Vergleich zu Word oder anderen Textverarbeitungsprogrammen besteht darin, dass iPROT Protokolle »versteht«. Offene Punkte werden von einer Besprechung zur nächsten übernommen. Eine umfassende Suchfunktion beantwortet Fragen wie:

  • Wann wurde xy beschlossen?
  • In welcher Reihenfolge wurden welche Entscheidungen getroffen?
  • Welche offenen Aufgaben hat eine Person / eine Firma im aktuellen Projekt oder auch in allen mit iPROT verwalteten Projekten?

iprot-logo

iPROT 3.0 ist fertig weiterlesen

DKIM-Konfiguration für Postfix

DomainKeys Identified Mail (DKIM) ist ein Verfahren zur automatischen Signatur von Mails bzw. zur Überprüfung der Signatur. DKIM-signierte E-Mails können zweifelsfrei ihrem Absender zugeordnet werden. Obwohl DKIM kein Kriterium zur Spam-Erkennung ist, betrachten manche Mail-Provider DKIM-signierte Mails als vertrauenswürdiger. Die Konfiguration von DKIM kann somit (manchmal) vermeiden, dass eigene Mails vom Empfänger als Spam betrachtet werden.

Dieser Artikel erläutert die Hintergründe von DKIM und zeigt, wie der eigene Mail-Server konfiguriert werden kann, um ausgehende Mails DKIM-konform zu signieren. Ich gehe davon aus, dass bereits ein funktionierender Mail-Server mit Postfix eingerichtet wurde und dass das ganze System unter Ubuntu läuft. Bei anderen Distributionen wird es vermutlich kleinere Abweichungen geben, das Prinzip bleibt aber natürlich unverändert.

DKIM-Konzept
DKIM-Konzept

DKIM-Konfiguration für Postfix weiterlesen

openSUSE Leap 42.2

Auch einem Jahr nach der Freigabe der ersten Leap-Version (openSUSE Leap 42.1) ist mir nicht so recht klar geworden, welche Nische im Linux-Universum openSUSE Leap besetzt bzw. besetzen will. Am ehesten ist openSUSE wohl die Distribution der verbliebenen KDE-Fans.

Fest steht, dass das SUSE-Team gerade die zweite Version freigegeben hat. Also habe ich einen kurzen Blick darauf geworfen …

openSUSE Leap 42.2 weiterlesen