Inhaltsverzeichnis
Abbildungsverzeichnis
Tabellenverzeichnis
Das Copyright an diesem Handbuch liegt bei der uib gmbh in Mainz.
Dieses Handuch ist veröffentlicht unter der creative commons Lizenz
Namensnennung - Weitergabe unter gleichen Bedingungen (by-sa).
Eine Beschreibung der Lizenz finden Sie hier:
http://creativecommons.org/licenses/by-sa/3.0/de/
Der rechtsverbindliche Text der Lizenz ist hier:
http://creativecommons.org/licenses/by-sa/3.0/de/legalcode
Die Software von opsi ist in weiten Teilen Open Source.
Nicht Open Source sind die Teile des Quellcodes, welche neue Erweiterungen enthalten die noch unter Kofinanzierung stehen, also noch nicht bezahlt sind.
siehe auch:
http://uib.de/de/opsi-erweiterungen/erweiterungen/
Der restliche Quellcode ist veröffentlicht unter der AGPLv3:
Der rechtsverbindliche Text der AGPLv3 Lizenz ist hier:
http://www.gnu.org/licenses/agpl-3.0-standalone.html
Deutsche Infos zur AGPL: http://www.gnu.org/licenses/agpl-3.0.de.html
Für Lizenzen zur Nutzung von opsi im Zusammenhang mit Closed Source Software kontaktieren Sie bitte die uib gmbh.
Die Namen opsi, opsi.org, open pc server integration und das opsi-logo sind eingetragene Marken der uib gmbh.
Schwerpunkte dieser Freigabe sind:
Das opsi Service Release 4.0.7 weist eine Fülle von Neuerungen und Detailverbesserungen auf.
Hier eine Übersicht:
Neues opsi Bootimage
opsi-server Pakete jetzt auch für:
opsi-configed:
opsi-client-agent:
opsi-winst / opsi-script (4.11.6.1)
Installationsreihenfolge repariert
opsi-clonezilla:
opsi-linux-support:
opsi-linux-support
stellt jetzt auch die Basis für statische http-Repositories für Debianartige Netbootprodukte (debian8/ubuntu16-04) bereit
opsi-logviewer:
Sonstiges
Ubuntu Xenial (16.04) verwendet MySQL in der Version 5.7. Diese Version verwendet den vorher optionalen strict mode nun standardmäßig. Dies führt zu einem Fehlschlag des Befehls opsi-setup --configure-mysql. Dementsprechend sollte vor dem Befehlsaufruf folgende Datei editiert werden:
/etc/mysql/mysql.conf.d/mysqld.cnf
In der [mysqld] Sektion muss nun folgende Zeile eingefügt werden:
sql_mode=NO_ENGINE_SUBSTITUTION
Danach muß der Dienst mysql
neu gestartet werden:
service mysql restart
Es ist nun möglich unter Ubuntu Xenial fort zu fahren.
Im Fehlerfall updaten Sie bitte Ihre Netbootprodukte!
Nur für den Notfall finden sie alte bootimages unter http://download.uib.de/opsi4.0/archiv/opsi-linux-bootimage/
Es gibt ein Problem bei der Überprüfung der Server Zertifikate, so dass wir vorerst empfehlen, diese Option im opsiclientd vor einem Upgrade zu deaktivieren, was auch der Default Konfiguration entspricht. Gegebenenfalls muß der Hostparameter für den opsiclientd wie folgt geändert werden:
opsiclientd.global.verify_server_cert : false
Und vor dem Upgrade sollten die Clients die geänderte Konfiguration auch erhalten haben.
Aufgrund der Verwendung eines neuen Default-Protokolls für die HTTPS-Verbindung TSLv1.2 kann es zu unterschiedlichen Fehlerbildern im Configed kommen. Folgende Probleme sind beobachtet worden.
Als vorübergehende Lösung empfehlen wir für den Aufruf das bisherige HTTPS-Protokoll TLSv1 zu verwenden. Hierfür gibt es die folgenden Lösungsansätze:
...javaw -Dhttps.protocols=TLSv1 -Xmx1024m -jar "C:\Program Files (x86)\opsi.org\configed\configed.jar ...
Durch die Reperatur dieses länger vorhandenen Bugs ändern sich evtl. sich die Installationsreihenfolgen im Vergleich zu der fehlerhaft berechneten Reihenfolge in 4.0.6
Bisher wurden die Windows Netboot-Produkte nur aktualisiert, wenn man den opsi-product-updater mit der Option -i aufgerufen hat. Dieses Verhalten wurde nun geändert. Die Windows Netboot-Produkte werden nicht mehr bei einem Update der Produkte ausgeschlossen. Diese Produkte werden wie die Localboot-Produkte upgedatet. Falls Sie weiterhin Ausnahmen beibehalten möchten, pflegen Sie bitte den excludes-Eintrag entsprechend.
Ein ensprechender Hinweis bei der Paketinstallation weist auf eine geänderte Konfigurationsdatei hin. Falls Sie die geänderte Konfigurationsdatei übernehmen, müssen Sie eventuell anschließend ihre Zugangsdaten in der Konfigurationsdatei erneuet eintragen.
In bestehenden opsi Installationen wurde die Shares bisher mit oplock Parametern angelegt. Dies führt zu einem Bug zwischen Linux Rechnern. Wir empfehlen daher die oplock Parameter aus der Konfiguration für alle Shares zu entfernen und den Samba Dienst neu zu starten. Bei einer Neuinstallation des opsi-Servers werden die Shares ohne den oplock Parameter angelegt.
Wir empfehlen vor der Installation des Updates eine Sicherung Ihres Backends
mittels opsi-backup durchzuführen:
opsi-backup create
Die Produkte welche im Rahmen dieses Releases veröffentlicht werden,
sind in etlichen Teilen voneinander abhängig.
Sie sollten daher nicht versuchen, nur Teile zu installieren.
Wir empfehlen zuerst den Server und danach die opsi-Produkte zu aktualisieren.
Beim Update eines bestehenden opsi-Servers kann es vorkommen, dass eine neue
Version der Datei /etc/opsi/opsi-product-updater.conf
eingespielt werden kann und der
Paketmanager Ihres Systems Sie fragt, wie vorgegangen werden soll.
Falls eine solche Nachfrage kommt und Sie diese Datei nicht geändert haben,
so können Sie diese Datei gefahrlos durch die neue Version ersetzen.
Falls Sie die Datei geändert haben oder sich unsicher sind,
verweigern Sie das Ersetzen bitte.
Da bei diesem Update eine neue Konfigurationsdatei für Hardware-Inventur
eingespielt wird, empfehlen wir die Ausführung von
opsi-setup --init-current-config
zur Übernahme dieser Felder.
Wir empfehlen nach dem Update die Ausführung von opsi-setup --set-rights
,
um sicher zu stellen, dass die Zugriffsberechtigungen korrekt gesetzt sind.
Die Ausführung des Befehls kann mehrere Minuten in Anspruch nehmen.
Sollten Sie eine Multidepot Umgebung haben, so machen Sie zunächst das Upgrade auf Ihrem config-server, bevor Sie die Depots upgraden.
Die Installation erfordert ansonsten keine besonderen Arbeiten. Sie erfolgt im Rahmen der normalen Updates ihres Servers und der opsi-Produkte.
Sie sollten Ihre Server updaten bovor Sie die Clients Updaten. Benutzen Sie dazu die Befehle entsprechend Ihrer Linux-Distribution.
Sollten Sie eine Multidepot Umgebung haben, so machen Sie zunächst das Upgrade auf Ihrem config-server, bevor Sie die Depots upgraden.
Wir empfehlen in der Datei /etc/opsi/opsi-product-updater.conf
in der Sektion [repository_uib]
den Eintrag excludes
wie folgt zu modifizieren, damit Sie auch Produkte bekommen welche mit win*
anfangen::
excludes =
Wenn Sie die opsi-linux Produkte benötigen so hängen Sie an den dirs
Eintrag:
den Pfad opsi4.0/products/opsi-linux
an.
Wenn Sie die opsi-local-image Produkte benötigen so hängen Sie an den dirs
Eintrag den Pfad opsi4.0/products/opsi-local-image
an.
Danach die opsi-Produkte. Dies erledigt der opsi-product-updater:
opsi-product-updater -i -vv
Um nur Updates zu installieren:
opsi-product-updater -vv
Sollten Sie eine Multidepot Umgebung haben, so machen Sie zunächst das Upgrade auf Ihrem config-server, bevor Sie die Depots upgraden.
Falls Sie Produkt-IDs mit einer Länge von mehr als 32 Zeichen verwenden wollen und das MySQL-Backend einsetzen, so führen Sie bitte ein Update der Tabellen-Definition auf Ihrem Config-Server mittels opsi-setup durch:
opsi-setup --update-mysql
Server-Pakete:
opsi-Pakete (Localboot):
opsi-Pakete (netboot):
opsi-Pakete (opsi-linux):
opsi-Pakete (opsi-local-image):
opsi-client-agent:
opsi-linux-client-agent:
KNOWN BUGS:
KNOWN PROBLEMS:
In diesem Kapitel werden die Abkündigungen aufgelistet.
Diese Distributionsversionen werden aus verschiedenen Gründen nicht weiter
von opsi unterstützt.
Siehe auch gesondertes Kapitel: Kapitel 9, opsi Support Matrix.
Ab opsi v4.0.7 werden wir die Netbootpakete für
nicht weiter pflegen. Ebenso planen wir für diese Windowsversionen die
Unterstützung in den Update Abo’s einzustellen.
Falls Sie hierzu Fragen oder Probleme haben, melden Sie sich bitte bei uns.
Siehe auch gesondertes Kapitel: Kapitel 17, opsi Support Matrix Windows Clients.
Im folgenden finden Sie eine Übersicht auf welchen Plattformen opsi als Server läuft.
Stand: 17.07.2017
Distribution | Opsi 4.0.7 | Anmerkung |
Debian 9 Stretch | ||
Debian 8 Jessie | ||
Debian 7 Wheezy | ||
Ubuntu 16.04 LTS Xenial Xerus | ||
Ubuntu 14.04 LTS Trusty Tahir | ||
Ubuntu 12.04 LTS Precise Pangolin | ||
RHEL 7 | ||
RHEL 6 | ||
CentOS 7 | ||
CentOS 6 | ||
SLES 12SP2 | ||
SLES 12SP1 | ||
SLES 12 | ||
SLES 11SP4 | ||
SLES 11SP3 | ||
openSuse Leap42.1 | ||
openSuse Leap42.2 | ||
openSuse 13.2 | ||
UCS 4.2 | nicht auf Role Member | |
UCS 4.1 | ||
UCS 4.0 | nicht auf Role Member | |
UCS 3.3 | ||
UCS 3.2 | nicht auf Role Member |
: Unterstützt
: Nicht unterstützt
: In Entwicklung
: Abgekündigt
Sollten Sie den opsi-server auf einer Betriebssystemversion einsetzen,
welche im vorigen Abschnitt nicht als Unterstützt aufgeführt ist,
so empfehlen wir Ihnen ein Betriebssystem-Update bevor Sie opsi v4.0.7 einspielen.
Bei der WakeOnLan-Funktion kann ab opsi-configed Version 4.0.7 gewählt, werden
Wenn der Client einem mit dem configserver nicht identischen Depotserver zugeordnet ist, wird das WakeOnLan-Signal nicht direkt an den Client geschickt, sondern es wird eine Verbindung zum opsiconfd auf dem Depotserver aufgebaut und dieser veranlasst, in seinem Netz das Netzwerkpaket zu schicken.
Wenn der Client einem mit dem configserver nicht identischen Depotserver zugeordnet ist, wird das WakeOnLan-Signal nicht direkt an den Client geschickt, sondern es wird eine Verbindung zum opsiconfd auf dem Depotserver aufgebaut und dieser veranlasst, in seinem Netz das Netzwerkpaket zu schicken.
Zu beachten ist, dass es der opsi-configed ist, der die Aktionen auslöst, d.h. das Programm darf in diesem Zeitraum nicht beendet werden.
Property-Werte, die als Passwörter dienen, sollten nicht direkt angezeigt werden.
Solange bis dieses Feature in einer künftigen opsi-Version als spezifischer Datentyp konstruiert ist, wird der folgende Hack implementiert:
In den Fällen, dass der Property-Schlüsseltext
wird der Property-Wert erst sichtbar, wenn der User auf das Werte-Feld klickt und im aufpoppenden Dialog der Anzeige des Wertes zustimmt.
Z.B. zeigt der opsi-configed für das Property root_password bei den Linux-Netbootprodukten standardmäßig, solange der User die Anzeige nicht anfordert, nur eine Sternchenfolge.
Der opsi-configed speichert im lokalen Benutzerprofil einige Information über die jeweilige Session, damit beim erneuten Login die Arbeitsumgebung wiederhergestellt werden kann. Seit Version 4.0.7 werden die Session-Informationen auch genutzt, um eine Auswahlliste der zuletzt verbundenen opsi-Server (z.B. produktiver und Test-Server) zu erzeugen. An oberster Stelle steht der zuletzt genutzte, der damit ohne explizite Auswahlaktion wieder verwendet werden kann.
Über den neuen Hauptmenü-Punkt "Fenster" können statt über die Schaltflächen in der Menüleiste rechts oben die Seiten für das Lizenzmanagement sowie die Gruppen- und Produktspezialfunktionen geöffnet werden. Außerdem befindet sich hier ein neuer Menüpunkt "Fenster anordnen", mit dem auf dem Desktop hinter anderen Fenstern "verloren gegangene" configed-Fenster wieder in den Vordergrund geholt werden können.
Die Funktion für die Suche innerhalb der Client-Tabelle mittels Suchstring-Eingabe ist erweitert:
Wie die Suche ausgeführt wird, ist durch die Auswahl in den Drop-down-Listen zu den Feldern und die erweiterte Liste zum Suchverfahren bestimmt:
Betätigen der Return-Taste springt auf den nächsten Treffer der Suche (ohne Treffer: auf die nächste Zeile). Weitere Auswahlfunktionen basierend auf der Suche zeigt das Kontextmenü des Suchfeldes:
Mittels dem etwas erweiterten Kontextmenü einer Gruppe ist es jetzt möglich,
(Stand 28.4.2017)
Tabelle 11.1. Unterstützte Linux-OS als Client in opsi 4.0.7
Distribution | OS-Installation | netbootprodukte | client-agent | opsiclientd |
Debian 8 jessie | debian, debian8 | |||
Debian 7 wheezy | debian, debian7 | |||
Debian 6 squeeze | ||||
Ubuntu Xenial 16.04 LTS | ubuntu, ubuntu16-04 | |||
Ubuntu Wily 15.10 | ubuntu,ubunt15-10 | |||
Ubuntu Vivid 15.04 | ubuntu, ubunt15-04 | |||
Ubuntu Utopic 14.10 | ubuntu | |||
Ubuntu Trusty 14.04 LTS | ubuntu, ubunt14-04 | |||
Ubuntu Precise 12.04 LTS | ubuntu | |||
Ubuntu Lucid 10.04 LTS | ||||
RHEL 7 | rhel70 | |||
RHEL 6 | ||||
CentOS 7 | centos70 | |||
CentOS 6 | ||||
SLES 12.2 | sles12sp2 | |||
SLES 12.1 | sles12sp1 | |||
SLES 12 | sles12 | |||
SLES 11SP4 | sles11sp4 | |||
SLES 11SP3 | sles11sp3 | |||
openSuse Leap 42.2 | opensusel42-2 | |||
openSuse Leap 42.1 | opensusel42-1 | |||
openSuse 13.2 | opensuse13-2 | |||
openSuse 13.1 RC2 | ||||
openSUSE 12.3 | ||||
openSuse Tumbleweed | ||||
UCS 4.2 | ucs42 | |||
UCS 4.1 | ucs41 | |||
UCS 4.0 | ||||
UCS 3.2 | ||||
UCS 3.0 |
: Unterstützt
: Nicht unterstützt
: In Entwicklung
: Abgekündigt
Tabelle 11.2. Linux Netboot-Produkte nach Installer-Typ in opsi 4.0.7
Netbootproduct | Installer | Status | Anmerkung |
debian | opsi | squeeze - jessie | |
debian8 | distribution | ||
debian7 | distribution | ||
ubuntu | opsi | precise - xenial | |
ubuntu16-04 | distribution | ||
ubuntu15-10 | distribution | ||
ubuntu15-04 | distribution | ||
ubuntu14-04 | distribution | ||
centos70 | distribution | ||
redhat70 | distribution | ||
sles12sp2 | distribution | ||
sles12sp1 | distribution | ||
sles12 | distribution | ||
sles11sp4 | distribution | ||
sles11sp3 | opsi | ||
opensusel42-2 | distribution | ||
opensusel42-1 | distribution | ||
opensuse13-2 | distribution | ||
opensuse13-1 | opsi | ||
ucs42 | distribution | ||
ucs41 | distribution |
Seit opsi 4.0.7 beinhaltet der opsi-linux-client-agent 15 Freistarts bei denen der Agent auch ohne Freischaltung verwendet werden kann.
Genauer formuliert: Nach der initalen Installation des opsi-linux-client-agent kann der der opsi-script 15 mal im Servicekontext gestartet werden ohne eine Freischaltung zu fordern.
Dies gibt Ihnen die Möglichkeit einen Linuxrechner aufzusetzen und mit den entsprechenden opsi-Produkten für den geplanten Einsatz zu konfigurieren.
Beispielsweise können Sie nach der Installation das Produkt l-opsi-server
aufrufen um aus dem frisch installierten Rechner einen opsi-server zu machen.
Für eine dauerhafte Pflege des installierten Linuxrechners über diese 15 Freistarts hinaus benötigen Sie aber eine Freischaltung dieses Features.
Bei Installationen unter Linux kann es gerade nach einem Neustart vorkommen, dass ein Installationsversuch über das Paketsystem der Distribution scheitert, da diese gerade durch einen anderen Prozess belegt ist.
Für diese Problematik gibt es jetzt die neue boolsche Funktion:
waitForPackageLock(<seconds timeout string>,<bool should we kill>)
Liefert true zurück wenn das Linux Packagesystem nicht gesperrt ist.
Ist es gesperrt, so wird <seconds timeout string> Sekunden auf die Freigabe gewartet.
Ist der Timeout erreicht,
so wird der Prozess welcher den Lock erzeugt hat abgeschossen wenn <bool should we kill> gleich true ist. Dieses Vorgehen ist aber nicht empfohlen.
Beispiel:
Message "Try to get Package Lock..." if waitForPackageLock("60","false") comment "we got the package lock." else LogError "could not get Package Lock" isFatalError "package lock failed" endif
Die Funktion getLinuxVersionMap
liefert als weiteren Key SubRelease.
Dem Key SubRelease wird auf SLES Systemen der Patchlevelstand als Wert zugewiesen.
Also bei SLES11SP4: SubRelease=4.
Das Produkt l-opsi-server dient dazu automatisiert auf einer Linuxmaschine per opsi-linux-client-agent einen opsi-server zu installieren. Dies kann dazu dienen um schnell einen neuen opsi-depot-server zu installieren oder z.B. ein opsi Testsystem.
Das Produkt l-opsi-server hat folgende Properties:
opsi_online_repository
:opsi_noproxy_online_repository
:opsi_online_repository
einen Proxy oder deb-cacher mit angegeben haben
(z.B. 'http://mydeb-cacher:9999/download.opensuse.org/repositories/home:/uibmz:/opsi:/opsi40"),
dann geben Sie hier die URL nochmal ohne den Proxy an. Ansonsten geben Sie hier das selbe an wie bei opsi_noproxy_online_repository
.
repo_kind
:backend
:opsi_admin_user_name
:opsi_admin_user_password
opsi_admin_user_password
:opsi_admin_user_name
setup_after_install
:allow_reboot
:install_and_configure_dhcp
:netmask
:network
:dnsdomain
:nameserver
:gateway
:update_test
:ucs_master_admin_password
:Das Produkt hat eine setup required before Abhängigkeit zu dem Produkt l-system-update. D.h. wenn Sie l-opsi-server auf setup stellen wird automatisch l-system-update auch auf setup gestellt und vorher installiert.
In dem Verzeichnis custom
des Produktes l-opsi-server
kann eine Freischaltdatei (modules
) abgelegt werden, welche bei der Installation durch das Produkt l-opsi-server
verwendet wird und beim Einspielen einer neuen Version des Produktes erhalten bleibt.
Derzeit kann eine Maschine nicht gleichzeitig am selben opsi-config-server
opsi-client und opsi-depot-server sein.
Wenn also ein per l-opsi-server installierter opsi-server zum Depotserver an seinem Config-Server werden soll,
so müssen Sie vorher im configed die Maschine als Client löschen.
Mit dem debian8 und ubuntu16-04 Paket ist es nun möglich von einem lokalen Apache2 Repository zu installieren.
Dazu müssen bei dem Produkt im Property '' die entsprechende Adresse angeben nach dem Muster http://<opsi-server>/opsi/<productId>
z.B http://opsiserver/opsi/debian8
Weiterhin muss das lokale Repository natürlich erstellt werden.
Stellen Sie dazu sicher, dass das Produkt opsi-linux-support
auf Ihrem opsi-server installiert ist. Dieses Paket installiert die
hierfür benötigten Distributions-Pakete (apache2) und erstellt auch die benötigten Ordner. Dieser muss danach mit einem passenden distributions Repository gefüllt werden.
Hierfür gibt es zwei Möglichkeiten:
Einfach:
Führen Sie das nachfolgende Script als root aus.
Beachten Sie das der Pfad zum Apache2 DocumentRoot
zum einen Distributiontypisch unterschiedliche Defaults hat und darüberhinaus abweichend vom Default konfiguriert sein kann.
Daher müssen Sie evtl. die zweite Zeile des Scriptes anpassen !
#! /bin/bash DOCUMENTROOT=/var/www/html URL=http://download.uib.de/opsi4.0/products/opsi-linux FILE=debian8.tgz mkdir -p ${DOCUMENTROOT}/opsi cd ${DOCUMENTROOT}/opsi wget ${URL}/${FILE} tar xzf ${FILE} opsi-set-rights .
#! /bin/bash DOCUMENTROOT=/var/www/html URL=http://download.uib.de/opsi4.0/products/opsi-linux FILE=ubuntu16-04.tgz mkdir -p ${DOCUMENTROOT}/opsi cd ${DOCUMENTROOT}/opsi wget ${URL}/${FILE} tar xzf ${FILE} opsi-set-rights .
Die von uns bereitgestellten Repositories beinhalten alle nötigen Pakete für eine erfolgreiche Installation. Unter Ubuntu-16.04 werden weitere Pakete nachgeladen, da diese nicht Inhalt einer Installations-CD sind. Nach einer erfolgreichen Installation verbleibt die Apache Freigabe in den Paketquellen. Des weiteren werden die offiziellen Paketquellen während des Installation in die Datei /etc/apt/sources.list.d/original.list
kopiert. Somit haben Sie nach der Installation direkt die Möglichkeit weitere Pakete zu installieren. In den von uns bereitgestellten Repositories findet sich für jede der beiden Distributionen im jeweiligen Verzeichnis der Architektur eine sources.list. Diese können Sie führ Ihre Ansprüche anpassen.
Aufwendiger:
Erstellen Sie sich ein Verzeichnis in der Apache2 Freigabe. Üblicherweise findet sich das Verzeichnis unter /var/www/html/
.
Unter SLES12 ist dieser Verzeichnis an folgender Stelle /srv/www/htdocs/
.
In dieses Verzeischnis kopieren Sie nun den Inhalt einer Ubuntu-16.04 CD oder Debian8 DVD.
Unter Ubuntu16.04 werden während der Installation noch weitere Pakete aus dem Internet nachgeladen. DVD-1 von Debian8 beinhaltet in der Regel alle Pakete für eine erfolgreiche Installation.
Sollten Sie noch weitere Pakete in den Paketpool hinzufügen wollen, müssen Sie die jeweiligen Checksummen (SHA1, SHA256 und SHA512) sowie die Dateigröße in die Packages.gz eintragen und diese aktualisieren. Dies machen Sie mit dem dpkg-dev
Paket.
Analog müssen Sie es machen, wenn Sie den Inhalt mehrerer Debian8 DVDs in einen Paketpool zusammenschliessen.
Die genannten Neuerungen stehen erst ab NT6 zur Verfügung. Unter NT5 (z.B. Windows XP wird der alte 4.0.6 basierte opsiclientd und Kioskclient installiert.
Der aktuelle opsi-client-agent hat keine Property UAC-Level mehr und läßt bei der Installation den UAC-Level unverändert.
Möchten Sie den UAC-Level per opsi setzen so können Sie hierfür folgendes Produkt verwenden:
http://download.uib.de/opsi4.0/products/localboot/opsi-set-win-uac_1.0-2.opsi
Hier folgen die neuen Konfigurationsoptionen, die der 4.0.7 opsi-client-agent mitbringt.
In der global-Sektion von der opsiclientd.conf gibt es jetzt die Möglichkeit, den opsi-client-agent einen Proxyserver mit zu konfigurieren. Wenn ein Proxy konfiguriert wurde, werden alle HTTP- und HTTPS-Verbindungen vom opsiclientd über diesen Proxy umgeleitet.
# Use a proxy for connecting configservice # proxy_mode: # 'system' will try to check the system setting, # 'static' to use proxyurl from configfile/hostparameter # proxy_url usage: http://<user>:<password>@<proxy-url>:<proxy-port> # Example: http://proxyuser:proxypass123@proxy.domain.local:8080 proxy_mode = static proxy_url =
Die Proxyeinstellungen erlauben auch einen Proxy zu benutzen, der eine Authentifizierung erfordert. Dazu muss die Proxy_url wie oben im Beispiel angegeben werden.
Der proxy_mode ist vorgesehen, dass bei der Einstellung system, der proxy aus dem laufenden Client-System ausgelesen werden. Dies ist im Moment nicht implementiert, deshalb funktioniert momentan nur die Einstellung static.
Mit diesem neuen Feature ist es über die Konfiguration möglich, die Liste der ab zu bearbeitenden Produkte über Produktgruppen zu steuern.
Dazu gibt es Grundsätzlich zwei Vorgehensweise:
Blacklisting (Ausschliessen):
Mit der Option exclude_product_group_ids
kann man nun eine Kommaseparierte Liste von Produktgruppen-Ids mitgeben, dessen Mitglieder vom aktuellen Event ausgeschlossen werden. Auch wenn Sie eigentich auf setup stehen. Diese Produkte werden zwar ignoriert, aber bleiben auf setup stehen.
Whitelisting (Liste von Produkten ausschliesslich freigeben):
Mit der Option `include_product_group_ids`kann man nun eine Kommaseparierte Liste von Produktgruppen-Ids festlegen, dessen Mitglieder überhaupt bearbeitet werden dürfen, vorausgesetzt Sie eine Aktion ist auch gesetzt.
Diese Einstellung kann man entweder Global im Default-Event angeben, damit das für jedes Event gilt. Man kann diese Optionen aber auch Zum Beispiel nur im Event_on_demand einsetzen, somit kann man Pakete die auf setup stehen von Push-Installationen ausschliessen, obwohl Sie auf setup stehen. Bei einem normalen Neustarts des Clients mit gui_startup (default) würden diese ausgeschlossenen Pakete trotzdem auf dem Client installiert werden.
Für Clients, die das Modul WAN/VPN aktiviert haben, muss man diese Optionen neben dem Sync-Event auch in der CacheService-Sektion mit aufgenommen werden, da der CacheService zwar vom Sync-Event getriggert wird, aber selbst keinen Zugriff auf das sync-Event hat.
Produktabhängigkeiten werden bei diesem Feature nicht berücksichtigt. Bitte achten Sie darauf, dass Sie bei der Konfiguration keine Abhängigkeiten ausser Kraft setzen.
Mit opsi 4.0.7 wird die bisherige webbasierte Darstellung des Kioskclients (ehemals kofinanzierte Erweiterung "Software on Demand") durch eine Applikation abgelöst. Hintergrund dieses Wechsels sind:
Der alte (webseitenbasierte) Kioskclient funktioniert mit dem neuen opsi-client-agent/opsiclientd nicht mehr.
Wenn der opsi-client-agent während der Installation merkt, dass die Konfiguration: software-on-demand.active auf true gesetzt wurde, wird automatisch während der Installation auf dem Client ein Startmenü-Eintrag erstellt, über den die Kioskanwendung direkt aufgerufen werden kann. Diesen findet man dann unter: Start → Programme → opsi.org → software-on-demand.
Nach dem Start der Anwendung zeigt sich folgendes Hauptfenster:
Elemente:
Das Hauptfenster zeigt auf der linken Seite eine Liste der Produktgruppen (7) welche über die Config software-on-demand.product-group-ids
für diesen Client freigegeben sind. Findet sich hier mehr wie eine Gruppe, so gibt es hier den zusätzlichen Eintrag Alle Gruppen an erster Stelle. In dieser Liste kann ausgewählt werden aus welchen Produktgruppen Produkte angezeigt werden sollen. Per Default wird der erste Eintrag ausgewählt, also Alle Gruppen oder die einzige Gruppe.
Beim Start oder bei Veränderung der Auswahl werden die benötigten Daten eingelesen. Dies kann etwas dauern und der Lagevorgang wird im oberen Teil des Fensters (3) angezeigt.
Die Produkte werden in der zentralen Tabelle (13) angezeigt. Sobald ein Produkt angeklickt ist werden unten Detailinformationen zu diesem Produkt eingeblendet (15/16). In der rechten Spalte ActionRequest
(14) kann eine Aktionsanforderung gesetzt werden.
Über den Button Zeige Aktionen (4) werden die bisher der Anwendung bekannten Aktionen gezeigt aber noch nicht gespeichert. Erst der Button Aktionen Speichern (5) sendet die gesetzten Aktionen an den Server. Dieser prüft ob über Produktabhängigkeiten noch weitere Produkte auf setup gesetzt werden müssen.
Abschließend wird in einem gesonderten Fenster die Gesamtliste der anstehenden Aktionen angezeigt.
In diesem Fenster kann nun über den oberen Button Installiere jetzt
eine sofortige Installation ausgelöst werden. In diesem Fall ist es schlau möglichst alle Applikationen zu schließen (bzw. zumindest Daten abzuspeichern) da die gestarteten Installationen mit laufenden Anwendungen in Konflikt geraten können.
Über den unteren Button Installiere bei nächster Standard-Gelegenheit
wird das Programm an dieser Stelle beendet und die gespeicherten Aktionen werden später ausgeführt.
Der config software-on-demand.show-details aus opsi vor 4.0.7 hat in der Kioskanwendung keinen Einfluß mehr und kann gelöscht werden.
Auf das Modul kann auch über das Netzwerk zugegriffen werden, hierbei ist jedoch eine Authentifizierung notwendig.
Folgende Besonderheiten gelten für das Software On Demand Modul / den opsi Client Kiosk:
Abhängigkeiten werden automatisch aufgelöst
Software die schon auf setup steht
Die Headerleiste des Hauptfensters (1) ist Kunden spezifisch anpassbar. Dabei spielen zwei Dateien eine Rolle:
opsiclientkiosk.png
opsiclientkiosk.ini
Die opsiclientkiosk.png
enthält das Bild welches in diesen Bereich geladen wird.
Die opsiclientkiosk.ini
definiert den Text und dessen Darstellung die in diesem Bereich angezeigt wird.
Beispiel:
[TitleLabel] Text= opsi Client Kiosk FontName = Arial FontSize = 20 FontColor = $00000000 FontBold = true FontItalic = false FontUnderline = false
Templates für diese Dateien finden Sie unter /var/lib/opsi/depot/opsi-client-agent/files/opsi/opsiclientkiosk/opsiclientkioskskin
bzw. C:\Program Files (x86)\opsi.org\opsi-client-agent\opsiclientkiosk\opsiclientkioskskin
Möchten Sie Änderungen, welche Sie an den oben genannten Dateien durchgeführt haben, davor schützen, dass selbige beim Einspielen einer neuen Version des opsi-client-agenten verloren gehen, so können Sie hierfür das custom Verzeichnis (/var/lib/opsi/depot/opsi-client-agent/files/opsi/custom) verwenden. Das komplette custom Verzeichnis wird bei der Installation einer neuen Version des opsi-client-agenten gesichert und wieder hergestellt, so dass hier gemachte Änderungen bei einem Update nicht verloren gehen.
Ein nachträgliches Rechte nachziehen hilft Folgefehler zu vermeiden:
opsi-setup --set-rights /var/lib/opsi/depot/opsi-client-agent
Wiederherstellung der opsi Metadaten zu installierten Produkten
Das Problem:
Wenn Sie ein Windows mit opsi neu installieren, z.B. aus win7-x64
, dann werden bei der Installation des opsi-client-agent alle Localboot-Produkte, welche bei diesem Rechner vorher auf installed
standen, automatisch auf setup gestellt und damit später erneut installiert.
Dies kann beim Ausrollen eines gecapturten Images nicht ganz genauso durchgeführt werden.
Im Image befindet sich das Backup der opsi-Daten, das dort während des capture Vorgangs abgelegt wurde. Dieses wird bei der Installation des opsi-client-agent entdeckt, und wieder in den opsi-server eingespielt. Damit stehen die Produkte, die in dem gecapturten Image installiert waren, jetzt für den frisch installierten Rechner auf installed
.
Würden jetzt alle Produkte, welche auf installed
stehen auf setup
gesetzt, würde dies dazu führen, dass alle schon im Image installierten Produkte nochmal installiert werden. Dies ist nicht erwünscht.
Bei der Wiederherstellung der opsi Metadaten zu installierten Produkten gibt es ab opsi 4.0.7 zwei Varianten:
Variante 1
Beim Ausrollen eines gecapturten Images werden nach der Installation des Images nur die Produkte automatisch installiert, welche schon vor dem Beginn der Betriebssystem-Installation auf setup
standen. Dies kann durch Ihren Eingriff oder das Property setup_after_install
erfolgt sein.
Daher werden in diesem Fall auch nur die Produkte installiert, welche vor der Installation des Betriebssystems auf setup
standen.
Dies ist der Default und das Verhalten vor opsi 4.0.7
Variante 2
Die Variante 2 verhält sich vom Ergebnis ähnlich wie es bei Installationen aus nicht gecapturten Images der Fall ist:
* Zurückspielen der Metadaten.
* Produkte die auf installed stehen werden auf setup gestellt ausser denen welche in den restorten Metadaten enthalten waren.
Diese Verhalten steht erst ab opsi 4.0.7 zur Verfügung und ist nicht der Default. Variante 2 ist durch Erweiterungen am opsi-script möglich geworden und ist Bestandteil des opsi-client-agent von 4.0.7.
Um dieses Verhalten zu verwenden muss ein config (Hostparameter) gesetzt werden:
Der boolsche Konfigurationseintrag: clientconfig.capture.switch_installed_products_to_setup
. Hat dieser Eintrag für den Client den Wert true dann wird Variante 2 verwendet, ansonsten Variante 1.
Über diese Hostparameter können dann Events Client-spezifisch aktiviert bzw. deaktiviert werden. Die Hostparameter können über den opsi-configed oder opsi-admin angelegt werden.
Zum Anlegen der Hostparameter über opsi-admin sind die folgenden Befehle auf dem opsi-configserver auszuführen:
opsi-admin -d method config_createBool clientconfig.capture.switch_installed_products_to_setup "capture.switch_installed_products_to_setup" true
Damit stellen Sie für alle Rechner Variante 2 ein.
Zum Anlegen der Hostparameter über den opsi-configed wählen Sie dort Serverkonfiguration / clientconfig / Auf der Rechten Seite mit der rechten Maustaste: Boolschen Konfigurationseintrag hinzufügen
.
Logdateien:
Neue Dokumentationen:
setStringInListAtIndex(
<newstring>,<list>,<indexstr>) : stringlist
//since 4.11.6 [W/L]
removeFromListByMatch(
<searchstring>,<list>) : stringlist
//since 4.11.6 [W/L]
Der Umgang mit JSON Objekten aus dem Webservice erfordert ein Grundverständnis von JSON, den opsi Objekten und den JSON bezogenen Methoden in opsi-script. Siehe dazu auch : opsi-manual: Kapitel: "Web service / API Methoden seit opsi 4.0" und siehe nächstes Kapitel
Gemäß folgendem Code Beispiel können Sie Objekte vom Service holen.
In diesem Beispiel werden Alle productOnClient Objekte geholt, welche zum aktuellen Rechner gehören (%opsiserviceUser%
ist im Service Kontext der FGDN des Clients), Localboot Produkte sind und bei denen der Actionrequest auf setup steht.
DefStringlist $resultlist$ set $resultlist$ = getReturnListFromSection("opsiServiceCall_get_productOnClient_setup_objects") [opsiServiceCall_get_productOnClient_setup_objects] "method": "productOnClient_getObjects" "params": [ "[]", '{"clientId":"%opsiserviceUser%","productType":"LocalbootProduct","actionRequest":"setup"}', ]
Das Ergebnis ist ein JSON Array String welcher in der ersten Zeile von $resultlist$
steht.
Sie können auch (veränderte) Objekte wieder zurückschreiben.
Folgendes Beispiel zeigt das Prinzip:
Die String Variable $ArrayStr$
muss ein gültiges JSON Array enthalten.
DefVar $ArrayStr$ (...) [opsiServiceCall_updatePOC] "method": "productOnClient_updateObjects" "params": [ '$ArrayStr$' ]
Diese Funktionen dienen dazu JSON Ausdrücke auf String oder Stringlisten zu analysieren und zu modifizieren. Notwendig ist hierfür, die Struktur des zu bearbeitenden JSON-Ausdrucks zu kennen und zu verstehen. Dies kann dazu verwendet werden, um über opsiservicecall Sektionen mit den objektorientierten opsi-webservice Methoden zu arbeiten.
jsonIsValid(
<jsonstr>) : boolean
//since 4.11.6: [W/L]
Liefert true zurück wenn, <jsonstr> einen gültigen JSON Ausdruck enthält.
jsonIsArray(
<jsonstr>) : boolean
//since 4.11.6: [W/L]
Liefert true zurück wenn, <jsonstr> ein gültiges JSON Array enthält.
jsonIsObject(
<jsonstr>) : boolean
//since 4.11.6: [W/L]
Liefert true zurück wenn, <jsonstr> ein gültiges JSON Object enthält.
jsonAsObjectHasKey(
<jsonstr>,<keystr>) : boolean
//since 4.11.6: [W/L]
Liefert true zurück wenn, <jsonstr> ein gültiges JSON Object welches <keystr> als key enthält.
Folgendes Beispiel würde true zurückliefern:
jsonAsObjectHasKey('{"productVersion" : "4.4.1","packageVersion" : "2","productId" : "jedit"}','productId')
jsonAsArrayCountElements(
<jsonstr>) : intstr
//since 4.11.6: [W/L]
Wenn <jsonstr> ein gültiges JSON Array enthält ist der Rückgabewert ein String mit der Zahl der Elemente des Arrays.
Im Fehlerfall = "0"
jsonAsObjectCountElements(
<jsonstr>) : intstr
//since 4.11.6: [W/L]
Wenn <jsonstr> ein gültiges JSON Object enthält ist der Rückgabewert ein String mit der Zahl der Elemente des Objects.
Im Fehlerfall = "0"
jsonAsArrayGetElementByIndex(
<jsonstr>, <indexstr>) : jsonstring
//since 4.11.6: [W/L]
Liefert vom JSON Array <jsonstr> das Element mit dem Index <indexstr>
Der Index beginnt bei 0.
Im Fehlerfall = ""
jsonAsObjectGetValueByKey(
<jsonstr>, <keystr>) : valuestring
//since 4.11.6: [W/L]
Liefert vom JSON Object <jsonstr> den Wert des Key <keystr>
Im Fehlerfall = ""
jsonAsObjectSetValueByKey(
<jsonstr>, <keystr>,<valuestring>) : jsonstring
//since 4.11.6: [W/L]
Liefert einen String mit dem in <jsonstr> übergebenen JSON Object bei dem für den Key <keystr>
der Wert <valuestring> gesetzt ist. Ist der Key nicht vorhanden, so wird er erzeugt.
Wenn <valuestring> als Stringwert erzeugt werden soll (also in doppelten Anführungszeichen),
dann verwenden Sie besser die folgende Funktion: jsonAsObjectSetStringtypeValueByKey
.
Im Fehlerfall = ""
jsonAsObjectSetStringtypeValueByKey(
<jsonstr>, <keystr>,<valuestring>) : jsonstring
//since 4.11.6: [W/L]
Liefert einen String mit dem in <jsonstr> übergebenen JSON Object bei dem für den Key <keystr>
der Wert <valuestring> als String (also in doppelten Anführungszeichen) gesetzt ist.
Ist der Key nicht vorhanden, so wird er erzeugt.
Wenn <valuestring> nicht als Stringwert erzeugt werden soll ,
dann verwenden Sie besser die vorherige Funktion: jsonAsObjectSetValueByKey
.
Im Fehlerfall = ""
jsonAsArrayPutObjectByIndex(
<jsonstr>, <indexstr>, <objectstr>) : jsonstring
//since 4.11.6: [W/L]
Liefert einen String mit dem in <jsonstr> übergebenen JSON Array bei dem am Index <indexstr>
das Object <objectstr> gesetzt ist.
Im Fehlerfall = ""
jsonAsArrayToStringList(
<jsonstr>) : stringlist
//since 4.11.6: [W/L]
Liefert einen String mit dem in <jsonstr> übergebenen JSON Array als Stringliste mit einem Arrayelement pro Zeile.
jsonStringListToJsonArray(
<strlist>) : jsonstr
//since 4.11.6: [W/L]
Liefert einen String mit einem JSON Array der die Zeilen der Stringliste <strlist>
als Elemente enthält.
jsonAsObjectGetKeyList(
<jsonstr>) : stringlist
//since 4.11.6: [W/L]
Liefert eine Stringliste mit den Keys der im JSON Object <jsonstr> vorhandnen Keys.
Beispiel:
Lese productOnClients Objekte aus einer Datei, ändere die clientId
auf den Wert der aktuellen Maschine und schreibe die Objekte über den opsi-webservice zurück.
[Actions] requiredWinstVersion >= "4.11.6" DefVar $ProductId$ DefVar $poc_file$ DefVar $objectStr$ DefVar $ArrayStr$ DefStringlist $pocList$ set $poc_file$ = "c:\tmp\product_on_client.json" Message "Restore productOnClient from file ..." comment " get Restore data from file ..." Set $ArrayStr$ = strLoadTextFile($poc_file$) if not(jsonIsValid($ArrayStr$)) LogError "got no valid json from file" isFatalError endif if not(jsonIsArray($ArrayStr$)) LogError "got no json Array from file" isFatalError endif comment "get list from array" set $pocList$ = jsonAsArrayToStringList($ArrayStr$) comment "loop over list" for %pocindex% = "0" to calculate(count($pocList$)+"-1") do sub_set_clientid_in_poclist comment "convert modified list to json array" set $ArrayStr$ = jsonStringListToJsonArray($pocList$) comment "write back" opsiServiceCall_updatePOC [sub_set_clientid_in_poclist] set $objectStr$ = takeString("%pocindex%", $poclist$) set $objectStr$ = jsonAsObjectSetStringtypeValueByKey(($objectStr$, "clientId","%opsiserviceUser%") set $poclist$ = setStringInListAtIndex($objectStr$,$poclist$,"%pocindex%") [opsiServiceCall_updatePOC] "method": "productOnClient_updateObjects" "params": [ '$ArrayStr$', ]
waitForPackageLock(
<seconds timeout string>,<bool should we kill>) : bool
//since 4.11.6.1 [L]
Liefert true zurück wenn das Linux Packagesystem nicht gesperrt ist.
Ist es gesperrt,
so wird <seconds timeout string> Sekunden auf die Freigabe gewartet.
Ist der Timeout erreicht,
so wird der Prozess welcher den Lock erzeugt hat abgeschossen wenn <bool should we kill> gleich true ist.
Dieses Vorgehen ist aber nicht empfohlen.
processIsRunning(
<process name>) : boolean
//since 4.11.6.1 [W/L]
Liefert true wenn der Prozess <process name> in der aktuellen Prozessliste ist.
Es gibt drei Varianten des shellCall
Befehls:
shellCall (
<command string>) : stringlist (output)
shellCall (
<command string>) : noresult
shellCall (
<command string>) : string (exitcode)
Alle drei führen <command string> in der standard shell (cmd.exe / bash) aus. Die Funktionen unterscheiden sich aber bezüglich des Rückgabewertes
shellCall (
<command string>) : stringlist (output)
//since 4.11.4.2 [W/L]set $list$= shellCall('net start')
Ist eine Abkürzung für den Ausdruck:
set $list$ = getOutStreamFromSection ('DosInAnIcon_netstart winst /sysnative') [DosInAnIcon_netstart] net start
shellCall (
<command string>) : noresult
//since 4.11.6.1 [W/L]shellCall('net start')
Ist eine Abkürzung für den Ausdruck:
DosInAnIcon_netstart winst /sysnative [DosInAnIcon_netstart] net start
shellCall (
<command string>) : string (exitcode)
//since 4.11.6.1 [W/L]set $exitcode$ = shellCall('net start')
Ist eine Abkürzung für den Ausdruck:
DosInAnIcon_netstart winst /sysnative set $exitcode$ = getLastExitcode [DosInAnIcon_netstart] net start
processCall(
<string>) : string (exitcode)
//since 4.11.6.1 [W/L]set $exitcode$ = processCall('setup.exe /S')
Ist eine Abkürzung für den Ausdruck:
Winbatch_setup set $exitcode$ = getLastExitcode [Winbatch_setup] setup.exe /S
Tatsächlich basiert processCall
intern auf den selben Routinen wie winbatch
und verarbeitet daher auch die selben Modifier:
/LetThemGo
/TimeOutSeconds
<seconds>/WaitForProcessEnding
) nach Ablauf von <seconds> ab, auch wenn das Prozessende oder die Wartebedingung noch nicht erfüllt ist./WaitForProcessEnding
) verwendet werden, aber nicht zusammen mit /WaitSeconds
./WaitSeconds
[number of seconds]/WaitForProcessEnding
<program name>/TimeOutSeconds
kombiniert werden.
/32Bit
//seit 4.11.3.5 [W]c:\windows\system32\regedit.exe
ruft (auch auf einem 64bit System) die 32 Bit regedit.exe auf.
/64Bit
//seit 4.11.3.5 [W]c:\windows\system32\regedit.exe
ruft (auf einem 64bit System) die 64 Bit regedit.exe auf.
/SysNative
//seit 4.11.3.5 [W]c:\windows\system32\regedit.exe
ruft auf einem 64bit System die 64 Bit regedit.exe und auf einem 32bit System die 32 Bit 'regedit.exe’auf.
encryptStringBlow(
<keystring>,<datastring>) : string
//since 4.11.6 [W/L]
Verschlüsselt <datastring> mit dem Key <keystring> unter Verwendung von Blowfish und liefert den verschlüsselten Wert zurück.
decryptStringBlow(
<keystring>,<datastring>) : string
//since 4.11.6 [W/L]
Entschlüsselt <datastring> mit dem Key <keystring> unter Verwendung von Blowfish und liefert den entschlüsselten Wert zurück.
md5sumFromFile(
<path to file>) : string
//since 4.11.6 [W/L]
Liefert die md5summe der unter <path to file> gefundenen Datei zurück.
Im Fehlerfall ist der Rückgabewert ein Leerstring.
timeStampAsFloatStr : string
(Floating Number - format: days.decimal days) //since 4.11.6 [W/L]
Liefert einen aktuellen Timestamp als Fließkommazahlstring. Dabei ist Zahl vor dem Komma die Tage
seit dem 30. Dezember 1899. Nach dem Komma kommt die Zeit in Bruchteilen des Tages.
Just for Fun: Warum nicht der 31. Dezember 1899: ?
siehe http://www.delphibasics.co.uk/RTL.asp?Name=TDateTime
getMSVersionMap
ReleaseID
. Der dazugehörige Wert gibt die Release von Windows 10 an wie z.B. 1511.prodInfoText
.Der dazugehörige Wert gibt die verwendeten Windows Edition als String an wie z.B. PRODUCT_PROFESSIONAL.
prodInfoNumber
.Der dazugehörige Wert gibt die verwendeten Windows Edition als Zahl an wie z.B. 48.
DecNum | HexNum | Text |
00 | 00 | An unknown product |
01 | 01 | Ultimate Edition" |
02 | 02 | Home Basic Edition |
03 | 03 | Home Premium Edition |
04 | 04 | Enterprise Edition |
05 | 05 | Home Basic Edition |
06 | 06 | Business Edition |
07 | 07 | Server Standard Edition (full installation) |
08 | 08 | Server Datacenter Edition (full installation) |
09 | 09 | Small Business Server |
10 | 0A | Server Enterprise Edition (full installation) |
11 | 0B | Starter Edition |
12 | 0C | Server Datacenter Edition (core installation) |
13 | 0D | Server Standard Edition (core installation) |
14 | 0E | Server Enterprise Edition (core installation) |
15 | 0F | Server Enterprise Edition for Itanium-based Systems |
16 | 10 | Business Edition |
17 | 11 | Web Server Edition (full installation) |
18 | 12 | Cluster Server Edition |
19 | 13 | Home Server Edition |
20 | 14 | Storage Server Express Edition |
21 | 15 | Storage Server Standard Edition |
22 | 16 | Storage Server Workgroup Edition |
23 | 17 | Storage Server Enterprise Edition |
24 | 18 | Server for Small Business Edition |
25 | 19 | Small Business Server Premium Edition |
26 | 1A | PRODUCT_HOME_PREMIUM_N |
27 | 1B | PRODUCT_ENTERPRISE_N |
28 | 1C | PRODUCT_ULTIMATE_N |
29 | 1D | PRODUCT_WEB_SERVER_CORE |
30 | 1E | Windows Essential Business Server Management Server |
31 | 1F | Windows Essential Business Server Security Server |
32 | 20 | Windows Essential Business Server Messaging Server |
33 | 21 | Server Foundation |
34 | 22 | PRODUCT_HOME_PREMIUM_SERVER |
35 | 23 | PRODUCT_SERVER_FOR_SMALLBUSINESS_V |
36 | 24 | Server Standard Edition without Hyper-V (full installation) |
37 | 25 | Server Datacenter Edition without Hyper-V (full installation) |
38 | 26 | Server Enterprise Edition without Hyper-V (full installation) |
39 | 27 | Server Datacenter Edition without Hyper-V (core installation) |
40 | 28 | Server Standard Edition without Hyper-V (core installation) |
41 | 29 | Server Enterprise Edition without Hyper-V (core installation) |
48 | 30 | PRODUCT_PROFESSIONAL |
49 | 31 | PRODUCT_PROFESSIONAL_N |
50 | 32 | PRODUCT_SB_SOLUTION_SERVER |
51 | 33 | PRODUCT_SERVER_FOR_SB_SOLUTIONS |
52 | 34 | PRODUCT_STANDARD_SERVER_SOLUTIONS |
53 | 35 | PRODUCT_STANDARD_SERVER_SOLUTIONS_CORE |
54 | 36 | PRODUCT_SB_SOLUTION_SERVER_EM |
55 | 37 | PRODUCT_SERVER_FOR_SB_SOLUTIONS_EM |
56 | 38 | PRODUCT_SOLUTION_EMBEDDEDSERVER |
57 | 39 | PRODUCT_SOLUTION_EMBEDDEDSERVER_CORE |
59 | 3B | PRODUCT_ESSENTIALBUSINESS_SERVER_MGMT |
60 | 3C | PRODUCT_ESSENTIALBUSINESS_SERVER_ADDL |
61 | 3D | PRODUCT_ESSENTIALBUSINESS_SERVER_MGMTSVC |
62 | 3E | PRODUCT_ESSENTIALBUSINESS_SERVER_ADDLSVC |
63 | 3F | PRODUCT_SMALLBUSINESS_SERVER_PREMIUM_CORE |
64 | 40 | PRODUCT_CLUSTER_SERVER_V |
65 | 41 | PRODUCT_EMBEDDED |
66 | 42 | PRODUCT_STARTER_E |
67 | 43 | PRODUCT_HOME_BASIC_E |
68 | 44 | PRODUCT_HOME_PREMIUM_E |
69 | 45 | PRODUCT_PROFESSIONAL_E |
70 | 46 | PRODUCT_ENTERPRISE_E |
71 | 47 | PRODUCT_ULTIMATE_E |
72 | 48 | PRODUCT_ENTERPRISE_EVALUATION |
84 | 54 | PRODUCT_ENTERPRISE_N_EVALUATION |
98 | 62 | PRODUCT_CORE_N |
99 | 63 | PRODUCT_CORE_COUNTRYSPECIFIC |
100 | 64 | PRODUCT_CORE_SINGLELANGUAGE |
101 | 65 | PRODUCT_CORE |
121 | 79 | PRODUCT_EDUCATION |
122 | 7A | PRODUCT_EDUCATION_N |
125 | 7D | Windows Enterprise 2015 LTSB |
126 | 7E | Windows Enterprise 2015 LTSB N |
129 | 81 | Windows Enterprise 2015 LTSB Evaluation |
130 | 82 | Windows Enterprise 2015 LTSB N Evaluation |
getLinuxVersionMap
getLinuxVersionMap
liefert als weiteren Key SubRelease.
Dem Key SubRelease wird auf SLES Systemen der Patchlevelstand als Wert zugewiesen.
Also bei SLES11SP4: SubRelease=4.
ShellBatch /showoutput
strLoadTextfile
and strLoadTextFileWithEncoding
product_sort_algorithm 1
Produktabhängigkeit vor Priorität (Default)
Bei diesem Algorithmus werden zunächst die Produkte anhand Ihrer Prioritäten sortiert und dann aufgrund der Produktabhängigkeiten nochmals umsortiert.
Hierdurch kann natürlich ein Produkt mit sehr niedriger Priorität weit nach vorne geschoben werden weil es von einem anderen Produkt als required before benötigt wird. Auf der anderen Seite wird vermieden das es zu Installationsproblemen aufgrund nicht aufgelöster Produktabhängigkeiten kommt.
Der Algorithmus 1 sorgt dafür, das die Installationsreihenfolge konstant ist, unabhängig davon wieviele Produkte auf setup stehen. Diese Reihenfolge entspricht der Reihenfolge welche im configed angezeigt wird wenn die Produkte nach der Spalte Position sortiert werden.
Damit ist gesichert, dass
bei einer mit "ExitWindows /immediateReboot" nur unterbrochenen Abarbeitung eines setup-Skripts nach dem Reboot
direkt die Bearbeitung des unterbrochenen Skripts weitergeführt wird.'
In Version 4.0.6 war er durch Überlappung mehrerer Fehler komplett außer Funktion, faktisch wurde immer der Sortieralgorithmus 2 angewendet.
Durch die Reperatur dieses länger vorhandenen Bugs ändert sich die Installationsreihenfolge im Vergleich zu der fehlerhaften Reihenfolge in 4.0.6
Im folgenden finden Sie eine Übersicht auf welchen Windows Plattformen opsi als Client läuft.
(Stand 10.3.2017)
Distribution | Opsi 4.0.7 | Anmerkung |
Windows 10 | ||
Windows 2016 | ||
Windows 2012 R2 | ||
Windows 8.1 | ||
Windows 2012 | ||
Windows 8 | ||
Windows 2008 R2 | ||
Windows 7 | ||
Windows 2008 | ||
Windows Vista | ||
Windows 2003 | ||
Windows XP | ||
Windows 2000 |
: Unterstützt
: Nicht unterstützt
: In Entwicklung
: Abgekündigt
Das Produkt ist mit aktualisierten Bibliotheken (clonezilla
und drbl
) versehen worden.
Daraus ergeben sich evtl. Änderungen am zu verwendenden runcommand
.
So prüft clonezilla inzwischen per default immer ob das Image restoreable ist. Und dieser Vorgang benötigt viel Zeit.
Diese Prüfung nach einem Backup durchzuführen ist sicherlich sinnvoll. Soll diese Prüfung aber nicht bei jedem Restore ausgeführt werden, so empfiehlt sich der zusätzliche Parameter: --skip-check-restorable-r
im Restore runcommand.
Weiterhin hat opsi-clonezilla zwei neue Properties bekommen:
disk_number
part_number
Diese Properties dienen dazu den Umgang mit Platten zu erleichtern, welche nicht sda
sondern anders heissen (z.B. nvme0n1
bei M2 SSD). Wird im runcommand der Platzhalter diskdevice verwendet, so wird dieser durch den korrekten Devicenamen der Platte die disk_num entspricht ersetzt (disk_num=1 entspricht z.B. sda).
Wird im runcommand der Platzhalter partdevice verwendet, so wird dieser durch den korrekten Devicenamen der Partition welche part_num entspricht auf der Platte die disk_num entspricht ersetzt (disk_num=1/part_num=2 entspricht z.B. sda2).
opsi-configed (4.0.7.1.3-3) STABLE; urgency=medium
— d.oertel <d.oertel@uib.de> Wed, 27 Jul 2016 15:00:00 + 0100
opsi-configed (4.0.7.1.3-2) STABLE; urgency=medium
--roeder <roeder@uib.local> Thu, 30 Jun 2016 17:15:52 +0200
opsi-configed (4.0.7.1.3-1) STABLE; urgency=medium
--roeder <roeder@uib.local> Fri, 24 Jun 2016 14:52:52 +0200
opsi-configed (4.0.7.1.2-1) STABLE; urgency=medium
--Rupert Roeder <roeder@uib.local> Thu, 23 Jun 2016 15:08:20 +0200
opsi-configed (4.0.7.1.1-1) STABLE; urgency=medium
--Rupert Roeder <roeder@uib.local> Thu, 23 Jun 2016 11:48:03 +0200
opsi-configed (4.0.6.7.6-1.12) TESTTING; urgency=medium
--roeder <roeder@uib.local> Fri, 20 May 2016 15:58:42 +0200
opsi-configed (4.0.6.7.5-1.11) STABLE; urgency=medium
--Rupert Roeder <roeder@uib.local> Thu, 28 Apr 2016 15:42:30 +0200
opsi-configed (4.0.6.7.5-1.6) STABLE; urgency=medium
--Rupert Roeder <roeder@uib.local> Thu, 28 Apr 2016 12:16:43 +0200
opsi-configed (4.0.6.7.5-1.5) STABLE; urgency=medium
--Rupert Roeder <roeder@uib.local> Fri, 22 Apr 2016 12:28:00 +0200
opsi-configed (4.0.6.7.5-1.1) STABLE; urgency=medium
--roeder <roeder@uib.local> Thu, 21 Apr 2016 15:03:44 +0200
opsi-configed (4.0.6.7.5-1) STABLE; urgency=medium
--roeder <roeder@uib.de> Fri, 08 Apr 2016 13:16:18 +0200
opsi-configed (4.0.7.2.1-1) EXPERIMENTAL; urgency=medium
--roeder <roeder@edge530-2> Wed, 29 Jun 2016 14:20:18 +0200
opsi-configed (4.0.7.1.3-1) STABLE; urgency=medium
--roeder <roeder@uib.local> Fri, 24 Jun 2016 14:52:52 +0200
opsi-configed (4.0.7.1.2-1) STABLE; urgency=medium
--Rupert Roeder <roeder@uib.local> Thu, 23 Jun 2016 15:08:20 +0200
opsi-configed (4.0.7.1.1-1) STABLE; urgency=medium
--Rupert Roeder <roeder@uib.local> Thu, 23 Jun 2016 11:48:03 +0200
opsi-configed (4.0.6.7.6-1.12) TESTTING; urgency=medium
--roeder <roeder@uib.local> Fri, 20 May 2016 15:58:42 +0200
opsi-configed (4.0.6.7.5-1.11) STABLE; urgency=medium
--Rupert Roeder <roeder@uib.local> Thu, 28 Apr 2016 15:42:30 +0200
opsi-configed (4.0.6.7.5-1.6) STABLE; urgency=medium
--Rupert Roeder <roeder@uib.local> Thu, 28 Apr 2016 12:16:43 +0200
opsi-configed (4.0.6.7.5-1.5) STABLE; urgency=medium
--Rupert Roeder <roeder@uib.local> Fri, 22 Apr 2016 12:28:00 +0200
opsi-configed (4.0.6.7.5-1.1) STABLE; urgency=medium
--roeder <roeder@uib.local> Thu, 21 Apr 2016 15:03:44 +0200
opsi-configed (4.0.6.7.5-1) STABLE; urgency=medium
--roeder <roeder@uib.de> Fri, 08 Apr 2016 13:16:18 +0200
opsi-configed (4.0.6.7.4-1) EXPERIMENTAL; urgency=medium
--roeder <roeder@uib.de> Thu, 17 Mar 2016 13:46:02 +0100
opsi-configed (4.0.6.7.3-1) EXPERIMENTAL; urgency=medium
--roeder <roeder@uib.de> Wed, 16 Mar 2016 16:23:32 +0100
opsi-configed (4.0.6.7.2-1) EXPERIMENTAL; urgency=medium
--roeder <roeder@uib.de> Tue, 15 Mar 2016 15:12:07 +0100
opsi-configed (4.0.6.7.1-1) EXPERIMENTAL; urgency=medium
--roeder <roeder@uib.de> Wed, 09 Mar 2016 12:56:07 +0100
opsi-configed (4.0.6.7.0-1) EXPERIMENTAL; urgency=medium
--roeder <roeder@uib.de> Mon, 07 Mar 2016 12:30:43 +0100
opsi-configed (4.0.6.6.2-1) TESTING; urgency=medium
--roeder <roeder@uib.de> Thu, 03 Mar 2016 16:23:06 +0100
opsi-configed (4.0.6.6.1-1) TESTING; urgency=medium
--roeder <roeder@uib.de> Mon, 22 Feb 2016 14:38:12 +0200
opsi-configed (4.0.6.3.8-1) UNRELEASED; urgency=medium
opsi-client-agent (4.0.7.3-1) stable; urgency=low
— Erol Ueluekmen <e.ueluekmen@uib.de> Mon, 22 Aug 2016:22:50:00 +0200
opsi-client-agent (4.0.7.2-1) stable; urgency=low
— Detlef Oertel <d.oertel@uib.de> Mon, 08 Aug 2016:15:00:00 +0200
opsi-client-agent (4.0.7.1-1) stable; urgency=low
— Erol Ueluekmen <e.ueluekmen@uib.de> Thu, 19 May 2016 17:10:09 +0100
opsi-client-agent (4.0.6.4-1) stable; urgency=low
— Erol Ueluekmen <e.ueluekmen@uib.de> Tue, 17 May 2016 17:10:09 +0100
opsiclientkiosk 4.0.7.1
— detlef oertel <d.oertel@uib.de> Fri, 22 July 2016 15:00:00 +0000
opsiclientkiosk 4.0.6.2
— detlef oertel <d.oertel@uib.de> Mon, 06 June 2016 15:00:00 +0000
opsiclientkiosk 4.0.6.1
— detlef oertel <d.oertel@uib.de> Mon, 23 May 2016 15:00:00 +0000
opsiclientkiosk 4.0.6.0
— d.oertel
opsiclientd (4.0.87) stable; urgency=medium
fixes for proxySupport
-- Erol Ueluekmen <e.ueluekmen@uib.de> Mon, 22 Aug 2016 22:10:51 +0200
opsiclientd (4.0.86) stable; urgency=medium
--Erol Ueluekmen <e.ueluekmen@uib.de> Mon, 11 Jun 2016 14:10:51 +0200
opsiclientd (4.0.85) testing; urgency=medium
--Niko Wenselowski <n.wenselowski@uib.de> Tue, 08 Sep 2015 15:03:09 +0200
opsiclientd (4.0.84) testing; urgency=medium
[ Erol Ueluekmen ] * exclude_product_group_ids and include_product_group_ids added. * Putting quotation marks around the action_processor_starter.exe to avoid unwanted behaviour.
[ Niko Wenselowski ] * Windows 8.1: Sleeping a short time before triggering the reboot.
--Niko Wenselowski <n.wenselowski@uib.de> Tue, 08 Sep 2015 15:02:20 +0200
opsi-winst/opsi-script (4.11.6.1) stable; urgency=low
— Detlef Oertel <d.oertel@uib.de> Tue, 22 Sep 2015:15:00:00 +0200
windows (4.0.7.1-1) stable; urgency=low
— Erol Ueluekmen <e.ueluekmen@uib.de> Tue, 19 Jul 2016 15:00:00 +0200
centos70_4.0.7.1-1 stable; urgency=low
— Detlef Oertel <d.oertel@uib.de> Wed, 08 Jun 2016:15:00:00 +0200
debian_4.0.7.1-1 stable; urgency=low
— Mathias Radtke <m.radtke@uib.de> Tue, 05 Jul 2016 15:30:00 +0200
debian7_4.0.7.1-1 stable; urgency=low
— Mathias Radtke <m.radtke@uib.de> Wed, 08 Jun 2016:15:00:00 +0200
debian8_4.0.7.1-1 stable; urgency=low
— Mathias Radtke <m.radtke@uib.de> Fri, 1 Jul 2016 10:25:00 +0200
opensuse13-2_4.0.7.1-1 stable; urgency=low
— Detlef Oertel <d.oertel@uib.de> Wed, 08 Jun 2016:15:00:00 +0200
opensusel42_4.0.7.1-1 stable; urgency=low
— Detlef Oertel <d.oertel@uib.de> Wed, 08 Jun 2016:15:00:00 +0200
sles11sp4_4.0.7.1-1 stable; urgency=low
— Detlef Oertel <d.oertel@uib.de> Wed, 08 Jun 2016:15:00:00 +0200
sles12_4.0.7.1-2 stable; urgency=low
— Mathias Radtke <m.radtke@uib.de> Mon, 8 Aug 2016 13:20:00 +0200
sles12_4.0.7.1-1 stable; urgency=low
— Detlef Oertel <d.oertel@uib.de> Wed, 08 Jun 2016:15:00:00 +0200
sles12sp1_4.0.7.1-2 stable; urgency=low
— Mathias Radtke <m.radtke@uib.de> 8 Aug 2016 13:20:00 +0200
sles12sp1_4.0.7.1-1 stable; urgency=low
— Detlef Oertel <d.oertel@uib.de> Wed, 08 Jun 2016:15:00:00 +0200
redhat70_4.0.7.1-3 stable; urgency=low
— Mathias Radtke <m.radtke@uib.de> Mon, 22 Aug 2016 12:00:00 +0200
redhat70_4.0.7.1-2 stable; urgency=low
— Mathias Radtke <m.radtke@uib.de> Mon, 8 Aug 2016 13:20:00 +0200
redhat70_4.0.7.1-1 stable; urgency=low
— Detlef Oertel <d.oertel@uib.de> Wed, 08 Jun 2016:15:00:00 +0200
ubuntu14-04_4.0.7.1-1 stable; urgency=low
— Mathias Radtke <m.radtke@uib.de> Tue, 05 Jul 2016 15:30:00 +0200
ubuntu16-04_4.0.7.1-1 stable; urgency=low
— Mathias Radtke <m.radtke@uib.de> Tue, 05 Jul 2016 15:30:00 +0200
ubuntu16-04_4.0.6-6 experimenal; urgency=low
— Mathias Radtke <m.radtke@uib.de> Fri, 13 Apr 2016 14:00:00 +0200
ubuntu16_04_4.0.6-5 experimental; urgency=low
— Mathias Radtke <m.radtke@uib.de> Wed, 04 May 2016 10:21:00 +0200
opsi-linux-client-agent (4.0.7.2-1) stable; urgency=medium
— d.oertel <d.oertel@uib.de> Tue, 26 Jul 2016 15:00:00 + 0100
opsi-linux-client-agent (4.0.7.1-20160704) testing; urgency=medium
— d.oertel <d.oertel@uib.de> Tue, 07 June 2016 15:00:00 + 0100
opsi-linux-client-agent (4.0.6.3-20160502) testing; urgency=medium
— Niko Wenselowski <n.wenselowski@uib.de> Mon, 02 May 2016 15:41:36 +0200
opsi-linux-client-agent (4.0.6.3-20160408) testing; urgency=low
— Niko Wenselowski <n.wenselowski@uib.de> Wed, 24 Feb 2016 11:08:35 +0200
l-opsi-server 4.0.7.1-4; stable; urgency=low
— M.Radtke <m.radtke@uib.de> Tue, 23 Jun 2016 14:00:00 +0200
l-opsi-server 4.0.7.1-3; testing; urgency=low
— d.oertel <d.oertel@uib.de> Thu, 23 Jun 2016 15:00:00 + 0100
l-opsi-server 4.0.7.1-2 ; testing ; urgency=low
— d.oertel <d.oertel@uib.de> Wed, 22 Jun 2016 15:00:00 + 0100
l-opsi-server 4.0.7.1-1 ; testing ; urgency=low
— d.oertel <d.oertel@uib.de> Wed, 08 Jun 2016 15:00:00 + 0100
l-system-update 4.0.7.1-1 stable urgency=low
— d.oertel <d.oertel@uib.de> Wed, 11 May 2016 15:00:00 + 0100
l-jedit (5.3-6) stable; urgency=low
setup.opsiscript: add DefVar $javaVersion$
-- k. koepke <k.koepke@uib.de> Wed, 03 Aug 2016 10:58:45 + 0100
l-jedit (5.3-5) STABLE; urgency=medium
— d.oertel <d.oertel@uib.de> Wed, 27 Jul 2016 15:00:00 + 0100
l-jedit (5.3-4) stable; urgency=low
— k. koepke <k.koepke@uib.de> Fri, 08 July 2016 11:24:27 + 0100
l-jedit 5.3-3 ; stable, ; urgency=low
— d.oertel <d.oertel@uib.de> Fri, 24 Jun 2016 15:00:00 + 0100
windows (4.0.7.1-1) stable; urgency=low
— Erol Ueluekmen <e.ueluekmen@uib.de> Tue, 19 Jul 2016 15:00:00 +0200
opsi-local-image-backup (4.0.7.2-2) stable; urgency=low
— detlef oertel <d.oertel@uib.de> Wed, 10 Aug 2016 15:00:00 +0200
opsi-local-image-backup (4.0.7.2-1) stable; urgency=low
— detlef oertel <d.oertel@uib.de> Mo, 08 Aug 2016 15:00:00 +0200
opsi-local-image-backup (4.0.7.1-1) stable; urgency=low
— detlef oertel <d.oertel@uib.de> Wed, 18 May 2016 15:00:00 +0200
opsi-local-image-restore (4.0.7.1-1) stable; urgency=low
— detlef oertel <d.oertel@uib.de> Wed, 18 May 2016 15:00:00 +0200
opsi-local-image-delimage (4.0.7.1-1) stable; urgency=low
— detlef oertel <d.oertel@uib.de> Wed, 10 Aug 2016 15:00:00 +0200
opsi-local-image-capture (4.0.7.1-1) stable; urgency=low
— detlef oertel <d.oertel@uib.de> Wed, 10 Aug 2016 15:00:00 +0200
opsi-local-image-prepare (4.0.7.1-1) stable; urgency=low
— detlef oertel <d.oertel@uib.de> Wed, 10 Aug 2016 15:00:00 +0200
ubuntu_4.0.7.1-1 stable; urgency=low
— Detlef Oertel <d.oertel@uib.de> Wed, 03 Aug 2016:15:00:00 +0200
opsi-local-image-opensuse13-2 (4.0.7.1-1) stable; urgency=low
—detlef oertel <d.oertel@uib.de> Fri, 12 Aug 2016 15:00:00 +0200
opsi-clonezilla (4.0.7.2-2) stable; urgency=low
— detlef oertel <d.oertel@uib.de> Mo, 22 Aug 2016 15:00:00 +0200
opsi-clonezilla (4.0.7.2-1) stable; urgency=low
— detlef oertel <d.oertel@uib.de> Thu, 18 Aug 2016 15:00:00 +0200
opsi-clonezilla (4.0.7.1-1) stable; urgency=low
— detlef oertel <d.oertel@uib.de> Fri, 20 May 2016 15:00:00 +0200
python-opsi (4.0.7.17-1) stable; urgency=medium
OPSI.Util: Refactored encryptWithPublicKeyFromX509CertificatePEMFile and decryptWithPrivateKeyFromPEMFile.
-- Niko Wenselowski <n.wenselowski@uib.de> Thu, 18 Aug 2016 10:10:53 +0200
python-opsi (4.0.7.16-1) testing; urgency=medium
OPSI.Util.Task.Rights: Improved support for openSUSE Leap.
-- Niko Wenselowski <n.wenselowski@uib.de> Mon, 15 Aug 2016 16:53:24 +0200
python-opsi (4.0.7.15-1) stable; urgency=medium
corrected opsi-set-rights for openSUSE
-- Mathias Radtke <m.radtke@uib.de> Wed, 10 Aug 2016 13:44:48 +0200
python-opsi (4.0.7.14-1) stable; urgency=medium
OPSI.Util.Task.Rights: Corrected path for UCS.
-- Niko Wenselowski <n.wenselowski@uib.de> Fri, 05 Aug 2016 15:56:55 +0200
python-opsi (4.0.7.13-1) testing; urgency=medium
— Niko Wenselowski <n.wenselowski@uib.de> Wed, 27 Jul 2016 17:11:57 +0200
python-opsi (4.0.7.12-1) stable; urgency=medium
— Niko Wenselowski <n.wenselowski@uib.de> Mon, 25 Jul 2016 14:39:25 +0200
python-opsi (4.0.7.11-1) testing; urgency=medium
— Niko Wenselowski <n.wenselowski@uib.de> Mon, 25 Jul 2016 13:13:55 +0200
python-opsi (4.0.7.10-1) testing; urgency=medium
— Niko Wenselowski <n.wenselowski@uib.de> Fri, 22 Jul 2016 11:17:24 +0200
python-opsi (4.0.7.9-1) testing; urgency=medium
— Niko Wenselowski <n.wenselowski@uib.de> Thu, 21 Jul 2016 16:22:58 +0200
python-opsi (4.0.7.8-1) stable; urgency=low
OPSI.System.Windows:
— Erol Ueluekmen <e.ueluekmen@uib.de> Tue, 19 Jul 2016 15:36:42 +0200
python-opsi (4.0.7.7-1) stable; urgency=low
— Erol Ueluekmen <e.ueluekmen@uib.de> Tue, 05 Jul 2016 15:29:36 +0200
python-opsi (4.0.7.6-1) stable; urgency=medium
— Niko Wenselowski <n.wenselowski@uib.de> Mon, 04 Jul 2016 17:49:17 +0200
python-opsi (4.0.7.5-1) testing; urgency=medium
— Niko Wenselowski <n.wenselowski@uib.de> Thu, 30 Jun 2016 15:39:29 +0200
python-opsi (4.0.7.4-1) testing; urgency=medium
— Niko Wenselowski <n.wenselowski@uib.de> Fri, 24 Jun 2016 14:28:26 +0200
python-opsi (4.0.7.3-1) testing; urgency=medium
— Niko Wenselowski <n.wenselowski@uib.de> Fri, 10 Jun 2016 13:36:41 +0200
python-opsi (4.0.7.2-1) testing; urgency=medium
— Niko Wenselowski <n.wenselowski@uib.de> Thu, 09 Jun 2016 15:34:59 +0200
python-opsi (4.0.7.1-1) testing; urgency=medium
— Niko Wenselowski <n.wenselowski@uib.de> Fri, 20 May 2016 15:44:59 +0200
python-opsi (4.0.6.50-1) experimental; urgency=medium
— Niko Wenselowski <n.wenselowski@uib.de> Tue, 07 Jun 2016 10:47:44 +0200
python-opsi (4.0.6.49-1) stable; urgency=medium
— Niko Wenselowski <n.wenselowski@uib.de> Fri, 6 May 2016 07:32:28 +0200
python-opsi (4.0.6.48-1) stable; urgency=medium
— Niko Wenselowski <n.wenselowski@uib.de> Wed, 27 Apr 2016 12:35:39 +0200
python-opsi (4.0.6.47-1) stable; urgency=medium
— Niko Wenselowski <n.wenselowski@uib.de> Thu, 21 Apr 2016 13:18:16 +0200
opsiconfd (4.0.7.4-1) stable; urgency=medium
— Niko Wenselowski <n.wenselowski@uib.de> Mon, 06 Jun 2016 14:55:34 +0200
opsiconfd (4.0.7.3-1) testing; urgency=medium
— Niko Wenselowski <n.wenselowski@uib.de> Fri, 03 Jun 2016 15:07:01 +0200
opsiconfd (4.0.7.2-1) testing; urgency=medium
— Niko Wenselowski <n.wenselowski@uib.de> Wed, 01 Jun 2016 10:09:02 +0200
opsiconfd (4.0.7.1-1) testing; urgency=medium
— Niko Wenselowski <n.wenselowski@uib.de> Tue, 31 May 2016 13:52:57 +0200
opsiconfd (4.0.6.14-1) experimental; urgency=medium
— Niko Wenselowski <n.wenselowski@uib.de> Fri, 01 Apr 2016 11:00:03 +0200
opsipxeconfd (4.0.7.1-1) stable; urgency=medium
--Niko Wenselowski <n.wenselowski@uib.de> Thu, 19 May 2016 12:39:40 +0200
opsi-utils (4.0.7.5-1) stable; urgency=medium
commended exclude on standard uib repository. Windows products will be updated as default
-- Mathias Radtke <m.radtke@uib.de> Tue, 02 Aug 2016 12:34:49 +0200
opsi-utils (4.0.7.4-1) stable; urgency=medium
— Niko Wenselowski <n.wenselowski@uib.de> Thu, 28 Jul 2016 16:26:30 +0200
opsi-utils (4.0.7.3-1) stable; urgency=medium
— Niko Wenselowski <n.wenselowski@uib.de> Mon, 11 Jul 2016 12:46:24 +0200
opsi-utils (4.0.7.2-1) testing; urgency=medium
— Niko Wenselowski <n.wenselowski@uib.de> Fri, 24 Jun 2016 15:05:09 +0200
opsi-utils (4.0.7.1-1) testing; urgency=medium
--Niko Wenselowski <n.wenselowski@uib.de> Mon, 23 May 2016 14:31:10 +0200
opsi-utils (4.0.6.14-1) testing; urgency=medium
--Niko Wenselowski <n.wenselowski@uib.de> Fri, 29 Apr 2016 12:21:49 +0200
opsi-utils (4.0.6.13-1) testing; urgency=medium
--Niko Wenselowski <n.wenselowski@uib.de> Thu, 28 Apr 2016 12:29:16 +0200
opsi-utils (4.0.6.12-1) experimental; urgency=medium
--Mathias Radtke <m.radtke@uib.de> Tue, 12 Apr 2016 15:56:31 +0200
opsi-utils (4.0.6.11-1) experimental; urgency=medium
--Niko Wenselowski <n.wenselowski@uib.de> Mon, 04 Apr 2016 17:00:33 +0200
opsi-linux-bootimage (20160706-1) stable; urgency=medium
updated python-opsi to 4.0.7.3-1 to provide proper sku fallback
-- Mathias Radtke <m.radtke@uib.de> Tue, 02 Aug 2016 14:50:54 +0200
opsi-linux-bootimage (20160623-1) experimental; urgency=medium
— Mathias Radtke <m.radtke@uib.de> Thu, 23 Jun 2016 15:37:26 +0200
opsi-linux-bootimage (20160608-1) experimental; urgency=medium
— Mathias Radtke <m.radtke@uib.de> Wed, 08 Jun 2016 08:15:35 +0200
opsi-linux-bootimage (20160524-1) UNRELEASED; urgency=medium
— Mathias Radtke <m.radtke@uib.de> Tue, 24 May 2016 09:45:10 +0200
opsi-linux-bootimage (20160517-1) UNRELEASED; urgency=medium
— Mathias Radtke <m.radtke@uib.de> Tue, 17 May 2016 09:45:10 +0200
opsi-linux-bootimage (20160513-1) experimental; urgency=medium
— Mathias Radtke <m.radtke@uib.de> Fri, 13 May 2016 15:31:34 +0200
opsi-atftp (0.7.dfsg-6) testing; ency=medium
included -std=gnu89 in CFLAGS for GCC5 compatability on Ubuntu 15.10 and 16.04
-- Mathias Radtke <m.radtke@uib.de> Fri, 22 Apr 2016 03:53:56 +0200
opsi-linux-support (4.0.7-5) stable; urgency=medium
SUSE: do not alter default options.
-- Niko Wenselowski <n.wenselowski@uib.de> Fri, 05 Aug 2016 15:46:46 +0200
opsi-linux-support (4.0.7-4) testing; urgency=medium
Refactored RPM postinst.
-- Niko Wenselowski <n.wenselowski@uib.de> Thu, 28 Jul 2016 17:13:41 +0200
opsi-linux-support (4.0.7-3) testing; urgency=medium
Fixed accidently broken support for CentOS / RHEL 6.
-- Niko Wenselowski <n.wenselowski@uib.de> Wed, 27 Jul 2016 16:56:50 +0200
opsi-linux-support (4.0.7-2) testing; urgency=medium
Better support for CentOS / RHEL 6.
-- Niko Wenselowski <n.wenselowski@uib.de> Mon, 25 Jul 2016 16:26:05 +0200
opsi-linux-support (4.0.7-1) experimental; urgency=medium
Better support for SLES 11.
-- Niko Wenselowski <n.wenselowski@uib.de> Mon, 25 Jul 2016 12:07:11 +0200
opsi-linux-support (1.0-10) testing; urgency=medium
Re-release for rebuild.
-- Niko Wenselowski <n.wenselowski@uib.de> Thu, 21 Jul 2016 17:41:40 +0200
opsi-linux-support (1.0-9) experimental; urgency=medium
[ Niko Wenselowski ] * RPM: Summary does not end with a dot anymore.
[ Mathias Radtke ] * Added new build dependency: apache2/hhtpd * creating local apache repo opsi dir /var/www/html/opsi/ for debian8 and ubuntu16-04 local repository
— Mathias Radtke <m.radtke@uib.de> Thu, 30 Jun 2016 11:50:15 +0200
jedit_5.3.0-1 stable; urgency=low
— d.oertel <d.oertel@uib.de> Fri, 24 Jun 2016 15:00:00 + 0100
opsi-logviewer (2.2-2) STABLE; urgency=medium
— d.oertel <d.oertel@uib.de> Wed, 27 Jul 2016 15:00:00 + 0100
opsi-logviewer (2.2-1) testing; urgency=low
--r.roeder <r.roeder@uib.de> Thu, 21 Jul 12:00:00 + 0100
opsi-logviewer (2.1-1) testing; urgency=low
--d.oertel <d.oertel@uib.de> Wed, 23 Dec 2015 15:00:00 + 0100
opsi-logviewer (2.0-1) testing; urgency=lo
opsi-wim-capture (4.0.7.1-1) stable; urgency=low
— detlef oertel <d.oertel@uib.de> Wed, 18 May 2016 15:00:00 +0000
opsi-wim-info (4.0.7.1-1) stable; urgency=low
— detlef oertel <d.oertel@uib.de> Thu, 30 May 2016 15:00:00 +0000
opsi-nagios-plugins (4.0.7.2-1) testing; urgency=medium
— Niko Wenselowski <n.wenselowski@uib.de> Tue, 26 Jul 2016 15:40:04 +0200
opsi-nagios-plugins (4.0.7.1-1) testing; urgency=medium
— Niko Wenselowski <n.wenselowski@uib.de> Tue, 26 Jul 2016 14:27:37 +0200