class: center, middle ![img50](../../../gfx/m23logo.png) ## Softwareverteilung m23 ### Überblick und Entwicklung ### Hauke Goos-Habermann #### https://goos-habermann.de --- ### Über mich - Entwickler des
Softwareverteilungssystems m23
- Organisator der
Kieler Open Source und Linux Tage
-
Dienstleister zu m23, Linux und Freier Software
- Softwareentwicklung (PHP, BASH, C/C++, JS, Python und was sonst so gebraucht wird...) - Administration - Schulungen - Support - Beratung - quasi **alles**, *was mit Linux zu tun hat* - Wöchentlicher Livestream *"Jean und Hauke Show"* auf https://www.youtube.com/c/LinuxGuides - *"Nicht der Weisheit letzter Schluß"* mit **beruflichen** oder **privaten Projekten** auf
tube.tchncs.de/c/ndwls
und
youtube.com/@nichtderweisheit
- Entwickelt m23-Version seit 2001. --- class: center, middle # Was ist m23? --- ### m23-Clients ![img20r](Ubuntu2404-alleDesktops.webp) **m23-Client-Distributionen**:
Ubuntu 22.04 und 24.04 LTS
,
Debian 11 und 12
Vorkonfigurierte **Desktops** (je nach Distribution abweichend):
Budgie
,
Cinnamon
,
Gnome
,
KDE
,
LXDE
,
LXQt
,
Mate
(optional in minimaler Variante mit nur unbedingt nötigen Paketen), Ubuntu-Desktop (auf
Gnome-basierend
) und
Xfce
Zusätzlich: **Text**modus, Xorg **ohne Desktop** Im laufenden Betrieb können **administrative Aufgaben** z.B. **(De-)Installation** oder **Aktualisierung** von Software, Ausführung von **Skripten**, etc. durchgeführt werden. --- ### Installation von m23 ![img20r](Download_Icon_ISO.png) * **Aktualisierung** von bestehenden m23-Servern * m23-Server-Installations-**ISO** * Rechner**architekturunabhängige** Server-Installations**pakete** für * Debian 11, 12 * UCS 5.0 ``` bash wget -T10 -t10 https://goos-habermann.de/m23inst.sh -O m23inst.sh chmod +x m23inst.sh; less m23inst.sh; ./m23inst.sh ``` **Downloads** über die Community-Seite (https://m23.sourceforge.io) bzw. das
Univention App Center
--- ### Eine Beispiel-m23-Umgebung ![img90](gfx/m23-3.png) --- ### Software Über m23 kann Software (z.B. Bildbearbeitung, Office-Anwendungen, Entwicklungsumgebungen, Datenbank- oder Webserver) aus den umfangreichen Paketquellen der gewünschten Distribution mit **mehreren tausend Softwarepaketen** (bei Debian 12 sind es z.B. über 64.000) genutzt werden. ![img100](gfx/m23-5.png) --- ### Komfortfunktionen bei vielen Clients Für die **Installation** und die **Verwaltung** von **vielen m23-Clients** bringt m23 gleich mehrere **Komfortfunktionen** mit, um die Administrationsarbeit zu erleichtern. ![img100](gfx/m23-6.png) --- ### Konfigurationsmanagement m23 bietet gleich **mehrere flexible Möglichkeiten**, um **Konfigurationsdaten** zu managen und zu verteilen ohne dabei einen Weg fest vorzugeben. ![img100](gfx/m23-7.png) --- class: center, middle # m23-Server auf neue Plattform anpassen --- ### m23-Server auf neue Plattform anpassen ![img33r](pinguin09.webp) * Installation der m23-Server-Pakete auf neuer Plattform * Testen und anpassen ↺ * Gibt es die bekannte Software oder müssen Alternativen (z.B. MySQL ⇒ MariaDB) gefunden werden? * Funktioniert die bekannte Konfiguration der Dienste? * Hat die neue Plattform ***"Eigenarten"***, an die m23 angepaßt werden muß? * Wie (z.B. "App Shop") wird Software auf der Plattform veröffentlicht? * Installation mit m23-autoTest reproduzierbar machen --- class: center, middle ## Unterstützung einer neuen m23-Client-Distribution --- ### Neue m23-Client-Distribution 1 ![img33r](pinguin06.webp) * **Basisarchiv** für eine neue Distribution erstellen, signieren und hochladen * ⇒ /mdk/m23helper/compressedDebootstrap * ⇒ /mdk/m23helper/signBaseSys.sh * ⇒ /m23/data+scripts/packages/baseSys/up-frs-basesys * Leere Datei mit **Distributions-Codenamen** in /m23/data+scripts/distr/debian/debootstrap/scripts/ anlegen * Distributions-Codenamen und Versionsnummer in ***DISTR_releaseVersionTranslator*** eintragen * Funktionen nach ***"DebianVersionSpecific"*** durchsuchen und anpassen --- ### Neue m23-Client-Distribution 2 ![img33r](pinguin07.webp) * Ggf. /mdk/m23Debs/**m23-initscripts**/postinst anpassen und neues **Paket bauen** * **Neue Desktop** zu /m23/inc/distr/[distribution]/info.txt hinzufügen * **Paketquellenliste** in der Oberfläche **anlegen** * Paketquellenliste für den **Export** ins Debian-Paket in /mdk/bin/exportDBsourceslist.php eintragen * Neues **Basissystem installieren** und **Fehler korrigieren** --- ### Neue m23-Client-Distribution 3 ![img33r](pinguin08.webp) * **Desktopinstallationspakete** auf dem Client aufzulisten * ⇒ /mdk/m23helper/getAllDebianDesktopPackages * Neue **Desktop-Installationsskripte** als /m23/inc/distr/[Distribution]/packages/m23[Desktop]Install.php erstellen.Hierbei testen, ob **Vorgängerskripte weitergenutzt** werden können. * Skripte durch wiederholte Installation, **Testen** und **Korrigieren** solange anpassen, bis alles stimmt :-) --- class: center, middle ## Schritte zur Veröffentlichung --- ### Schritte zur Veröffentlichung ![img33r](pinguin05.webp) * Hilfe und Dokumentation anpassen/erstellen * Pakete bauen * Automatisches Testen * Veröffentlichen --- ### Hilfe und Dokumentation ![img33r](pinguin01.webp) * **Integrierte Hilfetexte** (/m23/inc/help/\*) und Strings (/m23/inc/i18n/\*) * Vervollständigen * Übersetzen (deutsch, english, französisch) * Prüfen mit ⇒ /mdk/doc/manual/bin/checkForMissingHlp.sh * **PDF** und **Online-HTML**-Hilfe * **Bildschirmfotos** erstellen * Prüfen mit ⇒ /mdk/doc/manual/bin/checkForMissingScreenshots.sh * Erstellung starten ⇒ /mdk/bin/menuStart ⇒ doc ⇒ manual * Hilfetexte **zu LaTeX** umwandeln * PNGs optimieren * **PDF-** und **HTML-Version** des Handbuches erstellen --- ### Entwicklerdokumentation ![img33r](pinguin02.webp) * Ggf. **m23-autoTest**-Dokumentation * ⇒ cd /mdk/autoTest/doku;./mkPDFandHTML * Development guide * Ggf. neue LaTeX-Abschnitte * API-Dokumentation aus Quelltextkommentaren generieren * PDF- und HTML-Version erstellen * ⇒ /mdk/bin/menuStart ⇒ doc ⇒ devguide --- ### Pakete bauen ![img33r](pinguinKarton.webp) * git-Zweig für die neue Version erstellen * Debian-Serverinstallations-Pakete bauen * ⇒ /mdk/bin/menuStart ⇒ debs ⇒ build * Ggf. m23-ucs-extra-Paket bauen * ⇒ cd /mdk/m23Debs/bin;./quickBuild.sh m23-ucs-extra --- ### Automatisches Testen ![img33r](pinguin04.webp) m23-autoTest führt eine Reihe von **automatisierten Tests** in **VMs** und mittels eines **simulierten Administrators** durch. * Neue Basis-VM bei neuer Debian- oder UCS-Version für die m23-Server-Tests erstellen * ⇒ /mdk/autoTest/doku/m23-autoTest.pdf * Testskripte erstellen * m23-**Server**installationsskripte für Debian xx, in 32- und 64-Bit sowie UCS x * m23-**Client**installationsskripte für alle unterstützten Versionen und zufälligen Desktops unter Debian (32- und 64-Bit), Ubuntu und Linux Mint * Bei **UCS**: Lokales und Testrepo * ⇒ /mdk/autoTest/autoTestScriptGenerator.php --- ### Veröffentlichen 1 ![img33r](pinguin03.webp) * m23-Serversoftware-**Pakete hochladen** * Hochladen ins **UCS-Testrepo** * Warten und **automatische Tests** durchführen * **m23-Online-Demo** * Auf der **Demo-Datenbank** und **-Dateien** ex/importieren * ⇒ /mdk/m23helper/m23admin-offline-copy/export-dataset.sh * ⇒ /mdk/m23helper/m23admin-offline-copy/import.sh * **Statische Kopie** per httrack erstellen * ⇒ /mdk/m23helper/m23admin-offline-copy/dlhttrack --- ### Veröffentlichen 2 ![img33r](pinguin05.webp) * Ankündigungs**artikel schreiben** * Auf **englisch** übersetzen * Ggf. **Linkdatei** für ISO anpassen (zuvor gab es für jede m23-Version ein OVA, ein ISO und oft ein Raspberry-Pi-SD-Kartenabbild) * ⇒ /mdk/doc/CMSLinkCreator.sh
* **CMS**-Dateien hochladen * **Newsletter** erstellen, anpassen und verschicken * ⇒ /mdk/doc/newsletterGenerator3.sh * Ausgewählte **Nutzer/Kunden** und **Presse anschreiben** --- ### Weitere Informationen ![img33r](pinguin09.webp) * **Einsteiger**videos *
m23-Server installieren: ISO
*
m23-Server installieren: Skript
*
Installation und Konfiguration eines m23-Clients
* **Hintergrund**informationen *
Was ist m23?
*
Wie entsteht eine neue m23-Version?
* **Videos** und **kommerzieller Support** auf https://goos-habermann.de --- class: center, middle ### Informationen zu mir und meinen Dienstleistungen, m23, ... ### https://goos-habermann.de