Lese-Ansicht

Debian 11 Bullseye ab sofort in der LTS Support Phase

Debian, eine der angesehensten und am weitesten verbreiteten Linux-Distributionen, hat Version 11, mit dem Codenamen “Bullseye”, ab dem 15. August 2024 in die Langzeitunterstützungsphase (LTS) überführt. Dieser Übergang erfolgt genau drei Jahre nach der ursprünglichen Veröffentlichung von Bullseye. Die Pflege der verschiedenen Debian-Versionen folgt einem strukturierten Ansatz um Stabilität und Sicherheit für alle Nutzer zu […]

Der Beitrag Debian 11 Bullseye ab sofort in der LTS Support Phase erschien zuerst auf fosstopia.

  •  

Meine zweite Ansible Collection

Dies ist ein Erfahrungsbericht zur Migration meiner Ansible-Rolle „Nextcloud im Container“ in eine Ansible Collection. Er umfasst die Migration der bestehenden Rolle und die Ergänzung der neuen Collection um eine weitere Rolle, welche sich um die Aufgaben Backup und Restore kümmert.

Wer es ganz eilig hat, kann direkt zur Zusammenfassung springen. Allen anderen wünsche ich viel Spaß bei der Lektüre.

Für grundlegende Informationen zu Ansible Collections siehe:

Randnotiz: Dass ihr zu meiner ersten Ansible Collection hier im Blog nicht fündig werdet, liegt darin begründet, dass meine Arbeit daran eingeschlafen ist.

Die Entwicklung der hier beschriebenen Collection könnt ihr auf Codeberg.org verfolgen. Die Repo-URL lautet: https://codeberg.org/Tronde/nextcloud

Motivation

Für mein Wochenendprojekt „Nextcloud im Container“ habe ich eine Ansible-Rolle entwickelt und auf Github veröffentlicht, die dem Zweck dient, Nextcloud mit einer MariaDB in einer rootless Podman-Umgebung zu installieren.

Wie ihr in Teil 5 der Artikel-Serie nachlesen könnt, war ich mit der Lösung für Backup und Restore nicht ganz zufrieden. Ich möchte dieses Thema erneut angehen und mithilfe einer Ansible-Rolle lösen.

Backup und Restore beschreiben jedoch andere Anwendungsfälle als die Bereitstellung, weswegen ich den dafür notwendigen Quelltext nicht mit in die bestehende Rolle pressen möchte. Da Backup und Restore für mich jedoch zum Betrieb dazugehören, möchte ich alle Ansible-Rollen, die ich zum Betrieb meines Nextcloud-Setups benötige, in einer Collection zusammenfassen.

Migration der bestehenden Rolle in eine Collection

Ich orientiere mich hierzu an der englischsprachigen Dokumentation „Migrating a role to a collection“. Da ich bereits einen Galaxy Namespace besitze, nutze ich diesen auch für die Erstellung der Collection. Der folgende Codeblock zeigt die verwendeten Befehle.

]$ ansible-galaxy collection init tronde.nextcloud
- Collection tronde.nextcloud was created successfully

]$ mkdir tronde/nextcloud/roles/deploy_nextcloud_with_mariadb_pod && rsync -a ../roles/ansible_role_deploy_nextcloud_with_mariadb_pod/ tronde/nextcloud/roles/deploy_nextcloud_with_mariadb_pod/

]$ tree -L 3 tronde/nextcloud/
tronde/nextcloud/
├── docs
├── galaxy.yml
├── meta
│   └── runtime.yml
├── plugins
│   └── README.md
├── README.md
└── roles
    └── deploy_nextcloud_with_mariadb_pod
        ├── defaults
        ├── meta
        ├── README.md
        ├── tasks
        ├── tests
        └── vars

]$ rm -rf tronde/nextcloud/roles/deploy_nextcloud_with_mariadb_pod/.git

Im letzten Schritt entferne ich das .git-Verzeichnis, da ich die Collection als Ganzes in einem Repository verwalten möchte, statt alle Rollen einzeln zu versionieren und dann in die Collection einzufügen.

Anschließend aktualisiere ich die Dateien galaxy.yml und README.md. In der Rolle habe ich ein Playbook zum Testen verwendet, welches im Pfad deploy_nextcloud_with_mariadb_pod/tests/test.yml liegt. Um konform mit der Struktur einer Ansible Collection zu sein, erstelle ich im Wurzelverzeichnis meiner Collection das Verzeichnis playbooks und kopiere das Test-Playbook hier hinein:

]$ tree playbooks/
playbooks/
└── deploy_nextcloud_with_mariadb_pod.yml

An dieser Stelle halte ich zunächst inne und überlege mir, welche Tools ich noch benötige, um meine Collection entwickeln und testen zu können.

Ansible Development Tools

Ansible Development Tools (ADT) ist ein Projekt mit dem Ziel, einen Werkzeugkasten mit allen wichtigen Werkzeugen zur Entwicklung von Ansible Content zu bieten. Genau so etwas habe ich gesucht. Das probiere ich gleich aus.

Um mir mein System nicht zu verhunzen, installiere ich die ADT in ein Python Virtual Environment und lasse mir anzeigen, welche Werkzeuge ADT mitbringt:

]$ python -m venv adt
]$ . adt/bin/activate
(adt) ]$ pip install --upgrade pip
(adt) ]$ pip install ansible-dev-tools
(adt) ]$ pip install molecule-podman
(adt) ]$ adt --version
ansible-builder                          3.1.0
ansible-core                             2.17.1
ansible-creator                          24.7.0
ansible-dev-environment                  24.7.0
ansible-dev-tools                        24.7.1
ansible-lint                             24.7.0
ansible-navigator                        24.7.0
ansible-sign                             0.1.1
molecule                                 24.7.0
pytest-ansible                           24.7.0
tox-ansible                              24.7.0

Bei molecule-podman handelt es sich um einen Molecule-Treiber, welcher benötigt wird um Molecule-Tests in Podman-Containern ausführen zu können. Ich habe dieses Paket mitinstalliert, da ich mir vorstellen kann, dies in naher Zukunft zu nutzen.

ansible-lint

Ansible Lint ist das erste Werkzeug aus der ADT-Sammlung, welches ich verwende, um den Quelltext meiner Collection zu prüfen. Dazu wird das Kommando einfach im Wurzelverzeichnis der Collection ausgeführt. Anschließend können die gefundenen Fehler behoben werden.

Da es den Rahmen dieses Artikels sprengen würde, werde ich dem Thema einen eigenen Text widmen.

molecule

Ansible Molecule eignet sich zum Testen von Ansible-Rollen und Collections. Ich nutze meine Ansible Collection, um mich mit diesem Werkzeug vertraut zu machen.

Zwar gibt es auch hier erst eine Lernkurve, doch wird mir eine durchdachte Test-Konfiguration bei der weiteren Entwicklung sicher zugutekommen. Ich orientiere mich zu Beginn am Ansible Molecule Getting Started Guide.

Zu Beginn möchte ich meine in die Collection migrierte Rolle testen. Dazu bearbeite ich die Datei tronde/nextcloud/extensions/molecule/default/converge.yml. Sie enthält schließlich folgenden Inhalt:

extensions]$ cat molecule/default/converge.yml 
---
- name: Converge
  hosts: localhost
  gather_facts: false
  tasks:
    - name: Test collection role deploy_nextcloud_with_mariadb_pod
      ansible.builtin.import_role:
        name: tronde.nextcloud.deploy_nextcloud_with_mariadb_pod

Und mit folgendem Befehl teste ich, ob meine Nextcloud-Instanz erfolgreich deployt wird:

extensions]$ molecule converge
…
PLAY RECAP *********************************************************************
localhost                  : ok=10   changed=9    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

extensions]$ podman ps
CONTAINER ID  IMAGE                                    COMMAND               CREATED             STATUS             PORTS                    NAMES
48438d1bd884  quay.io/centos/centos:stream8            bash -c while tru...  7 minutes ago       Up 7 minutes                                instance
104c525a6b50  localhost/podman-pause:5.1.1-1717459200                        About a minute ago  Up About a minute  127.0.0.1:40671->80/tcp  e34ddf4d4203-infra
f27842b12d56  docker.io/library/mariadb:10.11.2        mariadbd              About a minute ago  Up About a minute  127.0.0.1:40671->80/tcp  nc_mariadb
9ee391a57fbd  docker.io/library/nextcloud:25-apache    apache2-foregroun...  13 seconds ago      Up 13 seconds      127.0.0.1:40671->80/tcp  nextcloud

Das Ergebnis ist positiv und kann durch Aufruf von http://127.0.0.1:40671 im Webbrowser überprüft werden. Ein Login mit den Default-Werten aus tronde/nextcloud/roles/deploy_nextcloud_with_mariadb_pod/defaults/main.yml bestätigt das erfolgreiche Deployment.

Es handelt sich hierbei noch nicht um ein adäquates Test-Setup; doch für den Moment ist es ausreichend. Ich werde mich noch weiter einarbeiten müssen, um das Test-Setup verbessern zu können. Vermutlich wird auch dazu dann ein weiterer Artikel folgen.

Falls sich jemand wundert, es ist durchaus Absicht, dass die Nextcloud nur via 127.0.0.1 und per HTTP erreichbar ist. Ich betreibe diese hinter einem Reverse-Proxy. Details können in Nextcloud im Container — Teil 3: Mit Reverse-Proxy nachgelesen werden.

Backup und Restore für die Nextcloud

Um die Konfiguration und die in der Nextcloud gespeicherten Daten sichern und wiederherstellen zu können, werde ich eine Offline-Sicherung der verwendeten Podman Volumes durchführen. Der Ablauf für die Sicherung sieht wie folgt aus:

  1. Den Pod ˋnc_podˋ inkl. aller darin enthaltenen Container stoppen
  2. Alle zum Setup gehörenden Podman Volumes in Tarballs exportieren
  3. Diese Tarballs vom managed Node auf den Control Node sichern
  4. Den ˋnc_podˋ wieder starten

Die Wiederherstellung läuft sinngemäß andersherum ab:

  1. Die Tarballs werden vom Control Node auf den Managed Node kopiert
  2. Der Pod ˋnc_podˋ inkl. aller darin enthaltenen Container wird gestoppt
  3. Die Podman Volumes aus Schritt 1 werden importiert
  4. Der nc_pod wird wieder gestartet
  5. Die zur Wiederherstellung auf den Managed Node kopierten Tarballs werden wieder entfernt

Um diese neue Rolle der Collection hinzuzufügen, navigiere ich in das Rollenverzeichnis tronde/nextcloud/roles/ und erstelle dort das Grundgerüst für die Rolle: ansible-galaxy role init backup_nextcloud

Die Struktur sieht bei mir wie folgt aus, wobei nicht benötigte Verzeichnisse noch nicht entfernt wurden:

ansible_collections]$ tree -L 2 tronde/nextcloud/roles/backup_restore_nextcloud/
tronde/nextcloud/roles/backup_restore_nextcloud/
├── defaults
│   └── main.yml
├── files
├── handlers
│   └── main.yml
├── meta
│   └── main.yml
├── README.md
├── tasks
│   └── main.yml
├── templates
├── tests
│   ├── inventory
│   └── test.yml
└── vars
    └── main.yml

9 directories, 8 files

Den aktuellen Entwicklungsstand könnt ihr unter dieser URL einsehen: https://codeberg.org/Tronde/nextcloud/src/branch/main/roles/backup_restore_nextcloud

Das dortige README.md enthält wie bei dedizierten Rollen die Dokumentation zu dieser Rolle. Um doppelte Texte zu vermeiden, verweise ich im Collection-README auf die jeweiligen README-Dateien in den einzelnen Rollen.

Getestet wird diese Rolle ebenfalls mit Molecule. Zu den Tests mit Molecule werde ich noch mehr schreiben, sobald ich dies etwas verfeinert habe.

Fallen mir noch weitere Anwendungsfälle ein, können diese nun einfach als weitere Rollen der Collection hinzugefügt werden.

Ansible-Variablen definieren

Jede Rolle in dieser Collection ist für sich alleine nutzbar. Somit definiert jede Rolle die Eingangs-Variablen in der defaults/main.yml der jeweiligen Rolle.

Bei der Entwicklung achte ich darauf, dass Variablen, die z.B. den Namen eines Podman Volumes enthalten, in allen Rollen gleich geschrieben werden. Damit ist es möglich, diese Variablen an anderer Stelle zu definieren und in den verschiedenen Rollen nutzbar zu machen. So können an individuelle Deployments angepasste Variablen in Playbooks, group_vars, host_vars, etc. definiert werden.

Wo Variablen definiert werden können und welche Präzedenz diese besitzen, kann in der offiziellen Doku nachgelesen werden: Variable precedence: Where should I put a variable?

Zusammenfassung

Eine Ansible-Rolle ohne Plug-ins in eine Ansible Collection zu überführen, ist mit dem kurzen Abschnitt aus der Dokumentation schnell erledigt.

Weitere Rollen können der Collection hinzugefügt werden, indem man sie im Verzeichnis roles der Collection-Verzeichnisstruktur wie gewohnt mit ansible-galaxy role init <Rollenname> erstellt und mit Leben füllt. Sorgfalt ist und bleibt bei der Benennung von Variablen und deren Präzedenz geboten, um nicht wahnsinnig zu werden. Dies ist nicht wirklich schwierig, doch muss ich fast jedes Mal in der Dokumentation nachschlagen, um sicher zu sein.

Die Ansible Development Tools (ADT) sind eine praktische Sammlung von Werkzeugen zur Entwicklung von Rollen und Collections für Ansible. Für mich sind aktuell Ansible Lint und Ansible Molecule die wichtigsten Werkzeuge aus dieser Sammlung. Wobei gerade die Dokumentation von Molecule auf dem Weg zu meinem Ziel, nämlich meine Collections in verschiedenen rootless Podman Containern mit nested Podman und Ansible zu testen, leider viele Fragen offen lässt. Grundsätzlich lassen sich Testpläne damit realisieren und vereinfachen mein bisheriges Testsetup bestehend aus diversen Skripts und virtuellen Maschinen. Und sie bieten Stoff für weitere Einträge in diesem Blog.

Die weitere Entwicklung meiner Nextcloud Collection findet auf Codeberg statt. Ihr findet sie dort unter der URL: https://codeberg.org/Tronde/nextcloud

  •  

Exklusiv: Sehen wir hier das neue Mozilla-Logo?

Nach über sieben Jahren könnte Mozilla wieder ein neues Logo erhalten. Dieses deutet sich in aktuellen Änderungen der Mozilla-Website an. Hier gibt es eine erste Vorschau auf das mögliche neue Logo.

Das aktuelle Logo trägt Mozilla seit Januar 2017. Das Logo in der Eigenschreibweise moz://a ist angelehnt an Internet-Protokolle wie https://.

Mozilla-Logo 2017

Die Landingpage der aktuellen Mozilla-Kampagne „Nothing Personal“ zeigt im Header ein Firefox-Logo mit Wortmarke und dem Zusatz „by Mozilla“. Wer hier einen aufmerksamen Blick auf das Logo wirft, erkennt vielleicht nicht nur, dass die Firefox-Wortmarke anders, als bisher der Fall, mit einem Mozilla-Zusatz verwendet wurde, sondern auch, dass für den Mozilla-Schriftzug eine Schriftart zum Einsatz kommt, die bisher nicht in der Mozilla-Kommunikation verwendet worden ist.

Firefox by Mozilla Logo

Dies wäre an sich vielleicht noch kein allzu starker Hinweis auf ein neues Mozilla-Logo. Doch zeigt sich in aktuellen Patches zu einem kommenden Refresh der Mozilla-Website, dass hier für Footer und Navigation nicht das übliche, sondern ein neues Mozilla-Logo verwendet wird, welches die gleiche Schrift wie im Firefox-Logo der oben erwähnten Seite verwendet. Der neue Code wird dabei außerdem von einer Variable gesteuert, welche die passende Bezeichnung „brand-refresh“ trägt. Auch der Merchandise-Shop von Mozilla bietet bereits Artikel mit diesem Logo an.

Neues Mozilla-Logo 2024

Während das aktuelle Mozilla-Logo laut Branding-Guidelines immer auf einem Hintergrund zu sehen sein muss, ist das neue Logo ohne Hintergrund integriert, was bedeuten könnte, dass diese Design-Einschränkung wegfällt. Die abstrakte Grafik rechts vom Mozilla-Schriftzug beinhaltet einerseits das „M“ aus „Mozilla“ und erinnert andererseits mit etwas Fantasie auch ein bisschen an einen Dino – das historische Symboltier von Mozilla.

Der Beitrag Exklusiv: Sehen wir hier das neue Mozilla-Logo? erschien zuerst auf soeren-hentzschel.at.

  •  

Firefox 131: Neue Sidebar und vertikale Tabs zum Vorabtest bereit

Nutzer von Firefox 131 können zwei neue vorab Funktionen testen: Eine neue Sidebar sowie mit den vertikalen Tabs eine der von Firefox-Nutzern meistgewünschten Funktionen.

Mit der Einführung von „Firefox Labs“ in Firefox 130 können Nutzer vorab neue Funktionen aktivieren, an denen Mozilla noch arbeitet, die aber schon von einer breiteren Masse getestet werden sollen. Zwei neue solcher Funktionen in Firefox 131 sind die neue Sidebar sowie vertikale Tabs.

Firefox Labs in Firefox 131

Neue Seitenleiste

Unter der neuen Sidebar sind genauer gesagt zwei Dinge zu verstehen: Das eine ist eine neue Seitenleiste, welche schnellen Zugriff auf die Sidebars für Lesezeichen, Chronik, synchronisierte Tabs und, falls aktiviert, die KI-Chatbots gibt. Auch die Schaltflächen von Sidebar-Erweiterungen finden hier Platz. Das andere ist eine Neugestaltung der Sidebars für Chronik und synchronisierte Tabs.

Über die automatisch hinzugefügte Sidebar-Schaltfläche in der Navigationssymbolleiste lässt sich die Darstellung der neuen Seitenleiste zwischen nur Symbolen und Symbolen plus Text wechseln, statt wie bisher die zuletzt verwendete Sidebar ein- und auszuklappen. Alternativ lässt sich in den Einstellungen der neuen Seitenleiste auch konfigurieren, dass die Seitenleiste durch diese Schaltfläche komplett ausgeblendet werden kann, statt in die Darstellung nur mit Icons zu wechseln.

In den Einstellungen der neuen Seitenleiste lässt sich außerdem konfigurieren, für welche der Sidebars Schaltflächen angezeigt oder nicht angezeigt werden sollen. Auch die Sidebar-Position (links oder rechts) lässt sich nun an dieser Stelle konfigurieren, statt wie bisher oben in den einzelnen Sidebars. Schließlich findet sich hier noch die Option für horizontale oder vertikale Tabs, wie im nächsten Abschnitt besprochen.

Neue Sidebar-Einstellungen in Firefox 131

Neu gestaltete Sidebars

Die Sidebars für Chronik sowie synchronisierte Tabs wurden neu gestaltet. Auch diese Änderung wird durch die Einstellung für die neue Sidebar aktiv. Die Lesezeichen-Sidebar sieht noch wie gehabt aus. Aus Konsistenzgründen ist aber davon auszugehen, dass Mozilla die Lesezeichen-Sidebar auch noch nachziehen wird.

Chronik-Sidebar in Firefox 131

Vertikale Tabs

Unter vertikalen Tabs in einem Browser versteht man, die Tabs seitlich untereinander anzuzeigen statt in einer Leiste am oberen Fensterrand. Vorteile sind zum einen eine bessere Nutzung des vorhandenen Platzes sowie, dass mehr Tabs auf einmal angezeigt werden können. Auf der Liste der meistgewünschten Funktionen auf Mozillas Community-Plattform Mozilla Connect stehen vertikale Tabs auf Platz 3. Damit die vertikalen Tabs aktiviert werden können, ist eine gleichzeitige Aktivierung der neuen Sidebar eine Voraussetzung.

Die vertikalen Tabs werden nämlich in die neue Seitenleiste integriert. Im ausgeklappten Sidebar-Modus erscheinen die Tab-Titel neben den sogenannten Favicons, ansonsten nur die Symbole. Angeheftete Tabs, die auch in der horizontalen Tableiste ohne Tab-Titel dargestellt werden, werden hier bis zu sechs in einer Reihe angezeigt.

Vertikale Tabs in Firefox 131 Vertikale Tabs in Firefox 131

Mozilla bittet um Feedback für die neue Sidebar sowie die vertikalen Tabs auf Mozilla Connect.

Der Beitrag Firefox 131: Neue Sidebar und vertikale Tabs zum Vorabtest bereit erschien zuerst auf soeren-hentzschel.at.

  •  

2 Jahre mit Ubuntu 22.04 LTS – Das ist mein Langzeitfazit

Im August 2022 veröffentlichte ich mein Langzeittest von Ubuntu 22.04 nach etwa vier Monaten Nutzungszeit. In dem Video erwähnte ich ja, dass ich erst mal bei Ubuntu 22.04 bleibe und mal sehen wohin die Reise geht. Die Reise ging bis heute, das kann ich schon sagen. Doch nach nun über 2 Jahren mit Ubuntu 22.04 […]

Der Beitrag 2 Jahre mit Ubuntu 22.04 LTS – Das ist mein Langzeitfazit erschien zuerst auf fosstopia.

  •  

Linux Mint 21.3 auf 22 aktualisieren, so gelingt das Update! - Schritt für Schritt Tutorial

💾

In diesem Video zeigt Jean, wie man auf die neue Linux Mint Version 22 updated. Schritt für Schritt wirst Du durch den Upgrade-Prozess geführt, damit auch Dir alles ganz einfach gelingt.
Wenn Du das Video unterstützen willst, dann gib bitte eine Bewertung ab, und schreibe einen Kommentar. Vielen Dank!


Terminal Befehle:
-------------------------------------
sudo mintupgrade


Links:
-------------------------------------
Linux Mint 22 Neuheiten https://www.youtube.com/watch?v=RqtMO5UHb6k

bei alten Linux Mint Versionen:
auf Linux Mint 21.3 upgraden https://www.youtube.com/watch?v=raeEPFHbcqs
von Linux Mint 20.3 auf 21 https://www.youtube.com/watch?v=jThB69TOBhA

Linux Mint Reparatur https://www.youtube.com/watch?v=nL0YIyl7zjs
Neuinstallation von Linux Mint https://www.youtube.com/watch?v=itcOTdTLInQ

Linux-Guides Merch*: https://linux-guides.myspreadshop.de/
Professioneller Linux Support*: https://www.linuxguides.de/linux-support/
Linux-Arbeitsplatz für KMU & Einzelpersonen*: https://www.linuxguides.de/linux-arbeitsplatz/
Linux Mint Kurs für Anwender*: https://www.linuxguides.de/kurs-linux-mint-fur-anwender/
Offizielle Webseite: https://www.linuxguides.de
Forum: https://forum.linuxguides.de/
Unterstützen: http://unterstuetzen.linuxguides.de
Mastodon: https://mastodon.social/@LinuxGuides
X: https://twitter.com/LinuxGuides
Instagram: https://www.instagram.com/linuxguides/
Kontakt: https://www.linuxguides.de/kontakt/

Inhaltsverzeichnis:
-------------------------------------
0:00 Wann soll ich updaten?
3:08 Spiegelserver einstellen
5:10 System auf den neuesten Stand bringen
5:57 Upgrade durchführen
14:19 abschließende Schritte
16:00 Supportangebot


Musik:
-------------------------------------

Elektronomia - Sky High [NCS Release]
Music provided by NoCopyrightSounds.
Video Link: https://youtu.be/TW9d8vYrVFQ
Download Link: https://NCS.lnk.to/SkyHigh

Haftungsausschluss:
-------------------------------------
Das Video dient lediglich zu Informationszwecken. Wir übernehmen keinerlei Haftung für in diesem Video gezeigte und / oder erklärte Handlungen. Es entsteht in keinem Moment Anspruch auf Schadensersatz oder ähnliches.

*) Werbung
  •  

»Back in Time« is back

"Real men don't backup" ist zwar ein lustiger Spruch, jedoch genau das Gegenteil von vernünftig. »Back in Time« hilft dabei, Backups automatisiert durchzuführen. Gerade wurde v1.5.2 freigegeben.

Quelle

  •  

OpenProject bringt Dark Mode

Von der Open-Source-Projektmanagementsoftware OpenProject ist Version 14.4 erschienen. Diese Ausgabe bringt neben einer Reihe anderer neuer Funktionen einen Dark Mode mit.

  •  
❌