Normale Ansicht

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

LibreOffice 24.8 in Ubuntu 24.04 LTS verwenden

20. Oktober 2024 um 18:20

Heute zeige ich, wie man die aktuelle Version 24.8 von LibreOffice in Ubuntu 24.04 LTS installiert. Alternativ kann dies über das Anwendungszentrum mit Snap im Kanal latest/candidate erfolgen (siehe Screenshot). Da ich jedoch die Paketverwaltung APT bevorzuge, werde ich diesen Weg erläutern.

Anwendungszentrum Ubuntu - LibreOffice
Anwendungszentrum Ubuntu – LibreOffice

Installation

Mit der Long-Term-Support-Version Ubuntu 24.04 von Canonical wird standardmäßig LibreOffice 24.2 ausgeliefert. Wenn man jedoch die aktuelle Version 24.8 auf seinem System haben möchte, kann man dies einfach über das Repository des Entwicklers nachholen. Dazu fügt man die Paketquelle über das Terminal hinzu

sudo add-apt-repository ppa:libreoffice/ppa

und liest diese neu ein.

sudo apt update

Danach wird LibreOffice über

sudo apt upgrade

auf die Version 24.8 aktualisiert. Klappt das nicht, dann wird das Paket einfach mit

sudo apt install libreoffice

nachinstalliert.

Tipp

Sollte das deutsche Sprachpaket fehlen, kann dieses problemlos mit

sudo apt install libreoffice-l10n-de

nachgeholt werden.

Ubuntu 24.10

19. Oktober 2024 um 08:11

Eigentlich hatte ich nicht vorgehabt, über Ubuntu 24.10 zu schreiben. Es ist kein LTS-Release, dramatische Neuerungen gibt es auch nicht. Aber dann ergab sich überraschend die Notwendigkeit, eine native Ubuntu-Installation auf meinem Notebook (Lenovo P1 gen1) durchzuführen. Außerdem feiert Ubuntu den 20. Geburtstag.

Also habe ich doch ein paar Worte (gar nicht so wenige) zum neuesten Release geschrieben. Der Text ist launiger geworden als beabsichtigt. Er konzentriert sich ausschließlich auf die Desktop-Nutzung, also auf Ubuntu für Büro-, Admin- oder Entwicklerrechner. Der Artikel bringt auch ein wenig meinen Frust zum Ausdruck, den ich mit Linux am Desktop zunehmend verspüre.

Installation

Ich lebe normalerweise in einer weitgehend virtuellen Linux-Welt. Auf meinem Arbeits-Notebook läuft zwar Arch Linux, aber neue Distributionen teste ich meistens in virtuellen Maschinen, viele meiner Server-Installationen befinden sich in Cloud-Instanzen, die Software-Entwicklung erfolgt in Docker-Containern. Überall Linux, aber eben meist eine (oder zwei) virtuelle Schichten entfernt.

Insofern ist es wichtig, hin und wieder auch eine »echte« Installation durchzuführen. Testkandidat war in diesem Fall ein fünf Jahre altes Lenovo P1 Notebook mit Intel-CPU und NVIDIA-GPU. Ich wollte Ubuntu auf eine noch leere 2-TB-SSD installieren, dabei aber nur 400 GiB nutzen. (Auch ein paar andere Distributionen verdienen im nächsten Jahr ihre Chance in der realen Welt …)

Weil ich nicht die ganze SSD nutzen möchte, werde ich zur manuellen Partitionierung gezwungen. So weit, so gut, allerdings fehlen dort die LVM-Funktionen. Somit ist es für Laien unmöglich, Ubuntu verschlüsselt in ein Logical Volume zu installieren. (Profis können sich Ihr Setup mit parted, pvxxx, vgxxx, lvxxx und cryptsetup selbst zusammenbasteln. Ich habe das aber nicht getestet.)

Bei der manuellen Partitionierung ist es unmöglich, die EI-Partition an den Beginn der Partitionstabelle zu stellen. Die /-Partition wird mit ‚Windows Boot Manager‘ beschriftet, warum auch immer. Die zweite SSD enthält eine schon vorhandene Arch-Linux-Installation.

Noch ein Ärgernis der manuellen Partitionierung: Das Setup-Programm kümmert sich selbst darum, eine EFI-Partition einzurichten. Gut! Aber auf einer aktuell leeren Disk wird diese kleine Partition immer NACH den anderen Partitionen platziert. Mir wäre lieber gewesen, zuerst 2 GiB EFI, dann 400 GiB für /. Solange es keine weiteren Partitionen gibt, hätte ich so die Chance, die Größe von / nachträglich zu ändern. Fehlanzeige. Im Übrigen hat das Setup-Programm auch die von mir gewählte Größe für die EFI-Partition ignoriert. Ich wollte 2 GiB und habe diese Größe auch eingestellt (siehe Screenshot). Das Setup-Programm fand 1 GiB ausreichend und hat sich durchgesetzt.

Zusammenfassung der Installationseinstellungen

Für die meisten Linux-Anwender sind die obigen Anmerkungen nicht relevant. Wenn Sie Ubuntu einfach auf die ganze Disk installieren wollen (real oder in einer virtuellen Maschine), oder in den freien Platz, der neben Windows noch zur Verfügung steht, dann klappt ja alles bestens. Nur Sonderwünsche werden nicht erfüllt.

Letzte Anmerkung: Ich wollte auf dem gleichen Rechner kürzlich Windows 11 neu installieren. (Fragen Sie jetzt nicht, warum …) Um es kurz zu machen — ich bin gescheitert. Das Windows-11-Setup-Programm aus dem aktuellsten ISO-Image glänzt in moderner Windows-7-Optik. Es braucht anscheinend zusätzliche Treiber, damit es auf einem fünf Jahre alten Notebook auf die SSDs zugreifen kann. (?!) Mit der Hilfe von Google habe ich entdeckt, dass er wohl die Intel-RST-Treiber für die Intel-CPU des Rechners haben will. Die habe ich mir runtergeladen, auf einem anderen Windows-Rechner (wird selbstverständlich vorausgesetzt) ausgepackt, auf einen zweiten USB-Stick gegeben und dem Windows-Installer zum Fraß vorgeworfen. Aber es half nichts. Die Treiber wären angeblich inkompatibel zu meiner Hardware. Ich habe fünf Stunden alles Mögliche probiert, das Internet und KI-Tools befragt, diverse Treiber von allen möglichen Seiten heruntergeladen. Aussichtslos. Ich habe mir dann von Lenovo ein Recovery-Image (Windows 10, aber egal) für mein Notebook besorgt. Es bleibt bei der Partitionierung in einem Endlos-Reboot hängen. Vielleicht, weil vor fünf Jahren 2-TB-SSDs unüblich waren? Also: Wer immer (mich selbst eingeschlossen) darüber jammert, wie schwierig eine Linux-Installation doch sei, hat noch nie versucht, Windows auf realer Hardware zu installieren. (Ich weiß, in virtuellen Maschinen klappt es besser.) Jammern über Einschränkungen bei der Ubuntu-Installation ist Jammern auf hohen Niveau. Der Ubuntu-Installer funktioniert ca. 100 Mal besser als der von Windows 11!

Das App Center

Obwohl ich bekanntermaßen kein großer Snap-Fan bin, habe ich mich entschieden, Ubuntu zur Abwechslung einmal so zu verwenden, wie es von seinen Entwicklern vorgesehen ist. Ich habe daher einige für mich relevante Desktop-Programme aus dem App Center in Form von Snap-Paketen installiert (unter anderem eine Vorabversion von Gimp 3.0, VS Code, den Nextcloud Client und LibreOffice). Auf den Speicherverbrauch habe ich nicht geschaut, Platz auf der SSD und im RAM ist ja genug.

Das Ubuntu App Center stellt ausschließlich Snap-Pakete von snapcraft.io zur Auswahl

Grundsätzlich hat vieles funktioniert, aber gemessen daran, wie lange es nun schon Snaps gibt, stören immer noch erstaunlich viele Kleinigkeiten:

  • Im Nextcloud-Client hatte ich im ersten Versuch Probleme bei der Verzeichnisauswahl. Diese folgte relativ zum Snap-Installationsverzeichnis statt relativ zu meinem Home-Verzeichnis. In der Folge scheiterte die Synchronisation wegen fehlender Schreibrechte. Das ließ sich relativ schnell beheben, hätte bei Einsteigern aber sicher einiges an Verwirrung verursacht. Noch ein Problem: Der Nextcloud wird NICHT automatisch beim Login gestartet, obwohl die entsprechende Option in den Nextcloud-Einstellungen gesetzt ist. Das muss manuell behoben werden (am einfachsten in gnome-tweaks alias Optimierungen im Tab Startprogramme).
Damit der Nextcloud-Client automatisch startet, nehmen Sie am besten »gnome-tweaks« (Optimierungen) zu Hilfe
  • Der Versuch, LibreOffice nach der Installation aus dem Ubuntu Store zu starten (Button Öffnen), führt direkt in den LibreOffice-Datenbank-Assistenten?! Weil ich keine Datenbank einrichten will, breche ich ab — damit endet LibreOffice wieder. Ich habe LibreOffice dann über das Startmenü (ehemals ‚Anwendungen‘) gestartet — funktioniert. Warum nicht gleich? Das nächste Problem tritt auf, sobald ich eine Datei öffnen möchte. Im Dateiauswahldialog drücke ich auf Persönlicher Ordner — aber der ist leer! Warum? Weil wieder alle Verzeichnisse (inkl. des Home-Verzeichnisses) relativ zum Snap-Installationsordner gelten. Meine Güte! Ja, ich kann mit etwas Mühe zu meinem wirklichen Home-Verzeichnis navigieren, aber so treibt man doch jeden Einsteiger zum Wahnsinn. Ab dem zweiten Start funktioniert es dann, d.h. LibreOffice nutzt standardmäßig mein ‚richtiges‘ Home-Verzeichnis.
Snap-Programme wissen nicht immer, wo ‚Home‘ ist.
  • Zwischendurch ist der App Center abgestürzt. Es kommt auch vor, dass das Programm plötzlich ohne ersichtlichen Grund einen CPU-Core zu 100 % nutzt. Das Programm beenden hilft.
  • Updates des App Center (selbst ein Snap-Paket), während dieser läuft, sind weiter unmöglich.

Es gibt auch gute Nachrichten: Ein Klick auf ein heruntergeladenes Debian-Paket öffnet das App Center, und dieses kann nun tatsächlich das Debian-Paket installieren. (Es warnt langatmig, wie unsicher die Installation von Paketen unbekannter Herkunft ist, aber gut. In gewisser Weise stimmt das ja.)

Nicht nur dass, wenn Sie den Suchfilter korrekt einstellen, können Sie im App Center sogar nach Debian-Paketen suchen und direkt installieren. Ganz intuitiv ist das nicht, aber es ist ein Fortschritt.

Sie können im App Center nun auch nach Debian-Paketen suchen

NVIDIA und Wayland

Ubuntu 24.10 ist die erste Ubuntu-Version, bei der meine NVIDIA-Grafikkarte out of the box nahezu ohne Einschränkungen funktioniert. Ich habe während der Installation darum gebeten, auch proprietäre Treiber zu installieren. Beim ersten Start werden dementsprechend die NVIDIA-Treiber geladen. Ab dem ersten Login ist tatsächlich Wayland aktiv und nicht wie (bei meiner Hardware in der Vergangenheit) X.org.

Die Installation proprietärer Treiber (inkl. NVIDIA) während der Installation ist ein Kinderspiel.
NVIDIA und Wayland kooperieren

Ich habe eine Weile in mit den Anzeige-Einstellungen gespielt: Zwei Monitore in unterschiedlichen Varianten, fraktionelle Skalierung (unscharf, aber prinzipiell OK) usw. Obwohl ich mir Mühe gegeben habe, das Gegenteil zu erreichen: Es hat wirklich jedes Monitor-Setup funktioniert. Ich würde das durchaus als Meilenstein bezeichnen. (Your milage may vary, wie es im Englischen so schön heißt. Alte Hardware ist beim Zusammenspiel mit Linux oft ein Vorteil.)

Na ja, fast alles: Ich war dann so übermütig und habe das System in den Bereitschaftsmodus versetzt. Am nächsten Tag wollte ich mich wieder anmelden. Soweit ich erkennen konnte, ist der Rechner gelaufen (die ganze Nacht??), er reagierte auf jeden Fall auf ping. (Ich war so leichtsinnig und hatte noch keinen SSH-Server installiert. Großer Fehler!) Auf jeden Fall blieben sowohl das Notebook-Display als auch der angeschlossene Monitor schwarz. Ich konnte drücken, wohin ich wollte, den Display-Deckel auf und zu machen, das HDMI-Kabel lösen und wieder anstecken — aussichtslos. Einzige Lösung: brutaler Neustart (Power-Knopf fünf Sekunden lang drücken). Und ich hatte schon gedacht, es wäre ein Wunder passiert …

Und noch ein kleines Detail: Drag&Drop-Operationen zicken (z.B. von Nautilus nach Chrome, Bilder in die WordPress-Mediathek oder Dateien in die Weboberfläche von Nextcloud oder Moodle hochladen). Das ist seit fünf Jahren ein Wayland-Problem. Es funktioniert oft, aber eben nicht immer.

Ubuntu Dock

Das Ubuntu-Dock wird durch eine Ubuntu-eigene Gnome Shell Extension realisiert, die im Wesentlichen Dash to Dock entspricht. (Tatsächlich handelt es sich um einen Klon/Fork dieser Erweiterung.)

In den Gnome-Einstellungen unter Ubuntu-Schreibtisch können allerdings nur rudimentäre Einstellungen dieser Erweiterung verändert werden. Das ist schade, weil es ja viel mehr Funktionen gibt. Einige davon (per Mausrad durch die Fenster wechseln, per Mausklick Fenster ein- und wieder ausblenden) sind aus meiner Sicht essentiell.

Um an die restlichen Einstellungen heranzukommen, müssen Sie das vorinstallierten Programm Erweiterungen starten. Von dort gelangen Sie in den vollständigen Einstellungsdialog der Erweiterung.

Der Weg in den erweiterten Einstellungsdialog für das Ubuntu Dock

20 Jahre Ubuntu

Ubuntu hat den Linux-Desktop nicht zum erhofften Durchbruch verholfen, aber Ubuntu und Canonical haben den Linux-Desktop auf jeden Fall deutlich besser gemacht. Geld ist mit dem Linux-Desktop wohl keines zu verdienen, das hat auch Canonical erkannt. Umso höher muss man es der Firma anrechnen, dass sie sich nicht ausschließlich den Themen Server, Cloud und IoT zuwendet, sondern weiter Geld in die Desktop-Entwicklung steckt.

Die Linux-Community hat Ubuntu und Canonical viel zu verdanken. Und so schließe ich mich diversen Glückwünschen aus dem Netz an und gratuliere Ubuntu ganz herzlich zum 20-jährigen Jubiläum. »Wir hätten dich sonst sehr vermisst«, heißt es in manchen Geburtstagsliedern. Wie sehr trifft das auf Ubuntu zu!

Fazit

Linux im Allgemeinen, Ubuntu im Speziellen funktioniert als Desktop-System gut, zu 90%, vielleicht sogar zu 95%. Seit Jahren, eigentlich schon seit Jahrzehnten. Na ja, zumindest seit einem Jahrzehnt.

Aber die fehlenden paar Prozent — an denen scheint sich nichts zu ändern. Und das ist schade, weil es ja so dringend eine Alternative zum goldenen Käfig (macOS) bzw. dem heillosen Chaos (Windows, bloatware included TM) bräuchte.

Profis können sich mit Linux als Desktop-System arrangieren und profitieren von den vielen Freiheiten, die damit verbunden sind. Aber es fällt mir seit Jahren immer schwerer, Linux außerhalb dieses Segments zu empfehlen.

Linux hält unsere (IT-)Welt server-seitig am Laufen. Praktisch jeder Mensch, der einen Computer oder ein Smartphone verwendet, nutzt täglich Dienste, die Linux-Server zur Verfügung stellen. Warum ist der kleine Schritt, um Linux am Desktop zum Durchbruch zu verhelfen, offenbar zu groß für die Menschheit (oder die Linux-Entwicklergemeinde)?

Links/Quellen

Unterschied zwischen Windows und Linux – Ein Leitfaden für Windows User

Von: MK
18. Oktober 2024 um 16:30

Wenn es um Betriebssysteme geht, stehen die meisten Menschen vor der Wahl zwischen Windows und Linux. Diese beiden Plattformen haben unterschiedliche Philosophien, Zielgruppen und technische Besonderheiten aber gemeinsam, dass sie auf einem klassischen 64-bit Computer laufen. Während Windows als das weltweit am häufigsten verwendete Betriebssystem gilt, erfreut sich Linux vor allem bei Technikbegeisterten, Entwicklern und […]

Der Beitrag Unterschied zwischen Windows und Linux – Ein Leitfaden für Windows User erschien zuerst auf fosstopia.

Signal tritt gegen Zoom und Teams an: Neue Funktionen für Videokonferenzen

Von: MK
17. Oktober 2024 um 15:12

Signal erweitert seine Videokonferenz-Features, um stärker gegen Zoom und Teams zu konkurrieren. Der Messenger-Dienst setzt dabei auf Datenschutz und einfache Bedienung. Nutzer können in Kürze Anruflinks erstellen und teilen. Diese Links erlauben es mehrere Personen zu Konferenzen einzuladen. Eine neue Admin-Funktion ermöglicht es auf Wunsch Teilnehmer individuell zu bestätigen. Die Anruflinks sind, wie die Anrufe […]

Der Beitrag Signal tritt gegen Zoom und Teams an: Neue Funktionen für Videokonferenzen erschien zuerst auf fosstopia.

Ubuntu 25.04 – Die Entwicklung hat begonnen

Von: MK
16. Oktober 2024 um 19:14

Letzten Donnerstag feierte Canonical das 20-jährige Ubuntu-Jubiläum. Zeitgleich wurde Ubuntu 24.10 “Oracular Oriole” veröffentlicht. Doch bereits jetzt blickt Canonical auf die nächste Version, Ubuntu 25.04. Diese wird im April 2025 erscheinen. Heute wurde der erste Entwicklungsschritt gemacht. Statt eines Daily Builds wurde der Codename enthüllt: Plucky Puffin. „Plucky Puffin“ lässt sich am besten als „tapferer […]

Der Beitrag Ubuntu 25.04 – Die Entwicklung hat begonnen erschien zuerst auf fosstopia.

Docker Verschieben von /var/lib/docker

15. Oktober 2024 um 09:37

Da auf meinem Server einige Container laufen, wurde durch mein Rollout des Containers Tubearchivist der Platz langsam eng. Hier habe ich mich entschlossen, den Standardspeicherplatz von Docker auf eine der 6 TB Datenpools zu verschieben. Das Umschreiben des Servicekonfigurationsdatei innerhalb von SystemD wäre hier der falsche Weg. Der richtige Weg ist hier JSON-Konfigurationsdatei des Daemon von ... Weiterlesen

Der Beitrag Docker Verschieben von /var/lib/docker erschien zuerst auf Got tty.

Asahi-Projekt meldet Fortschritte

Von: MK
15. Oktober 2024 um 07:15

Das Asahi-Projekt arbeitet seit einigen Jahren daran, Linux nativ auf Macs mit Apple-Silicon-Prozessoren zum Laufen zu bringen. Dabei wird Linux nicht als Gastsystem unter macOS ausgeführt, sondern direkt nach dem Einschalten des Rechners geladen. Im letzten Jahr wechselte das Projekt von der Distribution Arch Linux zu Fedora, was zu einer verbesserten Entwicklung führte. Nun wurden […]

Der Beitrag Asahi-Projekt meldet Fortschritte erschien zuerst auf fosstopia.

KDE neon 6.2 sattelt auf Ubuntu 24.04 Unterbau um

Von: MK
14. Oktober 2024 um 07:00

Das Entwicklerteam der KDE neon Linux-Distribution hat KDE neon 6.2 veröffentlicht. Diese Version basiert auf der neuesten Ubuntu 24.04 LTS (Noble Numbat) Serie und bringt u.a. KDE Plasma 6.2. KDE neon kombiniert den Ubuntu Unterbau mit Langzeitpflege mit der neuesten KDE-Software und Plasma-Desktopumgebung. Die Distribution nutzt eine Art Rolling-Release-Modell, sodass Benutzer keine neuen ISO-Dateien herunterladen […]

Der Beitrag KDE neon 6.2 sattelt auf Ubuntu 24.04 Unterbau um erschien zuerst auf fosstopia.

KDE Plasma 6.2 erschienen

Von: MK
13. Oktober 2024 um 08:00

Das KDE-Projekt hat KDE Plasma 6.2 veröffentlicht, das zweite große Update der KDE Plasma 6 Serie. Dieses Update bringt viele neue Funktionen und Verbesserungen mit sich, die sowohl die Benutzerfreundlichkeit als auch die Leistung betreffen. Zu den Highlights von KDE Plasma 6.2 gehören neue Energiemanagement-Funktionen. Dazu zählen eine Helligkeitssteuerung pro Monitor, die Möglichkeit, Apps zu […]

Der Beitrag KDE Plasma 6.2 erschienen erschien zuerst auf fosstopia.

20 Jahre Ubuntu – Ubuntu 24.10 verbindet Vergangenheit und Zukunft

Von: MK
11. Oktober 2024 um 16:30

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 […]

Der Beitrag 20 Jahre Ubuntu – Ubuntu 24.10 verbindet Vergangenheit und Zukunft erschien zuerst auf fosstopia.

Ubuntu 24.10 “Oracular Oriole” ist ab sofort zum Download verfügbar

Von: MK
10. Oktober 2024 um 17:30

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 […]

Der Beitrag Ubuntu 24.10 “Oracular Oriole” ist ab sofort zum Download verfügbar erschien zuerst auf fosstopia.

Die Nextcloud – die sichere und flexible Alternative zur Cloudspeicherung

08. Oktober 2024 um 17:55

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 hat begonnen

Von: MK
08. Oktober 2024 um 06:15

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 […]

Der Beitrag Die Entwicklung von openSUSE Leap 16 hat begonnen erschien zuerst auf fosstopia.

Nextcloud auf dem RasPi – Teil 6

05. Oktober 2024 um 17:12

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.

Anzeige von Fehlermeldungen in Nextcloud 29
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

sudo nano /etc/apache2/apache2.conf

öffnet und den folgenden Eintrag

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

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.

sudo a2enmod headers

Im Anschluss geht man in den VirtualHost, wie im Artikel „Nextcloud auf dem RasPi – Teil 5“ beschrieben,

sudo nano /etc/apache2/sites-available/raspi.conf

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)
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

sudo nano /var/www/html/nextcloud/config/config.php

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.

sudo apt install php-apcu -y

Danach wird die Konfiguration der Nextcloud mit

sudo nano /var/www/html/nextcloud/config/config.php

erneut aufgerufen und

'memcache.local' => '\\OC\\Memcache\\APCu',

vor ’trusted_domains eingefügt. Um das Ganze wirksam umzusetzen, öffnet man noch einmal die php.ini mit

sudo nano /etc/php/8.2/apache2/php.ini

und fügt diesen Block am Ende der Datei ein.

opcache.enable=1
opcache.interned_strings_buffer=64
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1

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.

sudo apt install redis-server php-redis -y

In der redis.conf werden danach mit

sudo nano /etc/redis/redis.conf

die Zeilen

unixsocket /run/redis/redis-server.sock
        unixsocketperm 770

gesucht, auskommentiert und der Redis-Server gestartet.

sudo service redis start

Nun muss der Benutzer www-data noch zur Gruppe redis hinzugefügt werden.

sudo usermod -aG redis www-data

Um das Ganze nun abschließend umzusetzen, wird erneut die Konfiguration der Nextcloud geöffnet,

sudo nano /var/www/html/nextcloud/config/config.php

um folgenden Block unter der Zeile ’memcache.localeinzufügen.

'filelocking.enabled' => true,
  'memcache.locking' => '\OC\Memcache\Redis',
  'redis' => array(
     'host' => 'localhost',
     'port' => 6379,
     'timeout' => 0.0,
      ),

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

sudo nano /var/www/html/nextcloud/config/config.php

um diese zwei Zeilen

'maintenance' => false,
  'maintenance_window_start' => 1,

unter dem letzten Block erweitert.

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.

sudo -u www-data truncate /var/www/html/nextcloud/data/nextcloud.log --size 0
Das System arbeitet nun perfekt - grünes Häkchen
Das System arbeitet nun perfekt – grünes Häkchen

Fazit

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.

Künstliche Intelligenz für Linux – Eine Revolution oder Bedrohung?

Von: MK
04. Oktober 2024 um 19:03

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 […]

Der Beitrag Künstliche Intelligenz für Linux – Eine Revolution oder Bedrohung? erschien zuerst auf fosstopia.

Neuer Onlinekurs: Ubuntu Masterclass jetzt online

Von: MK
03. Oktober 2024 um 08:30

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 […]

Der Beitrag Neuer Onlinekurs: Ubuntu Masterclass jetzt online erschien zuerst auf fosstopia.

Ubuntu 24.10 ARM ISO unterstützt Lenovo ThinkPad X13s

Von: MK
02. Oktober 2024 um 19:16

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 […]

Der Beitrag Ubuntu 24.10 ARM ISO unterstützt Lenovo ThinkPad X13s erschien zuerst auf fosstopia.

Erste Details zu Linux Mint 22.1

Von: MK
01. Oktober 2024 um 17:11

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 […]

Der Beitrag Erste Details zu Linux Mint 22.1 erschien zuerst auf fosstopia.

Buildah baut meine Container-Images

30. September 2024 um 05:00

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.

Mein Weg zum Image

Um rootless Podman in einem Container zum Laufen zu bekommen, habe ich mich an dem englischsprachigen Artikel How to use Podman inside of a container von Dan Walsh orientiert. Das Ergebnis findet ihr in meinem GitHub-Repo tronde/container-image-forge.

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
buildah config -v /var/lib/containers $ctr
buildah config -v /home/podman/.local/share/containers $ctr
  • Das Image wird in der Lage sein, rootful und rootless Podman auszuführen
  • Mit den beiden Befehlen werden die Volumes hinzugefügt, die Podman als Container Storage nutzt
    • Rootful Podman verwendet /var/lib/containers
    • Rootless Podman verwendet /home/podman/.local/share/containers
buildah run -- $ctr chown -R podman:podman /home/podman
buildah run -- $ctr sh -c "mkdir -p /var/lib/shared/overlay-images /var/lib/shared/overlay-layers /var/lib/shared/vfs-images /var/lib/shared/vfs-layers; touch /var/lib/shared/overlay-images/images.lock; touch /var/lib/shared/overlay-layers/layers.lock; touch /var/lib/shared/vfs-images/images.lock; touch /var/lib/shared/vfs-layers/layers.lock"
buildah config --env _CONTAINERS_USERNS_CONFIGURED="" $ctr
  • Der Benutzer podman bekommt ein HOME-Verzeichnis
  • 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
  • buildah-tag(1) fügt dem Image einen Tag mit Datumsstempel hinzu; siehe auch: Recommendations for tagging and versioning container images

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.

Um den Build-Prozess zu automatisieren, habe ich die notwendigen Befehle in Bash-Skripte geschrieben und unter https://github.com/Tronde/container-image-forge abgelegt.

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.

Quellen und weiterführende Links

  1. Buildah.io
  2. Ansible Collection tronde.nextcloud
  3. Mein Wochenendprojekt Nextcloud im Container
  4. Podman Images im Red Hat Catalog
  5. Buildah and Podman Relationship von Tom Sweeney
  6. About Ansible Molecule
  7. How to use Podman inside of a container by Dan Walsh
  8. Using podman containers
  9. Having trouble getting started with rootless podman running rootless podman inside a Debian 12 image #23838
  10. Recommendations for tagging and versioning container images

Linux-Mainline erhält Realtime-Support

29. September 2024 um 11:30

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.

Kritische Sicherheitslücken im Linux CUPS-Drucksystem

Von: MK
29. September 2024 um 04:47

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 […]

Der Beitrag Kritische Sicherheitslücken im Linux CUPS-Drucksystem erschien zuerst auf fosstopia.

LibreOffice 24.8.2 erschienen

Von: MK
28. September 2024 um 08:51

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 […]

Der Beitrag LibreOffice 24.8.2 erschienen erschien zuerst auf fosstopia.

❌
❌