Normale Ansicht

Es gibt neue verfügbare Artikel. Klicken Sie, um die Seite zu aktualisieren.
Ältere BeiträgeKoflers Blog

Hilfe, pip funktioniert nicht mehr!

19. Oktober 2023 um 08:08

pip ist das Paketverwaltungs-Tool von Python. Wenn Sie in einem Script ein Zusatzmodul benötigen, führen Sie einfach pip install xxx bzw. unter macOS und bei manchen Linux-Distributionen pip3 install xxx aus. pip lädt das erforderliche Modul sowie eventuelle Abhängigkeiten herunter und installiert die Pakete lokal (d.h., sie brauchen meine root-Rechte).

Meistens funktioniert pip gut — aber nicht immer. Die häufigste Fehlerquelle unter Windows ist die Parallelinstallation mehrerer Python-Versionen. Dann ist nicht immer klar, auf welche Python-Version sich pip bezieht. Nach meiner Erfahrung scheint pip zumeist die falsche Version zu nehmen. Daher mein Tipp: Vermeiden Sie unter Windows unbedingt die Mehrfachinstallation von Python!

Aber auch unter Linux kann es Probleme geben. Die Ursache hier besteht darin, dass viele Distributionen selbst eine riesige Sammlung von Paketen mit Python-Erweiterungen anbieten. Die Parallelinstallation eines Moduls, einmal mit apt oder dnf und ein zweites Mal mit pip, kann dann zu Konflikten führen — insbesondere dann, wenn nicht exakt dieselben Versionen zum Einsatz kommen. Die Python-Entwickler haben deswegen im ‎Python Enhancement Proposals (PEP) 668 festgeschrieben, dass in solchen Fällen Pakete aus Linux-Repositories vorzuziehen sind. PEP 668 gilt grundsätzlich seit Python 3.11. Tatsächlich implementiert ist es momentan nur in aktuellen Linux-Distributionen:

  • Ubuntu ab Version 23.04
  • Debian ab Version 12
  • Raspberry Pi OS ab dem Bookworm-Release (Okt. 2023)
  • Arch Linux

Noch nicht implementiert ist PEP 668 dagegen unter RHEL und Fedora (auch nicht in Version 39 Beta).

pip-Fehlermeldung

Der Versuch, mit pip ein Modul zu installieren, führt bei aktuellen Debian-, Ubuntu- und Raspberry-Pi-OS-Versionen zur folgenden Fehlermeldung:

$ pip install 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.

    If you wish to install a non-Debian packaged Python application,
    it may be easiest to use pipx install xyz, which will manage a
    virtual environment for you. Make sure you have pipx installed.

    See /usr/share/doc/python3.11/README.venv for more information.

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.

Lösung 1: Installation des äquivalenten Linux-Pakets

Die obige Fehlermeldung weist direkt auf die beste Lösung hin — nämlich die Installation des entsprechenden Linux-Pakets mit apt python3-xxx, wobei xxx der Paketname ist. Für die matplotlib führen Sie unter Debian, Ubuntu und Raspberry Pi OS das folgende Kommando aus:

sudo apt install python3-matplotlib

Diese Empfehlung ist mit zwei Einschränkungen verbunden: Sie erfordert, dass Sie root– oder sudo-Rechte haben, und sie setzt voraus, dass das gewünschte Modul tatsächlich im Repository Ihrer Linux-Distribution zur Verfügung steht. Letzteres ist oft der Fall, aber nicht immer. Auf pypi.org gibt es fast 500.000 Projekte, die Debian-Standard-Repositories enthalten dagegen »nur« gut 4000 (apt list | grep python3- | wc -l).

Lösung 2: Verwendung einer virtuellen Umgebung

Ein Virtual Environment im Kontext von Python ist ganz einfach ein Projektverzeichnis, in das die für das Projekt erforderlichen Module lokal und projektspezifisch installiert werden. Das hat mehrere Vorteile:

  • Es ist klar, welche Module ein bestimmtes Projekt benötigt. Das Projekt lässt sich später einfacher auf einen anderen Rechner übertragen.
  • Es kann keine Konflikte zwischen unterschiedlichen Projekten geben, die unterschiedliche Module erfordern.
  • Sie sind nicht auf die von Ihrer Linux-Distribution angebotenen Python-Module eingeschränkt und brauchen keine Administratorrechte zur Installation von Linux-Paketen.

Virtuelle Umgebungen werden von Python durch das Modul venv unterstützt. Dieses Modul muss vorweg installiert werden, entweder mit apt install python3-venv oder durch apt install python3-full. Anschließen richten Sie Ihr Projekt ein:

$ python3 -m venv my-project

Python erzeugt das Verzeichnis my-project, falls dieses noch nicht existiert, und richtet dort eine minimale Python-Umgebung ein. (»Minimal« bedeutet: ca. 1500 Dateien, Platzbedarf ca. 25 MByte. Nun ja.) Nun führen Sie in Ihrem Terminal-Fenster mit source das Shell-Script activate aus, um die Umgebung zu aktivieren:

$ cd my-project
$ source bin/activate
(my-project)$ 

In dieser Umgebung funktioniert pip wie gewohnt. In der Folge können Sie Ihr Script ausführen, das die lokal installierte Module nutzt:

(my-project)$ pip install requests beautifulsoup4
(my-project)$ ./my-webscraping-script.py

Anstelle venv direkt zu nutzen, gibt es diverse Tools, um die Verwaltung Ihrer virtuellen Umgebungen zu vereinfachen. Am bekanntesten sind pipenv und virtualenv. Persönlich ist mir pipenv am liebsten. Das Tool muss vorweg installiert werden (apt install pipenv).

Lösung 3: Das Kommando pipx

pipx ist eine Variante zum klassischen pip-Kommando, das sich gleichzeitig um die Einrichtung einer virtuellen Umgebung kümmert (siehe auch die Dokumentation). pipx ist allerdings nicht zur Installation von Bibliotheken gedacht, sondern zur Installation fertiger Python-Programme. Diese werden in .local/bin gespeichert.

pipx ist nur dann eine attraktive Option, wenn Sie ein als Python-Modul verfügbares Programm unkompliziert installieren und ausführen wollen. Wenn Sie dagegen selbst Scripts entwickeln, die von anderen Modulen abhängig sind, ist pipx nicht das richtige Werkzeug.

Lösung 4: Option pip --break-system-packages

Ein vierter Lösungsweg besteht darin, an pip die Option --break-system-packages zu übergeben. Die Option ist weniger schlimm, als ihr Name vermuten lässt. Im Prinzip funktioniert pip jetzt so wie bisher und installiert das gewünschte Modul, ganz egal, ob es ein äquivalentes Paket Ihrer Distribution gibt oder nicht, und unabhängig davon, ob dieses Paket womöglich schon installiert ist.

Empfehlenswert ist der Einsatz dieser Option in CI-Scripts (Continuous Integration), z.B. in Test- oder Deploy-Scripts für git (siehe auch diesen Blog-Beitrag von Louis-Philippe Véronneau). Die Option --break-system-packages ist oft der schnellste und bequemste Weg, nicht mehr funktionierende Scripts wieder zum Laufen zu bringen.

Quellen/Links

Ubuntu 23.10

18. Oktober 2023 um 11:10

Nachdem Hasskommentare in der ukrainischen Übersetzungsdateien entfernt wurden (siehe auch omgubuntu.co.uk), steht das ISO-Image von Ubuntu 23.10 »Mantic Minotaur« wieder zum Download zur Verfügung. Die neueste Version von Ubuntu ist das letzte Release vor der nächsten LTS-Version — und insofern besonders interessant: »Mantic Minotaur« vermittelt eine erste Vorstellung, wie Ubuntu LTS die nächsten Jahre prägen wird.

Updates: 14.11.2023, Netplan

Installation und App Center

Ich habe die Installation diesmal nur in virtuellen Maschinen getestet. Zumindest dort hat das neue Installationsprogramm problemlos funktioniert — auf jeden Fall besser als in Version 23.04, in der das Installationsprogramm erstmalig zum Einsatz kam. Die für die meisten Nutzer wichtigste Neuerung besteht darin, dass nun standardmäßig eine »Minimalinstallation« durchgeführt wird — ohne LibreOffice, Thunderbird, Foto-Verwaltung, Audio-Player usw.

Standardmäßig wird eine Minimalinstallation ohne Office-Programme durchgeführt

Grundsätzlich mag ich diesen Minimalismus. Bei der Installation der fehlenden Programme hilft das mit der Bibliothek Flutter neu implementierte »App Center«, dessen Versionsnummer 1.0.0-alpha lautet. 1.0.0 klingt an sich schon abschreckend, »alpha« macht es noch schlimmer. Bei meinen Tests sind aber erfreulicherweise keine Probleme aufgetreten. Im App Center führt Entdecken / Jump start your desktop in die Sammlung Ubuntu Desktop, die auf bisher vorinstallierte Pakete verweist.

Eine Rubrik im neuen App Center offeriert wichtige Office-Programme ausschließlich im Snap-Format

Eines sollte Ihnen aber klar sein: Anders als manche Tester von Ubuntu 23.10 geschrieben haben, werden mit dem App Center ausschließlich Snap-Pakete installiert. Ob das gewünschte Programm auch im Debian-Format zur Verfügung steht oder nicht, spielt keine Rolle. Für das App Center gilt Snap only. Falls Sie Debian-Pakete vorziehen, müssen Sie diese nun im Terminal mit apt suchen und installieren (also z.B. apt install gimp). In Ubuntu gibt es keine (vorinstallierte) grafischer Oberfläche mehr, um Debian-Pakete zu installieren.

Das App Center ist auch insofern ein Rückschritt, als es nicht in der Lage ist, heruntergeladene Debian-Pakete zu installieren. Wenn Sie im Webbrowser die gerade heruntergeladene *.deb-Datei anklicken, erhalten Sie die Fehlermeldung, dass es kein (grafisches) Programm zur Verarbeitung von *.deb-Dateien gibt. Sie müssen die Installation wie folgt durchführen:

sudo apt install ~/Downloads/name.deb

Platzbedarf

Ich habe in der Vergangenheit oft über den immensen Platzbedarf von Snap-Paketen geschimpft, sowohl auf der SSD als auch (nach dem Start) im Arbeitsspeicher. Für diesen Artikel wollte ich diese Aussagen mit neuem Zahlenmaterial untermauern, bin aber auf überraschende Ergebnisse gestoßen.

Die neue »Minimalinstallation« beansprucht 4,7 GByte Platz auf der SSD. Nicht mitgerechnet ist dabei die Swap-Datei /swap.img. Das Installationsprogramm richtet diese Datei je nach Hardware sehr großzügig ein (bei meinen Tests mit 3,9 GiB). Tipps, wie Sie die Swap-Datei bei Bedarf verkleinern können, folgen gleich.

Der Snap-Anteil nach einer Minimalinstallation beträgt ca. 1 GByte:

du -h -d 0 /var/lib/snapd/

  970M   /var/lib/snapd/

snap list

  Name                       Version          Revision  Tracking         Herausgeber  Hinweise
  bare                       1.0              5         latest/stable    canonical✓   base
  core22                     20230801         864       latest/stable    canonical✓   base
  firefox                    118.0.1-1        3216      latest/stable/…  mozilla✓     -
  firmware-updater           0+git.e8771be    109       latest/stable/…  canonical✓   -
  gnome-42-2204              0+git.ff35a85    141       latest/stable/…  canonical✓   -
  gtk-common-themes          0.1-81-g442e511  1535      latest/stable/…  canonical✓   -
  snap-store                 0+git.e118b05    1046      latest/stable/…  canonical✓   -
  snapd                      2.60.4           20290     latest/stable    canonical✓   snapd
  snapd-desktop-integration  0.9              83        latest/stable/…  canonical✓   -

ls -lhS /var/lib/snapd/snaps/

  -rw------- 2 root root 497M Okt 16 12:41 gnome-42-2204_141.snap
  -rw------- 2 root root 241M Okt 16 12:40 firefox_3216.snap
  -rw------- 2 root root  92M Okt 16 12:41 gtk-common-themes_1535.snap
  -rw------- 2 root root  74M Okt 16 12:41 core22_864.snap
  -rw------- 2 root root  41M Okt 16 12:41 snapd_20290.snap
  -rw------- 2 root root  12M Okt 16 12:41 firmware-updater_109.snap
  -rw------- 2 root root  11M Okt 16 12:41 snap-store_1046.snap
  ...

Ich habe nun alle Snaps aus der Rubrik Ubuntu Desktop installiert, also LibreOffice, Thunderbird, Shotwell usw., insgesamt 10 Pakete. Der Platzbedarf der Snaps steigt auf 2,8 GByte:

du -h -d 0 /var/lib/snapd/

  2,8G   /var/lib/snapd/


ls -lhS /var/lib/snapd/snaps/

  -rw------- 2 root root 1,1G Okt 18 08:39 libreoffice_300.snap
  -rw------- 2 root root 497M Okt 16 12:41 gnome-42-2204_141.snap
  -rw------- 2 root root 350M Okt 18 08:38 gnome-3-38-2004_143.snap
  -rw------- 2 root root 241M Okt 16 12:40 firefox_3216.snap
  -rw------- 2 root root 153M Okt 18 08:37 remmina_6117.snap
  -rw------- 2 root root 105M Okt 18 08:35 thunderbird_395.snap
  -rw------- 2 root root  92M Okt 16 12:41 gtk-common-themes_1535.snap
  -rw------- 2 root root  74M Okt 16 12:41 core22_864.snap
  -rw------- 2 root root  64M Okt 18 08:35 core20_2015.snap
  -rw------- 2 root root  45M Okt 18 08:35 shotwell_7.snap
  -rw------- 2 root root  41M Okt 16 12:41 snapd_20290.snap
  -rw------- 2 root root  36M Okt 18 08:35 cheese_37.snap
  -rw------- 2 root root  14M Okt 18 08:35 gnome-calendar_182.snap
  -rw------- 2 root root  12M Okt 16 12:41 firmware-updater_109.snap
  -rw------- 2 root root  11M Okt 16 12:41 snap-store_1046.snap
  -rw------- 2 root root 4,3M Okt 18 08:35 transmission_54.snap
  -rw------- 2 root root 3,6M Okt 18 08:35 gnome-mahjongg_170.snap
  ...

Der RAM-Bedarf des Ubuntu-Desktops im Leerlauf mit einem Terminal-Fenster und dem Programm Systemüberwachung beträgt laut free -h ca. 1,2 GByte. Nun habe ich Firefox (ca. 8 Sekunden), Shotwell (wieder 8 Sekunden) und LibreOffice Writer (20 Sekunden) gestartet, ohne darin aktiv zu arbeiten. Alle Tests habe ich in einer virtuellen Maschine mit 2 CPU-Cores und 4 GiB RAM durchgeführt. Auf echter Hardware sind schnellere Startzeiten zu erwarten.

Der Speicherbedarf im RAM steigt dann auf moderate 1,9 GByte an.

Kurz und gut: Der Platzbedarf von Snap-Paketen sowohl auf dem Datenträger als auch im Arbeitsspeicher ist beträchtlich, aber er ist nicht mehr so exorbitant hoch wie früher. Und je mehr Snap-Pakete parallel installiert werden, desto geringer ist der gemeinschaftliche Overhead durch die Parallelinstallation diverser Bibliotheken. (Unter Ubuntu 23.10 ist Gnome 45 installiert. Aber damit alle Snap-Pakete der Kategorie Ubuntu Desktop ausgeführt werden können, ist parallel dazu auch Gnome 42 und Gnome 3.38 erforderlich — siehe das obige Listing.)

Die Startzeiten von Programmen sind weiterhin etwas höher als bei einer gleichwertigen Installation durch Debian-Pakete, aber damit kann ich mich abfinden. Canonical hat seine Snap-Infrastruktur also in den vergangenen Jahren schrittweise verbessert. Sie funktioniert nun spürbar besser als in den ersten Versionen.

Als wichtigster Kritikpunkt bleibt der proprietäre Snap Store, der alleine durch Canonical verwaltet wird. Alternative Snap-Paketquellen sind nicht vorgesehen (ganz im Gegensatz zu Red Hats Flatpak-System).

Swap-Datei verkleinern

Sie können die Swap-Datei bei Bedarf Ihren eigenen Bedürfnissen entsprechend verkleinern:

sudo swapoff /swap.img
sudo rm /swap.img
sudo dd count=1024 bs=1M if=/dev/zero of=/swap.img  # 1024 x 1 MiB = 1 GiB
sudo chmod 600 /swap.img
sudo mkswap /swap.img
sudo swapon /swap.img

CUPS doch nicht als Snap-Paket

Canonical wollte CUPS eigentlich in ein Snap-Paket umbauen (siehe openprinting.github.io) und in dieser Form in Ubuntu integrieren. Aufgrund technischer Probleme ist dieses Vorhaben nun voraussichtlich bis Version 24.10 verschoben. Die LTS-Version 24.04 ist für derartige Experimente nicht so gut geeignet.

TPM-Verschlüsselung

Technisch sehr interessant ist Canonicals Konzept, die Verschlüsselung des Datenträgers mittels TPM (Trusted Platform Modules, also in die CPU eingebaute Kryptografie-Funktionen) abzusichern. Unter Windows, macOS, iOS und Android ist dies längst eine Selbstverständlichkeit. Mangels geeigneter Hardware habe ich diese Funktionen allerdings nicht testen können.

Aktuell bezeichnet die Dokumentation dieses Feature zudem noch als experimentell. Es wird nur ausgewählte TPM-Hardware unterstützt. Die Implementierung basiert (natürlich) auf Snap-Paketen für den Bootloader und den Kernel. Proprietäre Kernel-Module (NVIDIA) können nicht verwendet werden. Soweit ich das Konzept verstanden habe, muss das Verschlüsselungspasswort weiterhin eingegeben werden, d.h. das Hochfahren und Authentifizieren nur per Fingerabdruck ist nicht möglich. Oder, anders formuliert: Das Boot-Konzept wird sicherer, aber nicht komfortabler.

Netplan

Ubuntu verwendet mit Netplan seit 2016 ein selbst entwickeltes System zur Administration der Netzwerkverbindungen. Netplan ist vor allem bei Server-Installationen wichtig, wo es eine zentrale Rolle einnimmt. Am Desktop delegiert Netplan die Kontrolle über die WLAN-Schnittstellen dagegen an den NetworkManager. Insofern haben Desktop-Anwender Netplan nie bemerkt.

Grundsätzlich ändert sich daran auch mit Version 23.10 nichts. Neu ist aber, dass die Kommunikation zwischen dem NetworkManager und Netplan nicht länger eine Einbahnstraße ist. Bisher wusste Netplan nichts von den durch den NetworkManager verwalteten Netzwerkverbindungen. Laut dem Ubuntu Blog hat sich das mit Version 23.10 geändert: Vom NetworkManager eingerichtete Verbindungen werden nun in /etc/netplan gespeichert (und nicht mehr in /etc/NetworkManager/system-connections/). Dabei kommt die Netplan-eigene Syntax für Konfigurationsdateien zum Einsatz. Bei einem Update von älteren Ubuntu-Versionen werden vorhandene WLAN-Verbindungen automatisch nach /etc/netplan migriert.

Desktop

Ubuntu 23.10 verwendet Gnome 45 als Desktop. Mehrere vorinstallierte Shell Extensions (Desktop Icons, Ubuntu AppIndicators, Ubuntu Dock und Ubuntu Tiling Assistand) stellen sinnvolle Zusatzfunktionen zur Verfügung:

  • Das Dock kann wahlweise links, rechts oder unten platziert werden.
  • Fenster können so verschoben werden, dass diese ein Bildschirmviertel ausfüllen (Quarter Tiling). Außerdem gibt es einige fortgeschrittene Tiling-Funktionen. (Gnome ohne Erweiterungen kennt bekanntermaßen nur Bildschirmhälften, was auf einem großen Monitor mager ist.)

  • Auf dem Desktop können Icons dargestellt werden.

  • Ältere Gnome-Programme können Indikator-Icons im Panel darstellen.

Ubuntu verwendet Gnome 45 als Desktop, angereichert um ein paar Extensions für das vertikale Dock, Quarter-Tiling und Desktop-Icons

Versionsnummern

Basis             Desktop             Programmierung   Server
---------------   ------------------  ---------------  --------------
Kernel      6.5   Gnome          45   bash        5.2   Apache     2.4
glibc      2.38   Gimp         2.10   docker.io 20.10   CUPS       2.4
X-Server   21.1   LibreOffice   7.6   gcc          13   MariaDB  10.11
Wayland    1.22                       git        2.40   MySQL      8.0
Mesa       23.2                       Java         17   OpenSSH    9.3
Systemd     252                       PHP         8.2   qemu/KVM   8.0
NetworkMan 1.44                       Python     3.11   Postfix    3.8
GRUB       2.12                                         Samba     4.18

Der Fokus auf Snap macht es nicht immer ganz klar, wo welches Paket zu suchen ist. Gimp, LibreOffice, aber auch Docker (!) können als Snap-Pakete installiert werden. Programmiersprachen wie C, Java, Python oder PHP (Ausnahme: Go, siehe Kommentare) sowie Server-Anwendungen wie Apache, MySQL oder Samba sind vorerst noch gewöhnliche Debian-Pakete.

Raspberry Pi

Ubuntu 23.10 läuft auch auf dem nagelneuen Raspberry Pi 5. Einen diesbezüglichen Test habe ich schon vor ein paar Tagen veröffentlicht.

Fazit

Aus meiner Sicht ist und bleibt Ubuntu die erste Anlaufstelle für Linux-Einsteiger. Der Desktop ist optisch ansprechend, Gnome Shell Extensions helfen dort nach, wo Gnome Defizite hat. In ganz vielen Fällen gilt: It just works.

Allerdings hat sich Canonical — allen Widerständen zum Trotz — dazu entschieden, voll auf das eigene Snap-Paketformat zu setzen. Grundsätzlich funktioniert das gut. Aus der Sicht von Canonical ist es natürlich toll, nur ein Paket für verschiedene Ubuntu-Releases warten zu müssen — und die Paket-Version losgelöst von der Ubuntu-Version auch aktualisieren zu können. Canonical kann also durch die Änderung eines Pakets ein LibreOffice-Update auf das nächste Major-Release für alle gerade aktiven Ubuntu-Versionen durchführen. Diesem Vorteil steht anwenderseitig ein — sagen wir mal — großzügiger Umgang mit Ressourcen gegenüber.

Bisher konnte man als erfahrener Ubuntu-Anwender Snap-Paketen aus dem Weg gehen, also snap deinstallieren und anstelle von Snap-Paketen gleichwertige Debian-Pakete installieren. Das wird zunehmend unmöglich, und das ist letztlich auch der falsche Denkansatz. Vielmehr gilt: Wer Ubuntu sagt, muss auch Snap sagen. Und wer das nicht will, muss sich von Ubuntu verabschieden.

Ich bin deswegen auf ArchLinux umgestiegen und habe es nicht bereut. Für Linux-Einsteiger, die dem Snap-Kosmos misstrauisch gegenüberstehen, sind Debian oder Linux Mint einfachere Alternativen. Wenn Sie dagegen keine ideologischen Einwände gegen Snap haben und einen ordentlichen Rechner besitzen, ist Ubuntu samt Snap eine runde Sache.

Quellen/Links

Andere Tests

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

HEIC/HEIF-Dateien unter Ubuntu und Fedora verarbeiten

14. August 2023 um 16:46

Das High Efficiency Image File Format (HEIF) ist ein relativ neues Dateiformat für Bilder und Bildsequenzen. Es ist durch die Moving Picture Experts Group (MPEG) standardisiert und wird seit 2017 vor allem von Apple eingesetzt. Die resultierenden *.heif– bzw. *.heic-Dateien ermöglichen bei gleicher Bildqualität kleinere Dateigrößen. Die Kennung *.heic weist auf die Kombination von HEIF mit dem Video-Codec Efficiency Video Coding (HEVC) hin.

Kürzlich wollte ich ein paar mit dem iPhone aufgenommene Bilder unter Linux mit Shotwell verarbeiten. Dabei bin ich, leider beinahe erwartungsgemäß, auf Probleme gestoßen. Einige ließen sich lösen, aber nicht alle.

Mit etwas Überredungskunst kann Shotwell auch mit HEIC-Dateien umgehen.

Ubuntu

Es beginnt damit, dass das weit verbreitete Foto-Management-Programm Shotwell erst seit April 2023 (Version 0.32) kompatibel mit dem HEIF-Format ist. Ubuntu bis einschließlich Version 23.04 liefert Shotwell aber in der Version 0.30 aus.

Um Version 0.32 zu installieren, müssen Sie zuerst ein Private Package Archive (PPA) aktivieren. Außerdem müssen
Sie die Bibliotheken libheif1 und heif-gdk-pixbuf installieren. (Diese Pakete gelten nicht als Abhängigkeiten und werden daher nicht automatisch installiert.)

sudo add-apt-repository ppa:ubuntuhandbook1/shotwell
sudo apt update
sudo apt install shotwell libheif1 heif-gdk-pixbuf

Sind diese Hürden einmal überwunden, funktioniert der Import von HEIC-Dateien in Shotwell problemlos, wenn auch sehr langsam.

Fedora

Unter Fedora 38 sieht die Lage nicht viel besser aus. Shotwell steht zwar in der aktuellen Version 0.32 wahlweise als Flatpak- oder als RPM-Paket zur Verfügung, scheitert aber in beiden Varianten beim Import von HEIC-Dateien. Schuld sind wiederum fehlende Bibliotheken.

Bei der Flatpak-Variante lässt sich dieses Problem aktuell nicht lösen, weil Shotwell die Bibliotheken aus Framework-Flatpaks liest, auf die Sie als Anwender keinen Einfluss haben. (Habe ich schon einmal erwähnt, dass ich weder von Snaps noch von Flatpaks viel halte?)

Die RPM-Version von Shotwell wird HEIF-kompatibel, wenn Sie die Paketquellen RPM Fusion Free und Nonfree aktivieren (siehe https://rpmfusion.org/Configuration) und das dort enthaltene Paket libheif-freeworld installieren:

sudo flatpak remove shotwell
sudo dnf install shotwell libheif-freeworld

Unter Fedora scheiterte Shotwell jetzt aber am Auslesen der EXIF-Daten. Damit fehlen Informationen, wann die Fotos aufgenommen wurden. Eine Lösung zu diesem Problem habe ich nicht gefunden. Die Sache ist ein wenig unbegreiflich, weil der Import unter Ubuntu mit EXIF-Daten funktioniert.

Nautilus und Gimp

Nicht nur Shotwell zickt, wenn es auf HEIC-Dateien stößt, ähnliche Probleme haben auch Gimp, Nautilus und Co. Bei Gimp besteht die Lösung darin, das Paket gimp-heif-plugin zu installieren.

Nautilus unter Debian/Ubuntu setzt den heif-thumbnailer voraus, der aber ebenfalls nicht automatisch installiert wird. Unter Fedora müssen Sie stattdessen die libheif-tools installieren.

heic-convert

Eine Notlösung besteht darin, HEIC-Dateien vorweg in das JPEG-Dateien umzuwandeln. Dabei hilft das Kommando heif-convert aus dem Paket libheif-tools (Fedora) bzw. libheif-examples (Ubuntu). Das folgende Kommando durchläuft alle *.HEIC-Dateien im aktuellen Verzeichnis und erzeugt JPEG-Dateien in hoher Qualität. Die resultierenden Dateien sind leider wesentlich größer als die HEIC-Originale.

for f in *.HEIC; do heif-convert -q 95 --with-exif $f $f.jpg; done

Fazit

Wenn sich immer wieder einmal jemand wundert, warum aus Linux am Desktop nichts wird — hier ist die Antwort: Aufgrund vieler Kleinigkeiten versagt Linux im praktischen Betrieb und treibt seine Anwender zur Verzweiflung. Und den schwarzen Peter jetzt Apple zuzuschieben, das partout HEIF/HEVC einsetzt, ist nicht ganz fair: Diese Dateiformate kommen nun seit sechs (!) Jahren zum Einsatz, nicht erst seit gestern.

Und tatsächlich sind unter Linux eigentlich alle Puzzle-Stücke schon da. Aber ohne stundenlange Internet-Recherche lassen sie sich nicht zusammenfügen. (Ein verblüffendes Gegenbeispiel ist übrigens KDE Neon, ansonsten eigentlich nicht meine Lieblingsdistribution: Dort werden HEIC-Dateien auf Anhieb im KDE-Dateimanager korrekt angezeigt. Auch Digikam kommt mit den Dateien sofort zurecht. Leider auch nur fast: Digikam scheitert, im Portrait-Modus aufgenommene Bilder richtig zu drehen, obwohl die EXIF-Daten eigentlich da wären.)

Quellen/Links

Ubuntu 23.04 (aktualisiert 28.4.2023)

21. April 2023 um 13:16

Wenige Tage nach Fedora hat Ubuntu nachgezogen. Spannend an der Version »Lunar Lobster« ist der komplett neu implementierte Installer.

Ubuntu verwendet als Desktop Gnome 44, angereichert mit ein paar Erweiterungen

Update 28.4. und 6.5.: Massive Installer-Problem (siehe unten)

Installation

Über die Installation von Standarddistributionen lohnt es sich kaum mehr, etwas zu schreiben. Das Prozedere verläuft in festen Bahnen, Neuerungen gab es in den vergangenen Jahren nur ganz selten. Wozu etwas ändern, wenn alle zufrieden sind?

Canonical sah das anders und hat das Installationsprogramm für Ubuntu rundumerneuert. Interessanterweise kam dabei die plattformunabhängige GUI-Bibliothek Flutter zum Einsatz. Wer sich nun spektakuläre neue Features erwartet, wird aber enttäuscht sein. Auch wenn das Layout ein wenig anders aussieht als bisher, weisen die Dialoge exakt dieselben Optionen auf wie bisher. Bei meinen Tests hat sich der Installer auch wie gewohnt verhalten, wobei ich zugeben muss, dass ich bisher nur einfache Setups ausprobiert habe. Die einzig echte Neuerung ist eine Auswahlmöglichkeit zwischen einem hellen und einem dunklen Desktop-Layout — eine Einstellung, die bei Bedarf auch später einfach geändert werden kann.

Auch wenn die optischen Unterschiede gering sind: Das Installationsprogramm wurde komplett neu implementiert

Canonicals Fehde gegen Flatpak

Wie schon in den vergangenen Versionen setzt Canonical als zweites Paketformat auf die Eigenentwicklung Snap. Neben diversen Bibliotheken sind standardmäßig nur zwei echte Snap-Pakete installiert: Firefox und eine modifizierte Version des Software-Managers. Immerhin wurde ein großer Kritikpunkt an Firefox ausgemerzt: Der Browser startet nun nahezu gleich schnell wie bei einer herkömmlichen Installation. Der Preis für die wenigen Snap-Pakete ist hoch: du /snap liefert einen Installationsumfang von 2,6 GByte (!). Die Images sind zwar komprimiert und brauchen tatsächlich weniger Platz auf der Disk. Aber für die Ausführung von Snap-Paketen ist eine Menge RAM erforderlich.

Andreas Proschofsky weist in seinem ausführlichen Ubuntu-Test auf die bestürzend schlampige Integration von Snap-Paketen im Software-Manager hin. Selbst wäre mir das vermutlich entgangen, weil ich dem Software-Manager (also »Ubuntu Software«) normalerweise aus dem Weg gehe, ganz egal, unter welcher Distribution ich gerade arbeite.

In der Vergangenheit hat Ubuntu das alternative Zweitformat Flatpak aus der Red-Hat-Schmiede nahezu gleichwertig unterstützt. Das gilt nun nicht mehr ganz: Das Paket flatpak ist standardmäßig nicht installiert. Das Paket wird aber weiter mitgeliefert und kann mit apt install flatpak im Handumdrehen installiert werden.

Schon interessanter ist eine andere Regel: »Offizielle« Ubuntu-Derivate müssen Snap verwenden und dürfen nicht auf Flatpak setzen (Quelle). Ob das Snap beliebter macht?

Ein Blick in die Tiling-Zukunft

Ubuntu denkt darüber nach, in Zukunft Tiling-Funktionen in Form einer zusätzlichen Gnome-Erweiterung standardmäßig auszuliefern. »Tiling« gibt vor allem Nutzern von großen Monitoren bessere Möglichkeiten, mehrere Fenster nebeneinander zu platzieren. Wie gut das funktionieren kann, hat (ausgerechnet!) Microsoft in Windows 11 gezeigt.

Wenn Sie die neue Funktion schon jetzt ausprobieren möchten, installieren Sie das entsprechende Paket, das sich bereits in den Paketquellen befindet:

sudo apt install gnome-shell-extension-ubuntu-tiling-assistant

(Ein kürzerer Paketnamen war wohl nicht möglich.) Die Installation lohnt sich alleine schon deswegen, weil Fenster nun endlich in einem Monitorviertel platziert werden können (während Gnome findet, Halbe-Halbe muss reichen). Wird die Größe der Fenster dann verändert, passen sich die anderen Fenster auch gleich an. Nach der Installation der Tiling-Erweiterung tauchen in den Systemeinstellungen zwei neue Optionen auf, mit denen sich das Tiling-Verhalten ein wenig adaptieren lässt.

Die Systemeinstellungen enthalten zwei versteckte Tiling-Optionen, die erst erscheinen, sobald das entsprechende Paket installiert ist

Software-Versionen

Basis             Desktop             Programmierung   Server
---------------   ------------------  ---------------  --------------
Kernel      6.2   Gnome          44   bash        5.2   Apache     2.4
glibc      2.37   Gimp         2.10   docker.io 20.10   CUPS       2.4
X-Server   1.21   LibreOffice   7.5   gcc        12.2   MariaDB  10.11
Wayland    1.21                       git        2.39   MySQL      8.0
Mesa       23.0                       Java         17   OpenSSH    9.0
Systemd     252                       PHP         8.1   qemu/KVM   7.2
NetworkMan 1.42                       Python     3.11   Postfix    3.7
GRUB       2.06                                         Samba     4.17

Installer-Probleme (28.4.2023)

Heute habe ich versucht, Ubuntu 23.04 auf einen weiteren Rechner zu installieren. Es handelt sich um einen recht gewöhnlichen, schon etwas in die Jahre gekommenen PC. Zwei SATA-SSDs, eine mit Windows 11, die andere mit einer bunten Sammlung von Linux-Distributionen. LAN-Integration über Ethernet-Kabel. Intel-CPU, 16 GB RAM.

Auf diesem Rechner bleibt der Installer im ersten Dialog einfach hängen. (Ich habe über 10 Minuten gewartet. Keine CPU-Aktivität, nichts …) Die Logging-Datei bleibt bis auf eine Zeile leer, und auch die Bildschirmausgaben beim Start des Installers aus einem Terminal heraus sind dürftig:

Der neue Installer von Ubuntu 23.04 bleibt auf einem meiner Testrechner einfach hängen

Im Internet habe ich nur wenige vergleichbare Fehlerberichte gefunden:

Dafür gibt es offensichtlich auch andere Fehler, die z.B. hier dokumentiert sind:

Glücklicherweise gibt es ein gut verstecktes ISO-Images mit dem herkömmlichen »Legacy Installer«. Damit ist die Installation mühelos gelungen.

https://cdimage.ubuntu.com/daily-legacy

Noch mehr Probleme

Weiterer Versuch mit den neuen Installer, diesmal auf einem Notebook. Bei der manuellen Installation war es mir nicht möglich, eine EFI-Partition zu erstellen. Ich habe das manuell im Terminal mit parted erledigt. Die Fenstergröße des Installers ist relativ klein; es kann nicht vergrößert werden, und ein horizontales Scrolling ist nicht vorgesehen.

Das Installer-Fenster ist zu klein. Es kann weder vergrößert werden noch kann sein Inhalt horizontal gescrollt werden.

Bis zu Version 24.04 ist ja noch fast ein Jahr Zeit. Aber bis dahin gibt es für Canonical noch viel zu tun …

Quellen und Links

Ubuntu Pro

03. März 2023 um 15:21

Bereits seit einigen Jahren bietet Canonical »Ubuntu Pro« an. Anfänglich war Ubuntu Pro auf AWS-Kunden beschränkt, denen Ubuntu Pro Updates über einen Zeitraum von 10 Jahren garantiert (statt der üblichen fünf Jahre für Ubuntu LTS). Später wurde Ubuntu Pro auf andere Clound-Anbieter ausgedehnt, und seit ein paar Wochen ist Ubuntu Pro als kostenpflichtiges Update-Service auch für »gewöhnliche« Installationen verfügbar. Privat- bzw. Kleinanwender dürfen Ubuntu Pro für fünf Installationen kostenlos nutzen.

Canonical bewirbt Ubuntu Pro beim Login sowie bei der Ausführung des apt-Kommandos. Das hat zu Unmut bei manchen Benutzern gestört. Ich kann das nicht ganz nachvollziehen. Es wird ja niemand gezwungen, Ubuntu Pro zu verwenden. Für manche Anwender bzw. Server-Administratoren ist die 10-jährige Update-Garantie durchaus ein attraktives Angebot. In diesem Beitrag versuche ich das Angebot im Kontext anderer Distributionen (Red Hat Enterprise, kostenlose Klone) einzuordnen.

Update 19.4.2023: Canonical erlaubt im Rahmen von Ubuntu Pro zwar die kostenlose Verwendung der Kernel-Livepatches, allerdings erhalten Sie dann Patches früher als zahlende Kunden. Sie sind quasi ein Beta-Tester für die Kernel-Patches. Wenn keine Probleme auftreten, werden die gleichen Patches mit einer gewissen Verzögerung auch an zahlende Kunden ausgeliefert.

Varianten

Ubuntu Pro gibt es aktuell in vier Ausprägungen:

  • Cloud: Die Cloud-Anbieter AWS, Azure und Google bieten virtuelle Maschinen (Cloud-Instanzen) mit Ubuntu Pro an. Die monatliche Gebühr ist höher als bei Ubuntu-LTS-Instanzen, dafür beträgt der Update-Zeitraum zehn statt fünf Jahre. Über diese Form des Ubuntu-Pro-Angebots habe ich schon vor Jahren in meinem Blog geschrieben.
  • Physische Desktop/Workstation-Installation: 25 $ / Jahr, 10 Jahre Updates für die Paketquellen main und universe

  • Physische Server-Installation, »Infra-only«: 225 $ / Jahr, 10 Jahre Updates nur für die main-Paketquelle. Das Angebot richtet sich insbesondere an Server, die als Virtualisierungs-Host verwendet werden.

  • Physische Server-Installation: 500 $ / Jahr, 10 Jahre Updates für die Paketquellen main und universe

Alle vier Angebote umfassen auch Live Kernel Patches, die bisher als eigenes Produkt verkauft wurden. Zu diesen Grundangeboten gibt es diverse Support-Erweiterungen, die die Sache natürlich teurer machen:

https://ubuntu.com/pricing/pro

Technische Details

Die technische Voraussetzung für Ubuntu Pro ist das Kommando pro, das sich im Paket ubuntu-advantage-tools befindet. Es sollte standardmäßig installiert sein. pro security-status gibt einen Überblick über die installierten Pakete (hier auf einem Server mit Ubuntu 20.04 OHNE Ubuntu Pro).

$ pro security-status

1090 packages installed:
     854 packages from Ubuntu Main/Restricted repository
     228 packages from Ubuntu Universe/Multiverse repository
     3 packages from third parties
     5 packages no longer available for download

To get more information about the packages, run
    pro security-status --help
for a list of available options.

This machine is receiving security patching for Ubuntu Main/Restricted
repository until 2025.
This machine is NOT attached to an Ubuntu Pro subscription.

Ubuntu Pro with 'esm-infra' enabled provides security updates for
Main/Restricted packages until 2030.

Ubuntu Pro with 'esm-apps' enabled provides security updates for
Universe/Multiverse packages until 2030 and has 19 pending security updates.

Die Ausgabe macht auch gleich Werbung für den Abschluss eines Ubuntu-Pro-Upgrades und verspricht Updates für 19 Universe-Pakete, zu denen es ohne Ubuntu Pro eben keinen Schutz gibt. Welche Pakete das sind, können Sie mit pro security-status --esm-apps herausfinden (siehe den folgenden Screenshot).

Ubuntu Pro verspricht Sicherheits-Updates für die fett hervorgehobenen universe-Pakete

Wenn Sie dieser Wink mit dem Zaunpfahl überzeugt, entschließen Sie sich dazu, Ubuntu Pro auszuprobieren. Dazu brauchen Sie ein Konto bei Ubuntu One. Damit können Sie sich beim Ubuntu Pro Dashboard anmelden. Dort erhalten Sie fünf kostenlose Tokens für Ubuntu Pro. Wenn Sie mehr brauchen, müssen Sie dafür bezahlen.

Das Ubuntu-Pro-Dashboard

Die Aktivierung von Ubuntu Pro für eine Ubuntu-Installation ist denkbar einfach. Sie führen pro attach <token> aus, fertig!

$ sudo pro attach <token>

Enabling default service esm-apps
Updating package lists
Ubuntu Pro: ESM Apps enabled
Enabling default service esm-infra
Updating package lists
Ubuntu Pro: ESM Infra enabled
Enabling default service livepatch
Installing snapd
Updating package lists
Installing canonical-livepatch snap
Canonical livepatch enabled.
Unable to determine current instance-id
This machine is now attached to 'Ubuntu Pro - free personal subscription'

SERVICE          ENTITLED  STATUS    DESCRIPTION
esm-apps         yes       enabled   Expanded Security Maintenance for Applications
esm-infra        yes       enabled   Expanded Security Maintenance for Infrastructure
fips             yes       disabled  NIST-certified core packages
fips-updates     yes       disabled  NIST-certified core packages with priority security updates
livepatch        yes       enabled   Canonical Livepatch service
usg              yes       disabled  Security compliance and audit tools

NOTICES
Operation in progress: pro attach

Enable services with: pro enable <service>

     Account: <account-name>
Subscription: Ubuntu Pro - free personal subscription

Anschließend können Sie mit apt full-upgrade alle Pakete aktualisieren. Dabei kommen nun die Ubuntu-Pro-Paketquellen zum Einsatz:

$ sudo apt full-upgrade

Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.       
Statusinformationen werden eingelesen.... Fertig
Paketaktualisierung (Upgrade) wird berechnet... Fertig
Die folgenden NEUEN Pakete werden installiert:
  python3-defusedxml
Die folgenden Pakete werden aktualisiert (Upgrade):
  ant ant-optional composer fail2ban glances libjs-jquery-ui libopenexr24 libpython2.7
  libpython2.7-minimal libpython2.7-stdlib lynx lynx-common ntpdate php-symfony-console
  php-symfony-filesystem php-symfony-finder php-symfony-process python2.7 python2.7-minimal
19 aktualisiert, 1 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
19 esm-apps security updates
Möchten Sie fortfahren? [J/n] y
...

Hinter den Kulissen hat pro attach zwei neue Paketquellen eingerichtet:

$ ls /etc/apt/sources.list.d/ubuntu-esm*

/etc/apt/sources.list.d/ubuntu-esm-apps.list  
/etc/apt/sources.list.d/ubuntu-esm-infra.list

Außerdem hat pro attach die Kernel-Live-Patch-Funktion aktiviert. Beachten Sie, dass dafür ein Snap-Paket verantwortlich ist. Snap ist also eine zwingende Voraussetzung für diese Funktion. Den Status können Sie so überprüfen:

$ sudo canonical-livepatch status

last check: 6 minutes ago
kernel: 5.4.0-139.156-generic
server check-in: succeeded
patch state: ✓ no livepatches needed for this kernel yet
tier: updates (Free usage; This machine beta tests new patches.)
machine id: <id>

Im Prinzip war’s das. Ubuntu Pro läuft jetzt selbstständig, Sie müssen sich nur noch darum kümmern, regelmäßig Updates zu installieren. pro security-status verspricht jetzt Updates bis 2030 :-)

$ pro security-status

1093 packages installed:
     857 packages from Ubuntu Main/Restricted repository
     228 packages from Ubuntu Universe/Multiverse repository
     3 packages from third parties
     5 packages no longer available for download

To get more information about the packages, run
    pro security-status --help
for a list of available options.

This machine is attached to an Ubuntu Pro subscription.

Main/Restricted packages are receiving security updates from
Ubuntu Pro with 'esm-infra' enabled until 2030.

Universe/Multiverse packages are receiving security updates from
Ubuntu Pro with 'esm-apps' enabled until 2030. You have received 19 security
updates.

Ich habe das kostenlose Angebot von Ubuntu Pro aktuell auf zwei Server laufen, bisher ohne irgendwelche Probleme. Langzeiterfahrungen kann ich allerdings noch keine bieten, dafür ist das Angebot zu jung.

Kernel-Patches: »Free usage; This machine beta tests new patches.«

Ein Leser dieses Beitrags hat mich auf eine Ergebniszeile von sudo canonical-livepatch status hingewiesen:

tier: updates (Free usage; This machine beta tests new patches.)

Es ist offensichtlich so, dass für zahlende Kunden tier: stable gilt, während an nicht zahlende Kunden Kernel-Updates aus tier: updates verteilt werden. Mit anderen Worten: Wenn Sie Kernel-Patches aktivieren, ohne dafür zu zahlen, sind Sie quasi ein Beta-Tester für die zahlenden Kunden. Wenn keine Probleme auftreten, erhalten zahlende Kunden etwas später die gleichen Updates. (Ein ähnliches Schema gilt übrigens für CentOS Stream, dort für alle Update-Pakete.)

An sich ist diese Vorgehensweise nachvollziehbar. Sie hat bei mir bisher auch keine Probleme verursacht. ABER: Die Informationspolitik von Canonical ist diesbezüglich extrem intransparent. Obwohl ich eine Weile danach gesucht habe, bin ich auf kein offizielles Dokument gestoßen, dass auf diesen Umstand deutlich hinweist oder die Hintergründe erklärt. Ein paar Lese-Tipps:

Bewertung

Das Ubuntu-Pro-Versprechen ist zweiteilig:

  • Einerseits garantiert Ubuntu Pro Sicherheits-Updates für zehn Jahre statt für fünf. Der Nutzen ist leicht zu begründen. Aus der Sicht von Canonical ist das Problem aber, dass viele Admins Ihrer Server ohnedies nicht so lange laufen lassen — oder nur wenig länger. Also macht es wirtschaftlich Sinn, die ersten fünf Jahre die kostenlosen LTS-Updates zu genießen und erst für die Folgejahre Ubuntu Pro zu zahlen. Aus Anwendersicht kosteneffizient, aber für Canonical ein schlechtes Geschäftsmodell.
  • Andererseits verspricht Ubuntu Pro recht vollmundig auch Updates für die ca. 23.000 Universe-Pakete. Mit diesem Argument versucht Canonical seine Kunden davon zu überzeugen, Ubuntu Pro auch in den ersten Jahre zu bezahlen. Ubuntu Pro hat also einen Zusatznutzen, weil Canonical den Support für die universe-Paketquelle übernimmt; bisher kümmerte sich nur die etwas diffuse »Community« darum.

Ich bin allerdings sehr skeptisch, wie weit das universe-Update-Versprechen reicht. Auf https://ubuntu.com/pricing/pro steht wörtlich: »Support for over 23,000 packages in the Ubuntu Universe repository«. Aber was heißt das? Ich habe nirgendwo das Kleingedruckte gefunden, das eine Abgrenzung vornimmt, für welche Pakete das Versprechen gilt, wie groß das Sicherheitsproblem ist, damit sich Canonical um die Behebung kümmert etc.

Ein Punkt ist klar: Selbst wenn Canonical hoch motiviert ist und ein riesiges Budget für ein großes Security- und Maintenance-Team aufbringt — 23.000 Pakete parallel für fünf LTS-Releases zu warten ist schlicht unmöglich. (Aktuell gibt es nur universe-Updates für die Versionen 18.04, 20.04 und 22.04, weil die universe-Wartungszusage für ältere Releases nicht gilt; aber in drei Jahren müssten die universe-Quellen für Ubuntu 18.04, 20.04, 22.04, 24.04 und 26.04 gleichzeitig gewartet werden! Das sind dann über 100.000 Pakete von Programmen und Bibliotheken in unterschiedlichen Versionen. Man könnte jetzt weiter rechnen, wie viele Zeilen Code das sind, mit wie vielen Maintainer Kontakt gepflegt wird etc.)

Red Hat (IBM) verspricht RHEL-Updates für ein viel kleineres Paketangebot und für weniger Releases zugleich (weil RHEL-Major-Versionen in der Regel drei bis vier Jahre auseinander liegen) — aus gutem Grund! Die restlichen Pakete befinden sich in der EPEL-Paketquelle oder anderen externen Paketquellen, dafür übernimmt Red Hat keine Verantwortung.

Es fällt schwer zu glauben, dass Canonical ein Kunststück gelingt, das Red Hat (mit sicher mehr Einnahmen) nicht einmal anstrebt.

Wartungszeitraum verschiedener Server-Distributionen

Bei aller Kritik: Ubuntu Pro ist ein attraktives Angebot. Es erlaubt den Einsatz von Ubuntu gerade im Server-Bereich für längere Zeiträume als bisher, zu vertretbaren Kosten (und für fünf Server sogar kostenlos, extrem fair!). Ein kurzer Vergleich zu anderern Distributionen:

  • Red Hat Enterprise Linux: 10 Jahre (mit Einschränkungen sogar 13 Jahre), kostenpflichtig
  • RHEL-Klone (Rocky, AlmaLinux etc.): 10 Jahre, kostenlos, aber ohne Garantien
  • SUSE Linux Enterprise: 10 Jahre (mit Einschränkungen sogar 13 Jahre), kostenpflichtig
  • Ubuntu LTS: 5 Jahre kostenlos
  • Ubuntu Pro: 10 Jahre kostenpflichtig (wobei es möglich ist, Ubuntu LTS die ersten fünf Jahre kostenfrei zu nutzen und erst dann auf Ubuntu Pro umzusteigen)

Ich bin gespannt, in welchem Ausmaß Canonical liefern kann, was es aktuell verspricht. Und wie viele zahlende Ubuntu-Pro-Kunden Canonical finden kann. Für das Linux-Universum wäre es auf jeden Fall gut, wenn Canonical erfolgreich ist. Je mehr Firmen es gibt, die mit Linux Geld verdienen, desto besser ist das für alle Linux-Anwender, zahlende wie nicht zahlende!

Links/Quellen

Ältere Blog-Artikel auf kofler.info zu diesem Thema:

Kernel Live Patches: updates=beta tier versus stable tier:

WSL mit systemd

04. Dezember 2022 um 10:10

Das Windows Subsystem for Linux ist erwachsen geworden. Es ist nur für Windows 10 und Windows 11 im Microsoft Store erhältlich und gilt nicht mehr als »experimentell«. Der größte Vorteil der neuen Bezugsquelle: WSL-Updates werden in Zukunft unabhängig von Windows-Updates viel einfacher und schneller erfolgen.

Die Umstellung auf die Microsoft-Store-Variante ist denkbar einfach: Entweder installieren Sie WSL einfach aus dem Microsoft Store neu (vorhandene WSL-Distributionen bleiben dabei erhalten), oder Sie führen wsl --update aus (das setzt aber voraus, dass Ihre Windows-Version über alle aktuellen Updates verfügt).

Endlich systemd!

Aus meiner persönlichen Perspektive viel interessanter ist der Umstand, dass WSL nun endlich systemd unterstützt. Die Aktivierung erfolgt ganz einfach, in dem Sie in der WSL-Distribution die Datei /etc/wsl.conf verändern und dort zwei Zeilen hinzufügen:

# in /etc/wsl.conf  (innerhalb der WSL-Distribution)
[boot]
systemd=true

Die Änderung wird erst aktiv, wenn Sie die Distribution beenden, WSL herunterfahren (wsl --shutdown) und die Distribution dann neuerlich starten. Bei meinen Tests hat die systemd-Aktivierung erstaunlicherweise auch bei WSL-Distributionen funktioniert, die schon recht alt waren (z.B. Ubuntu 21.04).

Ubuntu 22.04 unter WSL 2 mit systemd und cron

Der entscheidende Fortschritt im Vergleich zu älteren WSL-Versionen ohne systemd besteht darin, dass es nun endlich unkompliziert möglich ist, Server-Dienste (SSH, Apache, MySQL usw.) so einzurichten, dass Sie mit dem Start der WSL-Distribution automatisch mitaktiviert werden. Auch Cron-Jobs funktionieren jetzt ohne Verrenkungen.

Beachten Sie, dass Server-Dienste nur zur Verfügung stehen, solange die betreffende WSL-Distribution aktiv ist, also ein WSL-Fenster geöffnet ist.

SSH-Ärger

Noch zwei Tipps zum Betrieb eines SSH-Servers unter WSL mit Ubuntu 22.04. Der initiale Start scheitert, weil es keine SSH-Host-Keys gibt, und weil die sonst übliche automatischer Erzeugung beim ersten Start aus mir nicht nachvollziehbaren scheitert. Abhilfe schafft einmalig ssh-keygen -A. Danach führt systemctl enable --now ssh zum Erfolg. Der Versuch, sich von Windows aus mit ssh <name>@172.30.xxx.yyy anzumelden, führt zum Fehler permission denied: publickey. Schuld ist die Einstellung PasswordAuthentication no in /etc/ssh/sshd_config innerhalb von Ubuntu. Stellen Sie die Option auf yes und starten Sie den SSH-Server neu, dann klappt es.

Alles in allem ist die Verwendung von SSH im Zusammenspiel mit WSL + Ubuntu 22.04 weiterhin mühsam.

WSL 1 und WSL 2

WSL liegt in zwei grundlegenden Varianten/Architekturen vor, die (noch) beide gepflegt werden.

  • WSL 2 greift auf einen »echten« Linux-Kernel zurück, der via Hyper-V in einer virtuellen Maschine ausgeführt wird. In den meisten Fällen ist diese Variante vorzuziehen. Sie ist schneller und funktioniert bei Hardware- oder Kernel-nahen Funktionen besser.
  • WSL 1 bildet dagegen Linux-Funktionen nach (und ist aus technischer Sicht viel bemerkenswerter). Die Integration der WSL-Distributionen in das lokale Netzwerk ist anders als bei WSL 2 (manchmal vorteilhafter). Der Hauptunterschied: WSL 1 erfordert keine Virtualisierung, läuft also auch dann, wenn sich Windows selbst in einer virtuellen Maschine befindet!

Standardmäßig wird bei einer WSL-Installation aus dem Microsoft Store nur WSL 2 aktiviert. Die für WSL 1 erforderlichen Features können aber problemlos mit wsl --install --enable-wsl1 nachinstalliert werden.

Losgelöst von der WLS-Architektur 1 und 2 gibt es auch eine WSL-Versionsnummer, die nichts mit der Architektur zu tun hat. wsl --version liefert aktuell 1.0.0.0 und zeigt, dass WSL dem Beta-Stadium entwachsen ist.

Nachwort

Aus meiner Linux-Perspektive ist es immer wieder erstaunlich, wie viele »offizielle« Wege es gibt, um Windows-Komponenten zu installieren:

  • Für WSL oder das neue Terminal verwenden Sie den Microsoft Store.
  • Andere Komponenten wie der SSH-Client und -Server sind tief in den Einstellungen versteckt (Apps / Optionale Features, das muss man wirklich erst mal finden …).

  • Wieder andere Komponenten wie Hyper-V & Co. gelten als Windows Features und werden über das gleichnamige Programm aktiviert.

Da soll noch einer sagen, Linux wäre schwer verständlich ;-)

Quellen/Links

Ubuntu 22.04 in VirtualBox (Windows-Host) installieren

17. Oktober 2022 um 19:17

Wer Linux ausprobieren oder samt Desktop anwenden möchte, unter Windows arbeitet und keine physische Installation durchführen will, für den/die ist das Virtualisierungssystem VirtualBox eine attraktive Wahl. Dieser Artikel fasst die wichtigsten Schritte einer Installation von Ubuntu 22.04 zusammen und erklärt auch die Nutzung der Gasterweiterungen und die Konfiguration für eine SSH-Verbindung zwischen Host (=Windows) und der Virtuellen Maschine (VM).

Testumgebung: Windows-PC mit Intel-CPU, Windows 11 Pro mit 22H2-Update (Hyper-V und WSL aktiviert), VirtualBox 7.0

VirtualBox 7 unter Windows 11 mit einer virtuellen Maschine mit Ubuntu 22.04

Der erste Schritt ist die Installation von VirtualBox. Dieses Virtualisierungssystem von Oracle kann von der folgenden Seite kostenlos heruntergeladen werden:

https://www.virtualbox.org/wiki/Downloads

Beachten Sie, dass das Grundprodukt VirtualBox zwar kostenlos genutzt werden darf, das diese Regel aber nicht für das optionale VirtualBox Extension Pack gilt! Dessen Nutzung ist nur Privatnutzern bzw. zur Evaluation erlaubt, erfordert beim Einsatz in Firmen aber eine Lizenz! Die im Extension Pack enthaltenen Funktionen (RDP, Disk Image Verschlüsselung, NVMe und PXE Boot für Intel Systeme) werden normalerweise nicht benötigt. Wenn Sie unsicher sind, installieren Sie das Extension Pack nicht!

Virtuelle Maschine (VM) einrichten

Als Grundlage für die Installation müssen Sie von der Ubuntu-Website ein ISO-Image für Ubuntu 22.04 (64 Bit) herunterladen.

https://ubuntu.com/download/desktop

Mit dem Button Neu starten Sie die Installation einer neuen VM. Im ersten Dialog müssen Sie der VM einen Namen geben, einen Speicherort am Hostsystem (in unserem Fall ist das Windows) angeben, ein ISO-Image auswählen sowie Linux-Typ und -Versionsnummer auswählen.

Neue virtuelle Maschine einrichten

Ubuntu 22.04 wird von VirtualBox besonders gut unterstützt. Standardmäßig wird eine Unattended Installation durchgeführt. Damit kommen Sie mit dem Installationsprogramm von Ubuntu gar nicht in Berührung. Stattdessen geben Sie den Hostnamen, den Benutzernamen und das Passwort für die Ubuntu-VM vorweg in einem VirtualBox-Dialog an. In der virtuellen Maschine werden die sogenannten »Gasterweiterungen« automatisch installiert. Das ermöglicht eine bessere Integration zwischen Hostsystem (Windows) und Gast (Ubuntu), z.B. zum Austausch von Text über die Zwischenablage oder zum Austausch von Dateien über ein gemeinsames Verzeichnis (Shared Folder).

Tipp: Verwenden Sie ein Passwort ohne Sonderzeichen und ohne die Buchstaben Y und Z. Nach der Installation gilt für den Ubuntu-Login das US-Tastaturlayout.

Einstellungen für die »Unattended Installation«

Bevor es richtig losgeht, müssen Sie noch die Eckdaten der VM einstellen. Meine Empfehlung:

  • unbedingt 4 GByte Hauptspeicher/RAM (nicht nur 2 GByte, wie der VirtualBox-Assistent empfieht)
  • 2 CPU-Cores
  • 25 GByte Disk Size (außer, Sie haben vor, in der VM viele große Dateien zu speichern — dann brauchen Sie mehr)

Den Arbeitsspeicher und das RAM können Sie bei Bedarf später unkompliziert verändern. Die Disk-Größe kann hingegen nur sehr umständlich vergrößert werden, eine Verkleinerung ist nahezu unmöglich. Vergleichsweise einfach ist es, später eine zweite Disk hinzuzufügen. Allerdings müssen Sie schon etwas Linux-Erfahrung haben, um die zweite Disk dann auch innerhalb von Ubuntu sinnvoll nützen zu können.

RAM-Größe und CPU-Anzahl einstellen
Größe der virtuellen Disk konfigurieren
Zusammenfassung aller Einstellungen

Nach dem Zusammenfassungsdialog startet VirtualBox die virtuelle Maschine und führt darin — wie von Zauberhand — die gesamte Installation durch. Das dauert einige Minuten, während der Sie nur zusehen können (oder sich einer anderen Aufgabe zuwenden).

Erste Schritte in Ubuntu

Nach Abschluss der Installation wird die virtuelle Maschine neu gestartet. Sie können sich jetzt einloggen, wobei Sie den im Dialog »Unattended Installation« Namen und das dort gewählte Passwort angeben. Das VirtualBox-Fenster ist anfänglich ziemlich klein. Sie können es einfach vergrößern, die Auflösung des Desktops der virtuellen Maschine passt sich automatisch an.

Ein Nachteil der Unattended Installation besteht darin, dass Ubuntu beim ersten Start Englisch als Sprache verwendet und ein US-Tastaturlayout vorsieht. Um die Einstellungen zu ändern, starten Sie das Programm Settings, am einfachsten im Systemmenü, das Sie rechts oben im Panel öffnen.

Die Spracheinstellungen finden Sie im Modul Region & Lanugage. Mit Manage Installed Languages und Install/Remove Language fügen Sie German hinzu. (Dabei müssen diverse Pakete installiert werden, weswegen dieser Vorgang ca. eine Minute dauert.) Schließlich können Sie die Präferenz der Sprachen einstellen, in dem Sie Deutsch in der Liste der installierten Sprachen ganz nach oben verschieben. Die geänderte Sprache ist noch nicht aktiv — dazu müssen Sie sich aus- und neu einloggen.

Vorher sollten Sie gleich noch das Tastaturlayout ändern. Dazu wechseln Sie im Einstellungsprogramm in den Dialog Keyboard, fügen zuerst das neue Layout German hinzu und entfernen dann das Layout English (US).

Damit diese Einstellungen wirksam werden, müssen Sie sich aus- und neu einloggen. Im Systemmenü, das Sie rechts oben im Panel öffnen, klicken Sie zuerst auf Power Off/Log Out und im nun erscheinenden Untermenü auf Log Out.

Default-Sprache einstellen
Tastaturlayout einstellen

sudo-Ärger

Normalerweise hat der erste in Ubuntu eingerichtete Benutzer sudo-Rechte. Dafür gibt es unter Ubuntu kein Passwort für den Benutzer root.

Wenn Sie in VirtualBox die Unattended Installation durchgeführt haben, gelten andere Regeln: Der eingerichtete Benutzer gehört nicht zur sudo-Gruppe und hat entsprechend keine administrativen Rechte. Dafür hat der Benutzer root das gleiche Passwort, das Sie dem Standardbenutzer zugewiesen haben.

Damit sich Ubuntu auch in VirtualBox so verhält wie immer, öffnen Sie über Aktivitäten ein Terminal-Fenster und führen dann die folgenden Kommandos aus, mit denen Sie den Standardbenutzer der Gruppe sudo hinzufügen:

username$ su -l 

  Passwort: ********   (das Passwort, das Sie in VirtualBox 
                        vor der Installation angegeben haben)

root# usermod -a -G sudo <username>

Anstelle von <username> geben Sie den Namen Ihres Accounts an.

Die Änderung wird wiederum erst wirksam, wenn Sie sich in Ubuntu aus- und neu einloggen.

Nachdem Sie sudo repariert haben, können Sie — wenn Sie möchten — noch das Tastaturlayout für den Ubuntu-Login auf Deutsch umstellen. Dazu öffnen Sie ein Terminal-Fenster und führen dort sudo dpkg-reconfigure keyboard-configuration aus. Als Tastaturmodell wählen Sie Generic 105-key PC, als Sprache German. Alle weiteren Optionen bestätigen Sie einfach mit Return.

Zwischenablage aktivieren

Damit Sie unkompliziert Text zwischen dem Host-Rechner (Windows) und der virtuellen Maschine (Ubuntu) über die Zwischenablage austauschen können, führen Sie im Menü des VirtualBox-Fensters Geräte / Gemeinsame Zwischenablage / Bidirektional aus. (Diese Funktion setzt voraus, dass in der virtuellen Maschine die VirtualBox-Gasterweiterungen installiert sind. Das ist bei der Unattached Installation automatisch der Fall. Wenn Sie eine manuelle Installation von Ubuntu durchgeführt haben, müssen Sie die Pakete virtualbox-guest-utils und virtualbox-guest-x11 installieren und außerdem den Ubuntu-Standardbenutzer der zusätzlichen Gruppe vboxsf zuordnen.)

Aktivierung der gemeinsamen Zwischenablage

Gemeinsames Verzeichnis zum Dateiaustausch einrichten

Über Geräte / Gemeinsame Ordner gelangen Sie in einen Dialog, in dem Sie ein Windows-Verzeichnis (in der folgenden Abbildung: Dokumente) mit einem Verzeichnis innerhalb der virtuellen Maschine (hier: /mnt/win-documents) verbinden können. Damit können Sie innerhalb der virtuellen Maschine unkompliziert auf Windows-Dateien zugreifen. (Auch diese Funktion setzt voraus, dass zuvor die VirtualBox-Gasterweiterungen installiert wurden.)

Verzeichnis zum Austausch von Dateien zwischen Host (hier: Windows) und virtueller Maschine (hier: Ubuntu) einrichten

SSH-Zugriff aktivieren

Wenn ich auf Kommandoebene arbeite, bediene ich meine virtuellen Maschinen gerne über SSH. Unter Ubuntu muss dazu der SSH-Server installiert werden, was mit sudo apt install openssh-server rasch gelingt.

Das reicht aber noch nicht: VirtualBox gibt der virtuellen Maschine standardmäßig mittels Network Address Translation Zugriff auf die Netzwerkverbindung des Host-Computers. Die virtuelle Maschine ist aber im Netzwerk des Hosts unsichtbar, eine SSH-Verbindung ist unmöglich.

Die einfachste Lösung ist eine Port-Weiterleitung. Dazu führen Sie im VirtualBox-Fenster Geräte / Netzwerk / Einstellungen aus, klappen bei Adapter 1 den Bereich Erweitert aus und klicken auf Port-Weiterleitung. Nun richten Sie eine neue Regel ein, die Port 2222 des Hosts (127.0.0.1) mit Port 22 der virtuellen Maschine (10.0.2.15) verbindet.

Eine Port-Weiterleitung in der Netzwerkkonfiguration ermöglicht eine SSH-Verbindung zwischen Host (Windows) und Gast (Ubuntu)

Nachdem Sie die Einstellungen gespeichert haben (ein Neustart der virtuellen Maschine ist nicht notwendig), können Sie in cmd.exe oder in der PowerShell von Windows mit dem folgenden Kommando eine SSH-Verbindung in die virtuelle Maschine herstellen:

ssh -p 2222 name@localhost

Wichtig ist dabei die Option -p 2222. ssh soll nicht wie üblich Port 22 verwenden, sondern eben Port 2222. Wichtig ist auch, dass Sie als Zieladresse localhost angeben. Aufgrund der Port-Weiterleitung landen Sie wunschgemäß in der virtuellen Maschine. Anstelle von name geben Sie Ihren Ubuntu-Account-Namen an.

Fazit: VirtualBox 7 für Windows ist wieder OK

Die Windows-Variante von VirtualBox 7 hat mich mit dem Programm ein wenig versöhnt. In den letzten Jahren hatte ich unter Windows nämlich derart häufig Stabilitätsprobleme (ausgelöst vermutlich durch das schlechte Zusammenspiel mit Hyper-V), dass ich den Einsatz von VirtualBox für Windows nicht mehr empfohlen habe und diesen auch im Linux-Unterricht — so gut wie möglich — vermieden habe. Mit Version 7 hatte ich diesbezüglich (bisher) keine Probleme — gut so.

Ein wenig irritierend ist der bunte Mix von deutschen und englischen Texten in den Dialogen. Aus meiner Sicht wäre English Only die beste Option. Aber wenn eine deutschsprachige GUI erwünscht ist, wäre es gut, die Lokalisierung konsequent fertigzustellen. So wirkt das halbfertig.

Die Unattended Installation überzeugt mich nicht: Was ich an Zeit während der Installation gespart habe, musste ich später wieder investieren, um Sprach- und Tastatureinstellungen zu ändern und die sudo-Konfiguration zu reparieren. Da ist mir eine manuelle Installation lieber, das weiß ich wenigstens, was ich bekomme. Als einziger Vorteil bleibt die automatische Installation der VirtualBox-Gasterweiterungen, deren manuelle Durchführung mühsam ist.

Nachwort: VirtualBox 7 für Macs mit M1/M2

VirtualBox 7 unterstützt erstmals auch Apple Rechner mit Apple Silicon (M1, M2 …). Oracle weist explizit darauf hin, dass diese Funktionen noch experimentell und langsam sind. Ich habe VirtualBox 7 auf einem Mac Mini mit M1-CPU dennoch ausprobiert, und war etwas konsterniert: Die virtuellen Maschinen müssen eine 32-Bit x86-CPU verwenden (kein 64-Bit x86, auch nicht ARM).

Ganz egal, wie die Performance ist, engt das die Auswahl doch sehr stark ein. Viele Desktop-Distributionen für x86 sind 64-Bit-only. Ich hätte eigentlich erwartet, dass VirtualBox wie UTM auf virtuelle Maschinen für die ARM-Plattform setzt, aber meine diesbezüglichen Experimente sind ins Leere gegangen.

Gescheitert bin ich selbst mit dem Versuch, eine 32-Bit-Version (i386) von Debian zu installieren — selbst hier die Nachricht unsupported CPU. Diese Beta ist wirklich noch sehr experimentell :-(

Multipass: Ubuntu-VMs unter Windows, macOS und Linux ausführen

19. September 2022 um 14:49

Multipass ist eine von Canonical entwickelte Software, um Ubuntu als virtuelle Maschine unter Linux, Windows oder macOS auszuführen. Ich bin über Multipass gestolpert, weil ich eine unkomplizierte Möglichkeit suchte, Ubuntu unter macOS mit M1/M2-CPU auszuführen. Dieser Artikel stellt zuerst Multipass kurz vor. Es folgt eine persönliche (= subjektive) Wertung.

Multipass installieren

  • Windows, macOS: Für Windows und macOS gibt es jeweils einen Installer, siehe https://multipass.run/install
  • Linux: Für Linux steht leider nur ein Snap-Paket zur Verfügung: sudo snap install multipass

  • Arch Linux stellt Multipass als AUR-Paket zur Verfügung: https://aur.archlinux.org/packages/canonical-multipass (Paket wird lokal kompiliert, das dauert > 15 Minuten; bei mir gab es zuletzt einen Fehler, dem ich nicht auf den Grund gegangen bin)

Multipass Command Line Interface (CLI)

Multipass wird über Kommandos in der Konsole genutzt. Um zu überprüfen, dass die Installation geklappt hat, führen Sie multipass version aus:

multipass version

  multipass   1.10.1+mac
  multipassd  1.10.1+mac

Die zur Auswahl stehenden Multipass-Images ermittelt multipass find:

multipass find

  Image     Aliases     Version    Description
  18.04     bionic      20220901   Ubuntu 18.04 LTS
  20.04     focal,lts   20220824   Ubuntu 20.04 LTS
  22.04     jammy       20220902   Ubuntu 22.04 LTS
  docker                latest     A Docker environment ...
  ...

Um eine neue Instanz zu starten, führen Sie multipass launch aus. Beim ersten Start muss das betreffende Image heruntergeladen werden, hier für Ubuntu 22.04. Der Start weiterer Instanzen erfolgt wesentlich schneller.
Das folgende Kommando erzeugt eine Instanz von Ubuntu 22.04 und gibt dieser den Namen myinstance.

multipass launch -n myinstance 22.04

Standardmäßig erhält die neue VM eine CPU, 1 GB RAM und eine Disk mit 5 GB und NAT-Networking. Andere Eckdaten können Sie mit Parametern festlegen:

  • -c <n>: Anzahl der CPU-Cores
  • -d <n>G: Disk-Größe, -d 15G für 15 GB Disk
  • -m <n>M oder -m <n>G: RAM, z.B. -m 4G für 4 GB RAM
  • -n <name> oder -n primary: gibt der VM einen Namen bzw. macht sie zur primären Instanz

multipass launch startet die VM, führt sie aber im Hintergrund aus. Um die VM zu bedienen, führen Sie multipass shell <name> aus:

multipass shell myinstance

  Welcome to Ubuntu 22.04.1 LTS (GNU/Linux 5.15.0-47-generic aarch64)
  ...

Als Standard-User ist ubuntu aktiv. Dieser Benutzer ist nicht mit einem Passwort abgesichert und hat sudo-Rechte. Auch wenn Multipass-VMs normalerweise nur in einem privaten Netzwerk zugänglich sind (192.168.*.*), sollten Sie den ubuntu-Account mit einem Passwort absichern: sudo passwd ubuntu.

multipass list listet die aktuell eingerichteten Instanzen auf und gibt an, welche IP-Adresse der Instanz zugeordnet ist.

multipass list

  Name          State         IPv4             Image
  primary       Running       192.168.64.7     Ubuntu 22.04 LTS
  myinstance    Running       192.168.64.8     Ubuntu 22.04 LTS

Mit multipass info <name> können Sie mehr Details zu einer VM ermitteln.

multipass info myinstance

  Name:           myinstance
  State:          Running
  IPv4:           192.168.64.8
  Release:        Ubuntu 22.04.1 LTS
  Image hash:     9620f479bd5a (Ubuntu 22.04 LTS)
  Load:           0.28 0.25 0.10
  Disk usage:     1.4G out of 4.7G
  Memory usage:   153.5M out of 961.9M

multipass start <name> oder multipass stop <name> startet bzw. beendet die Ausführung einer VM.

multipass delete <name> löscht die VM vorläufig. Der Vorgang kann mit multipass revover rückgängig gemacht werden.

Erst multipass purge entfernt die zuvor gelöschten VMs endgültig und gibt den Speicher frei.

Weitere CLI-Kommandos sind hier dokumentiert.

Primäre VM

Eine VM kann als »primär« gekennzeichnet werden (launch -n primary ...). Das hat zwei Konsequenzen:

  • An einige multipass-Kommando braucht kein Name als Parameter übergeben werden. Beispielsweise bezieht sich multipass shell automatisch auf die primäre Instanz.
  • Innerhalb der VM steht das lokale Heimatverzeichnis (also das des Host-Computers) unter /home/ubuntu/Home zur Verfügung. Das ermöglicht einen unkomplizierten, nahtlosen Zugriff auf Host-Dateien durch die VM.

Bridged Networking

Wenn Sie VMs in das lokale Netzwerk integrieren möchten, ermitteln Sie zuerst mit multipass networks die zur Auswahl stehenden Netzwerkschnittstellen und aktivieren dann eine davon für die Netzwerkbrücke:

multipass networks

  Name     Type         Description
  bridge0  bridge       Network bridge with en2, en3
  en0      ethernet     Ethernet
  en1      wifi         Wi-Fi
  en2      thunderbolt  Thunderbolt 1
  ...

multipass set local.bridged-network=en1

In der Folge können Sie an multipass launch die Option --bridged übergeben.

Ubuntu samt Desktop installieren

Um Ubuntu samt Desktop zu installieren, müssen Sie die VM ausreichend groß dimensionieren:

multipass launch 22.04 -n primary -c 2 -m 4G -d 15G

  Launched: primary                                                               
  Mounted '/Users/kofler' into 'primary:Home'

Nach dem Einrichten verbinden Sie sich mit der VM, legen ein Passwort für den Benutzer ubuntu fest und installieren alle Updates:

multipass shell

  ubuntu@primary:~$ sudo passwd ubuntu
  New password: 
  Retype new password: 

  ubuntu@primary:~$ sudo apt update

  ubuntu@primary:~$ sudo apt full-upgrade -y

Zur Installation eines Desktops samt RDP-Server gehen Sie so vor:

  ubuntu@primary:~$ sudo apt install ubuntu-desktop xrdp -y

Sie müssen wissen, welche IP-Adresse Ihre VM hat. Dazu führen Sie innerhalb der VM hostname -I aus, oder außerhalb multipass list.

ubuntu@primary:~$ hostname -I

  192.168.64.10

Jetzt brauchen Sie einen RDP-Client. Unter Linux funktionieren die meisten VNC-Viewer. Unter macOS installieren Sie am einfachsten im App Store Microsoft Remote Desktop. Dort richten Sie eine neue Verbindung ein und verwenden die zuvor ermittelte IP-Adresse. In der Regel ist es sinnvoll, die Option Start session in full screen zu deaktivieren. Hingegen ist die Optionen Update the session resultion on resize zweckmäßig. Die Anpassung der virtuellen Bildschirmauflösung hat bei meinen Tests (macOS als Host-System) ausgezeichnet funktioniert. Außerdem sollten Sie als User account ubuntu angeben.

Beim ersten Start erscheint der Ubuntu-Setup-Assistent. Dort können Sie das deutsche Tastaturlayout hinzufügen. (Standardmäßig ist nur das englische Layout installiert.)

Der Desktop erscheint in englischer Sprache. Die Umstellung auf Deutsch können Sie im Programm Settings durchführen. Die Änderung wird nur wirksam, wenn Sie sich aus- und neu einloggen.

Grundsätzlich hat der Ubuntu-Desktop bei meinen Tests ausgezeichnet funktioniert — allerdings mit »Vanilla Gnome«, d.h. ohne die Ubuntu-spezifischen Erweiterungen wie dem verschiebbaren Dock. Auch die entsprechenden Optionen im Programm Einstellungen fehlen. (Die Optionen tauchen auf, wenn das Einstellungsprogramm mit XDG_CURRENT_DESKTOP=ubuntu:GNOME gnome-control-center gestartet wird. Aber die Ubuntu-spezifischen Einstellungen bleiben wirkungslos.)

Ubuntu wird auf einem Mac mit M1-CPU ausgeführt und über ein RDP-Fenster bedient.

Multipass versus herkömmliche Virtualisierungssysteme versus Container

Eigentlich möchte man meinen, es gäbe bereits genug Software zur Ausführung von virtuellen Maschinen und Containern. Was kann Multipass also bieten, was andere Programme nicht können? Und wo sind die Grenzen von Multipass?

Im Gegensatz zu Docker oder Podman findet bei Multipass eine echte Virtualisierung statt. Der Overhead einer Installation ist deswegen vergleichsweise groß. Andererseits steht Ubuntu »komplett« zur Verfügung, d.h. mit systemd, mit verschiedenen Benutzern etc.

Standardmäßig werden keine Desktop-Pakete installiert. Diese können nachinstalliert werden. Das setzt aber voraus, dass die VM ausreichend groß dimensioniert ist (RAM, Speicherplatz).

Im Vergleich zu Virtualisierungsprogrammen wie VirtualBox, VMware & Co. hat Multipass keine grafische Oberfläche. Für Profis ist das kein Nachteil, für Einsteiger schon. Es gibt auch keine Grafiktreiber etc. Die Desktop-Nutzung erfolgt über RDP (ein Netzwerkprotokoll) und ist vergleichsweise langsam. Ausreichend schnell für Entwickleraufgaben, aber nicht ideal, um Videos abzuspielen oder Spiele zu spielen.

Der größte Nachteil von Multipass im Vergleich zu Virtualisierungs- und Container-Software besteht darin, dass nur Ubuntu ausgeführt werden kann. Multipass ist also keine universelle Lösung, sondern ein Admin- und Developer-Tool für die Ubuntu-Gemeinde.

Positiv: Multipass ist Open-Source-Software, die Quellen sind auf GitHub zu finden.

Persönliche Bewertung

Meine Beweggründe, mich überhaupt mit Multipass auseinanderzusetzen, ist der Linux-Unterricht. 2/3 der Studentinnen arbeiten mit einem Windows-Notebook, 1/3 mit MacBooks, vielleicht halb/halb mit Intel/Apple-CPU. Jetzt sollen alle eine VM mit Ubuntu installieren. Früher war das einfach: Alle verwenden VirtualBox und richten damit eine VM mit Ubuntu ein (oder Fedora, oder Debian, egal, solange es für alle einheitlich ist).

Heute geht das nicht mehr:

  • Unter Windows zickt VirtualBox in einen unerträglichen Ausmaß. Ob Microsoft daran Schuld ist (ständige Änderungen an Hyper-V) oder Virtualbox (weil es Hyper-V nicht korrekt nutzt), kann ich nicht beurteile — es ist eigentlich egal. Fakt ist, dass in einer Gruppe von 20 Studierenden VirtualBox bei mindestens zwei nicht funktioniert und die Probleme sich nicht trivial lösen lassen.
  • Unter macOS läuft VirtualBox nur auf alten Geräten mit Intel-CPU. Auf modernen Geräten mit Apple Silicon (M1, M2 usw.) ist Virtualisierung zwar auch möglich, aber das ist entweder teuer (Parallels, VMware) oder wenig intuitiv (UTM, siehe https://mac.getutm.app/).

Unter Windows kann ich auf WSL ausweichen. Das funktioniert verblüffend gut, aber ist für den Unterricht kein vollwertiger Ersatz. Kein cron, kein systemd etc. Grafische Desktop-Oberflächen laufen auch nur über Umwegen.

Auf allen OS kann ich Docker verwenden. Aber ein Ubuntu-Container ist halt auch kein vollwertiger Ersatz, selbst wenn man vom fehlenden Desktop absieht. Docker hat eine ganz andere Zielsetzung (und da brilliert es).

Zurück zu Multipass: Der Charme besteht darin, dass es OS-übergreifend einen einheitlichen Weg bietet, um Ubuntu in einer virtuellen Maschine auszuführen. Der Desktop-Zugriff erfolgt über RDP, was für den Unterricht gut genug ist. Multipass greift auf das Virtualisierungsframework des jeweiligen Betriebssystem zurück, erfindet diesbezüglich das Rad also nicht neu.

Aber:

  • Das Einrichten einer Ubuntu-VM in Multipass ist nicht trivial. Für meinen spezifischen Einsatzzweck ist es jedenfalls ungeeignet. Multipass richtet sich an Profis, nicht an Einsteiger.
  • Ubuntu-only ist auch irgendwie sinnlos. Aus meiner Sicht ist Ubuntu für den Linux-Unterricht gut genug, aber vielleicht will ich Server-Administration unterrichten. Da wäre mir dann Rocky oder Alma Linux lieber. Oder ich bin mit Debian vertrauter als mit Ubuntu, will Snap aus dem Weg gehen usw.

  • Linux-hostseitig wird Multipass auch nur als Snap-Paket angeboten. In der engen Canonical-Welt mag das OK sein, aber nicht jeder ist ein Fan von Snap.

Langer Rede kurzer Sinn: Multipass richtet sich in erster Linie an Entwickler und Admins, die ausschließlich mit Ubuntu arbeiten. Für diese Zielgruppe ist Multipass durchaus interessant.

Multipass ist auch ein relativ einfacher Weg, um Ubuntu (samt Desktop) auf einem Mac mit M1/M2-CPU auszuführen.

Darüberhinaus ist es aber wohl doch nur eine weitere Insellösung/Eigenentwicklung von Canonical mit ungewisser Zukunft. Die Zielgruppe ist so eng, dass ein Durchbruch aus der Nische nicht zu erwarten ist. Das ist schade, weil Multipass durchaus vielversprechende Ansätze zeigt.

Quellen/Links

Ubuntu 22.04

21. April 2022 um 13:48

Mit Ubuntu 22.04 »Jammy Jellyfish« hat Canonical die neueste LTS-Version von Ubuntu fertiggestellt. Aktuelle Software kombiniert mit einem Update-Versprechen über fünf Jahre sind die Hauptargumente für die Distribution — und zwar gleichermaßen im Desktop- wie im Server-Segment. Fundamentale technische Neuerungen gibt es keine, einige richtungsweisende Entscheidungen aber sehr wohl: Wayland gilt nun als Default-Grafiksystem, und Firefox wird als Snap-Paket ausgeliefert. Letztere Entscheidung wird nicht nur auf Zustimmung treffen …

Anmerkung: Dieser Blog-Beitrag berücksichtigt ausschließlich das »originale« Ubuntu für den Desktop, nicht die diversen Derivate bzw. die Server-Version.

Installation

Eigentlich wollte Canonical Ubuntu einen neuen, mit der Bibliothek Flutter entwickelten Installer verpassen. Daraus ist nichts geworden, das Programm wurde nicht rechtzeitig fertig. Der Installer ist somit im Vergleich zu den Vorversionen unverändert, was aus meiner Sicht kein Nachteil ist: Das Programm ist einfach zu bedienen und funktioniert gut.

Der Platzbedarf für eine Standardinstallation beträgt ohne /swapfile ca. 6,4 GByte. Wie viel Platz der Installer für die Swap-Datei vorsieht, hängt von der Hardware des Rechners ab, auf dem Sie Ubuntu installieren.

Gut 6 GByte sind zwar angesichts des breiten Software-Angebots akzeptabel, das Attribut »schlank« trifft auf Ubuntu aber schon lange nicht mehr zu. Die Snap-Pakete sind daran nicht alleine Schuld, leisten aber natürlich auch einen Beitrag: Der Platzbedarf für /var/lib/snapd/snaps beträgt anfänglich ca. 640 MByte. Selbst wenn Sie keine weiteren Snap-Pakete installieren, verdoppelt sich der Umfang des Snap-Verzeichnisses früher oder später, weil bei Updates immer auch die vorige Version aller Snap-Pakete erhalten bleibt.

Desktop-Neuerungen

Relativ viele Änderungen bzw. neue Einstellmöglichkeiten gibt es im Gnome-Desktop. Zum Teil handelt es sich dabei einfach um neue Features von Gnome 42, zum Teil um Erweiterungen, die Canonical in den Gnome-Desktop integriert hat:

  • In den Einstellungen kann zwischen der normalen Darstellung der Fenster und dem »Dark Mode« gewechselt werden.
  • Es stehen zehn Kontrastfarben für ausgewählte Elemente zur Auswahl.
  • Auf dem Desktop können unkompliziert Icons abgelegt werden. Dazu ziehen Sie Dateien oder Verzeichnisse per Drag&Drop aus dem Dateimanager auf den Desktop. Intern werden die Dateien dadurch in das Verzeichnis Schreibtisch verschoben.
  • Bei Notebooks kann im Systemmenü einer von mehreren Energiemodis aktiviert werden.
  • Die Tools zur Aufnahme von Screenshots bzw. Screencasts wurden modernisiert.
Die Ubuntu-Variante der Gnome-Einstellungen bietet mehr Optionen als das Original
Der Gnome-Desktop im Dark Mode und mit einer grünen Kontrastfarbe

Beachten Sie, dass die Verwaltung der Gnome Shell Extensions im Snap-Firefox nicht funktioniert. Sie müssen stattdessen das Paket gnome-shell-extensions installieren und ausführen.

Unter Ubuntu sind drei Gnome Shell Extensions vorinstalliert. Die Konfiguration kann bei Bedarf über das Programm »gnome-extensions« erfolgen.

Software-Versionen

Wie üblich wurden fast alle Software-Versionen auf den aktuellen Stand gebracht. Erfreulicherweise trifft dies auch für Gnome zu, das in der aktuellen Version ausgeliefert wird. Ausgenommen sind lediglich vereinzelte Gnome-Anwendungen: In Gnome 42 wurden einige Apps auf die neue Bibliothek GTK4 aktualisiert. Ubuntu geht solchen Programmen aus dem Weg und verwendet gegebenenfalls die ältere Version. Das betrifft z.B. die Kalender-App (gnome-calendar).

Basis             Desktop             Programmierung   Server
---------------   ------------------  --------------   --------------
Kernel     5.15   Gnome          42   bash       5.1   Apache     2.4
glibc      2.35   Firefox        99   docker   20.10   CUPS       2.4
X-Server   1.21   Gimp         2.10   gcc       11.2   MySQL      8.0
Wayland    1.20   LibreOffice   7.3   git       2.34   OpenSSH    8.9
Mesa       22.0   Thunderbird    91   Java        11   qemu/KVM   6.2
Systemd     249                       PHP        8.1   Postfix    3.6
NetworkMan 1.36                       Python    3.10   Samba     4.15
GRUB       2.06 

Firefox und Snap

Wie bereits in Version 21.10 wird Firefox nicht mehr als »gewöhnliches« Paket, sondern in Kooperation mit der Mozilla-Organisation als Snap-Paket ausgeliefert. Für Canonical erleichtert das die Wartung. Für den Anwender ergeben sich daraus aber drei Nachteile:

  • Der Platzbedarf auf dem Datenträger und im RAM ist wesentlich höher.
  • Der erstmalige Start des Programms spürbar langsamer. Selbst die Ubuntu-freundliche Website omgubuntu macht sich darüber in einem Video lustig (siehe ab 3:40). Der lahme Start hat damit zu tun, dass nicht nur Firefox an sich geladen wird, sondern auch ein riesiges Paket von (vollkommen redundanten) Bibliotheken.

  • Es gibt Kompatibilitätsprobleme, z.B. im Zusammenspiel mit der Verwaltung der Gnome-Shell-Erweiterungen oder mit dem Passwort-Tool KeePass.

Wenn Sie das Firefox-Snap-Paket durch ein traditionelles Paket ersetzen möchten, gehen Sie so vor:

sudo snap remove firefox
sudo add-apt-repository ppa:mozillateam/ppa
sudo apt install -t 'o=LP-PPA-mozillateam' firefox

Vorsicht: Einfach sudo apt install firefox funktioniert nicht, weil dadurch neuerlich das Snap-Paket installiert wird! Damit das nächste apt update nicht wieder die Snap-Version von Firefox installiert, müssen Sie außerdem die Priority-Einstellungen für apt verändern:

sudo sh -c 'cat > /etc/apt/preferences.d/mozilla-ppa' << EOF
Package: firefox*
Pin: release o=LP-PPA-mozillateam
Pin-Priority: 501
EOF

Alternativ können Sie natürlich auch Chrome (von der Google-Website) oder Chromium (Paket chromium-browser) installieren.

Wayland per Default

Wie alle gängigen Distributionen werden auch bei Ubuntu der herkömmliche Grafik-Server Xorg und das neue System Wayland parallel installiert. Nach Möglichkeit kommt in Ubuntu 22.04 standardmäßig Wayland zum Einsatz. Im Idealfall soll das sogar bei Grafikkarten mit NVIDIA-Treiber funktionieren. Auf meinem Notebook (Lenovo P1, Quadro P1000 Mobile), ist das aber nicht der Fall: Beim Login gibt es keine Wahl zwischen den unterschiedlichen Grafikbibliotheken, Gnome verwendet wie in älteren Ubuntu-Versionen Xorg (X11) als Grafiksystem. Vermutlich liegt das daran, dass Hybridsysteme (Intel + NVIDIA GPU) noch nicht unterstützt werden.

Zusammenfassung der Eckdaten in den Gnome-Einstellungen

Dafür hat Wayland bei meinen Tests anstandslos in virtuellen Maschinen funktioniert. Auch das Zusammenspiel auf Computern mit Intel- oder ADM-Grafik sollte klappen.

Distributions-Update mit »do-release-upgrade«

Auf meinem Arbeits-Notebook habe ich zwei Tage vor dem offiziellen Release ein Update von Version 21.10 auf die aktuelle Version durchgeführt. Der Prozess hat zwar ca. eine Stunde gedauert, ist aber komplett problemlos verlaufen.

sudo apt update
sudo apt dist-upgrade
sudo reboot
sudo do-release-upgrade -d --allow-third-party

  ...
  11 packages are going to be removed. 174 new packages  
  are going to be installed. 2198 packages are going to 
  be upgraded. 

  You have to download a total of 2,857 M. This download 
  will take about 7 minutes with your connection. 

  Installing the upgrade can take several hours. Once the 
  download has finished, the process cannot be canceled. 
  ...

Fazit

Für Linux-Einsteiger bzw. Leute, die Linux als Desktop-Betriebssystem anwenden möchten, ohne sich Gedanken über technische Hintergründe zu machen, ist Ubuntu weiterhin eine gute Wahl:

  • In aller Regel funktioniert Ubuntu ganz einfach.
  • Das Aussehen und Verhalten des Desktops ist (aus meiner Sicht) besser als bei Distributionen mit dem originalen Gnome.
  • Ubuntu bietet inklusive PPAs und Snaps das wohl beste Software-Angebot in der Linux-Welt.
  • Dank der großen Verbreitung ist es einfach, im Freundeskreis oder im Internet Hilfe zu finden.

Ich kann für diese Zielgruppe unter den aktuellen Distributionen keine bessere Alternative zu Ubuntu erkennen. Am ehesten ist wohl Linux Mint geeignet (das aber selbst von Ubuntu abgeleitet ist).

Persönlich spricht mich Ubuntu allerdings immer weniger an. Ich halte Snap-Pakete für einen Irrweg (und die von Red Hat favorisierte Alternative FlatPak auch nicht nennenswert besser). Der LTS-Vorteil einer langen Lebenszeit ist für mich angesichts des über den Verlauf der Jahre zunehmend veralteten Software-Stacks für meine Desktop-Anwendung als Entwickler/Admin uninteressant.

Quellen und Links

Sonstiges:

❌
❌