Zum Hauptinhalt springen
Software-Bereitstellung

So funktioniert die Software-Bereitstellung

Paketmanager, Deployment-Einstellungen, Verteilungszeitpläne und Berechtigungen für die automatische Installation und Aktualisierung von Software auf verwalteten Geräten.

octoja installiert und aktualisiert Drittanbieter-Software automatisch auf verwalteten Geräten. Du legst fest, welche Software auf welche Geräte soll und wann das passiert; der octoja-Agent auf jedem Gerät erledigt den Rest.

So funktioniert es

  1. Du fügst die gewünschte Software einem Konfigurationspaket hinzu — einem wiederverwendbaren Bündel aus Software-Deployments, Checks und Agent-Einstellungen.
  2. Ein Verteilungszeitplan gilt für alle Software-Deployments des Pakets, zum Beispiel jede Nacht um 03:00 Uhr oder beim Start des Agents. Lässt du ihn leer, hält octoja die Software fortlaufend aktuell.
  3. Zuweisungsregeln bestimmen, welche Geräte das Paket erreicht — etwa alle Windows-Server eines Kunden oder alle Geräte mit einem bestimmten Tag. Ein Paket kann auch ein einzelnes Gerät ansteuern.
  4. Der Agent installiert oder aktualisiert die Software mit dem passenden Paketmanager. Ein Paket darf Software mehrerer Paketmanager enthalten; jedes Gerät führt nur die Deployments aus, die zu seinem Betriebssystem passen.

Der Software-Tab des Konfigurationspakets 'Workstation Software Baseline' mit drei Deployments, gruppiert nach Paketmanager — Chocolatey > Firefox, winget > Visual Studio Code, APT > nginx — jeweils mit gewünschter Version 'Latest' und Installations-Verhalten 'Installieren & Aktualisieren'. Der Bereitstellungsplan darüber lautet 'Jeden Tag um 03:00 ausführen'.

Wie du ein Deployment anlegst, zeigt Software auf Geräte verteilen.

Paketmanager

PaketmanagerPlattformPaketquelleSuche in octoja
ChocolateyWindows 7 und neuerChocolatey Community Repository (community.chocolatey.org)Ja
wingetWindows 10 (1709+) und Windows 11Microsofts winget-Paketindex, Community-Quelle wingetJa
HomebrewmacOSFormulae (Befehlszeilentools) und Casks (grafische Anwendungen) von formulae.brew.shJa — Casks tragen das Badge Cask
APTDebian und UbuntuRepositorys der DistributionNein — du gibst den exakten Paketnamen ein, wie apt-get ihn erwartet
EigeneWindowsEigene Pakete, die deine octoja-Instanz auf ihrem integrierten Chocolatey-Feed bereitstelltJa — durchsucht deine veröffentlichten eigenen Pakete

Ein externes Repository lässt sich für Software nicht anbinden. Software, die in keinem dieser Kataloge liegt, packst du selbst — siehe Eigene Pakete erstellen und verteilen.

  • Chocolatey hat den größeren Community-Katalog; für die meisten Pakete ist ein Versionsverlauf verfügbar. Fehlt Chocolatey auf einem Windows-Gerät, installiert octoja es vor dem ersten Chocolatey-Deployment.
  • winget ist ab Windows 10 Version 1709 enthalten. octoja nutzt die Community-Quelle winget, nicht msstore. Ein nicht erreichbarer Microsoft Store verhindert die Verwaltung daher nicht; die Community-Quelle und die Download-Adressen der Pakete müssen aber erreichbar sein.
  • Homebrew bietet in der Regel nur die neueste stabile Version. Fehlt Homebrew auf einem Apple-Silicon-Mac, installiert octoja es vor dem ersten Homebrew-Paket. Dafür muss jemand mit einem Administratorkonto am Mac angemeldet sein, denn Homebrew läuft nicht als root und braucht einen Administrator als Eigentümer seiner Dateien. Auf Intel-Macs muss Homebrew bereits installiert sein. Vorhandene Installationen erkennt und nutzt octoja auf beiden Architekturen.

Einstellungen eines Deployments

Den Paketmanager wählst du über die Tabs im Dialog Software hinzufügen. Die Wahl steht fest, sobald das Deployment angelegt ist; der Bearbeiten-Dialog zeigt den Paketmanager nur noch als Badge. Ein Modus-Umschalter über den Tabs legt fest, was das Deployment tut, und ändert die übrigen Felder:

  • Einzelnes Paket (Standard) installiert oder aktualisiert genau das gewählte Paket.
  • Alle veralteten aktualisieren aktualisiert jedes Paket, das der Paketmanager als veraltet meldet. Der Modus ist optional und erfasst auch installierte Software, die du nicht einzeln zugewiesen hast.

Modus „Einzelnes Paket“

FeldTypPflichtStandardBeschreibung
PaketnamestringJa—Nur bei APT manuell, genau so, wie das Paket im Repository der Distribution heißt (z. B. nginx, curl, htop). Bei den übrigen Paketmanagern füllt der Katalog das Feld aus
AnzeigenamestringJa—Name in der octoja-Oberfläche, aus dem Katalogeintrag oder Paketnamen vorausgefüllt
VersionstringNeinNeueste (latest)Neueste installiert immer die neueste verfügbare Version, oder du wählst eine bestimmte Version aus der Liste. Bei APT ist das Feld ein Textfeld für eine exakte Version wie 1.18.0-0ubuntu1; leer bedeutet die neueste
InstallationsverhaltenenumNeinInstallieren & AktualisierenInstallieren & Aktualisieren (InstallAndUpdate) installiert die Software, falls sie fehlt, und aktualisiert eine ältere Version. Nur Aktualisieren (UpdateOnly) aktualisiert nur bereits installierte Software
InstallationsargumentestringNein—Nur winget und Chocolatey; Details im Abschnitt Installationsargumente unten. Nur beim Anlegen des Deployments einstellbar
Installieren fürenumNeinAlle BenutzerNur winget und Chocolatey (API: ExecutionContext). Alle Benutzer (System) installiert für jeden Benutzer des Geräts als NT AUTHORITY\SYSTEM ohne interaktiven Desktop und funktioniert auch, wenn niemand angemeldet ist; für die meisten Deployments empfohlen. Nur aktueller Benutzer (User) installiert im Profil des angemeldeten Benutzers und erfordert, dass jemand angemeldet ist und das Paket diesen Modus unterstützt; fehlende Administratorrechte können vor allem Chocolatey-Installationen verhindern. Beim Anlegen und Bearbeiten verfügbar, auch im Modus Alle veralteten aktualisieren. Homebrew und APT ignorieren das Feld
Im Software-Kiosk anzeigenboolNeinAusZeigt die Software im Software-Kiosk auf dem Gerät, wo Benutzer sie selbst installieren. Das Deployment wird dabei auf Nur Aktualisieren gesetzt: octoja installiert die Software nicht automatisch, hält eine installierte Version aber aktuell. In der Liste trägt das Deployment das Badge Kiosk. Den Kiosk selbst schaltest du in den Agent-Einstellungen ein — siehe Den Software-Kiosk aktivieren

Bei eigenen Paketen wählst du statt Installationsverhalten und Installationsargumenten die veröffentlichte Version und die Paketparameter; siehe Eigene Pakete erstellen und verteilen. Installieren für heißt dort Ausführen als, mit den Optionen SYSTEM (kein interaktiver Desktop) und Angemeldeter Benutzer (mit Elevation).

Installationsargumente

Bei winget ersetzt der Wert die vollständige Installer-Argumentzeile (-Override), statt Argumente anzuhängen. Gib nur die vom Hersteller dokumentierten Setup-Argumente ein, einschließlich der nötigen Silent-Optionen.

Bei Chocolatey übergibt octoja den Wert als --install-arguments. Gib also beispielsweise /S ein, nicht --install-arguments="/S", sofern der Installer dieses Argument unterstützt.

Das Feld reicht weder winget-Optionen wie --locale oder --force noch Chocolatey-Paketparameter (--params) durch. Parameter eigener octoja-Pakete sind davon getrennt.

Modus „Alle veralteten aktualisieren“

Der Modus blendet Paketname, Version, Installationsverhalten und Installationsargumente aus. Anzeigename bleibt verfügbar; lässt du ihn leer, benennt octoja den Eintrag nach dem Paketmanager. Bei winget und Chocolatey steht zusätzlich Installieren für bereit.

FeldTypPflichtStandardBeschreibung
Diese Pakete nie aktualisierenPaket-ID-ListeNeinLeerwinget, Chocolatey und APT. Exakte Paket-IDs, Groß- und Kleinschreibung egal — zum Beispiel Mozilla.Firefox (winget) oder firefox (Chocolatey). Bei APT die Paketnamen aus apt list --upgradable, keine Anzeigenamen. Höchstens 200 unterschiedliche Einträge je Deployment
Mindestalter für Updates (Tage)GanzzahlNein0Nur winget und Chocolatey; 0–365. 0 schaltet die Verzögerung aus. Ist das Alter einer Version unbekannt, wird sie trotzdem installiert. Wie das Alter gemessen wird, steht unter Bestimmte Updates zurückhalten

Homebrew und eigene Pakete unterstützen weder Ausschlüsse noch ein Mindestalter. Sind alle veralteten Pakete ausgeschlossen, wird nichts aktualisiert.

Ausschlüsse und Mindestalter gelten nur für das Deployment oder den Automatisierungsschritt, in dem du sie einträgst. Sie sperren weder ein separates Einzelpaket-Deployment noch eine manuell durch einen Techniker gestartete Aktualisierung aller Pakete, und sie setzen bereits installierte Versionen nicht zurück. Das Mindestalter ist keine verbindliche Freigabesperre.

Verteilungszeitplan

Ein Konfigurationspaket hat genau einen Verteilungszeitplan für alle seine Software-Deployments. Er erscheint im Tab Software über der Deployment-Liste, sobald das Paket mindestens ein Deployment enthält.

Standard ist Kein Zeitplan festgelegt: Das Paket erreicht seine Geräte, sobald du es speicherst, und wird alle paar Stunden erneut geprüft, sodass die Software fortlaufend aktuell bleibt. Mit Zeitplan festlegen läuft es stattdessen zu festen Zeiten; Zeitplan entfernen stellt die fortlaufende Prüfung wieder her.

Die Zeitplanauswahl baut den Zeitplan als Satz zusammen und speichert ihn als Cron-Ausdruck. Nächste Ausführungen zeigt die nächsten fünf Termine.

ModusWann er läuftGespeichert als (Beispiel)
täglichJeden Tag zur gewählten Uhrzeit0 3 * * * — täglich um 03:00
Alle paar StundenAlle 1, 2, 3, 4, 6, 8 oder 12 Stunden, jeweils zur vollen Stunde; keine Uhrzeitauswahl0 */6 * * * — alle 6 Stunden; stündlich: 0 * * * *
an WerktagenMontag bis Freitag zur gewählten Uhrzeit0 6 * * MON-FRI
an bestimmten TagenAn den gewählten Wochentagen zur gewählten Uhrzeit0 2 * * MON,THU
monatlichEinmal im Monat zur gewählten Uhrzeit: an einem festen Tag, am letzten Tag oder wenige Tage davor (L, L-<n>) oder an einem Wochentag wie dem zweiten Dienstag oder dem letzten Freitag (<Tag>#<n>, <Tag>L)0 3 1 * * — am 1. jedes Monats um 03:00
bei NeustartWenn der Agent nach seinem Start eine Zuweisung lädt oder eine neue Zuweisung erhält — auch ohne Neustart des Betriebssystems; keine Uhrzeitauswahl@reboot

Vorlagen decken die gängigen Fälle mit einem Klick ab, etwa Jede Nacht um 03:00, An Werktagen um 06:00, Alle 6 Stunden, Am letzten Tag des Monats um 03:00 und Beim System-Neustart.

Ein Gerät in einem Wartungsfenster, das Softwareverteilungen pausiert, installiert bis zum Ende des Fensters nichts.

Was auf dem Gerät passiert

Beim Speichern weist octoja das Konfigurationspaket den passenden Geräten zu und benachrichtigt deren Agents sofort. Zur geplanten Zeit — oder bei fortlaufender Prüfung sofort und danach alle paar Stunden — prüft der Agent jedes Deployment:

  1. Fehlt die Software und steht das Verhalten auf Installieren & Aktualisieren, installiert er sie.
  2. Ist eine ältere Version installiert, aktualisiert er sie auf die gewünschte Version.
  3. Er protokolliert das Ergebnis im Aktivitätsprotokoll des Geräts mit der Quelle Deployment (API: SoftwareDeployment).

Einzelpaket-Prüfungen ohne Änderung erzeugen keinen neuen Eintrag. Ein abgeschlossener Lauf von Alle veralteten aktualisieren erzeugt dagegen immer einen Eintrag, auch wenn nichts veraltet war oder keine Version geändert wurde — ein erfolgreicher Lauf bedeutet also nicht zwingend, dass ein Update installiert wurde.

Berechtigungen

BerechtigungErforderlich für
Monitoring-Check-Verwaltung (monitoring-checks.manage)Konfigurationspakete öffnen und die darin enthaltenen Software-Deployments erstellen, bearbeiten oder entfernen — dieselbe Berechtigung deckt auch Checks und Agent-Einstellungen im Paket ab
Verwaltung benutzerdefinierter Pakete (custom-packages.manage)Eigene Pakete anlegen, bearbeiten, veröffentlichen und löschen

Beide vergibst du je Gruppe unter Administration → Gruppen.

Verwandte Artikel