Vergangene Woche hat Mozilla Firefox 131 für Windows, Apple macOS und Linux veröffentlicht. Dieser Artikel fasst die wichtigsten Neuerungen zusammen – wie immer auf diesem Blog weit ausführlicher als auf anderen Websites.
Firefox 131 merkt sich temporär erteilte Website-Berechtigungen. Bislang war es so, dass wenn beispielsweise einer Website die Geolocation-Berechtigung erteilt worden ist, diese nach einem Neuladen oder Navigieren innerhalb der Seite erneut erteilt werden musste, wenn die Berechtigung ein weiteres Mal benötigt worden ist – außer man aktivierte eine Checkbox, dass sich Firefox die Entscheidung merkt. Jetzt merkt sich Firefox automatisch temporär erteilte Berechtigungen maximal eine Stunde lang oder bis der Tab geschlossen wird.
Verlinken von Text-Ausschnitten einer Website
Auf einen bestimmten Abschnitt einer Website zu verlinken, ist über einen sogenannten Ankerlink (example.com#anker) kein Problem. Voraussetzung dafür ist, dass das zu verlinkende Element eine ID im Code hat, welche als Ankername verwendet werden kann. Was auf den etwas sperrigen Namen „URL Fragment Text Directives“ hört, bietet weitaus mehr Flexibilität. Nicht nur, dass man damit auch ohne ID im Code, sondern rein über den Inhalt der Website auf eine beliebige Stelle verlinken kann; Der Browser hebt die verlinkte Stelle auch noch optisch hervor.
Es ist sogar möglich, mehrere Textstellen hervorzuheben. Die Syntax ist im Vergleich zu Ankerlinks erwartungsgemäß etwas komplexer. Die MDN Web Docs bieten eine ausführliche Dokumentation inklusive Beispielen.
Während Firefox (noch) keine Möglichkeit anbietet, auf einfache Weise einen solchen Link durch Markieren einer Textstelle zu erstellen, kann diese Funktion bereits jetzt durch ein Add-on wie zum Beispiel Link zu Textfragment nachgerüstet werden.
Sonstige Endnutzer-Neuerungen von Firefox 131
Die seit Firefox 129 neu eingeführte und schrittweise ausgerollte Vorschau beim Herüberfahren mit der Maus über einen Tab ist ab sofort für alle Nutzer standardmäßig aktiviert.
Die Übersetzungsfunktion merkt sich jetzt die zuletzt ausgewählte Zielsprache für zukünftige Übersetzungen.
Für Nutzer der separaten Suchleiste ist es wieder möglich, die ausgewählte Suchmaschinen-Website ohne Eingabe eines Suchbegriffes zu öffnen. Dafür muss die Shift-Taste bei Klick auf das entsprechende Suchmaschinen-Symbol oder bei Betätigung der Enter-Taste gehalten werden.
Das Symbol für die Funktion „Alle Tabs anzeigen“ in der Tableiste wurde geändert. Diese Änderung wird mit Firefox 131.0.3 zurückgenommen werden. Die versteckte Option browser.tabs.tabmanager.enabled, um die Schaltfläche komplett zu deaktivieren, wird nicht mehr unterstützt. Dafür wird man das Symbol ab Firefox 131.0.3 wie die anderen Schaltflächen aus der Oberfläche entfernen oder verschieben können.
Firefox merkt sich jetzt wieder die Größe von Sidebars und setzt diese nach einem Neustart von Firefox nicht länger auf den Standardwert zurück.
Die Unterstützung hochauflösender Bildschirme für Linux-Nutzer wurde verbessert, indem nun die Einstellungen für die Schriftskalierung von Gnome 3 / GTK3 vollständig respektiert werden.
Microsoft hat Anpassungen in Windows 11 24H2 im Umgang mit Geolocation-Berechtigungen vorgenommen, welche in älteren Firefox-Versionen zu unerwarteten Dialogen, irreführenden Fehlermeldungen oder ungenauer Standortbestimmung führen können. Firefox 131 nimmt notwendige Anpassungen für die Verwendung der Geolocation-API vor.
Das Setzen von Firefox als Standardbrowser auf Windows aus den Firefox-Einstellungen heraus funktioniert jetzt mit einem Klick, ohne dass weitere Aktionen in den Windows-Einstellungen notwendig sind.
Das Anpinnen von Firefox an die Taskleiste von Windows über die Einführungstour ist jetzt auch mit einem Build möglich, der über den Microsoft Store installiert worden ist.
Mehr Sicherheit für Firefox-Nutzer
Auch in Firefox 131 wurden wieder mehrere Sicherheitslücken geschlossen. Alleine aus Gründen der Sicherheit ist ein Update auf Firefox 131 daher für alle Nutzer dringend empfohlen.
Außerdem gab es weitere Verbesserungen des Schutzes vor IDN-Spoofing, bei dem bestimmte Zeichen in der Adressleiste vortäuschen, man würde sich auf einer vertrauenswürdigen Domain befinden.
Verbesserungen der Entwicklerwerkzeuge
Im Inspektor-Werkzeug lassen sich bereits die Werte von CSS-Variablen in einem Tooltip anzeigen. Dies war bisher allerdings nicht für Variablen möglich, welche wiederum von anderen Variablen abhängen. Dort stand als Wert dann nur der Name der anderen Variablen anstelle des berechneten Wertes. Jetzt zeigt Firefox zusätzlich auch den berechneten Wert an. Außerdem kann der überarbeitete Tooltip auch eine Farbvorschau anzeigen und nicht aktive Parameter in var() und light-dark() durchgestrichen darstellen.
In der Anzeige der CSS-Regeln wird jetzt auch die Farbauswahl angezeigt, wenn eine verschachtelte Variable genutzt wird. Das Gleiche gilt für die Autovervollständigung. Das Ändern von Zahlenwerten in der Anzeige der CSS-Regeln ist jetzt auch über das Mausrad möglich.
Beim Bearbeiten von HTML-Attributen ist nun besser sichtbar, was gerade bearbeitet wird. Und das Auswählen von Video-Elementen mit dem Inspektor-Werkzeug startet nicht länger automatisch das Video.
Verbesserungen der Webplattform
SameSite=None-Cookies werden nun abgelehnt, wenn kein Secure-Attribut enthalten ist.
Unterstützung für Cookies mit unabhängigem Partitionierungsstatus (CHIPS) wurde hinzugefügt, so dass Entwickler ein Cookie in einem nach Top-Level-Site partitionierten Speicher ablegen können.
Auf JavaScript-Seite wurde die Unterstützung für synchrone Iterator-Helfer hinzugefügt. Diese Helfer ermöglichen Array-ähnliche Operationen auf Iteratoren, ohne dass Array-Zwischenobjekte erstellt werden müssen. Sie können auch mit sehr großen Datensätzen verwendet werden, bei denen die Erstellung eines Array-Zwischenobjekts gar nicht möglich wäre.
Dies war nur eine kleine Auswahl der Verbesserungen der Webplattform. Eine vollständige Auflistung lassen sich in den MDN Web Docs nachlesen.
Ubuntu 24.10, mit dem Codenamen „Oracular Oriole“, stellt die neueste Entwicklung der beliebten Linux-Distribution dar und bringt zahlreiche spannende Neuerungen und Verbesserungen mit sich. Diese Version konzentriert sich stark auf die Verfeinerung der Benutzeroberfläche, Leistungsoptimierungen und eine verbesserte Hardwareunterstützung. Gleichzeitig integriert sie die neuesten Technologien, wie den GNOME 47-Desktop und den Linux-Kernel 6.11. In diesem […]
Mozilla bringt ein Sicherheitsupdate für den Webbrowser Firefox, das eine kritische Sicherheitslücke schließt. Nach Angaben von Mozilla wird die Lücke bereits aktiv für Angriffe ausgenutzt.
Canonical hat die neueste stabile Version von Ubuntu veröffentlicht. Sie enthält aktuelle Komponenten und neue Funktionen. Ubuntu 24.10 läuft mit dem neuesten Linux 6.11-Kernel. Für die Desktop-Version wurde GNOME 47 mit zusätzlichen Patches für Mutter und GNOME Shell integriert. Diese verbessern Stabilität und Leistung. Außerdem visualisiert das Ubuntu-Dock jetzt Snap-Aktualisierungen. Neu ist die Sicherheitszentrale-App, mit […]
Mit dem Update auf Firefox 131.0.2 behebt Mozilla eine als kritisch eingestufte Sicherheitslücke, von welcher Mozilla Kenntnis hat, dass diese bereits aktiv ausgenutzt wird. Parallel dazu wurden auch Firefox ESR 128.3.1 sowie Firefox ESR 115.16.1 veröffentlicht, welche die identische Sicherheitslücke beheben.
Zum Zeitpunkt der Erstellung der neuen Version war Firefox 131.0.1 für Android bereits veröffentlicht. Aus diesem Grund gibt es keinen Firefox 131.0.1 für Desktop-Betriebssysteme und auf Firefox 131 folgt direkt Firefox 131.0.2.
In einer Zeit, in der immer mehr Daten digital gespeichert werden, ist es wichtiger denn je, sich Gedanken über die Sicherheit und den Schutz der eigenen Daten zu machen. Cloudspeicherung bietet eine bequeme Möglichkeit, Daten zu sichern und von überall aus darauf zuzugreifen. Doch viele Nutzer sind besorgt über die Sicherheit ihrer Daten in der Cloud und suchen nach einer Alternative, die ihnen mehr Kontrolle über ihre Daten gibt. Die Nextcloud ist eine solche Alternative, die Sicherheit, Flexibilität und Datenschutz bietet.
Was ist Nextcloud?
Nextcloud ist eine Open-Source-Plattform für die Speicherung und Synchronisierung von Daten. Sie wurde im Jahr 2016 als Abspaltung von OwnCloud ins Leben gerufen und wird von einer Community von Entwicklern und Benutzern ständig weiterentwickelt. Nextcloud bietet ähnliche Funktionen wie andere Cloudspeicherlösungen, darunter die Möglichkeit, Dateien hochzuladen, zu teilen und zu synchronisieren, Kalender und Kontakte zu verwalten und vieles mehr.
Sicherheit und Datenschutz
Einer der Hauptvorteile von Nextcloud ist die Sicherheit, die sie bietet. Da Nextcloud eine Self-Hosted-Lösung ist, haben Benutzer die volle Kontrolle über ihre Daten und können selbst entscheiden, wo sie gespeichert werden. Dies bedeutet, dass Benutzer ihre Daten auf ihren eigenen Servern speichern können, anstatt sie einem Drittanbieter anvertrauen zu müssen. Darüber hinaus bietet Nextcloud Verschlüsselungsoptionen, um die Sicherheit der Daten zu gewährleisten.
Nextcloud legt großen Wert auf Datenschutz. Die Plattform bietet Funktionen wie End-to-End-Verschlüsselung, um sicherzustellen, dass sowohl die Datenübertragung als auch die Speicherung der Daten sicher sind. Nextcloud ermöglicht es Benutzern auch, ihre eigenen Nutzungsbedingungen festzulegen und zu kontrollieren, wer Zugriff auf ihre Daten hat. Dies gibt Benutzern ein hohes Maß an Kontrolle und Privatsphäre über ihre Daten.
Flexibilität und Integration
Nextcloud zeichnet sich auch durch ihre Flexibilität aus. Die Plattform bietet eine Vielzahl von Apps und Erweiterungen, die es Benutzern ermöglichen, die Funktionalität von Nextcloud nach ihren individuellen Bedürfnissen anzupassen. Dies reicht von der Integration mit anderen Diensten und Anwendungen bis hin zur Anpassung des Benutzeroberfläche. Benutzer können auch Nextcloud mit verschiedenen Plugins erweitern, um zusätzliche Funktionen hinzuzufügen.
Nextcloud ist auch in der Lage, mit verschiedenen Geräten und Betriebssystemen zu interagieren. Benutzer können Nextcloud auf verschiedenen Geräten wie Desktop-Computern, Tablets und Smartphones verwenden und von überall aus auf ihre Daten zugreifen. Die Plattform bietet auch Unterstützung für verschiedene Betriebssysteme wie Windows, macOS und Linux.
Fazit
Die Nextcloud ist eine sichere und flexible Alternative zur Cloudspeicherung, die Benutzern mehr Kontrolle über ihre Daten bietet. Mit Funktionen wie Verschlüsselung, Datenschutz und flexiblen Erweiterungsmöglichkeiten ist Nextcloud die ideale Lösung für alle, die ihre Daten sicher und privat speichern möchten. Nextcloud ist eine Open-Source-Lösung, die von einer großen Community von Entwicklern und Benutzern unterstützt wird, so dass Benutzer sicher sein können, dass ihre Daten in guten Händen sind. Wenn man auf der Suche nach einer sicheren und flexiblen Cloudspeicherlösung ist, ist Nextcloud die richtige Wahl.
Die Entwicklung von openSUSE Leap 16.0 wurde kürzlich in einer Vorabversion, der sogenannten “pre-Alpha”, gestartet. Diese frühe Version steht der Öffentlichkeit bereits zur Verfügung und kann von Interessierten heruntergeladen und getestet werden. Es ist jedoch wichtig zu betonen, dass diese Vorabversion noch erheblichen Veränderungen unterliegt und die finale Version von Leap 16.0 in späteren Phasen […]
Invidious ist eineSoftware, die es ermöglicht, Videos von YouTube anzusehen, ohne direkt die offizielle YouTube-Website, oder App zu verwenden. Die selbstgehostete Software ermöglicht eine werbefreie Nutzung von Youtube und schützt die Privatsphäre der Nutzer, indem es Tracking durch Google verhindert. Invidious bietet die weiteren Funktionen wie das Herunterladen von Videos, das Ansehen ohne Anmeldung und ... Weiterlesen
Wer meiner Artikelreihe „Nextcloud auf dem RasPi“ gefolgt ist und alle Schritte nacheinander umgesetzt hat, sollte erfolgreich eine Nextcloud 29 auf dem Raspberry Pi installiert haben, die über ein SSL-Zertifikat von Let’s Encrypt aus dem Internet erreichbar ist. Obwohl inzwischen Version 30 am 14.09.2024 veröffentlicht wurde, wird diese noch nicht im Stable-Zweig bereitgestellt. Daher werde ich nun auf die Behebung der verbleibenden Fehler in Nextcloud 29 eingehen.
Fehlermeldungen in Nextcloud 29
Es fällt sicherlich auf, dass im installierten System in den Verwaltungseinstellungen zahlreiche Fehlermeldungen aufgelaufen sind. Diese müssen nun behoben und beseitigt werden.
Ihr Datenverzeichnis und Ihre Dateien sind wahrscheinlich vom Internet aus erreichbar. Die .htaccess-Datei funktioniert nicht. Es wird dringend empfohlen, Ihren Webserver dahingehend zu konfigurieren, dass das Datenverzeichnis nicht mehr vom Internet aus erreichbar ist oder dass Sie es aus dem Document-Root-Verzeichnis des Webservers herausverschieben.
Das PHP-Speicherlimit liegt unterhalb des empfohlenen Wertes von 512 MB.
Die PHP-Konfigurationsoption „output_buffering“ muss deaktiviert sein
Ihr Webserver ist nicht ordnungsgemäß für die Auflösung von „/ocm-provider/“ eingerichtet. Dies hängt höchstwahrscheinlich mit einer Webserver-Konfiguration zusammen, die nicht dahingehend aktualisiert wurde, diesen Ordner direkt zu auszuliefern. Bitte vergleichen Sie Ihre Konfiguration mit den mitgelieferten Rewrite-Regeln in „.htaccess“ für Apache oder den in der Nginx-Dokumentation mitgelieferten. Auf Nginx sind das typischerweise die Zeilen, die mit „location ~“ beginnen und ein Update benötigen. Weitere Informationen finden Sie in der Dokumentation .
Ihr Webserver ist nicht ordnungsgemäß für die Auflösung von .well-known-URLs eingerichtet. Fehler bei: /.well-known/webfinger Weitere Informationen finden Sie in der Dokumentation .
4 Fehler in den Protokollen seit 20. September 2024, 10:15:53
Der Server hat keine konfigurierte Startzeit für das Wartungsfenster. Das bedeutet, dass ressourcenintensive tägliche Hintergrundaufgaben auch während Ihrer Hauptnutzungszeit ausgeführt werden. Wir empfehlen, das Wartungsfenster auf eine Zeit mit geringer Nutzung festzulegen, damit Benutzer weniger von der Belastung durch diese umfangreichen Aufgaben beeinträchtigt werden. Weitere Informationen finden Sie in der Dokumentation .
Einige Header sind in Ihrer Instanz nicht richtig eingestellt – Der Strict-Transport-Security-HTTP-Header ist nicht gesetzt (er sollte mindestens 15552000 Sekunden betragen). Für erhöhte Sicherheit wird empfohlen, HSTS zu aktivieren. Weitere Informationen finden Sie in der Dokumentation .
In der Datenbank fehlen einige Indizes. Auf Grund der Tatsache, dass das Hinzufügen von Indizes in großen Tabellen einige Zeit in Anspruch nehmen kann, wurden diese nicht automatisch erzeugt. Durch das Ausführen von „occ db:add-missing-indices“ können die fehlenden Indizes manuell hinzugefügt werden, während die Instanz weiter läuft. Nachdem die Indizes hinzugefügt wurden, sind Anfragen auf die Tabellen normalerweise schneller. Fehlende optionaler Index „mail_messages_strucanalyz_idx“ in der Tabelle „mail_messages“. Fehlende optionaler Index „mail_class_creat_idx“ in der Tabelle „mail_classifiers“. Fehlende optionaler Index „mail_acc_prov_idx“ in der Tabelle „mail_accounts“. Fehlende optionaler Index „mail_alias_accid_idx“ in der Tabelle „mail_aliases“. Fehlende optionaler Index „systag_by_objectid“ in der Tabelle „systemtag_object_mapping“. Fehlende optionaler Index „mail_messages_mb_id_uid_uidx“ in der Tabelle „mail_messages“. Fehlende optionaler Index „mail_smime_certs_uid_email_idx“ in der Tabelle „mail_smime_certificates“. Fehlende optionaler Index „mail_trusted_senders_idx“ in der Tabelle „mail_trusted_senders“. Fehlende optionaler Index „mail_coll_idx“ in der Tabelle „mail_coll_addresses“.
Das PHP OPcache-Modul ist nicht ordnungsgemäß konfiguriert. Der „OPcache interned strings“-Puffer ist fast voll. Um sicherzustellen, dass sich wiederholende Strings effektiv zwischengespeichert werden können, wird empfohlen, „opcache.interned_strings_buffer“ mit einem Wert größer als „8“ in der PHP-Konfiguration zu setzen.. Weitere Informationen finden Sie in der Dokumentation .
Die Datenbank wird für transaktionale Dateisperren verwendet. Um die Leistung zu verbessern, konfigurieren Sie bitte Memcache, falls verfügbar. Weitere Informationen finden Sie in der Dokumentation .
Es wurde kein Speichercache konfiguriert. Um die Leistung zu verbessern, konfigurieren Sie bitte Memcache, sofern verfügbar. Weitere Informationen finden Sie in der Dokumentation .
Für Ihre Installation ist keine Standard-Telefonregion festgelegt. Dies ist erforderlich, um Telefonnummern in den Profileinstellungen ohne Ländervorwahl zu überprüfen. Um Nummern ohne Ländervorwahl zuzulassen, fügen Sie bitte „default_phone_region“ mit dem entsprechenden ISO 3166-1-Code der Region zu Ihrer Konfigurationsdatei hinzu. Weitere Informationen finden Sie in der Dokumentation .
Sie haben Ihre E-Mail-Serverkonfiguration noch nicht festgelegt oder überprüft. Gehen Sie bitte zu den „Grundeinstellungen“, um diese festzulegen. Benutzen Sie anschließend den Button „E-Mail senden“ unterhalb des Formulars, um Ihre Einstellungen zu überprüfen. Weitere Informationen finden Sie in der Dokumentation .
Dieser Instanz fehlen einige empfohlene PHP-Module. Für eine verbesserte Leistung und bessere Kompatibilität wird dringend empfohlen, diese zu installieren: – gmp für WebAuthn passwortlose Anmeldung und SFTP-Speicher Weitere Informationen finden Sie in der Dokumentation .
Fehlerbeseitigung
Der erste Fehler in der Liste (… Datenverzeichnis und Ihre Dateien sind wahrscheinlich vom Internet aus erreichbar …) wird behoben, indem man die Konfigurationsdatei des Webservers mit
sucht. Hier wird „None“ durch „All“ ersetzt. Anschließend wird der Webserver neu gestartet und überprüft, ob die Fehlermeldung tatsächlich verschwunden ist. Diese Vorgehensweise wird nun bei jedem der zu beseitigenden Fehler wiederholt. Auf diese Weise lässt sich gut nachvollziehen, wie die Liste nach und nach abgebaut wird.
sudo service apache2 restart
Beim zweiten Fehler gilt es, das Memory Limit in der php.ini von 128MB auf 512MB anzuheben. Hierzu öffnet man diese mit
sudo nano /etc/php/8.2/apache2/php.ini
und ändert den Wert von
memory_limit = 128M
auf.
memory_limit = 512M
Anschließend wird der Webserver erneut gestartet.
sudo service apache2 restart
Eine weitere Fehlermeldung (… Einige Header sind in Ihrer Instanz nicht richtig eingestellt …) wird behoben, indem wir den Header HSTS aktivieren.
und entfernt das Rautezeichen vor der Zeile. Die Zeile wird also auskommentiert
Header always set Strict-Transport-Security "max-age=31536000"
und der Webserver neu gestartet.
sudo service apache2 restart
Danach wird ein weiterer Fehler (… E-Mail-Serverkonfiguration noch nicht festgelegt …) wie folgt behoben: Hierzu navigiert man in die Verwaltungseinstellungen → Verwaltung → Grundeinstellungen und ermöglicht Nextcloud, eMails zu senden. Dies ist wichtig, damit man bei einem vergessenen Passwort als Nutzer dieses zurücksetzen kann.
Einstellungen des SMTP-Servers (Beispiel)
Diese Daten sind natürlich an die eigene E-Mail-Adresse anzupassen. Die meisten E-Mail-Anbieter geben hier entsprechende Anleitungen.
Die nächste Fehlermeldung (… keine Standard-Telefonregion festgelegt …) verschwindet, indem die Konfigurationsdatei der Nextcloud mit
um folgende Zeile am Ende der Auflistung erweitert wird.
'default_phone_region' => 'DE',
Die Fehlermeldung zum OPcache-Modul (… PHP OPcache-Modul ist nicht ordnungsgemäß konfiguriert …) lässt sich beseitigen, indem das Paket php-apcu installiert und die Erweiterung entsprechend konfiguriert wird.
Abschließend wird der Apache2 wieder neu gestartet.
sudo service apache2 restart
Die Problematik zum Thema (… konfigurieren Sie bitte Memcache …) lässt sich lösen, indem man einen Redis-Server installiert, konfiguriert und diesen einbindet. Dazu werden die Pakete redis-server und php-redis installiert.
Nach einem erneuten Neustart des Webservers sollte nun auch diese Fehlermeldung verschwunden sein.
sudo service apache2 restart
Nun wird noch dafür gesorgt, dass HTTPS bei einer Webserveranfrage erzwungen wird. Dazu wird das Apache2-Modul rewrite installiert
sudo a2enmod rewrite
und via
sudo nano /etc/apache2/sites-available/raspi.conf
ein weiteres Mal der VirtualHost aufgerufen und dieser Block unter der Zeile <VirtualHost *:80> eingefügt.
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Wieder wird der Webserver gestartet.
sudo service apache2 restart
Die Fehlermeldung zu fehlenden Modulen (… fehlen einige empfohlene PHP-Module …) wird durch die Installation des Pakets php-gmp beseitigt.
sudo apt install php-gmp -y
Nach der Installation wird der Apache2 ein weiteres Mal neu gestartet.
sudo service apache2 restart
Ein anderer Fehler (… Server hat keine konfigurierte Startzeit für das Wartungsfenster …) lässt sich beheben, indem man die Nextcloud-Konfiguration mit
Um OCC-Befehle auszuführen, ist es notwendig, den Alternative PHP Cache (APC) für das Command Line Interface (CLI) zu aktivieren. Dies ist wichtig, um den nächsten Fehler zu beheben. Dazu wird die entsprechende Konfigurationsdatei geöffnet
sudo nano /etc/php/8.2/mods-available/apcu.ini
und folgender Eintrag
apc.enable_cli=1
ans Ende gesetzt und der Webserver neu gestartet.
sudo service apache2 restart
Jetzt kann die Fehlermeldung (… In der Datenbank fehlen einige Indizes …) behoben werden, nachdem das Verzeichnis /var/www/html/nextcloud/ zuvor betreten wurde.
cd /var/www/html/nextcloud/
Hier führt man den entsprechenden OCC-Befehl aus, der fehlende Indizes der Nextcloud-Datenbank hinzufügt.
sudo -u www-data php occ db:add-missing-indices
Abschließend wird die Log-Datei der Nextcloud gelöscht. Danach sollte sich ein grünes Häkchen mit dem Hinweis „Alle Überprüfungen bestanden“ zeigen.
Selbstverständlich ist es von entscheidender Bedeutung, dass die Nextcloud optimal funktioniert. Dieser Artikel soll dazu beitragen. Anfangs mag man durch die Vielzahl der Fehlermeldungen etwas überwältigt sein. Doch wenn alle Schritte nach und nach abgearbeitet werden, wird man am Ende mit dem grünen Häkchen belohnt. Ein regelmäßiger Blick in die Verwaltungseinstellungen gibt Aufschluss über den Fortschritt und erleichtert das Verständnis der durchgeführten Maßnahmen.
Tipp
Nach der Veröffentlichung des ersten Point Releases von Nextcloud 30 wird automatisch ein Upgrade auf diese Version vorgeschlagen. Es wird empfohlen, über den grafischen Updater auf die neuere Version umzusteigen.
Vorschau
Der nächste Artikel dieser Reihe wird sich damit befassen, das System mit „PHP-FPM“ weiter zu optimieren und die Ladezeiten zu verkürzen.
Die Diskussion über einen KI-Assistenten für Linux wirft grundlegende Fragen zu den Werten und der Philosophie des Betriebssystems auf. Linux wird für seine Anpassungsfähigkeit und Benutzerkontrolle geschätzt, was im Widerspruch zu der Idee steht, einen KI-Assistenten einzuführen, der Aufgaben automatisiert und den Lernprozess von Nutzern potenziell beeinträchtigt. Dennoch könnte ein KI-Assistent in vielen Bereichen von […]
Mit Manjaro 24.1 alias Xahea die Entwickler der Arch-basierten Distribution eine neue Version für die Desktops Gnome, Plasma und Xfce bereit. Die Gnome-Ausgabe birgt diverse Updates für Gnome 46.
Mein neuer Udemy Onlinekurs „Ubuntu Masterclass – Ein Komplettkurs zu Ubuntu LTS (Ubuntu 24.04) für Privat und Business“ ist ab sofort online. Zum Start zum vergünstigten Preis. In diesem umfassenden Kurs tauchst Du ein in die Welt von Ubuntu Desktop, einer der beliebtesten Linux-Distributionen. Egal, ob du ein absoluter Anfänger oder bereits Vorkenntnisse hast, dieser […]
Ubuntu 24.10 unterstützt nun offiziell das Snapdragon-betriebene Lenovo ThinkPad X13s über das generische ARM64 ISO, was eine bedeutende Verbesserung darstellt. Zuvor war es möglich, Ubuntu 23.10 auf diesem Gerät zu nutzen, jedoch nur mit einem speziellen ISO für das ThinkPad. Für die Version 24.04 LTS gab es keinen offiziellen Installer. Mit Ubuntu 24.10 kann jedoch […]
Mozilla hat die neue Version 131 des Browsers Firefox veröffentlicht. Der Browser bietet jetzt an, sich vorübergehend zu merken, wenn Benutzer Berechtigungen für Websites erteilen.
Im veröffentlichten monatlichen Newsletter für September gibt Clement Lefebvre, der Leiter des Linux Mint Projekts, einen ersten Einblick in das neue Standard-Design der Cinnamon-Oberfläche, die mit Linux Mint 22.1 noch in diesem Jahr erscheinen wird. Die Veröffentlichung von Linux Mint 22.1 ist für Dezember 2024 geplant, kurz vor den Weihnachtsfeiertagen. Es wird mit der neuen […]
Firefox 131 bringt eher kleine Verbesserungen, die teilweise die Sicherheit im Browser erhöhen. So können Berechtigungen für Webseiten jetzt temporär vergeben werden.
Dieser Artikel gibt meine Motivation für den Bau von Container-Images und die Vorgehensweise wieder und zeigt, wie ich mit Buildah meine OCI-kompatiblen Container-Images erstelle.
Es handelt sich dabei mehr um einen Erfahrungsbericht als ein Tutorial und ich erhebe keinen Anspruch auf Vollständigkeit. Das behandelte Beispiel ist jedoch zum Einstieg und zur Nachahmung für all jene geeignet, die Container ausführen können und diese gerne ohne Verwendung von Containerfiles bauen möchten.
Motivation
Ich möchte die Ansible-Rollen aus meiner Collection tronde.nextcloud mit Molecule und Podman-Containern testen. Als Zielplattform für das Deployment der Nextcloud unterstütze ich zunächst Debian und RHEL.
Die Tests sollen verifizieren, dass Nextcloud im Container in einer rootless-Podman-Umgebung bereitgestellt werden kann. Da der Test unter Verwendung von Podman-Containern durchgeführt werden soll, müssen diese Container eine solche rootless-Podman-Umgebung bereitstellen.
Für RHEL 8 und RHEL 9 habe ich entsprechende Container-Images gefunden. Für Debian bin ich nicht fündig geworden und habe daher beschlossen, diese Container-Images selbst zu erstellen.
Buildah ist das Werkzeug meiner Wahl, da:
Container-Images damit interaktiv erstellt werden können,
die verwendeten Befehle am Ende in einem Bash-Skript gesammelt werden können,
sich damit sogar interaktive Abfragen mit Heredocs beantworten lassen,
man kein containerfile(5) benötigt und
ich das Werkzeug noch nicht kenne und es gerne kennenlernen möchte.
Für mich sind dies ausreichend Gründe, um mich kopfüber in ein neues Container-Projekt zu stürzen. Wer mehr über die Beziehung von Buildah zu Podman erfahren möchte, dem empfehle ich den englischsprachigen Artikel: Buildah and Podman Relationship von Tom Sweeney.
Die folgenden Code-Blöcke zeigen Auszüge aus dem Skript buildah_create_debian_bookworm_with_rootless_podman.sh (Commit 7634ed8). Die enthaltenen Befehle werden unter dem jeweiligen Code-Block erläutert. Alle Befehle werden als normaler Benutzer ohne Root-Rechte ausgeführt.
# Name of target container image
tctri=debian_rootless_podman
# Get a base image
ctr=$(buildah from --pull=newer docker://docker.io/library/debian:bookworm)
Die Variable tctri nimmt den Namen des Container-Images auf, welches ich erzeugen werde
Die Variable ctr nimmt den Namen des Containers auf, welcher durch den buildah-from(1)-Befehl erzeugt wird; mit diesem Container wird im Folgenden gearbeitet
Die Option --pull=newer sorgt dafür, dass das Image nur dann aus der angegebenen Registry heruntergeladen wird, wenn es aktueller als das evtl. lokal gespeicherte Image ist
buildah run -- $ctr apt -y update
buildah run -- $ctr apt -y upgrade
buildah run -- $ctr apt -y install podman fuse-overlayfs libvshadow-utils libcap2-bin ca-certificates
Mit buildah-run(1) werden Befehle innerhalb des Arbeits-Containers ausgeführt
Ich aktualisiere die im Basis-Image enthaltenen Pakte und
installiere die für rootless Podman benötigten Pakete
Das Paket ca-certificates wird benötigt, um später Container-Images aus einer Registry herunterladen zu können
buildah run -- $ctr useradd podman
buildah run -- $ctr sh -c "echo podman:1:999 > /etc/subuid"
buildah run -- $ctr sh -c "echo podman:1001:64535 >> /etc/subuid"
buildah run -- $ctr sh -c "echo podman:1:999 > /etc/subgid"
buildah run -- $ctr sh -c "echo podman:1001:64535 >> /etc/subgid"
buildah run -- $ctr setcap cap_setuid+epi /usr/bin/newuidmap
buildah run -- $ctr setcap cap_setgid+epi /usr/bin/newgidmap
Mit den hier dargestellten Befehlen wird der nicht-privilegierte Benutzer podman erstellt
Die IDs für /etc/sub[g,u]id habe ich mir aus dem ubi9/podman-Image abgeschaut
Die setcap-Befehle sind notwendig, um rootless Podman ausführen zu können; ich habe sie durch Internetrecherche und Trial-and-Error zusammengestellt
Ich erstelle die Verzeichnisse, die ich im Artikel [7] gefunden habe
Ich erstelle die Environment-Variable, die ich ebenfalls in genanntem Artikel [7] gefunden habe
buildah run -- $ctr apt -y reinstall uidmap
buildah run -- $ctr apt -y clean
buildah run -- $ctr rm -rf /var/lib/apt/lists/*
Aus mir nicht bekannter Ursache muss das Paket uidmap neu installiert werden, um ein UID/GID-Mapping sicherzustellen; dies scheint analog zur Neuinstallation der shadow-utils in Artikel [7] notwendig zu sein
Die beiden folgenden Befehle sollen den Paket-Cache aufräumen, um die Größe des resultierenden Images zu verkleinern, zeigen jedoch keinen sichtbaren Effekt
# Commit to an image
buildah commit --rm $ctr $tctri
# Alternative: Use this and add GPG fingerprint for image signing
# buildah commit --sign-by <fingerprint> --rm $ctr $tctri
# Tag the image just created
buildah tag $tctri $tctri:bookworm-$(date --iso)
Mit buildah-commit(1) wird der Inhalt des Arbeits-Containers $ctr in ein Container-Image namens $tctri geschrieben
Durch Angabe der Option --rm wird der Arbeits-Container entfernt
Die Kommentarzeile lässt erkennen, dass ich zukünftig beabsichtige, meine Images digital zu signieren
Der Befehl buildah-commit(1) fügt dem neuen Image übrigens nur einen weiteren Layer hinzu, egal wie viele Befehle zuvor im Arbeits-Container ausgeführt wurden. Das erzeugte Image umfasst also die Layer des Basis-Image plus einen weiteren.
Zwischenfazit
An diesem Punkt habe ich ein Basis-Image ausgewählt, mithilfe von buildah zusätzliche Software installiert, einen Benutzer hinzugefügt und ein neues Image erzeugt.
Die fertigen Images halte ich in der Registry https://quay.io/repository/rhn-support-jkastnin/debian_rootless_podman vor. Fühlt euch frei, diese für eigene Experimente zu benutzen, doch verwendet sie nur mit Vorsicht in Produktion. Ich erzeuge diese Images nur nach Bedarf neu, so dass die veröffentlichen Versionen veraltet und voller Sicherheitslücken sein können.
Validierung
Jetzt, wo die Images fertig sind, kann ich prüfen, ob sich rootless Podman darin auch wie gewünscht ausführen lässt.
Die Prozesse innerhalb des von meinem Container-Image instanziierten Containers laufen als Benutzer root. Um die Prozesse als Benutzer podman auszuführen, ist dies beim Aufruf von podman run explizit mit anzugeben. Der folgende Code-Block verdeutlicht dies und zeigt zugleich den ersten Fehler beim Versuch rootless Podman auszuführen.
]$ podman run --rm localhost/debian_rootless_podman:bookworm-2024-09-21 id
uid=0(root) gid=0(root) groups=0(root)
]$ podman run --rm --user podman localhost/debian_rootless_podman:bookworm-2024-09-21 id
uid=1000(podman) gid=1000(podman) groups=1000(podman)
]$ podman run --rm --security-opt label=disable --user podman --device /dev/fuse localhost/debian_rootless_podman:bookworm-2024-09-21 podman info
time="2024-09-21T18:43:35Z" level=error msg="running `/usr/bin/newuidmap 15 0 1000 1 1 1 999 1000 1001 64535`: newuidmap: write to uid_map failed: Operation not permitted\n"
Error: cannot set up namespace using "/usr/bin/newuidmap": exit status 1
Der Fehler deutet auf fehlende capabilities(7) hin. Um diese Hypothese zu testen, wiederhole ich den letzten Befehl mit der Option --privileged (siehe dazu podman-run(1)):
]$ podman run --rm --security-opt label=disable --user podman --device /dev/fuse --privileged localhost/debian_rootless_podman:bookworm-2024-09-21 podman info
host:
…
Damit funktioniert es. Leider geben sich viele Menschen an dieser Stelle mit dem Ergebnis zufrieden. Doch ich möchte diese Container nicht einfach mit --privileged ausführen. Also studiere ich die Manpage capabilities(7) und teste mich Stück für Stück heran, bis ich mit dem folgenden Kommando ebenfalls erfolgreich bin:
]$ podman run --rm --user podman --security-opt label=disable --device /dev/fuse --cap-add=setuid,setgid,sys_admin,chown localhost/debian_rootless_podman:bookworm-2024-09-21 podman info
host:
…
Dies ist schon deutlich besser, da dem Container hiermit deutlich weniger Privilegien eingeräumt werden müssen. Das Thema Container-Privilegien und capabilities(7) werde ich noch genauer untersuchen. Eventuell folgt dazu dann auch ein weiterer Artikel. Für den Moment ist das Ergebnis gut genug.
Die letzten wichtigen verbleibenden Bausteine für den Realtime-Support für Linux wurden in den Mainline-Zweig aufgenommen. Das bedeutet, dass Linux 6.12 voraussichtlich in einem echtzeitfähigen Modus betrieben werden kann, wenn der Kernel entsprechend kompiliert wird.
Echtzeitfähigkeit wird insbesondere in Embedded-Szenarien benötigt, wenn auf eine Eingabe innerhalb einer vorhersagbaren Zeit eine Antwort erwartet wird. Speziell in der Robotik, aber auch in der Multimediaproduktion gibt es solche Anforderungen. Dabei kommt es nicht darauf an, dass eine Aufgabe schnell abgearbeitet wird, sondern, dass sie in einer deterministischen Zeit begonnen wird.
Ein Beispiel für Echtzeit
An dieser Stelle mag sich die Frage stellen, was diese Echtzeitfähigkeit, von der hier geredet wird, überhaupt ist. Das lässt sich gut am Beispiel eines Line-following Robot klären. Was ein solcher Roboter tut, kann man sich z. B. in diesem YouTube-Video ansehen. Technisch besteht so ein Roboter aus zwei (oder mehr) Kameras als Sensoren, zwei Motoren für jeweils ein Rad als Aktoren und einem Controller zur Steuerung. Die Kameras sollen den Kontrast ermitteln, damit festgestellt werden kann, ob sie noch auf die schwarze Linie zeigen. Bemerkt eine der Kameras beim Fahren, dass sie den Sichtkontakt zur Linie aufgrund z. B. einer Kurve verliert, müssen die Motoren durch eine leichte Drehung nachsteuern, um auf der Linie zu bleiben.
Diese Kameras lösen üblicherweise entsprechend ihrer Abtastfrequenz auf dem Controller für die Steuerung einen Interrupt aus. Das führt zur Abarbeitung der Steuerungsroutine, die für beide Motoren die Geschwindigkeit berechnet, mit der sie sich drehen sollen.
Entscheidend ist, dass nicht beide Kameras den Sichtkontakt verlieren, damit der Roboter weiterhin weiß, in welche Richtung er nachsteuern muss. Üblicherweise wird das beim Testen funktionieren, aber es kann in bestimmten Randbedingungen bei normalen Betriebssystemen, wenn der Controller z. B. mit vielen anderen Aufgaben zufälligerweise beschäftigt ist, passieren, dass auf einmal nicht schnell genug die Routine aufgerufen wird. Der Roboter verliert dann den Sichtkontakt.
Der Entwickler eines solchen Roboters kann nun eine Echtzeitanforderung formulieren, dass z. B. auf ein Interrupt von den Kameras innerhalb von 1 Millisekunde reagiert werden muss. Er kann mit dieser Anforderung jetzt die maximale Geschwindigkeit des Roboters so wählen, dass der Roboter langsam genug fährt, um nicht die Linie – trotz der Latenz von im worst-case 1 Millisekunde – nicht zu verlieren.
Diese 1 Millisekunde muss aber auch vom Controller, seinem Betriebssystem und schließlich seinem Kernel garantiert werden. Der Kernel muss also in jeder Situation in der Lage sein, auf eine Anforderung innerhalb einer vorbestimmten Zeit zu reagieren. Unabhängig von der zwingenden Fähigkeit, präemptiv zu arbeiten, also jederzeit anderer Prozesse unterbrechen zu können, darf der Kernel auch nicht mit sich selber unvorhersehbar lange beschäftigt sein, wenn z. B. eine Synchronisation hängt.
20 Jahre Arbeit
Und genau hierum geht es beim grob gesagt beim PREEMPT_RT-Patch. Der Kernel muss so nachgebessert werden, dass keine Komponente sich unnötig lange aufhängt und somit die Abarbeitung von Aufgaben behindert, für die eine garantierte Ausführungszeit festgelegt wurde.
Die ursprüngliche Arbeit begann bereits im Jahr 2004 auf einem getrennten Zweig und hatte viele Verbesserungen in den Kernel gebracht, zuletzt an der printk()-Infrastruktur. Jetzt sollten die Arbeiten so weit sein, dass Realtime nicht mehr auf einem getrennten Zweig, sondern im Hauptzweig entwickelt werden kann.
Die Echtzeitfähigkeit gab es somit in speziell präparierten Kernels schon lange. Neu ist, dass der Code im Hauptzweig gepflegt wird und somit besser mit Änderungen anderer Maintainer abgestimmt werden kann. Denn eine Änderung an einer anderen Komponente reicht schon aus, um die Echtzeitfähigkeit zu unterminieren.
Linux echtzeitfähig zu machen, ist somit ein großer Aufwand gewesen, weil man solche Fähigkeiten oft nur in spezialisierten Betriebssystemen (sogenannten Real-time operating systems, RTOS) vorfindet. Insbesondere Thomas Gleixner und John Ogness haben hier große Anstrengungen unternommen. Jetzt, nach knapp 20 Jahren Arbeit, dürfte das Vorhaben einen wichtigen Meilenstein erreichen.
Wer sich für einen tieferen Einblick in die Linux-RT-Welt interessiert, kann einerseits den Artikel von Thomas Leemhuis auf Heise Online von letzter Woche lesen oder sich auf LWN durch das Artikelarchiv zu der Thematik arbeiten.
In der OpenPrinting Common Unix Printing System (CUPS) auf Linux-Systemen wurden neue Sicherheitslücken entdeckt. Unter bestimmten Bedingungen könnten diese Schwachstellen eine Fernbefehlsausführung ermöglichen. Ein entfernter, nicht authentifizierter Angreifer kann dabei unbemerkt bestehende Drucker-URLs durch bösartige URLs ersetzen. Sobald ein Druckauftrag von diesem Computer gestartet wird, kann der Angreifer beliebige Befehle mit den entsprechenden Benutzerrechten ohne […]
Die Document Foundation hat die allgemeine Verfügbarkeit von LibreOffice 24.8.2 angekündigt. Dies ist das zweite Wartungsupdate der neuesten LibreOffice 24.8 Office-Suite-Serie und behebt über 80 Fehler. Zwei Wochen nach LibreOffice 24.8.1 ist das Update 24.8.2 da. Es behebt weitere lästige Fehler, Abstürze und andere Probleme, die von Nutzern gemeldet wurden. Dies sollte die Stabilität und […]
In diesem Beitrag vergleichen wir Kubuntu und KDE neon – zwei beliebte Linux-Distributionen, die den KDE Plasma-Desktop auf Ubuntu Basis verwenden. Beide haben Gemeinsamkeiten, aber auch wesentliche Unterschiede, besonders in Bezug auf Zielgruppe, Update-Zyklus und Benutzerfreundlichkeit. Ob du ein Anfänger oder ein KDE-Fan bist, wir schauen uns an, welche Option für dich besser geeignet ist. […]
Vielleicht wollen oder können Sie Ubuntu nicht direkt auf Ihr Notebook oder Ihren PC installieren. Dennoch interessieren Sie sich für Linux oder brauchen eine Installation für Schule, Studium oder Software-Entwicklung. Diese Artikelserie fasst drei Wege zusammen, Ubuntu 24.04 virtuell zu nutzen:
Teil II: mit VirtualBox (Windows mit Intel/AMD-CPU)
Teil III (dieser Text): mit UTM (macOS ARM)
In diesem Artikel gehe ich davon aus, dass Sie einen Mac mit ARM-CPU (M1, M2 usw.) verwenden. Für ältere Modelle mit Intel-CPUs gelten z.T. andere Details, auf die ich hier nicht eingehe. Insbesondere müssen Sie dann eine ISO-Datei für x86-kompatible CPUs verwenden, anstatt, wie hier beschrieben, eine ARM-ISO-Datei!
Virtualisierungssysteme für macOS ARM
Sie haben die Wahl:
Parallels Desktop: gut, aber wegen jährlicher Update-Pflicht sehr teuer
VMWare Fusion: kostenlos (for personal use), aber gut versteckter Download (erfordert vorher Registrierung bei Broadcom, danach lange Suche), verwirrende Bedienung, unklare Zukunft
UTM: Open-Source-Programm, kostenloser Download oder 10 EUR über App Store (einziger Unterschied: automatische Updates)
VirtualBox: kostenlos, aber aktuell erst als Beta-Version verfügbar und extrem langsam
Ich konzentriere mich hier auf UTM, der aus meiner Sicht überzeugendsten Lösung.
UTM
UTM ist ein Open-Source-Programm, das nur als Schnittstelle zu zwei Virtualisierungssystemen dient: dem aus der Linux-Welt bekannten QEMU-System sowie dem Apple Hypervisor Virtualization Framework (integraler Bestandteil von macOS seit Version 13, also seit Herbst 2022). UTM ist also lediglich eine grafische Oberfläche und delegiert die eigentliche Virtualisierung an etablierte Frameworks.
Sie können UTM um ca. 10 EUR im App Store kaufen und so die UTM-Entwickler ein wenig unterstützen, oder das Programm kostenlos von https://mac.getutm.app/ herunterladen und (vollkommen unkompliziert!) selbst installieren.
Sodann können Sie mit UTM virtuelle Maschinen mit Linux, Windows und macOS ausführen. Ich behandle hier ausschließlich Linux.
QEMU oder Apple Virtualization?
Wenn Sie in UTM eine neue virtuelle Maschine für Linux einrichten, haben Sie die Wahl zwischen zwei Virtualisierungssystemen: QEMU und Apple Virtualization. Welches ist besser?
Die QEMU-Variante bietet viel mehr Konfigurationsmöglichkeiten rund um die Netzwerkeinbindung und das Grafiksystem. Allerdings braucht die virtuelle Maschine doppelt so viel RAM wie vorgesehen: Wenn Sie eine VM mit 4 GB RAM einrichten, gehen beim Betrieb 8 GB RAM im macOS-Arbeitsspeicher verloren! macOS ist gut dabei, ungenutzte RAM-Teile zu komprimieren oder auszulagern, dennoch ist diese RAM-Verschwendung Wahnsinn. (Das gleiche Problem habe ich übrigens auch bei Tests mit VMWare Fusion festgestellt.)
Bei Apple Virtualization funktioniert die Speicherverwaltung, d.h. eine virtuelle Maschine mit 4 GB RAM braucht tatsächlich nur 4 GB RAM. (Das sollte ja eigentlich selbstverständlich sein …) Dafür haben Sie bei der Netzwerkkonfiguration kaum Wahlmöglichkeiten. Die VMs werden immer über eine Netzwerkbrücke in das lokale Netzwerk integriert. Es gibt zwar zwei Optionen, Gemeinsames Netzwerk und Bridge-Modus. Soweit ich es nachvollziehen kann, reduziert Gemeinsames Netzwerk nur die Optionen für den Bridge-Modus, ändert aber daran nichts. Das Apple Virtualization Framework würde auch NAT unterstützen, aber UTM stellt diese Option nicht zur Wahl.
In der Oberfläche von UTM wird die Verwendung von Apple Virtualization als experimentell bezeichnet. Ich habe bei meinen Tests leider mit beiden Frameworks gelegentliche Abstürze von virtuellen Maschinen erlebt. Ich würde beide Frameworks als gleichermaßen stabil betrachten (oder auch instabil, je nach Sichtweise; unter Linux mit QEMU/KVM sind mir Abstürze unbekannt). Persönlich verwende ich, vor allem um RAM zu sparen, für neue VMs nur mehr die Apple Virtualization. Glücklicherweise passt der Bridge Modus gut zu meinen Netzwerkanforderungen.
Wenn Sie VMs mit macOS oder Windows erstellen, entfällt die Wahlmöglichkeit. Windows VMs können nur durch QEMU ausgeführt werden, macOS VMs nur mit dem Apple Virtualization Framework.
Ubuntu installieren
Die erste Hürde hin zur Ubuntu-Installation besteht darin, ein ARM-ISO-Image zu finden. Auf den üblichen Download-Seiten finden Sie nur die x86-Variante von Ubuntu Desktop. Es gibt aber sehr wohl ein ARM-Image! Es ist auf der Website cdimage.ubuntu.com versteckt (noble-desktop-arm64.iso):
In UTM klicken Sie auf den Plus-Button, um eine neue virtuelle Maschine einzurichten. Danach wählen Sie die folgenden Optionen:
Virtualisieren
Linux
Option Use Apple Virtualiuation, Button Durchsuchen, um die ISO-Datei (das Boot-ISO-Abbild) auszuwählen
Speicher: 4 GB ist zumeist eine sinnvolle Einstellung
Prozessorkerne: ich verwende zumeist 2, die Einstellung Standard ist auch OK
Datenspeicher (Größe des Disk-Images): nach Bedarf, 25 GB sind in meiner Erfahrung das Minimum
Freigegebener Ordner: sollte die Nutzung eines macOS-Verzeichnisses innerhalb der virtuellen Maschine ermöglichen, funktioniert meines Wissens aber nur, wenn die virtuelle Maschine selbst macOS ist
Zusammenfassung: hier geben Sie der virtuellen Maschine einen Namen
Setup der neuen virtuellen Maschine in UTMEinstellung des Namens der virtuellen Maschine
Nachdem Sie alle Einstellungen gespeichert haben, starten Sie die virtuelle Maschine. Nach ca. 30 Sekunden sollte der Desktop mit dem Installationsprogramm erscheinen (erster Dialog: Welcome to Ubuntu). Falls das Installationsprogramm je nach Monitor auf einem riesigen Desktop winzig dargestellt wird, öffnen Sie rechts oben über das Panel-Menü die Einstellungen (Zahnrad-Icon), suchen das Dialogblatt Displays und wählen eine kleinere Bildschirmauflösung aus.
Im Installationsprogramm stellen Sie nun die gewünschte Sprache ein. Bei der Einstellung des Tastaturlayouts wählen Sie Deutsch und die Tastaturvariante Deutsch Macintosh, damit die Mac-Tastatur unter Ubuntu richtig funktioniert. Alle weiteren Einstellungen erfolgen wie bei einer Installation unter VirtualBox, siehe Ubuntu 24.04 in VirtualBox ausführen. Sie brauchen keine Software von Drittanbietern, können aber die Option Unterstützung für zusätzliche Medieformate aktivieren.
Ausführung des Ubuntu-Installationsprogramms
Nach Abschluss aller Setup-Dialoge dauert die Installation ca. fünf Minuten. Da während der Installation manche Pakete aus dem Internet heruntergeladen werden, ist die Dauer der Installation auch von der Geschwindigkeit Ihres Internetzugangs abhängig.
Ubuntu nutzen
Nach dem ersten Neustart erscheint der Ubuntu-Desktop. Wieder kann es je nach Monitor passieren, dass die Grafikauflösung in der virtuellen Maschine zu groß ist. Öffnen Sie das Programm Einstellungen, dort das Dialogblatt Anzeigegeräte und stellen Sie eine passende Auflösung ein. Im Unterschied zu anderen Virtualisierungsprogramme ändert sich die Auflösung nicht automatisch, wenn Sie das UTM-Fenster verändern. Stattdessen wird der im Fenster angezeigte Inhalt skaliert.
Damit sich die Maus in der virtuellen Maschine wie unter macOS verhält, aktivieren Sie in Einstellungen/Maus und Tastfeld die Option Natürliche Rollrichtung.
Um Text zwischen macOS und Ubuntu auszutauschen, können Sie die Zwischenablage verwenden. Dazu muss weder zusätzliche Software installiert noch irgendeine Konfiguration verändert werden.
Zum Austausch von Dateien verwenden Sie am einfachsten scp.
Ubuntu 24.04 (ARM) läuft unter macOS
Speicherort der virtuellen Maschinen
UTM speichert die virtuellen Maschinen im Verzeichnis Library/Containers/com.utmapp.UTM. In der Regel ist es nicht zweckmäßig, die riesigen Image-Dateien in das TimeMachine-Backup mit aufzunehmen. Fügen Sie daher bei den TimeMachine-Einstellungen eine entsprechende Regel hinzu.