Pakete
Rollen: Leser, Packager, Releaser, Administrator
Überblick
Der Bereich Pakete ist die Startseite von oPBWeb. Hier siehst du alle Pakete mit ihrer neuesten Version, prüfst in den Paketdetails, auf welchen Depots sie installiert sind, und legst neue Pakete an. Als Leser kannst du die Liste und die Details ansehen; Anlegen, Importieren und alle ändernden Aktionen brauchen mindestens die Rolle Packager.
Die Paketliste

Die Tabelle zeigt pro Paket die neueste Version:
| Spalte | Inhalt |
|---|---|
| Product-ID | Eindeutige Kennung des Produkts |
| Name | Anzeigename |
| Version | Produktversion und Paketversion, zum Beispiel 1.0-3 |
| Typ | localboot oder netboot |
| Format | Format der control-Datei: INI oder TOML |
| Status | Entwurf oder Freigegeben |
| Geändert von, Geändert | Wer die Version zuletzt geändert hat und wann |
Ein Klick wählt ein Paket aus und zeigt rechts seine Details. Ein Doppelklick öffnet es im Paket-Editor .
Filtern
- Die Schaltflächen Alle, Entwürfe und Freigegeben filtern nach dem Status der neuesten Version. Die Zahl dahinter zeigt, wie viele Pakete jeweils passen.
- Archiv zeigt statt der aktiven Pakete die archivierten (siehe Paket archivieren ). Gibt es keine, erscheint „Keine archivierten Pakete.“
- Im Feld „Filtern …“ suchst du nach Product-ID oder Name.
Passt kein Paket, erscheint „Kein Paket passt zum Filter.“
Paketdetails
Im rechten Bereich siehst du zum ausgewählten Paket:
- Kopf: Produktlogo (falls vorhanden), Product-ID, Version, Status, Name und die erste Zeile der Beschreibung.
- Schaltflächen: Im Editor öffnen und Quelltext (öffnet den Editor direkt in der Quelltext-Ansicht). Als Packager zusätzlich Bauen (nur bei Entwürfen) und Installieren … (nur, wenn die neueste Version aktuell gebaut ist). Ist der Build veraltet, steht dort „seit dem Bauen geändert“.
- Eckdaten: Typ, Priorität, setup- und uninstall-Script, Abhängigkeiten, Properties, Anzahl der Dateien und Scripte, Format (zum Beispiel „INI · Changelog eingebettet“) und Herkunft („neu angelegt“, „importiert“, „kopiert von …“ oder „aus der Workbench“).
- Verteilung: Für jedes Depot die Stufe (Produktion, Staging oder Test) und die dort installierte Version, gruppiert nach Configserver (siehe Verteilung ). Als Packager übernimmst du das Paket mit Auf andere Stufe übernehmen … von einer Stufe auf die nächste (siehe Auf andere Stufe übernehmen ). Ist das Produkt irgendwo installiert, kannst du es mit Deinstallieren … entfernen.
- Workbench: Auf welcher Workbench das Paket liegt, siehe Workbench .
- Versionen: Alle Versionen des Pakets mit Status und Datum. Ein Klick öffnet die jeweilige Version im Editor.
- Paket (ab Packager): Archivieren bzw. bei archivierten Paketen Wiederherstellen und Paket löschen …, siehe Paket archivieren und Paket löschen .
Verteilung

Die Tabelle Verteilung fasst die Depots je Configserver zusammen. Die Kopfzeile eines Servers nennt, auf wie vielen seiner Depots das Paket installiert ist („1 von 3 installiert“). Darunter steht je Depot die Stufe und die installierte Version:
- Eine kursive Stufe hat das Depot von seinem Configserver geerbt.
- Weicht die installierte Version von der neuesten ab, ist sie orange markiert.
- Ein Klick auf die Kopfzeile eines Configservers klappt seine Depots zu oder auf. oPBWeb merkt sich das in diesem Browser.
- „Depot suchen“ grenzt die Depots nach Depot-ID oder Name des Configservers ein; während der Suche sind alle Gruppen aufgeklappt.
- Der Chip Nur installierte blendet alle Depots aus, auf denen das Paket nicht installiert ist. Die Zahl im Chip nennt die Depots mit Installation.
Workbench
Der Abschnitt Workbench zeigt, in welchen Projektordnern der Workbenches das Paket liegt: Configserver, Projektordner und Version. Weicht die Version von der neuesten in oPBWeb ab, ist sie orange markiert. Liegt das Paket auf keiner Workbench, steht dort „Auf keiner Workbench.“
oPBWeb liest die Workbench nicht bei jedem Öffnen, sondern merkt sich, was es zuletzt gesehen hat. Aktuell wird die Angabe
- beim Einlesen im Dialog Workbench … ,
- bei jedem Export in die Workbench ,
- bei jedem Abgleich über Abgleichen oder ⟳ in Depots und
- automatisch durch den Worker, standardmäßig stündlich (einstellbar unter Einstellungen → Worker ).
Die Zeile „Stand:“ darunter nennt je Configserver, wann seine Workbench zuletzt vollständig gelesen wurde, oder „nie gelesen“. Hast du die Workbench direkt auf dem Server geändert, gleich vorher ab.
Bauen, Installieren und Deinstallieren sind in Bauen und verteilen beschrieben. Mehrere Pakete auf einmal von einer Stufe auf die nächste bringst du mit Übernehmen … in der Werkzeugleiste der Paketliste, siehe Auf andere Stufe übernehmen .
Neues Paket anlegen
Rollen: Packager, Releaser, Administrator
Klick in der Paketliste auf Neues Paket.

Füll die Felder aus:
- Product-ID (Pflicht): nur Kleinbuchstaben, Ziffern, Punkt, Binde- und Unterstrich. Das erste Zeichen muss ein Kleinbuchstabe oder eine Ziffer sein, insgesamt höchstens 128 Zeichen. Beispiel: firefox-esr.
- Name: Anzeigename. Lässt du ihn leer, übernimmt oPBWeb die Product-ID.
- Produktversion (Pflicht): Version der Software, vorbelegt aus den Einstellungen (Standard
1.0). - Paketversion (Pflicht): Version des Pakets, vorbelegt aus den Einstellungen (Standard
1).
Klick auf Anlegen. Solange die Product-ID ungültig ist, bleibt die Schaltfläche deaktiviert.
oPBWeb legt das Paket als Entwurf an und öffnet es im Paket-Editor. Das neue Paket enthält bereits ein setup- und ein uninstall-Script als Vorlage (CLIENT_DATA/setup.opsiscript, CLIENT_DATA/uninstall.opsiscript) und einen leeren Ordner SERVER_DATA/. Priorität, control-Format und Ablage des Changelogs kommen aus den Einstellungen für neue Pakete
.
Produkt- und Paketversion dürfen nur Buchstaben, Ziffern und die Zeichen ., + und ~ enthalten. Die Produktversion darf höchstens 32, die Paketversion höchstens 16 Zeichen lang sein. Gibt es die Product-ID schon, meldet oPBWeb „Das Produkt … existiert bereits.“ – lege dann im Paket-Editor eine Neue Version an.
.opsi-Dateien importieren
Rollen: Packager, Releaser, Administrator
Vorhandene Pakete übernimmst du, indem du ihre .opsi-Dateien importierst. Jede importierte Version wird ein Entwurf.
Klick auf Importieren. Der Dialog „Pakete importieren“ öffnet sich.

Zieh eine oder mehrere
.opsi-Dateien in das Feld „.opsi-Dateien hierher ziehen oder auswählen“ oder klick auf Dateien auswählen. Andere Dateitypen und doppelt gewählte Dateien werden ignoriert.Optional: Aktivier Vorhandene Entwurfsversion gleicher Nummer überschreiben, wenn eine schon vorhandene Version ersetzt werden soll.
Klick auf Import starten.
oPBWeb lädt die Dateien nacheinander hoch und importiert sie. Jede Zeile zeigt den Zustand: „bereit“, „lädt hoch“, „wird importiert“, „importiert“ oder „fehlgeschlagen“. Unter der Liste läuft das Protokoll aller Importe in einem gemeinsamen Feld mit. Solange der Import läuft, ist Schließen deaktiviert.
Gibt es die Version (Produktversion und Paketversion) schon, schlägt der Import ohne die Option fehl. Mit der Option wird nur ein Entwurf überschrieben, eine freigegebene Version nie. In diesem Fall meldet der Job „Die vorhandene Version ist freigegeben und wird nicht überschrieben.“
Beim Import übernimmt oPBWeb die control-Daten und den Changelog in seine Datenbank. Das Format der control-Datei (INI oder TOML) und die Ablage des Changelogs bleiben erhalten. Alte Sicherungen control-*.bak des opsiPackageBuilders übernimmt oPBWeb nicht; das Job-Protokoll nennt ihre Anzahl.
Aus der Workbench importieren
Rollen: Packager, Releaser, Administrator
Liegen Paketquellen als Projektordner in der Workbench eines Configservers, kannst du sie direkt übernehmen – einzeln, mehrere oder alle auf einmal.

Klick auf Workbench …. Der Dialog „Import aus der Workbench“ öffnet sich.
Wähl oben unter Configserver den Server, dessen Workbench du lesen willst. Die Liste zeigt jeden Server mit Name und Stufe. oPBWeb merkt sich deine Wahl in diesem Browser; ohne frühere Wahl ist der erste Server der Stufe Test vorbelegt, sonst der erste Server. Der Dialog liest die Workbench automatisch ein („Lese Workbench …“), auch nach jedem Wechsel des Servers.
Prüf die Tabelle. Sie zeigt Projektordner, Product-ID, Version, Format und Zustand:
Zustand Bedeutung „neues Paket“ Die Product-ID gibt es in oPBWeb noch nicht. „neue Version“ Das Paket gibt es, diese Version noch nicht. „Entwurf vorhanden“ Die Version gibt es schon als Entwurf. „freigegeben vorhanden“ Die Version gibt es schon und sie ist freigegeben. „archiviert“ Das Paket ist archiviert und lässt sich nicht importieren. Ordner ohne
OPSI-Ordner oder mit unlesbarer control-Datei zeigen den Grund in der Spalte Format und haben kein Häkchen. Mit dem Filterfeld grenzt du die Liste ein.Setz die Häkchen bei den Projektordnern, die du importieren willst. Das Häkchen im Tabellenkopf wählt alle aus, Alle neuen auswählen wählt alle Ordner, deren Version es in oPBWeb noch nicht gibt.
Leg unter Vorhandene Versionen fest, was mit Ordnern geschehen soll, deren Version es schon gibt:
- „überspringen“ (voreingestellt): Der Ordner wird nicht importiert.
- „Entwürfe überschreiben“: Ein vorhandener Entwurf wird ersetzt. Freigegebene Versionen werden übersprungen.
- „als nächste Paketversion importieren“: oPBWeb legt die Version mit der nächsten freien Paketversion an (höchste numerische Paketversion dieser Produktversion + 1).
Klick auf Ausgewählte importieren (n).
Der Import läuft als ein einziger Job „Import aus Workbench (Server), Projekte: n“ und arbeitet die Ordner nacheinander ab. Den Fortschritt siehst du als „Importiere … 40 %“. Schließt du den Dialog, läuft der Job trotzdem weiter. Schlägt ein Ordner fehl, macht oPBWeb mit den übrigen weiter.
Danach zeigt jede Zeile ihr Ergebnis: „importiert als 1.0-2“, „übersprungen“ oder „fehlgeschlagen“ (den Grund zeigt der Tooltip). Unten steht eine Zusammenfassung wie „3 importiert, 1 übersprungen, 0 fehlgeschlagen“. Das Job-Protokoll unter Jobs enthält eine Zeile pro Projekt.
Übernommen werden nur die Ordner OPSI, CLIENT_DATA und SERVER_DATA; andere Inhalte der Projektordner bleiben unberührt. Mit Neu einlesen aktualisierst du die Liste. Freigegebene Versionen überschreibt der Import nie.
Einzelne Ordner kannst du auch unter Depots im Reiter Dateien mit In oPBWeb importieren übernehmen, siehe Depots . Wurde eine importierte Version später direkt auf der Workbench geändert, holst du die Änderungen mit Mit Workbench abgleichen … im Paket-Editor nach, siehe Paket-Editor .
Übergabe vom opsi-setup-detector
Rollen: Packager, Releaser, Administrator
Der opsi-setup-detector kann nach dem Erzeugen der Produktdateien den alten opsiPackageBuilder starten. Mit dem Launcher von oPBWeb öffnet sich an dieser Stelle stattdessen oPBWeb im Browser und fragt, ob du den neuen Workbench-Ordner importieren willst.
Launcher einrichten
Lade den Launcher für dein System herunter: im Dialog „Import aus der Workbench“ über Launcher für den opsi-setup-detector herunterladen oder direkt unter
/downloads/deiner oPBWeb-Adresse. Es gibt je eine ZIP-Datei für Windows, macOS und Linux (amd64 und arm64).Entpack die Datei. Sie heißt
opsipackagebuilder.exe(Windows) bzw.opsipackagebuilder. Den Namen darfst du nicht ändern, der opsi-setup-detector akzeptiert nur diesen.Leg sie an einen Ort, an dem der opsi-setup-detector sie findet, oder trag den Pfad in dessen Konfiguration unter
PathToOpsiPackageBuilderein:System Standardpfad Windows C:\Program Files (x86)\opsi PackageBuilderNG\opsipackagebuilder.exemacOS /Applications/opsiPackageBuilder.app/Contents/MacOS/opsipackagebuilderLinux /usr/bin/opsipackagebuilderHinterleg einmalig die Adresse von oPBWeb:
opsipackagebuilder --set-url https://opbweb.example.orgAlternativ legst du neben dem Launcher eine Datei
opb-launcher.confmit der Zeileurl = https://opbweb.example.organ (gilt dann für alle Benutzer des Rechners) oder setzt die UmgebungsvariableOPBWEB_URL.Arbeitet der opsi-setup-detector mit einem verbundenen Laufwerk (zum Beispiel
W:\) statt mit einem UNC-Pfad, hinterleg zusätzlich den Configserver dieser Workbench:opsipackagebuilder --set-server opsi-test.example.orgAlternativ trägst du in
opb-launcher.confdie Zeileserver = opsi-test.example.orgein oder setzt die UmgebungsvariableOPBWEB_SERVER.
Der opsi-setup-detector und oPBWeb müssen dieselbe Workbench verwenden: Der opsi-setup-detector schreibt in die Workbench-Freigabe eines Configservers, und dieser Server muss in oPBWeb eingerichtet sein. Der Launcher teilt oPBWeb mit, um welchen Configserver es geht: Bei einem UNC-Pfad wie \\opsi-test.example.org\opsi_workbench\firefox ist es der Hostname aus dem Pfad, sonst der mit --set-server hinterlegte Server.
Der Launcher ist nicht signiert. Windows SmartScreen warnt beim ersten Start. Unter macOS entfernst du nach dem Download die Quarantäne mit xattr -d com.apple.quarantine opsipackagebuilder.
Übergabe nutzen
Wähl im opsi-setup-detector als Modus create opsi product files and start the interactive PackageBuilder und erzeuge das Produkt.
oPBWeb öffnet sich im Browser. Bist du nicht angemeldet, meldest du dich zuerst an.
Der Dialog „Übergabe vom opsi-setup-detector“ liest den Workbench-Ordner. Sind mehrere Configserver eingerichtet, ist unter Configserver der Server vorgewählt, den der Launcher übergeben hat (Hostname oder Kurzname). Kennt oPBWeb diesen Server nicht, erscheint ein Hinweis und vorbelegt ist der zuletzt gewählte; dann wählst du den passenden Server aus. Danach fragt der Dialog je nach Lage:
Lage Auswahl Das Paket gibt es in oPBWeb noch nicht Importieren oder Abbrechen Das Paket gibt es, die Version noch nicht Neue Version anlegen oder Abbrechen Die Version gibt es schon Als … anlegen (nächste freie Paketversion, zum Beispiel 1.0-3 statt 1.0-2), Entwurf überschreiben (nur wenn die vorhandene Version ein Entwurf ist) oder Abbrechen Das Paket ist archiviert nur Abbrechen; stell das Paket erst wieder her Nach dem Import öffnet sich die neue Version im Editor.
Die Modi Bauen und Bauen + Installieren des opsi-setup-detectors brauchen den Launcher nicht: Ab opsi 4.2.0.311 baut der opsi-setup-detector dann direkt über den opsi-Service. Ruft er den Launcher trotzdem zum Bauen auf, meldet der Launcher einen Fehler, denn oPBWeb baut nicht über die Kommandozeile.
Meta-Paket anlegen
Rollen: Packager, Releaser, Administrator
Ein Meta-Paket installiert eine Reihe anderer Produkte. Es enthält selbst kein Programm, sondern nur Abhängigkeiten: Jedes gewählte Produkt wird zur Abhängigkeit „setup, installiert, vorher“. Das Script des Meta-Pakets tut nichts.
Klick auf Meta-Paket …. Der Dialog „Neues Meta-Paket“ öffnet sich.

Füll links die Felder aus:
- Product-ID: vorbelegt mit dem Präfix aus den Einstellungen (Standard
meta-). Es gelten dieselben Regeln wie bei einem neuen Paket. - Name, Beschreibung: optional.
- Produktversion, Paketversion: vorbelegt aus den Einstellungen.
- Product-ID: vorbelegt mit dem Präfix aus den Einstellungen (Standard
Wähl rechts die Produkte aus. Mit „Produkte filtern …“ grenzt du die Liste ein. Zur Auswahl stehen alle Pakete in oPBWeb und alle Produkte, die auf den Depots gefunden wurden; Produkte, die es nur auf einem Depot gibt, sind mit „nur im Depot“ markiert.
Bring die Produkte unter Reihenfolge mit ↑ und ↓ in die gewünschte Installationsreihenfolge. Mit × entfernst du ein Produkt aus der Auswahl.
Klick auf Anlegen. Die Schaltfläche ist aktiv, sobald die Product-ID gültig ist und mindestens ein Produkt gewählt ist.
oPBWeb öffnet das neue Meta-Paket im Editor. Es bekommt die Priorität und den Namen des Setup-Scripts aus den Einstellungen (Standard: Priorität −100, Script dummy.opsiscript) und kein uninstall-Script. Ein Meta-Paket kann sich nicht selbst enthalten; maximal sind 200 Produkte möglich.
Version löschen
Rollen: Packager, Releaser, Administrator
Eine einzelne Version löschst du im Paket-Editor:
- Öffne die Version im Paket-Editor und wähl den Abschnitt Produkt.
- Klick unten auf Diese Version löschen.
- Bestätige die Rückfrage „Version … endgültig löschen?“.
Das Löschen ist auch bei freigegebenen Versionen möglich und lässt sich nicht rückgängig machen. Ist die Version auf einem Produktions-Depot installiert, darf sie nur ein Releaser löschen (siehe Stufenregel
). Die gebaute .opsi-Datei der Version wird mit gelöscht. Ist es die letzte Version, verschwindet das ganze Paket aus der Liste. Danach öffnet oPBWeb eine andere Version des Pakets oder die Paketliste.
Das Löschen in oPBWeb entfernt nichts von den Depots. Ein dort installiertes Produkt entfernst du vorher mit Deinstallieren …, siehe Bauen und verteilen .
Paket archivieren
Rollen: Packager, Releaser, Administrator
Ein Paket, das du nicht mehr brauchst, aber behalten willst, archivierst du:
- Wähl das Paket in der Paketliste aus.
- Klick in den Details unter Paket auf Archivieren.
- Bestätige die Rückfrage „… archivieren? Das Paket verschwindet aus der Liste und wird schreibgeschützt, die gebauten .opsi-Dateien werden gelöscht.“
Ein archiviertes Paket
- erscheint nur noch unter dem Filter Archiv und nicht in der Suche,
- ist schreibgeschützt: Du kannst es im Editor ansehen, aber nicht bearbeiten, bauen, keine neue Version anlegen und keine Version löschen; auch ein Import in das Paket wird abgelehnt,
- hat keine Build-Ergebnisse mehr und lässt sich deshalb nicht installieren.
Laufen für das Paket noch Jobs oder warten welche, lehnt oPBWeb das Archivieren ab. Auf den Depots installierte Produkte bleiben erhalten; du kannst sie in den Details weiterhin mit Deinstallieren … entfernen.
Zum Zurückholen wählst du das Paket unter Archiv aus und klickst auf Wiederherstellen. Die Versionen behalten ihren Status. Vor dem nächsten Installieren musst du das Paket neu bauen.
Paket löschen
Rollen: Packager, Releaser, Administrator
Ein ganzes Paket mit allen Versionen löschst du in der Paketliste, auch wenn es archiviert ist:
- Wähl das Paket aus.
- Klick in den Details unter Paket auf Paket löschen ….
- Gib zur Bestätigung die Product-ID ein und klick auf Endgültig löschen. Die Schaltfläche ist erst aktiv, wenn die Eingabe genau stimmt.
Gelöscht werden alle Versionen, ihre Dateien und Build-Ergebnisse. Das lässt sich nicht rückgängig machen. Ist irgendeine Version des Produkts auf einem Produktions-Depot installiert, darf nur ein Releaser das Paket löschen.
Auch hier bleibt auf den Depots alles erhalten. Ein dort installiertes Produkt entfernst du vorher mit Deinstallieren ….