Archiv der Kategorie: Linux

Alles rund um die Pinguine – auf dem Desktop und dem Server

Noble

Ich sammele hier mal, was mir beim Upgrade auf von Ubuntu 22.04 LTS auf Ubuntu 24.04 LTS so auf die Füße fiel. Die Liste wird ergänzt, bis ich meinen letzten Server auf der aktuellen LTS habe.

Upgrade bleibt stehen

Ursächlich hierfür war needrestart. Ein

ps aux | grep dpkg

zeigte

root       17007  0.0  0.3  12252  7204 pts/2    Ss+  09:37   0:00 /usr/bin/dpkg --force-overwrite --status-fd 107 --configure --pending 
root       17008  0.0  0.0   2800  1056 pts/2    S+   09:37   0:00 sh -c -- (test -x /usr/lib/needrestart/dpkg-status && /usr/lib/needrestart/dpkg-status || cat > /dev/null) 
root       17009  0.0  0.0   2800   104 pts/2    S+   09:37   0:00 sh -c -- (test -x /usr/lib/needrestart/dpkg-status && /usr/lib/needrestart/dpkg-status || cat > /dev/null) 
root       17010  0.0  0.0   2800  1116 pts/2    S+   09:37   0:00 /bin/sh /usr/lib/needrestart/dpkg-status 
root       18937  0.0  0.1   6544  2280 pts/1    S+   09:48   0:00 grep --color=auto dpkg

Vermutlich lauerte needrestart auf eine Eingabe, die aber in der Shell mit do-release-upgrade nie erschien. Weiter ging es erst nach einem

kill 17010 # also den Prozess hier: /bin/sh /usr/lib/needrestart/dpkg-status

Also: Von Anfang an zwei Shells auf einem Server offen haben, der gerade do-relase-upgrade laufen hat.

Wireguard & Namensauflösung

Unser Wireguard Server hat einen lokalen unbound für die Namensauflösung – und der wollte nach dem Upgrade nicht mehr starten. Ursächlich hierfür war, dass systemd-resolved den entsprechenden Port bereits belegt hatte – und das, obwohl der Dienst davor eigentlich disabled war. Vermutlich hatte ich das mask vergessen? Wie auch immer: die Konfiguration von unbound für 24.04 ist hier beschrieben.

Dreamweaver Gefrickel

Falls das gerade auch jemandem so geht, dass der Dreamweaver unter XFCE, Cinnamon oder Gnome einige Felder bei der Konfiguration nicht vollständig anzeigt: viele Optionen aus den nicht angezeigten Feldern können in die user.reg direkt eingetragen werden.

Ein

sudo updatedb
locate user.reg

sollte den lokalen Pfad aufzeigen. Dann ist ein wenig Rumprobieren und auch Raten angesagt. Im konkreten Fall verschluckte die Dreamweaver-GUI das Feld Passiven FTP verwenden und alle folgenden Felder:

"PASV FTP"=dword:00000001

Die 00000001 setzt den Haken; lauter Nullen zeigen an, dass der Haken nicht gesetzt ist.

Schaut man mit einem KDE drauf, ist zu sehen, dass dieser Umweg wirkte:
Screenshot aus Dreamweaver Site-Definition, Karteikarte Erweitert, Rubrik Remote-Informationen.

Nicht schön so – aber es funktioniert.

LDAPs via HAProxy

Situation: LDAPs Verbindungen sollen via pfSense und dem dortigen HAProxy an den LD-Server ge-proxied werden, um mehr Kontrolle über die zulässigen LDAP-Hosts zu haben als mit plain LD-Server.

Problem: Obwohl die LDAPs Verbindung vom Client via pfSense und HAProxy zum lokalen LDAP-Server klappt, geht keine Antwort vom LDAP-Server nach Außen.

Lösung: TLS1.3 verbieten – mit TLS1.2 funktioniert es. Das Feld im Frontend nennt sich „Advanced ssl options“ und braucht den folgenden Eintrag:

no-tlsv13

Dann ist es im übrigen auch auf der pfSense einstellbar, dass es Wurst sein soll, dass das LDAP-Zertifikat auf dem LD-Server self signed ist. Hauptsache das Zertifikat in Richtung Internet ist sauber (z.B. Let’sEncrypt-Certificate mit ACME Plugin für pfSense), damit sich z.B. ein Moodle verbinden kann.

Tools zum Debuggen: tcpdump, Apache directory Studio

OpenVPN und OpenSSL 3.x

Das Arch-Update von OpenSSL auf Version 3.x brachte mit sich, dass ich nicht mehr via OpenVPN auf meinen Server kam.

Fehlermeldungen waren ungefähr solche hier:

2022-11-09 08:23:40 OpenSSL: error:11800071:PKCS12 routines::mac verify failure
2022-11-09 08:23:40 OpenSSL: error:0308010C:digital envelope routines::unsupported
2022-11-09 08:23:40 Decoding PKCS12 failed. Probably wrong password or unsupported/legacy encryption
2022-11-09 08:23:40 Error: private key password verification failed
2022-11-09 08:23:40 Exiting due to fatal error

Die Lösung ist hier [1, 2] beschrieben. Am schnellsten (wenn auch nicht am saubersten) geht es via Anpassung der /etc/ssl/openssl.cnf

[openssl_init]
providers = provider_sect

[provider_sect]
default = default_sect
legacy = legacy_sect

[default_sect]
activate = 1

[legacy_sect]
activate = 1

OMD versus Canonical

OMD / Check_MK konnte nicht mehr apt auslesen. Ursächlich war, dass Canonical auf die tolle Idee kam, bei jedem Aufruf von apt update Werbebotschaften einzublenden. Der Output von apt update verwirrt dann den Filter. Der meldet im OMD nur noch:

UNKN - Item not found in agent output

Lösungsansatz: Auf dem Server die Templates für Canonicals Werbemüll weglöschen:

rm /var/lib/ubuntu-advantage/messages/apt-pre-invoke-*

Reicht aber nicht. Canonical stellt die Dateien wieder her. Da musste noch mehr weg:

systemctl stop ua-timer.service ua-timer.timer
systemctl mask ua-timer.service ua-timer.timer

Und das da auch gleich mit in den Eimer:

rm /etc/apt/apt.conf.d/20apt-esm-hook.conf

Immer mehr Gründe, die für Debian oder Arch sprechen.

Elden Runes

https://www.elden-runes.de/

ELDEN RUNES is an action roguelike boss rush. Explore the ruins of the ancient temple in a 2.5D pixel art style, where each animation, mechanic and sound is lovingly made by hand. Each guardian has their individual fighting style, utilizing the elements of light and darkness. Use the powers of Vex and Lux to defeat them and get out of the temple!

Elden Runes [ C ] via ER

Ein Projekt, das IMHO einen Blick wert ist. Allein schon deswegen, weil es mit Liebe und auch viel Freude und Einsatz von Faik Dogar, Tim Scholl, Marc Seelmann, Aydeniz Sözbilir und Janis Weller erstellt wurde – und nun gemeinsam betüttelt wird. Die Quellenauszeichnung ist hier ebenso durchdacht wie die Datenschutzseite – und unterscheidet sich somit (leider!) heftig von vielen andern Projektseiten aus diesem Seminar. Ich tippe mal, die Profs merken das nicht einmal.

WiFi Heatmap

Ich war auf der Suche nach einer schnellen Möglichkeit, die Wifi Qualität hier im Haus (und später evtl. auch mal an der Schule) zu erfassen.

Geht via CLI mit den folgenden Methoden:

# nmcli
nmcli d wifi

# iw
sudo iw dev wlan0 link

# wpa_cli
sudo wpa_cli -i wlan0 scan_results

# wavemon
wavemon

mit den jeweiligen Vor- und Nachteilen bei der Interpretation und Darstellung. Für den Alltag reicht mir hier nmcli.

Eine Heatmap zu erstellen wäre dann die nächste Idee, jedoch will mensch die Ergebnisse ja in hübsch – und möglichst automatisiert. Dazu fand ich die folgenden Projekte:

https://github.com/jantman/python-wifi-survey-heatmap ist schon ein wenig älter und sah mir komplexer aus, als ich es haben wollte.

Das hier https://github.com/Nischay-Pro/wifi-heat-mapper schien der einfachere kleine Bruder zu sein – also getestet.

Die Installation geht mit pip auf einem Arch flott über die Bühne. Auf einem hausinternen Serverchen dann iperf3 gestartet, damit wir einen Endpoint für die Messungen haben. Es folgt die Erstellung einer groben Skizze des zu erfassenden Stockwerkes (z.B. mit Libreoffice Draw). Dieses als PNG oder JPG wegspeichern / exportieren. Die dann folgenden Schritte (die eigentliche Messung) sind auf der Seite bei Github ausführlich beschrieben und gehen einfach von der Hand.

Die Ergebnisse sind dann … nunja … abhängig von der eigenen Geduld, die an zwei Stellen hart auf die Probe gestellt wird: Erstens dauert eine Messung gefühlte Ewigkeiten – und zweitens stürzt whm öfter mal ab. Es speichert aber alle bisherigen Messergebnisse, so dass der Verlust vor allem deswegen nervt, weil die Messung wiederholt werden muss.

Im Ergebnis tauchen dann so Sonderbarkeiten wie im Bild oben auf: Der UDP Scan zeigt ein Loch an einem Messpunkt. Macht nicht wirklich Sinn für mich.

Aber nett anzusehen sind die Bildchen und manchmal bringen sie einen ja schon zum Nachdenken:

Signalstärke

Den AP hinter der Glotze zu verstauen ist selbstverständlich doof und das oben zu sehende Resultat auch zu erwarten. Aber! Die „Heatmap“, die ich erhalte, wenn der dauerblinkende, schwarze, hässliche AP nicht hinterm TV versteckt ist, will ich mir nicht zeichnen lassen. Das Programm erfasst halt nicht den WAF.

Horde GnuPG auf Ubuntu 18.04

Horde ist hier auf einem Ubuntu 18.04 Server installiert – mit Hilfe von PEAR.  Leider funktionierte eine ganze Zeit lang die PGP / GnuPG Schlüsselerstellung damit nicht mehr. Ich vermute inzwischen, weil der Commit hier

https://github.com/horde/Crypt/pull/2/commits/5f0c7e7b7a3dc7b6a8a3e9ba1e085be7a94d3477

nie Eingang in das Horde fand, das hier mittels PEAR aktuell gehalten wird.

Was nämlich funktioniert, ist, der Austausch von

/usr/share/php/Horde/Crypt/Pgp/Backend/Binary.php

mit der Binary.php von oben! Also

wget https://raw.githubusercontent.com/horde/Crypt/5f0c7e7b7a3dc7b6a8a3e9ba1e085be7a94d3477/lib/Horde/Crypt/Pgp/Backend/Binary.php
mv /usr/share/php/Horde/Crypt/Pgp/Backend/Binary.php /usr/share/php/Horde/Crypt/Pgp/Backend/Binary.php.bak
mv Binary.php /usr/share/php/Horde/Crypt/Pgp/Backend/Binary.php

und die Schlüsselerstellung funktioniert wieder.

Danke auch an kruedewagen und die weiterführenden Links dort, der mich auf die richtigen Gleise setzte, auch wenn dessen Lösung hier nicht funktionierte.

Q4 auf Arch

Musste ich mal wieder anschauen, weil die Jungs die DVD im Keller fanden, auch wenn es das einst von mir am wenigsten gespielte Quake war.

Die Voraussetzungen dafür, dass das im Netz noch immer als Download zu findende quake4-linux-1.4.2.x86.run beim Start nicht Fehler dieser

error while loading shared libraries: libSDL-1.2.so.0: cannot open shared object file: No such file or directory

oder dieser Art

MESA-LOADER: failed to open i965: libgcc_s.so.1: version `GCC_7.0.0' not found (required by /usr/lib32/dri/i965_dri.so) (search paths /usr/lib32/dri)

warf, war erstens die Installation von

sudo pacman -S lib32-sdl lib32-mesa

und zweitens ein

mv libgcc_s.so.1 libgcc_s.so.1.bak
mv libstdc++.so.6 libstdc++.so.6.bak

in /usr/local/games/quake4.

Alle weiteren Hinweise und Tipps sind hier zu finden:

https://www.gamingonlinux.com/articles/playing-quake-4-on-linux-in-2018.11017