Normale Ansicht

Ubuntu 23.10 auf dem Raspberry Pi 5

13. Oktober 2023 um 15:16

(Aktualisiert am 15.10.2023, Geekbench-Ergebnisse mit/ohne Lüfter)

Nach Raspberry Pi OS Bookworm habe ich mir heute auch Ubuntu 23.10 auf dem Raspberry Pi angesehen. In aller Kürze: Der Raspberry Pi 5 ist ein großartiger Desktop-Rechner, Ubuntu mit Gnome unter Wayland läuft absolut flüssig.

Ubuntu 23.04 mit Gnome-Desktop und Wayland auf einem Raspberry Pi 5

Systemvoraussetzungen

Die Desktop-Version von Ubuntu 23.10 läuft nur auf den Modellen 4B, 400 und 5 und beansprucht zumindest 4 GiB RAM. Bei meinem Test mit offenem Terminal, Firefox (zwei Tabs mit GitHub und orf.at) sowie dem neuen App Center waren erst gut 2 GiB RAM in Verwendung. Mit offenem Gimp, VS Code und App Center steigt der Speicherbedarf dann auf 4 GiB. Insofern sind für’s ernsthafte Arbeiten 8 GiB RAM sicher kein Schaden.

Installation

Zur Installation habe ich mit dem Raspberry Pi Imager Ubuntu 23.10 auf eine SD-Karte übertragen. Die Spracheinstellung in der Konfigurationsphase beim ersten Starts bleibt wirkungslos und muss später in den Systemeinstellungen nachgeholt werden. Außerdem müssen mit Installierte Sprachen verwalten alle erforderlichen Sprachdateien heruntergeladen werden.

Ein initiales Ubuntu-Desktop-System beansprucht etwa 6 GByte auf der SD-Karte. Mit Schuld am verhältnismäßig großem Speicherbedarf für ein Ubuntu-»Minimalsystem« ohne Anwendungsprogramme ist der unmäßige Speicherbedarf der vorinstallierten Snap-Paketen (App Center, Firefox plus alle dazu erforderlichen Basisbibliotheken).

Gnome

Gnome 45 mit Wayland läuft absolut flüssig. Nur der Start von Snap-Apps führt zu kleinen Verzögerungen — das kennt man ja auch von Ubuntu-Installationen auf hochwertiger Hardware. Bei meinem Testrechner (Pi 5 mit 8 GiB RAM) braucht Firefox beim ersten Start ca. 4 Sekunden, bis es am Bildschirm erscheint. Damit kann man wirklich leben ;-)

Screenshots funktionieren auf Anhieb.

Bei der Erkennung der Systemdaten (also Info/Systemdetails in den Einstellungen) versagt Gnome aber und kann weder die CPU noch die Größe der SD-Karte erkennen (siehe die Abbildung oben). Aber das sind Kleinigkeiten.

Kernel

Ubuntu verwendet mit Version 6.5 einen neueren Kernel als Raspberry Pi OS. Im Gegensatz zu Raspberry Pi OS kommt die »normale« Pagesize von 4 kByte zum Einsatz:

pi5u$ uname -a
  Linux pi5u 6.5.0-1005-raspi #7-Ubuntu SMP PREEMPT_DYNAMIC 
  Sun Oct  8 08:06:18 UTC 2023 aarch64 aarch64 aarch64 GNU/Linux

pi5u$ getconf PAGESIZE
4096

Visual Studio Code

Erstaunlicherweise fehlt in der Snap-Bibliothek Visual Studio Code. Ein Debian-Paket für ARM64 kann von https://code.visualstudio.com heruntergeladen werden. Es muss dann mit sudo apt install ./code_xxx.deb installiert werden. Die nachfolgende Fehlermeldung pkgAcquire::Run / Keine Berechtigung können Sie ignorieren. Vergessen Sie aber nicht, ./ bzw. einen gültigen Pfad voranzustellen, sonst glaubt apt, code_xxx.deb wäre der Paketname und verweigert die Installation der lokalen Datei.

Geekbench

Unter https://www.geekbench.com/preview/ gibt es eine AArch64-Version von Geekbench, die ich heruntergeladen, ausgepackt und ausgeführt habe. Die Temperatur des SoC steigt während der Tests auf über 85 °C. Die CPU-Frequenz wird in der Folge auf 1,5 GHz gedrosselt. Ich habe keine Kühlung verwendet (weder aktiv noch passiv). Ergebnisse unter diesen Voraussetzungen: 657
Single-Core Score, 1233 Multi-Core Score. Mehr Details finden Sie hier: https://browser.geekbench.com/v6/cpu/3060411

Geekbench

Im Leerlauf unter Ubuntu 23.10 beträgt die CPU-Temperatur übrigens gut 70°C, also auch schon mehr als genug.

Ubuntu fehlt eine dynamische Lüftersteuerung. Sobald ein Lüfter angeschlossen wird, läuft dieser mit maximaler Leistung und produziert ein durchaus störendes Ausmaß an Lärm. Die CPU-Temperatur sinkt dann im Leerlauf auf gut 30°C. Selbst während der Ausführung von Geekbench steigt die Temperatur nur kurzzeitig über 45°C. Gleichzeitig fallen die Werte etwas besser aus (siehe auch https://browser.geekbench.com/v6/cpu/3095791).

Geekbench 6      Single-Core      Multi-Core
--------------  ------------    ------------
Ohne Lüfter              657            1233
Mit Lüfter               737            1542

Eine letzte Anmerkung zu Geekbench: Die 64-Bit-Version von Raspberry Pi OS und Geekbench 6.2 sind wegen der 4-kByte-Pagesize inkompatibel zueinander.

Abstürze

Während meiner Tests kam es zweimal zu kapitalen Abstürzen (Bildschirm wurde schwarz, kein Netzwerkzugriff mehr etc.). Möglicherweise war das von mir eingesetzte Netzteil zu schwach. (Unter Raspberry Pi OS hatte ich mit demselben Netzteil allerdings keine Probleme.)

Ich bin dann auf das neue Original-Raspberry-Pi-Netzteil umgestiegen (27 W für einen Minirechner erscheinen wirklich mehr als üppig, aber sei’s drum). Die Komplett-Abstürze haben sich nicht wiederholt.

Allerdings ist in der Folge auch Gimp bei der Verwendung des Dateiauswahldialogs zweimal abgestürzt. Das kenne ich von meinem Notebook überhaupt nicht. Ich kann natürlich nicht sagen, ob dieses Problem ARM-, Ubuntu- oder Raspberry-Pi-spezifisch ist. Aber für zwei Stunden Betrieb waren das für meinen Geschmack recht viele Abstürze …

Quellen/Links

Raspberry Pi OS »Bookworm«

12. Oktober 2023 um 17:21

Seit gestern ist die neue Version von Raspberry Pi OS auf der Basis von Debian 12 (»Bookworm«) verfügbar. Diese Version ist Voraussetzung für den Raspberry Pi 5, läuft aber natürlich auch auf älteren Raspberry Pis. Ich habe meine Tests auf einem Pi 5 sowie einem Pi 400 durchgeführt.

Auf den ersten Blick sieht der Desktop auf der Basis von LXDE nahezu unverändert aus. Aber dieser Eindruck täuscht erheblich: Raspberry Pi OS verwendet jetzt Wayland, PipeWire und den NetworkManager.

Auf den Modellen Pi 4, Pi 400 und Pi 5 läuft der Pixel Desktop unter Wayland

Wayland für Pi 4 und 5, Abschied von X in Raten

Auf aktuellen Raspberry-Pi-Modellen (Pi 4, Pi 400, Pi 5) kommt nun standardmäßig Wayland statt xorg als Fundament für das Grafiksystem zum Einsatz.

pi5$ echo $XDG_SESSION_TYPE
  wayland

Das ist ein großer Schritt, weil dafür viele Komponenten verändert bzw. hinzugefügt werden mussten:

  • Compositor: Wayfire
  • Panel/Desktop-Shell: wf-panel-pi

Zusammen mit dem Panel mussten auch die diversen Plugins für das Menü, die Bluetooth- und WLAN-Konfiguration, Lautstärkeeinstellung usw. neu implementiert werden.

Das für Wayland neu implementierte Panel hat zwei Plugins, die die CPU-Auslastung und -Temperatur anzeigen

Der Wayland-Umstieg ist mit den von anderen Desktop-Systemen bekannten Einschränkungen bzw. Kinderkrankheiten verbunden: Fernwartung, Screenshots usw. zicken bzw. funktionieren gar nicht. Auf das Thema VNC und Remote Desktop gehe ich hier in einem eigenen Artikel ein. Zum Erstellen von Screenshots verwenden Sie am besten das Kommando grim (siehe Projektseite). Gimp und scrot liefern lediglich schwarze Bilder, shutter stürzt ab.

Ältere Raspberry-Pi-Modelle (Pi 3, Zero etc.) verwenden aufgrund von Performance-Problemen weiterhin xorg. Aber auch bei diesen Modellen ist in Zukunft der Wechsel zu Wayland geplant.

Audio-System PipeWire

Nach Fedora, Ubuntu & Co. verwendet nun auch Raspberry Pi OS das neue PipeWire-Audiosystem. Es ersetzt PulseAudio. Für die Desktop-Nutzung der Audio-Funktionen sollten sich dadurch nichts ändern. Wenn Sie Audio-Funktionen per Script steuern möchten, müssen Sie sich an die neuen pw-xxx-Kommandos gewöhnen (siehe https://docs.pipewire.org/page_tools.html).

Netzwerkkonfiguration mit dem NetworkManager

Ähnlich wie beim Audio-System passt sich Raspberry Pi OS auch bei der Netzwerkkonfiguration den anderen Distributionen an und verwendet nun den NetworkManager als Backend. dhcpcd hat ausgedient. Wiederum ist von der Änderung an der Oberfläche nicht viel zu sehen. Die Konfigurationswerkzeuge zur Herstellung einer WLAN-Verbindung sehen ähnlich aus wie bisher. Allerdings gibt es nun diverse neue Funktionen, z.B. zur Herstellung von VPN-Verbindungen. Änderung ergeben sich auch, wenn Sie die Netzwerkkonfiguration per Script verändern möchten. Das wichtigste neue Kommando ist nmcli. Die Konfigurationsdateien werden in /etc/NetworkManager gespeichert. WLAN-Passwörter landen in /etc/NetworkManager/system-connections/*.conf.

Bei meinen Tests traten im Zusammenspiel mit dem Raspberry Pi Imager bei der Vorweg-Konfiguration (z.B. für Headless-Systeme) noch Fehler auf. Es ist aber zu erwarten/hoffen, dass diese bald gelöst sein werden.

Webbrowser: Firefox oder Chromium?

In der Vergangenheit galt Chromium als Default-Webbrowser für Raspberry Pi OS. In Kooperation mit Mozilla wurde nun auch Firefox besser an die Hardware- und Software-Eigenheiten angepasst und wird nun als gleichwertige Alternative angeboten. Standardmäßig sind beide Programme installiert. Den Default-Webbrowser können Sie im Programm Raspberry-Pi-Konfiguration festlegen.

Mathematica

Aus nostalgischen Gründen bin ich ein großer Fan von Mathematica und finde es fantastisch, dass das Programm Raspberry-Pi-OS-Anwendern kostenlos zur Verfügung steht. Das gilt auch für die neue Version von Raspberry Pi OS — aber aktuell nicht auf dem Pi 5. Dort erscheint beim Start der Hinweis, dass ein Lizenzcode erforderlich ist. Anscheinend soll dieses Problem
noch behoben werden. Die Raspberry Pi Foundation wartet diesbezüglich auf ein Update von Wolfram (Quelle).
Update 9.11.2023: Mit den neuesten Updates funktioniert nun auch Mathematica wieder — und zwar schneller denn je!

Versionsnummern

Dank des neuen Fundaments auf der Basis von Debian 12 haben sich viele Versionsnummern geändert:

Basis             Desktop              Programmierung   Server
---------------   ------------------   --------------   --------------
Kernel      6.1   Gimp          2.10   bash       5.2   Apache     2.4
glibc      2.36   LibreOffice    7.4   gcc       12.2   CUPS       2.4
Mesa       23.2   LXDE            11   Java        17   MariaDB  10.11
Systemd     247   VLC            3.0   PHP        8.2   OpenSSH    9.2
X-Server   21.1                        Python    3.11   Samba     4.17
Wayland    1.21

Python-Module

Bisher war es unter Python gebräuchlich, Zusatzmodule einfach mit pip bzw. pip3 zu installieren. In aktuellen Python-Versionen ist das nicht mehr erwünscht und führt zu einem Fehler:

$ pip install --user matplotlib

error: externally-managed-environment

  This environment is externally managed
  To install Python packages system-wide, try apt install
    python3-xyz, where xyz is the package you are trying to
    install.

    If you wish to install a non-Debian-packaged Python package,
    create a virtual environment using python3 -m venv path/to/venv.
    Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
    sure you have python3-full installed.

    For more information visit http://rptl.io/venv

note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.

Es gibt zwei Auswege:

Der geänderte Umgang mit Python-Modulen hat übrigens nichts mit Raspberry Pi OS zu tun, sondern ist eine von der Python-Entwicklergemeinde vorgegebene Änderung, die alle modernen Linux-Distributionen betrifft.

32 oder 64-Bit?

Auf https://www.raspberrypi.com/software/operating-systems sowie im Programm Raspberry Pi Imager wird nach wie vor die 32-Bit-Version von Raspberry Pi OS empfohlen. Die 64-Bit-Version ist dort nur die zweite Option.

Ich habe meine Tests dagegen mit der 64-Bit-Version durchgeführt, die für Pi-Modelle mit mehr als 2 GByte zweckmäßiger ist, einzelnen Prozessen mehr RAM zuordnen kann und etwas mehr Geschwindigkeit verspricht.

Interessanterweise kommt je nach Raspberry-Pi-Modell eine unterschiedliche Pagesize zum Einsatz: 16 kByte auf dem Raspberry Pi 5 aber wie bisher 4 kByte auf dem Raspberry Pi 400.

pi5$ getconf PAGESIZE
16384

pi400$ getconf PAGESIZE
4096

Die 16-kByte-Pagesize ist übrigens zu manchen Programmen inkompatibel. Unter anderem kann deswegen Geekbench 6.2 nicht in der 64-Bit-Version von Raspberry Pi OS ausgeführt werden.

Lüftersteuerung

Der Raspberry Pi 5 enthält eine Buchse zum Anschluss eines CPU-Lüfters. Raspberry Pi OS kümmert sich darum, den Lüfter nur nach Bedarf einzuschalten, und auch dann dynamisch (also nur in der erforderlichen Drehzahl). Im Leerlaufbetrieb bleibt der Raspberry Pi 5 lautlos.

Upgrade

Ein Upgrade eines bereits installierten Raspberry Pi OS »Bullseye« auf Version »Bookworm« ist theoretisch durch eine Veränderung der Paketquellen möglich (siehe z.B. hier im Raspberry-Pi-Forum). Diese Vorgehensweise wird aber explizit nicht unterstützt und führt nach meinen eigenen Erfahrungen oft zu massiven Problemen. Wenn Sie die aktuelle Version von Raspberry Pi OS nutzen möchten, müssen Sie also eine SD-Karte neu damit einrichten. Das hat natürlich den Nachteil, dass Sie alle Konfigurationsarbeiten wiederholen und ggfs. Ihre eigenen Projekte bzw. Ihren Code manuell übertragen und womöglich auch adaptieren müssen.

Quellen/Links

Neuer Service: Linkwarden Bookmark Manager

12. Oktober 2023 um 11:15

Ein neuer adminForge Service kann ab sofort genutzt werden. Ein quelloffener Lesezeichenmanager zum gemeinsamen sammeln, organisieren und archivieren von Webseiten. Linkwarden Bookmark Manager Ein quelloffener Lesezeichenmanager zum gemeinsamen sammeln, organisieren und archivieren von Webseiten....

by adminForge.

Linux Script - Postfix Mail Server Logauswertung mit dem Postfix Log Entry Summarizer

28. Februar 2014 um 08:41

Wer sich schon einmal mit MTAs (Mail Transfer Agent) auseinandergesetzt hat, dem wird Postfix sicherlich ein Begriff sein. Postfix zählt zu den bekanntesten Mailservern im Linuxbereich, ist schnell und recht einfach zu konfigurieren, eine gewisse Grundkenntnis vorausgesetzt. Für einen sicheren Mailverkehr möchte ich hier noch einmal auf das Crypto Handbuch verweisen.

Letzte Woche war ja ein wenig Exchange Server im Programm, heute soll es aber um eine Auswertung des Mailverkehrs, welcher täglich über einen Postfix Server rauscht, gehen. 

Postfix Log Entry Summarizer

Hierfür gibt es sicherlich einige Monitoring Tools, eines davon ist Pflogsumm (Postfix Log Entry Summarizer), welches eine ausführliche Auswertung bietet, ohne, dass der Anwender viel konfigurieren muss.

Unter Ubuntu ist dieses Tool recht schnell konfiguriert und im Optimalfall erhaltet ihr am Ende eine Übersicht aller Nachrichten, egal ob gesendet, empfangen oder geblockt. Auch der Traffic, die Menge oder die Mailadressen werden ausgewertet. Bis zu dieser Statistik ist aber noch ein wenig Vorarbeit zu leisten.

Pflogsumm installieren (Ubuntu)

sudo apt-get install pflogsumm 

Postfix Log Entry Summarizer konfigurieren

Ihr habt nun die Möglichkeit das Tool direkt aufzurufen und euch eine Liveauswertung geben zu lassen, um zu sehen was gerade auf dem Mailserver passiert. Pflogsumm macht nichts anderes, als auf die Logfiles des Postfix Server zurückzugreifen und diese auszuwerten. Mit einem Einzeiler lässt sich so eine Statistik in eine Datei schreiben oder per Mail versenden.

sudo pflogsumm -u 5 -h 5 --problems_first -d today /var/log/mail.log >> test oder

sudo pflogsumm -u 5 -h 5 --problems_first -d today /var/log/mail.log | mail -s "Postfix Mail Report" info@example.com

Vorarbeit zur regelmäßigen Postfix Analyse

Eine IST Auswertung mag zwar interessant sein, die regelmäßige Auswertung der letzten Tage ist jedoch um einiges interessanter. Realisierbar ist dies mit den Logs des Vortages, diese werden Mittels logrotate gepackt und können danach ausgewertet werden. Zunächst muss logrotate angepasst werden, damit täglich neue Logs geschrieben werden.

sudo nano /etc/logrotate.conf

/var/log/mail.log {
    missingok
    daily
    rotate 7
    create
    compress
    start 0
    }
sudo nano /etc/logrotate.d/rsyslog

    #/var/log/mail.log

Wenn gewünscht ist, dass die Logrotation pünktlich zu einer gewissen Uhrzeit laufen soll, sagen wir um 2 Uhr Nachts , ist es nötig crontab zu editieren und dort die Laufzeit anzupassen.

sudo nano /etc/cron.daily anzupassen 0 2 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )

Skript zur Postfix Analyse 

Nun können wir unser eigenes Script zusammen stellen, welches am Schluss eine Auswertung versendet. 

sudo nano mailstatistiken.sh

#!/bin/bash
#
###############
# mailstats   #
###############

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

# Log Archive entpacken
gunzip /var/log/mail.log.1.gz

#Temporaere Datei anlegen
MAIL=/tmp/mailstats

#Etwas Text zum Anfang
echo "Taeglicher Mail Stats Report, erstellt am $(date "+%H:%M %d.%m.%y")" > $MAIL
echo "Mail Server Aktivitaeten der letzten 24h" >> $MAIL

#Pflogsumm aufrufen
/usr/sbin/pflogsumm --problems_first /var/log/mail.log.1 >> $MAIL

# Versenden der Auswertung
cat /tmp/mailstats | mail -s "Postfix Report $(date --date='yesterday')" stats@example.com

#Archiv wieder packen, damit alles seine Ordnung hat
gzip /var/log/mail.log.1

Insgesamt eine leichte Übung. Das fertige Skript noch mit "chmod +x" ausführbar machen und am besten via "crontab -e" zu einem gewünschten Zeitpunkt ausführen.

Am Ende solltet ihr jeden Tag per Mail eine ausführliche Zusammenfassung der E-Mails Statistiken erhalten.

Grand Totals

------------

messages

   4321   received

   1234   delivered

      5   forwarded

      1   deferred  (3  deferrals)

      0   bounced

      0   rejected (0%)

      0   reject warnings

      0   held

      0   discarded (0%)

   1234m  bytes received

   1234m  bytes delivered

    123   senders

    321   sending hosts/domains

   1234   recipients

    123   recipient hosts/domains

message deferral detail

-----------------------

  smtp (total: 3)

         3   invalid sender domain 'example.de' (misconfigured ...

message bounce detail (by relay): none

message reject detail: none

message reject warning detail: none

message hold detail: none

message discard detail: none

smtp delivery failures: none

Warnings: none

Fatal Errors: none

Panics: none

Master daemon messages: none

Per-Hour Traffic Summary

------------------------

    time          received  delivered   deferred    bounced     rejected

    --------------------------------------------------------------------

    0000-0100           0          0          0          0          0 
.....

 

Schwere Sicherheitslücken in Exim4

30. September 2023 um 21:43

Wer Exim4 als Mailserver einsetzt, wie es zum Beispiel in Debian-basierten Linux-Distributionen der Standard ist, sollte sich zeitnah um Updates bemühen oder - wenn der Dienst nicht zwangsläufig benötigt ist (bei manchen läuft Exim unbewusst) - spätestens jetzt gänzlich abschalten. Es gibt zumindest eine schwere Remote-Code-Execution-Sicherheitslücke.

Bleeping Computer berichtete über die Lücke(n), denn es geht um bis zu 6 Schwachstellen unterschiedlicher Stärke. Die genauen Details sind zum aktuellen Zeitpunkt noch nicht verfügbar, um Exploits nicht zu befördern. Es reicht allerdings unauthentifizierter Zugriff auf Port 25.

Der Fund geht auf die Zero Day Initiative von Trend Micro zurück. Sie hatte bereits im Juni letzten Jahres, also 2022, auf die Lücken aufmerksam gemacht. Besonders pikant: bis vor kurzem waren noch keine Patches verfügbar, zumal die schwerwiegende Lücke ZDI-23-1469 bereits Mitte der Woche veröffentlicht wurde.

Laut einer E-Mail der Entwickler ist ein bedeutenden Teil der Lücken bereits geschlossen und die Updates an die Distributoren verteilt. Dass die Lücke nicht schneller gefixt wurde, lag an Schwierigkeiten bei der Kommunikation. Bei Ubuntu wird die Lücke als CVE-2023-42115 geführt, hier sind noch keine Updates verfügbar.

Exim4-Admins sollten dies im Auge behalten und sofort reagieren. Mit ersten Exploits ist demnächst zu rechnen, wenn mehr über die Lücke bekannt wird. Der Mailserver ist weit verbreitet, es gibt laut Bleeping Computer mehrere Millionen Instanzen im Internet.

Mistral 7B: Fortschrittliches Open-Source-LLM aus Europa

30. September 2023 um 21:20

Das Wettrennen um die Technologieführerschaft der Large Language Models lief größtenteils bisher auf dem amerikanischen Kontinent ab. OpenAI hat das Produkt populär gemacht und Meta AI veröffentlicht den Konkurrenten mit den freien Gewichten. Mit Falcon 40B und 180B gab es allerdings schon Konkurrenz aus Abu Dhabi, zumal mit der gewählten Apache-2.0-Lizenz ein deutlich offenerer Ansatz gewählt wurde.

Als kurz vor dem Sommer das Start-up Mistral aus Paris 105 Millionen Euro eingesammelt hat, waren die Medienberichte zumindest leicht kritisch, da nicht nur das Start-up mit einer gigantischen Finanzierungssumme aus der Taufe gehoben wurde, sondern das Produkt auch noch gar nicht fertig war. Aus der LLM-Sicht ist dies allerdings verständlich, da solche großen Summen schlicht die Voraussetzung sind, um an den Start zu gehen. Schließlich benötigt Training leistungsfähige GPUs und die sind teuer.

Mit dem veröffentlichten Modell Mistral 7B zeigt das Start-up, was es kann. Dabei handelt es sich um ein LLM, das über 7 Mrd. Parameter verfügt und Llama 2 13B in allen und LLaMa 34B in vielen üblichen Benchmarks überbietet: Commonsense Reasoning, World Knowledge, Reading Comprehension, Math, Code, Popular aggregated results. In Codingaufgaben kann die Leistung von CodeLlama 7B erreicht werden.

Das Beste am LLM ist, dass es unter der Apache-2.0-Lizenz steht. Als klassische Open-Source-Lizenz gibt es nicht nur den Forschern und Entwicklern viele Freiheiten, sondern auch eine gewisse Lizenzsicherheit, dass das Modell in freier Software verwendet werden kann.

Ich hatte bereits vor Wochen geschrieben, dass freie Modelle eine gute Möglichkeit sind, um sich als neuer Player auf dem Markt zu profilieren. Diesen Plan verfolgt nicht nur Falcon, sondern nun auch offenbar Mistral. Es ist trotzdem davon auszugehen, dass die 105 Millionen Euro keine "Forschungsspende" waren und kommerzielle Produkte zeitnah folgen werden.

Für die Forscher und Entwickler von LLMs hat die aktuelle Veröffentlichung nichtsdestotrotz Vorteile. Meta AI hat mit der Lizenzgebung von Llama 2 auf die Open-Source-Bewegung in der LLM-Welt reagiert und sein aktuelles Modell unter eine permissive, aber trotzdem proprietäre Lizenz gestellt. Mistral geht allerdings noch einen Schritt weiter und setzt eine "klassische" Open-Source-Lizenz ein. Das hat nicht nur Signalwirkung, sondern ermöglicht, dass Unternehmen ihre LLM-Lösungen zunehmend privat hosten können, da die Parameteranzahl mit 7 Mrd. so dimensioniert ist, dass auch kleinere Datacenter-GPUs für die Ausführung bzw. Inferenz ausreichen. Es bleibt also weiterhin spannend im Umfeld der LLMs.

Die Mistral-7B-Modelle sind in Version 0.1 auf HuggingFace als normales Modell und als auf Chats spezialisiertes Modell (Instruct) verfügbar.

Don’t Push To Production On Friday

25. September 2023 um 05:00

So stand es an einem Freitag auf Mastodon geschrieben. Nach einem Schmunzeln fragte ich mich: „Ja warum eigentlich nicht?“ Dieser Frage möchte ich heute nachgehen.

Der englischsprachige Satz aus dem Titel ist eine Aufforderung, an einem Freitag keine Änderungen an produktiven Systemen vorzunehmen, um das Wochenende nicht zu gefährden. Viele von euch kennen vermutlich berühmte letzte Worte wie:

  • Was soll schon schiefgehen?
  • Nur noch diese kleine Änderung, dann ist Feierabend.
  • Das wurde getestet, da kann nichts passieren.
  • Das geht ganz schnell, ich mache das noch eben.

Nicht selten hat sich der Feierabend oder das Wochenende nach diesen Sätzen erheblich verzögert oder sind ganz ausgefallen, weil eben doch etwas schiefgegangen ist. In der Folge waren wichtige Dienste nicht mehr verfügbar und Systemadministratoren haben das Abendessen mit ihrer Familie versäumt, weil sie den Klump wieder zum Laufen bringen mussten. Solche Erlebnisse führen zu Aussagen wie:

  • Never change a running system. Oder eben
  • Don’t push to production on Friday

Die Logik dahinter ist bestechend einfach. Wenn etwas funktioniert und man nichts daran ändert, wird wohl auch nichts kaputt gehen. Allerdings stehen diese Aussagen dem DevOps-Mantra von Continuous Integration and Continuous Delivery (CI/CD) entgegen, welches fordert, dass Änderungen zu jeder Zeit möglich sein müssen.

Und wer hat nun recht? Ich denke, die Wahrheit liegt wie so oft irgendwo in der Mitte.

Ob Änderungen durchgeführt werden können, hängt in meinen Augen nicht vom Wochentag ab, sondern vielmehr von den Antworten auf die folgenden Fragen:

  • Sind alle für die Abnahmetests erforderlichen Key-User nach der Änderungen verfügbar und können direkt im Anschluss testen?
  • Sind alle Verantwortlichen anwesend bzw. verfügbar, welche entscheiden, ob die Änderung bzw. das Deployment erfolgreich war oder nicht?
  • Liegt das Wartungsfenster in einem Zeitraum, in dem ggf. externe Supportdienstleister erreichbar und diese Zeiträume durch Service-Level-Agreements (SLA) abgedeckt sind?
  • Findet die Änderung in einem Zeitfenster statt, in dem Störungen toleriert werden können?

Sind zum Beispiel alle 37 Key-User, 8 Abteilungsleiterinnen und das 20-köpfige Betriebs-Team für die Personal- und Buchhaltungsanwendung Freitag nach 18:00 bis voraussichtlich 21:00 Uhr alle verfügbar und können im Fehlerfall mit offenem Ende verfügbar bleiben, steht einer Änderung bzw. einem Deployment nichts im Wege. Ist dies jedoch nicht der Fall und man stellt Fehler möglicherweise erst im Laufe des kommenden Montags fest, wo ein Rollback evtl. schon nicht mehr möglich ist, sollte man den Change vielleicht lieber Montagmorgen starten?

In einem anderen Fall ist das Team nicht sicher, ob sie das System im Fehlerfall ohne Hilfe des Herstellers wiederherstellen können. Der Support-Vertrag deckt jedoch nur die Zeiten Mo-Fr von jeweils 08:00-17:00 Uhr mit 4 Stunden Reaktionszeit ab. Hier ist es vielleicht ebenfalls besser, das Wartungsfenster in den frühen Morgen als in den Freitagabend zu legen.

Habe ich hingegen einen 24/7-Supportvertrag und meine IT-Betriebsabteilung darf auch am Wochenende arbeiten, bietet sich ein Change mit langer Dauer am Wochenende an, um die Betriebsabläufe möglichst wenig zu beeinträchtigen.

Sind Änderungen nur von kurzer Dauer und man möchte möglichst viele User verfügbar haben, die sofort testen und mögliche Fehler finden, ist vermutlich auch Dienstag Vormittag 10:00 Uhr eine gute Zeit.

Es hängt also nicht primär vom Wochentag, sondern vielmehr von einigen anderen Faktoren ab, wann Änderungen in Produktion ausgerollt werden sollten.

Wie seht ihr das? Nach welchen Kriterien werden bei euch Deployments geplant und durchgeführt?

PS: Ich finde jedoch absolut nichts Verwerfliches daran, wenn man sich den Freitag für die Pflege und Aktualisierung der Dokumentation reservieren kann und nicht mit aller Gewalt noch etwas kaputtfuckeln muss. ;-)

Linux Command Library App - Linux Befehle für die Hosentasche

21. September 2023 um 08:30

Linux Command Library App

Egal, ob du einen Einstieg in Debian, Ubuntu und Co suchst, für ein LPIC Zertifikat Wissen aneignen willst oder schlicht und einfach nur ein Nachschlagewerk benötigst, die Linux Command Library ist ein guter Begleiter für Linux Menschen.

Die Sammlung umfasst ca. 5000 Handbuchseiten, mehr als 22 grundlegende Kategorien und eine Reihe allgemeiner Tipps für Terminals. Die passende App dazu funktioniert zu 100 % offline, benötigt keine Internetverbindung und hat keine Tracking-Software.

Simon Schubert hat die Online-Lernplattform für Linux Kommandos ins Leben gerufen. Neben der App kann das Nachschlagewerk klassisch im Browser genutzt werden.

Linux-Command-Library

 

Folgende Kategorien stehen dir zum Abrufen von zig Kommandos zur Verfügung:

  1. One-liners
  2. System Information
  3. Systemkontrolle
  4. Nutzer und Gruppen
  5. Dateien und Nutzer
  6. Input
  7. Drucken
  8. JSON
  9. Netzwerk
  10. Suchen und Finden
  11. Git
  12. SSH
  13. Video & Audio
  14. Paketmanager
  15. Hacking Tools
  16. Terminal Games
  17. Kryptowährungen
  18. VIM Texteditor
  19. Emacs Texteditor
  20. Nano Texteditor
  21. Pico Texteditor
  22. Micro Texteditor

Ein Cheatsheet mit praktischen Befehlen kannst du ebenfalls abrufen.

Die Linux Command Library ist Open Source und auf GitHub verfügbar. Die passende App dazu bekommst du auf im Play Store oder auf F-Droid.

RHEL System Roles: rhc

11. September 2023 um 05:00

Im siebten Teil meiner losen Reihe über die RHEL System Roles stelle ich die Rolle rhc vor, mit welcher sich RHEL-Systeme (Version >= 8.6) in der Hybrid Cloud Console, Insights und dem RHSM registrieren lassen.

Das Tool rhc selbst habe ich bereits im Artikel Red Hat Remote Host Configuration ausführlich vorgestellt.

Anwendungsfall

Möchte man ein oder mehrere RHEL-Systeme in der Hybrid Cloud Console registrieren, kann man dazu die RHEL System Role rhc verwenden.

Die Rolle

Durch die Installation des Pakets rhel-system-roles existiert die Rolle rhc bereits auf meinem System und muss nur noch konfiguriert werden. Die Rolle selbst findet man im Pfad /usr/share/ansible/roles/rhel-system-roles.rhc/ und die Dokumentation in /usr/share/doc/rhel-system-roles/rhc/README.md.

Das Playbook

- name: Register systems
  hosts: all
  vars:
    rhc_auth:
      activation_keys:
        keys: ["key-1", ...]
    rhc_organization: "your-organization"
  roles:
    - rhel-system-roles.rhc
  • key-1 ist durch den eigenen Activation Key zu ersetzen
  • your-organization ist durch die eigene Org-ID zu ersetzen
  • Mit diesem Playbook werden die Hosts im RHSM und der Hybrid Cloud Console registriert
  • Die Systeme werden bei Insights registriert und laden regelmäßig aktuelle Daten hoch
  • Die Systeme werden für die Ausführung von Remediation Playbooks konfiguriert

Fazit

Mit dieser System Role ist es einfach möglich, eine große Anzahl Systeme in die Hybrid Cloud Console aufzunehmen. Dabei lässt sich konfigurieren, ob Funktionen wie Insights und Remediation Playbooks genutzt werden können.

Eine weitere tolle Rolle aus dem Paket rhel-system-roles, die sich einfach zur Anwendung bringen lässt.

Weiterführende Quellen und Links

  1. Red Hat Enterprise Linux (RHEL) System Roles {en}
  2. Ansible Documentation: Role Directory Structure {en}
  3. Red Hat Software and Download Center {en}
  4. Die Vorteile einer Red Hat Subskription
  5. RHEL System Roles: selinux
  6. RHEL System Roles: timesync
  7. RHEL System Roles: sshd
  8. RHEL System Roles: firewall
  9. RHEL System Roles: storage

Neue Services: Hat.sh & Wormhole

06. September 2023 um 10:02

Zwei neue adminForge Services können ab sofort genutzt werden. 1) Hat.sh ist eine Webanwendung, die eine sichere lokale Dateiverschlüsselung im Browser ermöglicht. Sie ist schnell, sicher und verwendet moderne kryptografische Algorithmen mit Chunked-AEAD-Stream-Verschlüsselung/Entschlüsselung. 2)...

by adminForge.

Wie ich mich 2023 vor Datenverlust schütze

04. September 2023 um 05:00

Auf Mobiltelefonen, Tablets, Laptops, Netzwerkspeichern und in diversen Anwendungen in unserem Heimnetzwerk befinden sich Daten, welche wir schmerzlich vermissen würden, wenn sie dauerhaft verloren gingen.

Im Folgenden beschreibe ich, wie ich z.B. Fotos, Videos, Zeugnisse, Verträge, Urkunden, Versicherungspolicen, etc. vor Verlust schütze.

Der Artikel behandelt nicht:

Daten von Mobiltelefonen und Tablets

Sie sind unsere ständigen Begleiter, verfügen über große Speicher und beinhalten häufig jede Menge an Fotos und Videos. Diese werden mit DS-Apps auf eine Synology Diskstation im heimischen Netzwerk gesichert.

Für Threema benutze ich Threema Safe. Ein Datenbackup führe ich nicht durch. Der Inhalt der Nachrichten ist mir nicht so wichtig, als dass mich ein Verlust schmerzen würde.

E-Mails, Kalender und Kontakte werden zwischen Mailbox.org und diversen Geräten synchronisiert, jedoch nicht gesichert. Wenn jemand z.B. das Adressbuch löscht, müsste ich das Netzwerk vom PC trennen, um das Adressbuch ohne Netzwerkverbindung zu starten, um den letzten Stand von dort wiederherstellen zu können. Für mich ist das ausreichend, da ich bei einem GAU meine wichtigsten Kontakte auch ohne Adressbuch zu erreichen weiß und sich Kontaktinformationen von Handwerkern und sonstigen Unternehmen wieder recherchieren lassen.

Sollte ich Zugriff auf die App Aegis Authenticater verlieren, muss ich auf die Backup-Codes zurückgreifen, welche in einer KeePass-Datenbank lagern.

Falls ihr einfache Lösungen kennt, um sämtliche Apps samt deren Inhalte sichern und auf abweichenden Telefonen wiederherstellen zu können, freue ich mich, wenn ihr mir davon berichtet.

Network Attached Storage (NAS)

Meine Synology Diskstation ist:

  • Das Ziel für automatisierte Datensicherungen von Mobiltelefonen und Tablets
  • Datensicherungsziel für die Backups meiner virtuellen Server im LAN und in der Cloud
  • Primärer Speicherort für Fotos, Videos, eine Musiksammlung, Git-Repos
  • Primärspeicher für archivierte Daten, die ich vermutlich nie wieder benötige

Ausgewählte Daten werden wöchentlich mit Hyper Backup (Backup-Anwendung der Diskstation) auf eine angeschlossene USB-Festplatte gesichert. Darüber hinaus habe ich mir ein Offsite-Backup gebastelt, welches ich in diesem Artikel beschrieben habe.

Über Erfolg und Misserfolg der Sicherungen werde ich per E-Mail benachrichtigt.

Die größte Herausforderung für mich ist es, die Wiederherstellbarkeit der gesicherten Daten zu kontrollieren. Dies mache ich bisher sporadisch und manuell. Und vermutlich viel zu selten.

Daten von Laptops

Daten meiner Laptops synchronisiere ich teilweise mit Nextcloud, welche ich auf einem virtuellen Server betreibe. Gehostet wird dieser bei Contabo in Deutschland.

Darüber hinaus nutze ich Déjà Dup Backups für eine wöchentliche Datensicherung meines HOME-Verzeichnisses in die Nextcloud mit 180 Tagen Vorhaltezeit. Auch hier teste dich die Wiederherstellbarkeit sporadisch.

Das HOME-Verzeichnis meines Dienstlaptops wird täglich mit Déjà Dup in das Google Drive meines Arbeitgebers gesichert.

Urkunden, Verträge, Zeugnisse und weiterer Papierkram

Auch wir haben jede Menge totes Holz im Schrank stehen, dessen Wiederbeschaffung bei Verlust mit viel Zeit und Mühe verbunden ist.

Meine Lösung für diese Herausforderung habe ich in Mein Paperless-NGX-Mini-Konzept niedergeschrieben.

Hier möchte ich die Wiederherstellung noch verbessern, indem ich auf meinem Laptop ein Ansible-Playbook ablege, welches die Paperless-NGX-Instanz auf meinem Laptop wiederherstellt. So teste ich die Wiederherstellbarkeit und habe immer eine relativ aktuelle Kopie auf der verschlüsselten Festplatte meines Laptops bei mir.

Auf einem virtuellen Server in der Cloud möchte ich diese Daten aktuell nicht so gerne hosten. Dazu muss ich mir zuvor in Ruhe Gedanken über mögliche Risiken für die Integrität und Vertraulichkeit der Daten machen.

Meine produktive Paperless-NGX-Instanz steht mit dem Papier im gleichen Haus. Das Backup beinhaltet alle PDF-Dateien und liegt verschlüsselt in der Cloud. Da die Dateinamen halbwegs sinnvoll benannt sind, scheint im Falle eines GAU die Suche im Heuhaufen nicht hoffnungslos.

Blog und Nextcloud

Für beide Dienste, welche auf einem virtuellen Server bei Contabo laufen, wird zur Datensicherung wöchentlich ein Datenbank-Dump und ein Archiv der Verzeichnisstruktur mit Ordnern und Dateien erstellt. Dieses Backup wird lokal auf dem Server abgelegt und für 30 Tage vorgehalten. Ich nutze dafür selbstgeschriebene Bash-Skripte, welche durch Cron ausgeführt werden.

Auf meinem NAS läuft ein Skript, welches die Backups vom Server auf das NAS synchronisiert.

Über Erfolg und Misserfolg der einzelnen Jobs werde ich per E-Mail benachrichtigt.

Die Wiederherstellbarkeit teste ich sporadisch und sollte dies mutmaßlich häufiger tun. Ein Automat dafür befindet sich aktuell in Arbeit. Den aktuellen Stand kann man in folgenden Artikeln nachlesen:

Virtuelle Server und Dienste in der Cloud

Ruhende Daten werden verschlüsselt, bevor sie in die Cloud hochgeladen werden. Das Restrisiko, dass der fremde Betreiber prinzipiell die Kontrolle über meinen virtuellen Server übernehmen kann, bleibt.

Betreibe ich Server oder Dienst nicht im eigenen Heimnetzwerk, nutze ich für den Betrieb deutsche Anbieter mit Standorten in Deutschland. Zu diesen habe ich einfach das größte Vertrauen, dass sie sich an geltende Gesetze halten, die Hoffnung, dass sie den Datenschutz ernst nehmen und meine Daten dort gut aufbewahrt sind.

Wie sichert ihr eure Daten außer Haus? Welche Dienste verwendet ihr dazu? Ich freue mich, wenn ihr eure Erfahrungen in den Kommentaren teilt.

Zusammenfassung

Ich habe mir zumindest mal Gedanken gemacht, welche Daten so wichtig sind, dass ich sie vor Verlust schützen möchte. Zum Schutz vor Verlust kommen verschiedene Verfahren zum Einsatz, die auf der Schaffung von Redundanz durch Synchronisierung oder der Datensicherung mit Versionierung beruhen.

Die Wiederherstellbarkeit wird zumindest sporadisch getestet. Dieser Punkt ist sicherlich ausbaufähig.

Wer die einzelnen Abschnitte gelesen hat, stellt jedoch auch fest, dass es schnell ein wenig unübersichtlich wird. Zumindest hilft dieser Artikel etwas, den Überblick zu behalten.

Für die Zukunft wünsche ich mir eine dedizierte Backup-Senke im Keller, in der sich ausschließlich Backups befinden und eine Offsite-Senke, auf welche die Daten der Backup-Senke gesichert werden. Bis ich da hinkomme, wird sicherlich noch etwas Zeit vergehen.

Wie installiere ich den Netzwerk-Drucker Brother MFC-J890DW in Fedora 38 und RHEL 9?

31. August 2023 um 07:24
  1. Schalte den Drucker ein, verbinde ihn mit dem LAN und notiere seine IP-Adresse
  2. Lade das RPM-Paket mit dem Linux-Treiber auf den RHEL 9 Computer herunter
  3. Führe in RHEL 9 folgende Schritte aus
  4. sudo dnf in <linux-treiber-name.rpm>
  5. Öffne in einem Webbrowser die URL http://localhost:631/printers
  6. Klicke unter Administration auf „Modify Printer“ und setze die folgenden Parameter
    • AppSocket/HP JetDirect für Device
    • ipp://<IP-Adresse-des-Druckers>/ipp/port1 für Device URI
    • Brother als Hersteller
    • IPP Everywhere als Treiber

Da es mich mal wieder tierisch genervt hat, bis das Höllengerät endlich druckte, habe ich die Installationsschritte kurz aufgeschrieben.

Quellen:

Debian feiert den 30. Geburtstag: Von einem schlanken Newcomer zu einem Open-Source-Schwergewicht

16. August 2023 um 21:22

30 Jahre Debian - 30 Jahre felsenfeste Entwicklung und noch kein Ende in Sicht.

An diesem Tag vor 30 Jahren, am 16.08.1993, erschien in der Newsgroup comp.os.linux.development eine Ankündigung, die den Anfang eines der größten und langlebigsten Projekte im Linux-Ökosystem markieren sollte. Lasst uns für einen kurzen Moment zurückblicken.

Es ist nicht nur ein gepimptes SLS, es ist das "Debian Linux Release". Ian Murdock, der selbst mit der vermutlich ersten Linux-Distribution unzufrieden war und beschlossen hat, die Sache selbst in die Hand zu nehmen, hätte sich womöglich nie erträumen können, dass sein "brand-new Linux release", wie er es damals nannte, irgendwann seinen 30. Geburtstag feiern würde.

Begründer eines Distributionszweiges

Im Laufe der Jahre hat Debian bewiesen, dass es mehr als nur ein übereifriger Rebell unter den Betriebssystemen ist. Es hat die Grundlage für viele andere Distributionen wie z. B. Ubuntu gelegt. Es hat die Freiheit und Offenheit verkörpert, die das Herzstück der Open-Source-Bewegung bilden. Es hat glaubhafte Alternativen zu proprietären Betriebssystemen aufgezeigt und Zweifler zum Schweigen gebracht. Auch, wenn der letzte Punkt in der öffentlichen Diskussion nicht ganz offensichtlich ist, sprechen die Zahlen für sich: Debian ist ein fester Bestandteil vieler produktiver Serversetups.

Mit der tief verwurzelten Philosophie, die sich im Debian-Gesellschaftsvertrag widerspiegelt, unterstreicht das Projekt seine kompromisslose Haltung zugunsten freier Software, auch wenn über die Jahre insgesamt eine gewisse Toleranz gegenüber nachinstallierbarer unfreier Software Einzug gehalten hat.

Debian ist heute wichtiger denn je, da die Distribution den Test of Time bestand und sich zu einer Alternative zu Enterprise-Distributionen gemausert hat. Stabilität und Kontinuität sind entscheidende Faktoren, denn Debian baut auf klassischen Releases auf, von denen - je nach Zählweise - bereits 20 erschienen sind. Die Release werden seit Version 1.1 nach Toy-Story-Charakteren bezeichnet. Debian ist ein Leuchtturm, ein einsamer Fels in der Brandung einer Welt, die zunehmend von Anbietern dominiert wird, welche Daten und Freiheiten der Nutzer nicht beachten und sie an ihre Plattformen binden.

In diesem Sinne, lasst uns auf 30 Jahre technologischer Alternativen anstoßen. Herzlichen Glückwunsch, Debian! Auf 30 weitere Jahre der Innovation und Unabhängigkeit.

BSL statt MPL: HashiCorp passt sich einer neuen Open-Source-Ära an

14. August 2023 um 16:00

Open-Source-Software nachhaltig zu entwickeln, wird immer schwieriger. Willkommen im Zeitalter von "Nur schauen, nicht anfassen" für kommerzielle Rivalen.

Das in San Francisco ansässige Softwareunternehmen HashiCorp, bekannt für seine Cloud-Tools wie Terraform, Vagrant oder Vault, ändert seine Lizenzbedingungen. In einer Ankündigung wird der Wechsel von der Mozilla Public License 2.0 zur Business Source License mit der Gewährleistung kontinuerlicher Investitionen des Unternehmens in seine Community begründet.

HashiCorp hält weiterhin daran fest, seinen Quellcode frei verfügbar zu machen. Allerdings gibt die BSL dem Unternehmen mehr Kontrolle darüber, wer den Code kommerziell nutzen darf. Mit anderen Worten, wer Software von HashiCorp produktiv nutzt und sie für ein Konkurrenzprodukt einsetzen möchte, ist von nun an nicht nur bösen Blicken, sondern auch rechtlichen Hürden ausgesetzt.

In guter Gesellschaft

Einige Unternehmen haben diesen Schritt bereits vollzogen und sind auf unfreie Lizenzmodelle umgestiegen. Couchbase, Sentry und MariaDB MaxScale sind einige Beispiele dafür. Dies wirft natürlich die Frage auf, ob wir uns von der Idee freier Open-Source-Software verabschieden müssen. Die Omnipräsenz der Cloud-Industrie, die seit den 2010er-Jahren sich großer Beliebtheit erfreut, droht ernsthaft, die FOSS-Welt zu destabilisieren.

Stellt dir vor, du hast einen reichen Obstgarten erschaffen, in dem jeder sich frei der Früchte bedienen kann. Größzügig lädst du alle ein, sich nach Belieben zu bedienen und empfiehlst ihnen, selber Bäume zu pflanzen oder die Saaten weiterzuverbreiten. Eines Tages bemerkt ihr jedoch, dass einige Gäste die Früchte einsacken, sie auf eigenen Märkten verkaufen und die Profite einsacken, ohne selbst an die Ursprungscommunity etwas zurückzugegeben. Klingt unfair? Genau das passiert momentan in der Open-Source-Welt.

Damit wird Open Source zwar nicht von Tisch gewischt, sondern in eine Richtung gelenkt, die den freien ungehinderten Austausch unabhängig von gewerblichen Interessen einschränkt. Konkret wackelt dabei das 6. Kriterium der Open-Source-Definition (OSD), das eine Unterscheidung nach Einsatzfeldern ausschließt.

HashiCorp betont, dass es sich weiterhin seiner Community, seinen Partnern und Kunden verpflichtet sieht. Nur die Zeit wird zeigen, ob diese Lizenzänderungen die richtigen Schritte auf dem Weg dorthin sind. Einerseits werden Möglichkeiten von Forks eingeschränkt, andererseits ist niemandem geholfen, wenn die Weiterentwicklung durch HashiCorp auf dem Spiel steht, nur, weil externe Akteure bezogen auf die Einnahmen sinnbildlich das Wasser abgraben. Die Leute, die Software entwickeln, müssen auch von etwas bezahlt werden.

Edit (20:25 Uhr): MariaDB setzt die BSL für MaxScale ein, nicht jedoch für die Datenbank MariaDB Server. Danke für den Hinweis, Jens.

Update (20:30 Uhr): Ggfs. werde ich mich mit der BSL noch einmal in einem gesonderten Artikel beschäftigen, aber ein kleines Detail ist hierbei vllt. noch erwähnenswert, um den Blick auf die Sache zu ändern. Die von HashiCorp verwendete Form der BSL setzt auf eine Art Embargozeit. Nach 4 Jahren der Veröffentlichung eines nach BSL lizenzierten Werkes in einer spezifischen Version, greift folgender Passus:

Effective on the Change Date, or the fourth anniversary of the first publicly available distribution of a specific version of the Licensed Work under this License, whichever comes first, the Licensor hereby grants you rights under the terms of the Change License, and the rights granted in the paragraph above terminate.

Als Change License wurde die MPL 2.0 festgelegt.

KI-Wochenrückblick KW 32/2023

13. August 2023 um 20:15

Auch in der Sommerpause gibt es vereinzelte Neuigkeiten aus der Welt der künstlichen Intelligenz. Heute möchte ich mich dabei wieder einmal den Agenten widmen.

MetaGPT

Beim Einsatz von ChatGPT und ähnlichen LLMs stellt sich schnell die Frage, ob da nicht auch mehr geht. Ob das System nicht zur Abbildung alltäglicher Arbeit herangezogen werden kann. Insbesondere mit Anfang des Jahres aus dem Winterschlaf erwachten Konzept der Agenten wurde die Zusammenarbeit unterschiedlicher KI-Instanzen wieder relevant und spannend. Umso interessanter ist es, diese Konzepte zusammenzuführen.

AutoGPT und Co. sind diesem Ziel gefolgt und konnten schon lustige Ergebnisse demonstrieren, wenn man die LLMs sinnbildlich an den eigenen Computer anschließt und z. B. die Ausgaben des LLMs als Eingabe für die eigene Shell verwendet (nicht nachmachen, ist eine dumme Idee). Doch auch hier gab es einige Schwächen, ganz rund lief alles bei weitem noch nicht.

Die Autoren hinter MetaGPT (hier im Bezug auf griechisch meta = über) haben systematisch verschiedene Rollen inkl. ihrer Interaktionen ausgearbeitet und stellen ihre Ergebnisse als Preprint und ihr Framework auf GitHub bereit. Dabei wird eine einzeilige Aufgabe, z. B. die Entwicklung eines Spiels, vom System eingelesen und dann auf ein hierarchisches Team aus Agenten verteilt. Diese Agenten haben verschiedene Rollen, die sich auf die System-Prompts abbilden, d. h. beispielhaft "Du bist ein Entwickler für Python..." oder "Du bist ein Requirements-Engineer...". Am Ende des Tages fällt ein Ergebnis raus, das dann ausprobiert werden kann.

Das Konzept sieht in meinen Augen sehr spannend aus und entwickelt sich stets weiter. Dabei wird deutlich, dass eine simple Prompt für hochwertiges Prompt-Engineering nicht reicht, vielmehr können Effekte ähnlich wie beim Ensemble-Learning genutzt werden, durch die mehrere Instanzen von LLMs, die gemeinsam ein Problem bearbeiten, deutlich effektiver arbeiten.

Was LLMs von Cyc lernen können

Irgendwie habe ich die ganzen letzten Monate schon darauf gewartet, dass sich die Autoren klassischer Expertensysteme beim LLM-Thema zu Wort melden. Immerhin prallen hier zwei komplett unterschiedliche Welten aufeinander, die beide versuchen, die Welt zu erklären.

Klassische Expertensysteme versuchen mit Logik die Welt in Regeln zu fassen. Das typische Beispiel ist "Wenn es regnet, dann wird die Straße nass". Eine klare Implikation, die in eine Richtung geht: ist das Kriterium auf der "wenn"-Seite erfüllt, gilt die Aussage auf der "dann"-Seite. Wird das System gefragt, was mit der Straße passiert, wenn es regnet, antwortet es immer, dass sie nass wird. Immer. Dass es nicht zwangsläufig der Regen sein muss, wenn die Straße nass ist, wird ebenfalls durch Logik ermöglicht, da die obige Regel eine Implikation ist und keine Äquivalenz, denn da würde es heißen "Immer wenn es regnet, dann wird die Straße nass".

Problematischer wird es zu modellieren, dass die Straße selbst bei Regen da nicht nass wird, wo gerade ein Auto parkt. Hieran erkennt man, dass es sich um ein schwieriges Unterfangen handelt, wenn Expertensysteme die echte Welt modellieren sollen. Das Cyc-Projekt hat die Mühe aber auf sich genommen und über die letzten knapp 40 Jahre über eine Million solcher Regeln zusammengetragen. Viele einfache Expertensysteme gelten grundsätzlich aber als veraltet und konnten die Erwartungen für "generelle Intelligenz" schon vor 30 Jahren nicht erfüllen.

Anders funktionieren LLMs, die nicht mit klassischer Logik, sondern Wahrscheinlichkeiten arbeiten, um das "am ehesten passende" nächste Wort für die Antwort zu finden. Zusammengefasst sind Expertensysteme für ihre Präzision zulasten der Vielseitigkeit bekannt und LLMs einfach anders herum.

Doug Lenat von Cyc und Gary Marcus von der NYU haben in ihrem Preprint nun 16 Anforderungen zusammengetragen, die eine "vertrauenswürdige KI" haben sollte, darunter Erklärung, Herleitung oder Kontext. Anschließend gehen die Autoren noch ein, wie ihr (kommerzielles) Cyc das umsetzen kann.

Ich bin tatsächlich überzeugt, dass man untersuchen sollte, wie sich diese beiden Ansätze verheiraten lassen. Dabei sprechen auch die Ergebnisse von AutoGPT, MetaGPT & Co. dafür, dass das Vorhaben auf neuronaler Ebene angegangen werden muss, da einfache Varianten wie System-Prompts á la "Du bist LogikGPT. Gib mir die Entscheidungsregeln in Prädikatenlogik aus." immer noch auf Token-/Wortvorhersagen basieren und zu viel Halluzination zulassen.

Dennoch bin ich sicher, dass es auch hier Fortschritte geben wird, die wir dann früher oder später in einem Wochenrückblick diskutieren können. Bis dahin!

KI-Wochenrückblick KW 31/2023

06. August 2023 um 20:32

In der heutigen Ausgabe des Wochenrückblicks blicken wir auf ein neues Modell von IBM und einen Ausblick auf neue Features in der ChatGPT-Oberfläche von OpenAI.

IBM und NASA veröffentlichen Foundation-Model für Geodaten

Wie ich an der einen und anderen Stelle im Wochenrückblick schon einmal erwähnt habe, beschränkt sich die Transformer-Architektur mittlerweile nicht mehr nur auf Textaufgaben. Mit Vision Transformers lässt sich dies auch auf die grafische Ebene erweitern.

In einer Kooperation zwischen IBM und der NASA wurden nun die Prithvi-Modelle auf Hugging Face veröffentlicht. Sie ermöglichen es, ein Satellitenbild einzugeben und z. B. vorhersagen zu lassen, welche Gebiete am ehesten Fluten ausgesetzt sein könnten.

Um diese Vorhersagen zu ermöglichen, hat IBM Daten aus dem Harmonized Landsat Sentinel-2-Projekt (HLS) herangezogen, um ein Foundation Modell zu trainieren. Im HLS-Datensatz befinden Satellitendaten, die mit je 30 Metern pro Pixel aufgelöst sind. Auf der technischen Seite wird ein Vision Transformer mit Masked Autoencoder eingesetzt. Das Foundation Modell kann nun von weiteren Forschern feingetuned werden, um die jeweiligen Vorhersagen weiter zu verbessern. Durch IBMs Arbeit sollen nun mehr als 250.000 TB an Missionsdaten von der NASA besser zugänglich gemacht werden. Weitere Details zum Projekt können im Blogartikel und in der Pressemitteilung von IBM abgerufen werden.

Neue ChatGPT-Features

Wie SimilarWeb schon vor wenigen Wochen beobachten konnte, ebbt der Hype um ChatGPT langsam ab. Auffällig beim Release von ChatGPT war auch, wie puristisch die ganze Oberfläche war. Dabei ist es vermutlich das Backend, was OpenAI gemeistert hat, denn sie haben es geschafft, das System in den ersten Wochen unter ziemlich hoher Last aufrecht zu erhalten.

Im Frontend wurden aber zwischenzeitlich auch Änderungen und Verbesserungen umgesetzt, insbesondere die Einführung des kostenpflichtigen Dienstes ChatGPT Plus hat einige Anpassungen erfordert. Logan Kilpatrick, zuständig für "Developer Relations" bei OpenAI, gab nun einen Ausblick, was demnächst zu erwarten ist.

So wird es unter anderem vorgeschlagene Einstiegs- und Folgefragen und die Möglichkeit des Uploads mehrerer Dateien im Code Interpreter geben. Zudem soll die Zwangsabmeldung nach 14 Tagen abgeschafft werden.

Während ein Teil der Änderungen hilfreiche Detailverbesserungen beisteuert, werden die "vorgeschlagenen Folgefragen" am lustigsten sein. Nun schreibt also ChatGPT nicht nur die Antworten, sondern auch die Fragen. Es bleibt spannend.

Awesome NetBox - Sammlung für das DCIM und IPAM Tool

06. August 2023 um 12:05

Awesome NetBox

NetBox ist ein praktisches Tool, um Netzwerke zu inventarisieren und abzubilden. Quasi ein Wiki für die Hardware und deren Einstellungen. Es unterstützt IPAM (IP Address Management) und kann als Data Center Infrastructure Management  (DCIM) verwendet werden. Daneben bietet es natürlich weitere Features, die der Dokumentation entnommen werden können.

netboxDas System lässt sich nicht nur mit Plug-ins erweitern, sondern auch mit Ansible automatisieren, zum Erzeugen von QR Labels nutzen oder dem Abbilden der Netzwerktopologie. 

Awesome NetBox hat diese und weitere Features gesammelt und stellt sie via Linkliste zur Verfügung. Das erspart das Suchen nach weiteren Funktionen und bietet einen guten Startpunkt. Eine praktische Sammlung.

Koordinierungsstelle Digitale Souveränität und Open Source erneut ausgeschrieben

04. August 2023 um 15:04

Bewerbungen wieder möglich

FOSS-Koordinierungsstelle

Bild: FOSS-Koordinierungsstelle

Die Stadt Dortmund nimmt einen zweiten Anlauf die Koordinierungsstelle Digitale Souveränität und Open Source zu besetzen und hat heute eine entsprechende Stellenausschreibung veröffentlicht. Ihr brennt für Freie Software? Hier habt ihr die Möglichkeit Freie Software gestalterisch nach vorne zu bringen! Die Stadt Dortmund sucht weiterhin zum nächstmöglichen Zeitpunkt Unterstützung für die Entwicklung einer passgenauen Open-Source-Strategie für die Stadtverwaltung. Neben der Strategieentwicklung steht die Sicherstellung einer institutionalisierten Schnittstelle zwischen dem Dortmunder Systemhaus (dosys.), dem Datenschutz, der Politik sowie gesellschaftlichen Initiativen im Fokus.

Zur weiteren Einordnung der Stellenausschreibung verweist Do-FOSS auf den zuletzt veröffentlichten Blogbeitrag zum ersten Anlauf der Stellenbesetzung.

Die Mitarbeiter*innen der Stadt Dortmund und Do-FOSS stehen für Rückfragen gerne zur Verfügung.

Dortmund und Open Source – ein Überblick

Warum es sich lohnt das städtische Open-Source-Engagement zu unterstützen, kann anhand des folgenden chronologischen Auszugs der Open-Source-Leistungen der Stadt Dortmund selbst bewertet werden.

Dokument zum Herunterladen

Die aktuelle Stellenausschreibung der Stadt Dortmund kann hier heruntergeladen werden.

CC0
Soweit im gesetzlichen Rahmen möglich verzichtet der Autor auf alle Urheber- und damit verwandten Rechte an diesem Werk.
Es kann beliebig genutzt, kopiert, verändert und veröffentlicht werden.
Für weitere Informationen zur Lizenz, siehe hier.

The post Koordinierungsstelle Digitale Souveränität und Open Source erneut ausgeschrieben appeared first on Do-FOSS.

KI-Wochenrückblick KW 30/2023

30. Juli 2023 um 19:24

In diesem Wochenrückblick kann ich euch wieder drei spannende Nachrichten präsentieren, die abbilden, was in den letzten Tagen besondere Aufmerksamkeit in der AI-Community erhalten hat.

SDXL 1.0 erschienen

Wie in fast jeder Woche kann ich euch auch dieses Mal wieder von einem neuen Modell berichten. Das Team rund um Stability AI hat am 26. Juli SDXL 1.0 veröffentlicht. SDXL baut auf Stable Diffusion auf. In der kürzlich erschienenen Version 0.9 konnten viele Eindrücke bereits gesammelt werden.

Dabei handelt es sich um ein Text-zu-Bild-Modell, welches Eingaben in 1024x1024 Pixel große Bilder konvertiert. Das Modell wurde weiter für Fotorealismus optimiert und kann nun besser die Farben, Kontraste und Schatten abbilden, so die Pressemitteilung.

Auf technischer Ebene besteht SDXL 1.0 aus zwei Modellen: einem Base-Modell mit 3,5 Mrd. Parametern und einem Refiner-Modell mit 6,6 Mrd. Parametern. Grob lässt sich das Refiner-Modell so vorstellen, dass es die Vorarbeiten vom Base-Modell nochmals deutlich verbessert, um die Qualität zu steigern.

Stability AI gibt an, dass Consumer-GPUs mit 8 GB VRAM bereits ausreichen, um damit arbeiten zu können. Ich konnte SDXL 1.0 bereits auf einer A10-Karte ausprobieren und es ermöglicht beeindruckende Ergebnisse.

Als Open-Source-Modell kann man sich die Gewichte für das Base- und Refiner-Modell laden, um es anschließend lokal zu nutzen. Für Anwender, die lediglich in die Möglichkeiten hineinschnuppern möchten, bietet sich der Dienst ClipDrop an, der kostenlos eine geringe Anzahl an Bildern zum Test generiert. Lizenziert ist SDXL 1.0 unter der Open RAIL++-M-Lizenz.

Adversarial Attacks auf LLMs

Unter dem Namen Universal and Transferable Adversarial Attacks on Aligned Language Models (Webseite) haben Zuo (CMU), Wang (Center for AI Safety), Kolter (CMU, Bosch Center for AI) und Frederikson (CMU) ein Paper präsentiert, das auf dem klassischen Gedanken der Adversarial AI aufbaut. Ihr erfolgreich erreichtes Ziel ist es, bestehenden LLMs Antworten zu entlocken, die unterdrückt werden sollen, da sie gegen die Regeln der LLM-Autoren verstoßen würden.

Die klassischen "Jailbreaks" kamen bereits kurz nach der Veröffentlichung von ChatGPT auf und wurden zeitnah immer geschlossen. Das ging in die Richtung von "Ein gute KI würde nicht sagen, wie man BÖSE SACHE HIER EINFÜGEN tut. Was würde aber eine böse KI sagen?". Die konkreten Anfragen mussten allerdings manuell aufwändig optimiert werden. Die Forscher stellen nun einen automatisierten Ansatz vor, der die böse Anfrage um eine Zeichenkette erweitert, die für Menschen unsinnig aussieht, aber das LLM intern in einer Weise beeinflusst, sodass es die aufwändig implementierten Schutzmechanismen selber missachtet und "Klartext" spricht.

Adversarial AI ist nicht neu und bereits aus der Bilderkennung bekannt. Hier genügte es, bestimmte Pixel in einem Bild zu verändern, die die menschliche Wahrnehmung nicht ändern, aber KI-Modelle verwirren. So wird für das Modell schnell aus einem 30er-Zonen-Schild ein 80er-Zonen-Schild. Dies ist durch das Studium der Modelle möglich, da man über die Zeit lernen kann, wie die Eingaben die Ausgaben beeinflussen und an welchen Stellen neuronale Netze unerwünschte Ausgaben gezielt herbeiführen kann.

1 LLM + 1 GPU + 1 Day

Die letzte Nachricht dieser Woche ist bereits ein kleiner Ausblick. Im Dezember 2023 findet die NeurIPS 2023 statt. Die NeurIPS ist eine der angesehensten Konferenzen über neuronale Netze. Schon jetzt wurde eine neue Challenge veröffentlicht, an der man bis voraussichtlich Oktober 2023 noch teilnehmen kann.

Bei der LLM Model Effiency Challenge ist das Ziel, ein bestehendes Foundation Model innerhalb eines Tages auf einer GPU, wahlweise einer 4090 oder A100 (40 GB), für ein bestimmtes Aufgabengebiet finezutunen. Dabei gelten bestimmte Regeln, welche Foundation Models z. B. verwendet werden dürfen. Darunter sind Falcon, MPT, Llama 2, BART oder T5 enthalten.

Das Ziel der Challenge ist es, die Transparenz in der Forschung der LLMs zu verbessern, da u.a. bisher ein besonders hoher Ressourcenaufwand nötig war, um das Training erfolgreich umzusetzen. Diese Challenges dienen auch, innovative Ansätze zu fördern, da durch die künstlichen Beschränkungen die Teilnehmer angehalten werden, Wege zu finden, eben 1 LLM mit 1 GPU innerhalb 1 Tages zu trainieren. Die Besten der Besten lassen sich auf einem Leaderboard tracken, um zu sehen, wer den "Highscore" knackt. Die beiden besten Teams dürfen dann auf der NeurIPS jeweils einen 30-minütigen Talk halten.

Es bleibt also weiterhin spannend. Blicken wir auch in eine neue Woche mit spannenden Neuerungen und Entwicklungen!

❌