Technik

.NET 3.5 Installation scheitert auf Microsoft Windows Server 2019

9. August 2019 · Betriebssysteme · andreas · 7 Kommentare

Die Installation des .NET Framework 3.5 ist i.d.R. unter Windows Server 2019 über den Servermanager nicht möglich und scheitert mit einem Fehler 0x800f0954

Glücklicherweise hilft der bereits von Windows 10 bekannte Trick, die Installation über die Kommandozeile durchzuführen (ggf. das “D:” durch das Laufwerk ersetzen, in dem das Installationsmedium liegt):

PS C:\Windows\system32> DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:d:\sources\sxs

Tool zur Imageverwaltung für die Bereitstellung
Version: 10.0.17763.1

Abbildversion: 10.0.17763.615

Features werden aktiviert
[==========================100.0%==========================]
Der Vorgang wurde erfolgreich beendet.
PS C:\Windows\system32>

Windows 10 is coming ... oder auch nicht?

6. August 2019 · Betriebssysteme · andreas · 1 Kommentar

Für alle Windows 7-Benutzer war der 14. Juli 2019 der Tag, an dem sie spätestens anfangen sollten, sich Gedanken über die Zukunft ihres Betriebssystems zu machen - denn das letzte halbe Jahr des Microsoft-Supports für Windows 7 hat an diesem Tag begonnen:

Der Support für Windows 7 endet am 14. Januar 2020. Anschließend sind weder technische Unterstützung noch Softwareupdates über Windows Update zum Schutz des PCs verfügbar.

Natürlich hat Microsoft auch gleich die - für die meisten Anwender vermutlich auch passendste - Lösung parat:

Microsoft empfiehlt dringend, vor Januar 2020 zu Windows 10 zu wechseln

Die Zahlen der Betriebssystemverteilungen der letzten Wochen und Monate zeigen allerdings, daß offensichtlich nicht jeder von der Idee des zeitweise sogar kostenlosen Updates beglückt ist und viele Anwender bleiben noch bei Windows 7, wohl wissend, daß es sich hierbei um keine Dauerlösung handeln kann.

Windows 10

Die Frage nach den Ursachen liegt bei jedem etwas anders, hier sind es im Wesentlichen zwei Gründe:

Mit Windows 10 legt Microsoft, ganz den Beispielen anderer Konzerne folgend, eine Datensammelwut an den Tag, die nicht nur auf den ersten Blick beängstigend ist. Wer eine aktuelle Windows 10 1903 installiert, fragt sich spätestens nach dem fünften “Wir würden gerne …?” ob er hier nicht nur die Spitze des Eisbergs sieht und das System im Hintergrund noch deutlich mehr Daten sammelt und Richtung Redmond weiterleitet.

Das zweite Problem ist die mit Windows 10 gewechselte Releasepolitik: statt wie mit Windows 7 eine Basis zu schaffen, die dann für mehr als 10 Jahre als stabile Arbeitsplattform dient, halten mit Windows 10 halbjährliche Updates Einzug, die - wenn auch verzögert installierbar - letztendlich immer im erheblichen Maße das bestehende System umgraben und somit genau das Prinzip einer stabilen Arbeitsplattform verletzen.

Somit war die grundlegende Entscheidung klar: kein Wechsel auf Windows 10, sondern stattdessen nach Alternativen zu suchen.

MacOS

Die Option, MacOS einer genaueren Evaluierung zu unterziehen, wurde nach kurzer Überlegung wieder verworfen: statt Microsoft diktiert dann Apple die Regeln und liest fröhlich alles mit - und das zu einem auch in Euro recht happigen Preis, denn die bereits vorhandene Hardware hätte nicht weiterverwendet werden können.

Linux

Als deutlich sinnvollere Alternaive erscheint Linux, das in schier unzähligen Varianten (Distributionen) erhältlich ist und wohl eher die passende Distribution zu finden das eigentliche Problem darstellt.

Im ersten Schritt ist zwischen den sogenannten Rolling Releases und den versionsbasierte Distributionen zu unterscheiden: bei Rolling Releases werden die zu einer Distribution gehörenden Pakete kontinuierlich aktualisiert und Teile des Systems somit fortwährend geändert. Dies hat den Vorteil, immer die aktuellste Version eines Software-Pakets zu verwenden, aber gleichzeitig den Nachteil, daß eine gewünschte stabile Arbeitsplattform nicht gewährleistet ist.

Die Erfahrungen mit Arch Linux hatten gezeigt, daß auf Dauer - vor allem, wenn Aktualisierungen nicht zeitnah und am besten täglich installiert werden - die Wartung des Systems mehr als schwierig sein kann und Dinge die heute noch funktioniert haben nach dem nächsten Update erst einmal zeitraubend wieder repariert werden müssen.

Sattdessen hat sich Debian Linux, sowohl als virutelle Entwicklungsumgebung als auch auf dem Laptop in den letzten Jahren als stabile und extrem zuverlässige Plattform erwiesen. Nur selten mit den aktuellsten Programmversionen ausgestattet, legen die Entwickler offensichtlich mehr Augenmerk auf Stabilität und liefern so eine Plattform, auf - und mit - der es sich arbeiten lässt, ohne daß das Hauptaugenmerk auf den Befindlichkeiten des Betriebssystem liegt.

Dies kombiniert mit der Tatsache, daß die aktuelle Debian Version “Buster” am 7. Juli 2019 veröffentlicht wurde und mit Long Term Support bis voraussichtlich 2024 gepflegt wird, gab den Ausschlag, die Umstellung anzupacken und den Umstieg auf Debian zu wagen.


SSL/TLS oder STARTTLS bei Thunderbird

22. Juli 2019 · Anwendungen · andreas · Kein Kommentar

Thunderbird bietet als Auswahlmöglichkeiten für die Einstellung der Verbindungssicherheit drei Auswahlmöglichkeiten: “Keine”, “STARTTLS” sowie “SSL/TLS”.

Während sich “Keine” von vornherein disqualifiziert, sind die beiden anderen Möglichkeiten auf den ersten Blick nicht so einfach zu unterscheiden.

Die Wikipedia schreibt zu “STARTTLS”:

… beginnt eine Verbindung bei dem STARTTLS-Verfahren immer unverschlüsselt auf dem für Klartext vorgesehenen Port. Nach Eingabe des STARTTLS-Befehls wird eine Verschlüsselung ausgehandelt.

Ein weiterer Nachteil gegenüber SSL rührt von der Tatsache her, dass die meisten E-Mail-Programme in der Standardeinstellung ‘TLS wenn möglich’ verwenden und es für den Nutzer nicht sichtbar ist, wenn die Verbindung zum Mailserver nicht (mehr) verschlüsselt ist.

Aus diesem Grund sollte auch “STARTTLS” nicht gewählt, sondern die Verbindungssicherheit auf “SSL/TLS” gesetzt werden:

Bei einer alternativen Methode zur Einleitung der Verschlüsselung einer Verbindung zwischen Mailprogramm (Client) und Mailserver setzt diese Verhandlung bereits beim Verbindungsaufbau ein. Dort werden definierte Ports angesprochen, auf denen unmittelbar eine TLS-Verbindung aufgebaut wird.

Dies deckt sich auch mit der Empfehlung aus dem Privacy Handbuch:

Wir empfehlen, SSL/TLS-Verschlüsselung zu bevorzugen.


Adminer als phpMyAdmin-Alternative

18. Juli 2019 · Anwendungen · andreas · Kein Kommentar

Ist nach einem Update von Debian 9 (Stretch) zu Debian 10 (Buster) phpMyAdmin - wenn auch mit Fehlern - noch vorhanden, fällt spätestens beim Installationsversuch auf, daß ein Blick in die Release-Notes hilfreich gewesen wäre. Kapitel “5.1.9. Nennenswerte veraltete Pakete” sagt:

Das Paket phpmyadmin ist in in Buster nicht mehr enthalten.

Es bleiben zwei Möglichkeiten: entweder phpMyAdmin unabhängig von der Distribution besorgen, einspielen und zukünftig auch warten oder auf eine Alternative wechseln, welche in den Paketquellen enthalten ist. Eine kurze Suche mit der Suchmaschine des Vertrauens führt i.d.R. zu Adminer, dessen Projektentwickler die aus seiner Sicht relevanten Unterschiede zu phpMyAdmin detailliert auflistet.

Die Installation ist schnell erledigt

$ sudo apt install adminer

Jedoch stellt sich nach dem ersten Aufruf erstmal Ernüchterung ein:

Als Ursache hierfür entpuppt sich eine nicht vorhandene Konfiguration: unter “/etc” wurde zwar ein Verzeichnis “adminer” angelegt, dieses enthält aber keine Konfigurationsdatei(en).

Glücklicherweise lässt sich dies schnell beheben, in dem eine neue Datei “adminer.conf” erzeugt und darin als einzige Angabe der benötigte Alias gesetzt wird.

$ sudo vi /etc/adminer/adminer.conf

Alias /adminer /usr/share/adminer/adminer/

Anschließend wird im Verzeichnis “/etc/apache2/conf-available” ein symbolischer Link auf die soeben erzeugte Konfigurationsdatei gesetzt und anschließend aktiviert:

$ sudo ln -s /etc/adminer/adminer.conf /etc/apache2/conf-available/adminer.conf

$ sudo a2enconf adminer

Den letzten benötigten Schritt schlägt a2enconf dann selbst vor:

To activate the new configuration, you need to run:
systemctl reload apache2

phpMyAdmin Fehler "Parameter must be an array or an object that implements Countable"

12. Juli 2019 · Programmierung · andreas · 3 Kommentare

Nachdem das Update des Entwicklungsrechners von Debian 9 (Stretch) auf Debian 10 (Buster) reibungslos durchgelaufen ist, hakt es bei phpMyAdmin sobald eine Tabelle angeklickt wird:

Warning in ./libraries/sql.lib.php#613
count(): Parameter must be an array or an object that implements Countable

Eine einfache Lösung findet sich bei Stack Overflow: in der Datei “/usr/share/phpmyadmin/libraries/sql.lib.php” eine der schließenden Klammern von Zeile 614 in Zeile 613 vor das “== 1” versetzen, so daß die Zeilen 613 und 614 wie folgt aussehen:

|| (count($analyzed_sql_results['select_expr']) == 1)
&& ($analyzed_sql_results['select_expr'][0] == '*'))

Nach einem Neustart des Webservers ist der Fehler verschwunden.