Inhaltsverzeichnis
Abbildungsverzeichnis
/home/partimg
gemountet.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.
Das opsi Service Releases 4.0.5 weist eine Fülle von Neuerungen und Detailverbesserungen auf. Hier eine Übersicht:
Ab opsi 4.0.5 werden (ausschließlich) folgende Distributionen als opsi-server unterstützt:
Der opsi-configed ab Version 4.0.5.x benötigt mindestens die Java-Version 1.7.0.
Sollten Sie opsi auf einer Betriebssystemversion einsetzen, welche oben nicht aufgeführt ist, so empfehlen wir Ihnen ein Betriebsystem-Update bevor Sie opsi v4.0.5 einspielen.
Windows Netboot Produkte
opsi-winst / opsi-script (4.11.4.10):
Neue Konstanten:
%opsiDepotId%
: Depotserver // since 4.11.4
%opsiTmpDir%
: c:\opsi.org\tmp
// since 4.11.4.3
%opsiLogDir%
: c:\opsi.org\log
// since 4.11.4.3
Neue Funktionen zum Umgang mit key/value Paaren in Konfigurationsdateien:
getValueFromFile(
<key string>, <file name>)
//since 4.11.4.4 [W/L]
getValueFromFileBySeparator(
<key string>,<separator string>,<file name>)
//since 4.11.4.4 [W/L]
setKeyValueSeparator
<separator char> //since 4.11.4.4 [W/L]
setValueByKey
<keystr> <valuestr> //since 4.11.4.4 [W/L]
Encoding Funktionen (Handbuch lesen !):
reencodestr(
<str> , <from>, <to> )
reencodestrlist(
<strlist> , <from>, <to> )
Aktivitätanzeige:
winbatch
Sektionen mit /timeout
wird der Zeitablauf bis zum Timeout über den Fortschrittsbalken angezeigt.
AutoActivityDisplay
= (true/false) default=false; Wenn true wird ein (marquee) Fortschrittsbalken (der Endlos durch läuft) angezeigt während des Laufs von winbatch/dosbatch Sektionen.
/showoutput
: Zeigt ein Ausgabefenster mit den Ausgaben der aufgerufenen Kommandos.
Sonstiges:
saveTextFile(
<list>, < filename>)
//since 4.11.4.4 [W/L]
shellCall(
<cmd> )
; returns the output of (sysnative) shell with cmd
IncludeLog
jetzt mit zusätzlichen encoding Parameter
strLoadTextFile (
<filename> )
LineContaining_ExistsIn(
<string>, <file name> )
Sonstige Produkte:
opsi-configed:
opsi-client-agent:
KNOWN BUGS:
KNOWN PROBLEMS:
Die ersten Distributionen werden nun mit Samba 4 ausgeliefert.
Aktuell werden Ubuntu 14.04 und openSuse 13.1 mit Samba 4 Paketen ausgeliefert. Diese Pakete sind von sich aus nicht dazu geeignet ganze Domänen zu verwalten, haben aber bei den Freigaben das Verhalten von Samba 4.
In Samba 3 war es allgemein erlaubt, jede Datei oder Verzeichnis auf den Clients auszuführen. Dieses Verhalten wurde in Samba 4 komplett verändert. Nun müssen alle Dateien, die über den Share ausführbar sein sollen, auch auf der Unix-Seite das Executable-Bit setzen.
Dies stellt ein allgemeines Problem für den Betrieb von opsi dar. Es ist nicht möglich dieses Verhalten über die Rechteverwaltung von opsi zu umgehen, da dies eine komplette Überarbeitung des Rechtesystems von opsi erfordern würde. Dies ist in opsi 4 nicht möglich.
Um das Problem mit opsi 4.0 dennoch zu umgehen, gibt es zwei Möglichkeiten.
Variante 1: auf den betroffenen Freigaben kann über die Freigabenkonfiguration über die Option: admin users = @pcpatch
für jedes Mitglied der pcpatch-Gruppe (Freigaben-User) dieses Verhalten ausgehebelt werden. Diesen Fix setzt opsi schon seit längerem auch bei UCS >= 3 mit Samba 4 ein. Bei diesem Fix wird der Samba-Prozess der User mit erhöhten Rechten ausgeführt.
opsi setzt automatisch bei Samba 4 Distributionen über opsi-setup --auto-configure-samba diese Option für den opsi_depot Share. Da dieser nur readonly gemounted wird, ist das Sicherheitsrisiko relativ gering.
Variante 2: Man kann global folgende Option in der smb.conf setzen: allow general executable = True
Durch diese Option wird für alle Freigaben das Verhalten von Samba 3 wiederhergestellt.
Sollte es gewünscht sein, dass die anderen Shares von diesem Problem nicht mehr betroffen sind, kann man entweder die erste Variante für jeden Share manuell setzen oder die Option von Variante zwei global in die smb.conf setzen. Die zweite Option gilt dann aber für alle Freigaben, auch für die, die nicht von und für opsi bereitgestellt werden.
In diesem Kapitel werden die Abkündigungen aufgelistet. Diese Distributionsversionen werden aus verschiedenen Gründen nicht mehr weiter von opsi unterstützt.
Ab opsi v 4.0.5 werden wir die Netbootpakete für Windows Vista und Server 2008 nicht mehr weiter pflegen. Ebenso planen wir für diese Windowsversionen die Unterstützung in den Update Abo’s einzustellen. Wer hierzu Fragen oder Probleme hat möge sich bei uns melden.
Windows XP / Server 2003 ist bekanntermaßen von Microsoft nicht mehr (bzw. Windows 2003 eingeschränkt) unterstützt. Wir werden, wegen der weiten Verbreitung, diese Pakete noch eine Zeitlang pflegen. Trotzdem kündigen wir auch hier an, diese Pflege in absehbarer Zeit einzustellen und empfehlen Ihnen dringend den Wechsel auf eine neuere Windows Version (oder Linux).
Ab opsi v 4.0.5 werden die opsi Produkte
nicht mehr unterstützt. Diese Produkte werden in ihrer Funktionalität durch das neue Produkt opsi-clonezilla ersetzt (Siehe gesondertes Kapitel).
Wir empfehlen vor der Installation des Updates (sicherheitshalber) mit opsi-backup eine Sicherung Ihres Backends 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.
Sie sollten dabei zuerst den Server updaten und danach die opsi-Produkte.
Beim Update eines bestehenden opsi-Servers kann es vorkommen, dass eine neue Version /etc/opsi/opsi.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.
Wie oben beschrieben könnte ebenso eine neue Version der /etc/opsi/opsi-product-updater.conf
für ein Update vorgeschlagen werden.
In der neuen Version kann jetzt ein Smtp-Benutzer mit Smtp-Passwort für die Authentifizierung eingetragen werden, falls dies benötigt wird. Zudem wurde der Eintrag
für die Exclude-Files entfernt (exclude = ^win* ), was dazu führen wird, dass die Windows-Netbootprodukte von der Aktualisierung nicht mehr ausgeschlossen werden.
Wir empfehlen nach dem Update die Ausführung von ``opsi-setup --set-rights``, um sicher zu stellen, dass die Berechtigungen in den verwendeten Ordnern korrekt sind. Die Ausführung des Befehls kann mehrere Minuten in Anspruch nehmen.
Beim Aktualisieren des opsi-depotserver Paketes kann es sein, dass Sie die Daten für das SSL-Zertifikat erneut eingeben müssen.
Ab Version 4.0.5 wird python-opsi keine Abhängigkeit mehr auf python-mysql haben, sondern das in den Standard-Repositories befindliche MySQL-python verwenden.
Bei der Aktualisierung von opsi kann es dadurch zu Konflikten kommen. Um das zu vermeiden, entfernen Sie bitte vorher python-mysql:
rpm -e --nodeps python-mysql
Die Installation erfordert keine besonderen Arbeiten. Sie erfolgt im Rahmen der normalen Updates ihres Servers und der opsi-Produkte.
Sie sollten dabei zuerst den Server updaten. Benutzen Sie dazu die Befehle entsprechend Ihrer Linux-Distribution.
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:
dirs = opsi4.0/products/localboot, opsi4.0/products/netboot
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
Das Management-Interface opsi-configed benötigt jetzt eine Java Laufzeitumgebung mindestens in Version 7 bzw., wie die interne Versionszählung lautet, Version 1.7. Auf dem opsi-Server ist Java allerdings nur erforderlich, wenn Sie den opsi-configed tatsächlich auf dem Server ausführen möchten, was im Normalfall heißt, dass der Server auch über eine graphische Benutzungsoberfläche verfügen muss.
In diesem Fall müssen Sie, sofern noch das JDK 6 oder niedriger installiert ist, stattdessen das JDK 7 (oder 8) aktivieren. Für Ubuntu lauten die Befehle
apt-get remove openjdk-6-jre apt-get remove openjdk-6-jre-lib apt-get install openjdk-7-jre
Danach sollte
java -version
mindestens Java Version 1.7.0 anzeigen.
Mit einer Reihe von Maßnahmen haben wir versucht, die "user experience" des opsi-configed zu verbessern. Insbesondere wird das Umschalten zwischen verschiedenen Ansichten beschleunigt, indem Daten nach Möglichkeit vorab geladen und gecacht werden, anstatt dass sie für jede neue Ansicht vom Server angefordert werden.
Für alle Rechner, auf denen der configed laufen soll, ist zu beachten, dass mindestens die Java-Version 1.7.0 vorausgesetzt wird.
Bei einem Wechsel auf einen anderen Depot-Server, entfällt die Notwendigkeit einen kompletten Daten-Reaload durchzuführen, d.h. beim Auswählen eines Depots werden seine Daten sofort geladen. Dazu kommen folgende Buttons:
Der Test auf Client-Erreichbarkeit wurde erweitert, so dass er im Hintergrund ablaufen kann und das Ergebnis jeweils automatisch in der Client-Tabelle anzeigt wird. Das Feature lässt sich in der Anmeldemaske sowie per Aufrufparameter aktivieren. Default ist ein Test-Intervall von 0 min (= ausgeschaltet).
Aus der Gruppenansicht wurde die “REPORT: FAILED” Gruppe entfernt. Als neue Möglichkeit, fehlerhafte Installationen zu suchen, gibt es unter dem Menüpunkt Auswahl die Punkte Fehlgeschlagene Aktionen bei Produkt… und Fehlgeschlagene Aktionen (heute, seit gestern, …).
Wählt man den ersten Punkt, erhält man eine Liste aller Produkte. Selektiert man ein Produkt, so werden
alle Clients markiert, bei denen die Installation dieses Produktes fehlgeschlagen ist.
Wählt man z.B. Fehlgeschlagene Aktionen - heute, werden all die Clients markiert, bei denen heute mindestens ein Produkt fehlgeschlagen ist.
Um die Defaultwerte der Produkte für einzelne oder mehrere opsi-depots zu ändern, gibt es einen neuen Reiter Produkt-Defaultproperties. Dieser wird erst auswählbar, wenn man zur Depotkonfiguration (zweiter Button oben rechts) wechselt.
In der Haupttabelle werden alle Produkte mit der Produkt-Version und der Package-Version aufgelistet.
Wählt man ein Produkt aus, so werden, wie aus der Client-Produktkonfiguration gewohnt, rechts oben die allgemeinen Informationen zum Produkt-Paket angezeigt. Darunter befindet sich die Auflistung aller Depots, die das ausgewählte Produkt besitzen.
Die unterhalb befindliche Tabelle mit den Property-Schlüsseln und Werten ist
ebenfalls bekannt aus der Client-Produktkonfiguration.
Man kann ein oder mehrere Depots auswählen, um die Defaultwerte (d.h. die Depotwerte) des Produktes zu ändern. Als Voreinstellung werden alle verfügbaren Depots ausgewählt. Mit den üblichen Tastenkombinationen (Strg-a, Strg-Klick oder Shift-Klick) lassen sich mehrere bzw. alle Clients markieren.
Ist der Property-Wert ausgegraut (siehe Abbildung 7.5, „opsi-configed: Produkt-Defaultproperties“ - “gui_language”), so sind auf den ausgewählten Depots verschiedene Werte für diese Property gesetzt. Rechts neben den Depots befinden sich drei Buttons:
Das opsi-linux-bootimage wurde komplett überarbeitet. Zunächst wurde das Bootimage auf Ubuntu 12.04 aktualisiert. Dieser Schritt war nötig, da viele Funktionen, die für die neuen Module von opsi benötigt werden, nicht mehr in Ubuntu 10.04 zur Verfügung stehen.
Somit wurden alle Teile des Bootimage auf einen neuen Stand aktualisiert.
opsi hat seit längerem das Feature, die Additional-Treiber-Zuweisung automatisiert über die Hardwareinventarisierung durch zu führen. Dieses Feature setzt aber voraus, dass die eingesetzte Hardware sauber vom Hersteller "branded" wurden. Bei größeren OEMs wie Dell, HP oder Fujitsu Siemens, ist das in der Regel auch der Fall.
Es kommt allerdings mittlerweile sehr oft vor, dass ganze Chargen von Hardware über kleinere Lieferanten beschafft werden. Diese haben mit dem Branding der Geräte ein Problem. Bei diesen Clients ist es sehr oft so, dass sie von der Hardware her identisch sind. Wenn man allerdings den Hersteller und das Modell des Geräts ausliest, sind diese Felder meistens leer.
In einem solchen Fall gibt es mit opsi 4.0.5 einen Fallback. Dieser wurde über das Mainboard realisiert. Dies funktioniert vergleichsweise identisch mit der eigentlichen byAudit-Treiberzuweisung, nur dass statt Hersteller und Model vom Gerät, dasselbe Verfahren mit dem Hersteller und dem Namen des Boards angewendet wird.
Technische Voraussetzungen sind opsi 4.0.5 mit den Paketständen:
Der opsi Support für Linux besteht aus einem Teil der von Anfang an Opensource ist (den Netbootprodukten) und einem kofinanzierten Teil (dem client-agenten).
Dieser opsi-linux-client-agent ist eine
kofinanzierte opsi Erweiterung.
Das bedeutet, das Sie zum Einsatz eine Freischaltdatei benötigen. Diese Freischaltung erhalten Sie wenn Sie die Erweiterung kaufen. Zu Evaluierungszwecken stellen wir Ihnen auch eine zeitlich befristete Freischaltung kostenlos zur Verfügung ( → mail an info@uib.de).
Weitere Details zum Umgang mit Modulen finden Sie im opsi manual.
Ein Management-Werkzeug für Windows und Linux
Ziel der Erweiterung von opsi um die Unterstützung von Linux-Systemen ist die Schaffung eines Managementsystems für heterogene Umgebungen. Der Fokus liegt dabei auf der möglichst vollständigen Integration beider Welten in die gleichen Management Vorgänge und Werkzeuge.
Dies bedeutet, eine Linux-Installation wird auf die gleiche Weise angestoßen wie eine Windows-Installation. Der opsi-client-agent unter Linux basiert auf dem selben Code wie der unter Windows und ist (soweit sinnvoll) befehlskompatibel.
Linux distributionsübergreifend
Der Linux Support von opsi ist distributionsübergreifend angelegt.
Die Distributionen:
werden gleichwertig unterstützt.
Basis-Installation des OS per Netboot
Für die Installation eines Linux Basissystems wird zunächst per Netboot das Standard opsi-linux-bootimage gebootet (welches auch für die Windows-Installationen zum Einsatz kommt).
Von diesem Bootimage aus wird die Zielplatte partitioniert (/ und swap) und formatiert. Nun folgt die Installation des Grundsystems (mit Netz und ssh aber ohne X11). Die Abläufe dieser Grundinstallation unterscheiden sich naturgemäß zwischen den unterschiedlichen Distributionen erheblich. Gemeinsam ist, dass die Installation direkt aus den Originalpaketen der Distribution erfolgt.
Auf diese Basisinstallation können optional die opsi-Pakete installiert werden, um aus dem System einen opsi-Server (z.B. neuen Depotserver) zu machen.
Ebenfalls optional kann nun der opsi-client-agent für Linux installiert werden. Dieser ist dann für die Installation und Konfiguration weiterer Software zuständig.
Die opsi Netboot Produkte zur Linuxinstallation sind bereits als Open Source freigegeben.
Bedingt dadurch, dass die Basisinstallation aus dem Standard opsi-linux-bootimage erfolgt, gibt es distributionsabhängig unterschiedlich bestimmte Dinge, welche sich erst in der Umgebung nach dem ersten Boot des Systems konfigurieren bzw. installieren lassen. Beispiele hierfür sind die se-linux Installation bei den RedHat artigen bzw. die Konfiguration der Tastatur bei den Debian artigen. Hierfür gibt es ein Standard Localbootprodukt l-os-postinst
welches diese Aufgaben übernimmt.
Die folgenden Properties finden Sie zur Steuerung der Linuxinstallation in allen Netbootprodukten:
askbeforeinst
:architecture
:system_partition_size
:swap_partition_size
:data_partition_create
:data_partition_preserve
:language
:console_keymap
:timezone
:root_password
:user_password
:install_opsi_server
:online_repository
:opsi_online_repository
:proxy
:http://<ip>:<port>
. (Default='')
additional_packages
:wget_and_execute
:install_opsi-client-agent
:release
:setup_after_install
:Die Basis Installation erfolgt per debootstrap direkt aus dem Netz.
Das Produkt hat produktiven Status.
Das Produkt ist UEFI/GPT kompatibel (getestet für release=trusty).
Es gibt für diese Produkt passende opsi-server Pakete welche über install_opsi_server=true installiert werden können.
Die Basis Installation erfolgt per debootstrap direkt aus dem Netz.
Das Produkt hat produktiven Status.
Das Produkt ist UEFI/GPT kompatibel (getestet für release=wheezy).
Es gibt für diese Produkt passende opsi-server Pakete welche über install_opsi_server=true installiert werden können.
Die Basis Installation erfolgt unter Verwendung von dem Produkt beiliegenden RPM Dateien. Von daher gibt es für jedes Release ein eigenes Produkt.
OpenSuse 12.3. Das Produkt hat produktiven Status.
Das Produkt ist nicht UEFI kompatibel.
Beachten Sie, das es für neue Releases evtl. noch keine opsi-server Pakete gibt und damit die Propertyeinstellung install_opsi_server=true zu Fehlern führen kann.
OpenSuse 13.1. Das Produkt hat produktiven Status.
Das Produkt ist nicht UEFI kompatibel .
Es gibt für diese Produkt passende opsi-server Pakete welche über install_opsi_server=true installiert werden können.
Known Bugs: Bei bestimmter Hardware (z.B. VMWare ESXi) scheiter die korrekte Vorhersage des Netzwerkinterface Namens und das Netzwerkinterface bleibt unkonfigiriert.
Die Basis Installation erfolgt unter Verwendung von dem Produkt beiliegenden RPM Dateien. Von daher gibt es für jedes Release ein eigenes Produkt.
Da das Produkt RPM’s enthält welche nicht Opensource sind, können wir es leider nicht frei zum Download anbieten. Wir können es aber unseren Kunden kostenlos zur Verfügung stellen ( → mail an info@uib.de).
Das Produkt hat produktiven Status.
Beachten Sie, das es für neue Releases evtl. noch keine opsi-server Pakete gibt und damit die Propertyeinstellung install_opsi_server=true zu Fehlern führen kann.
Das Produkt ist nicht UEFI kompatibel.
Das Produkt kennt folgende zusätzlichen Properties:
use_gpt
true
wird die Festplatte (auch im MBR-BIOS Mode) mit GPT partitioniert. Hierfür wird dann auch eine Bootpartition benötigt. Wenn das Property boot_partition_size
auf 0 steht wird automatisert trotzdem eine Bootpartition mit der Größe 1 GB erzeugt.
boot_partition_size
kernel_modules
suse_register
true
wird der Server online registriert. Hierzu wird die email Adresse und der Key der Registrierung in der Form email:productkey
benötigt. Dieser wird abhängig von dem Hostparameter license-management.use
aus dem Lizenzmanagement oder aus dem Property productkey
geholt.false
muss im Property local_repositories
mindestens ein geeigneter Repositoryserver angegeben werden.
productkey
email:productkey
(falls nicht das Lizenzmanagement verwendet wird).
local_repositories
Das Property online_repository
entfällt.
Die Basis Installation erfolgt unter Verwendung von dem Produkt beiliegenden RPM Dateien. Von daher gibt es für jedes Release ein eigenes Produkt.
CentOS 6.5. Das Produkt ist noch in Entwicklung. Bekannte Probleme sind: die Lokalisierung.
Es gibt für diese Produkt passende opsi-server Pakete welche über install_opsi_server=true installiert werden können.
Das Produkt ist nicht UEFI kompatibel.
CentOS 7. Das Produkt ist noch nicht verfügbar.
Die Basis Installation erfolgt unter Verwendung von dem Produkt beiliegenden RPMs. Von daher gibt es für jedes Release ein eigenes Produkt.
Fedora 20. Das Produkt hat testing Status.
Beachten Sie, das es für neue Releases evtl. noch keine opsi-server Pakete gibt und damit die Propertyeinstellung install_opsi_server=true zu Fehlern führen kann.
Das Produkt ist nicht UEFI kompatibel .
Der opsi-client-agent für Linux ist Bestandteil des Kofinanzierungsprojektes Linux Agent und derzeit kostenpflichtig.
Der opsi-client-agent für Windows besteht im Kern aus zwei Komponenten:
opsiclientd
opsi-winst / opsi-script
Der opsi-client-agent für Linux basiert auf einer Portierung des Windows Clientagenten nach Linux.
Der opsiclientd
ist im ersten Release noch nicht fertig portiert und ist deshalb zunächst durch das Programm opsiscriptstarter
ersetzt, welcher die Aufgaben des opsiclientd
beim Systemstart übernimmt:
Der Actionprocessor heißt unter Linux opsi-script und ist aus den selben Quellen gebaut wie der opsi-winst unter Windows. Damit steht unter Linux die gleiche Scriptsyntax zur Verfügung wie unter Windows. Weiterhin sind alle nicht plattformspezifischen Funktionen umgesetzt wie z.B:
Natürlich gibt es unter Linux keine Funktionen zum Patchen der Registry, dafür aber neue linuxspezifische Funktionen wie z.B.:
Das Logging des opsi-script ist analog zur dem des opsi-winst unter Windows.
Anders als bei Windows gibt es den opsi-script neben einer grafischen Version für die Arbeit unter X-Windows zusätzlich in einer noGUI Version für Systeme ohne grafische Oberfläche.
Wie sich das gehört verteilt sich der linux-opsi-client-agent weitläufig:
Die Binaries:
/usr/bin/opsi-script
(X11)
/usr/bin/opsi-script-nogui
(ohne X11)
/usr/bin/opsiscriptstarter
(vorläufiger opsiclientd Ersatz)
Die Hilfsdateien:
usr/bin/winstskin/
Die Konfigurationen:
/etc/opsi-client-agent/opsiclientd.conf
(Konfiguration des opsiscriptstarter/opsiclientd)
/etc/opsi-client-agent/opsi-script.conf
(in Vorbereitung)
Die Logs / Temps:
/var/log/opsi-client-agent
Das kopieren von vielen Dateien von einem smb-share ist abhängig von der Samba Version fehlerhaft. Es werden nicht alle Dateien kopiert.
Workaround: Statt:
[Files_copy_netboot] copy -s "%scriptPath%/installfiles/*" "$target$/installfiles/"
verwenden:
[ShellInAnIcon_opsi_copy_netboot] set -x export PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin cd "%scriptPath%" tar cf - installfiles | ( cd "$target$/installfiles/" ; tar xf - )
Unter Windows gilt für die Softwareverteilung: Die Installation von Software ist genauso wichtig wie die anschließende Konfiguration der Software.
Unter Linux stehen die meisten Pakete über die Repositories der Distribution zur Verfügung. Dadurch wird der Installationsanteil kleiner, der Konfigurationsanteil aber bleibt. Weiterhin gibt es auch Applikationen, welche nicht über die Standardrepositories verfügbar sind. Hier müssen
unter Umständen zunächst weitere Repositories dem System hinzugefügt werden bzw. Installationsquellen dem Paket zugefügt werden. Wichtig ist, dass alle Installations- und Konfigurationsarbeiten zentral vom opsi-Server
gesteuert und dort auch geloggt werden.
Im folgenden Beispiele für folgende Aufgaben in einem beispielhaften Script für den opsi-linux-client-agent:
apt-get
, zypper
und yum
Beispiel: Beenden wenn es nicht unter Linux läuft:
[Actions] requiredWinstVersion >= "4.11.4.1" ScriptErrorMessages=off DefVar $OS$ set $OS$ = GetOS if not($OS$ = "Linux") LogError "Wrong OS: Product: " + $ProductId$ + "is only for Linux" isFatalError "Wrong OS" endif
Beispiel: Feststellen des Distributionstyps:
[Actions] requiredWinstVersion >= "4.11.4.1" ScriptErrorMessages=off DefVar $distrotype$ set $distrotype$ = getLinuxDistroType if $distrotype$ = 'debian' ShellInAnIcon_Upgrade_deb else LogError "Wrong Distro: This Product is for Debian/Ubuntu only" isFatalError "Wrong distro" endif if not("0" = getLastExitCode) Message "failed ShellInAnIcon_Upgrade" LogError "failed ShellInAnIcon_Upgrade" isFatalError "failed Upgrade" endif [ShellInAnIcon_Upgrade_deb] set -x export DEBIAN_FRONTEND=noninteractive apt-get --yes install aptitude apt-get update apt-get --yes dist-upgrade exit $?
Beispiel: Feststellen der genauen Linux Version und Installation eines Paketes:
[Actions] requiredWinstVersion >= "4.11.4.1" ScriptErrorMessages=off DefVar $distCodeName$ DefVar $distroName$ DefVar $distRelease$ DefVar $desktop$ DefStringList $linuxInfo$ set $linuxInfo$ = getLinuxVersionMap set $distCodeName$ = getValue("Codename", $linuxInfo$) set $distRelease$ = getValue("Release", $linuxInfo$) set $distroName$ = getValue("Distributor ID", $linuxInfo$) set $desktop$ = GetProductProperty("desktop", "kde") if $distrotype$ = 'suse' if $desktop$ = "unity" Message " No Unity on SUSE - fallback to KDE ..." set $desktop$ = "kde" endif ; unity if $desktop$ = "kde" if ($distroName$ = 'openSUSE project') ShellInAnIcon_kde_suse endif if ("SUSE LINUX" = $distroName$) and ($distRelease$ = "11") ShellInAnIcon_kde_sles11 endif if not("0" = getLastExitCode) LogError "failed ShellInAnIcon" Message "failed kde" isFatalError "failed kde" endif endif ; kde endif; suse type [ShellInAnIcon_kde_suse] set -x zypper --no-gpg-checks --non-interactive install patterns-openSUSE-kde4 patterns-openSUSE-kde4_basis zypper --no-gpg-checks --non-interactive install splashy-branding-openSUSE exit $? [ShellInAnIcon_kde_sles11] set -x zypper --no-gpg-checks --non-interactive install --auto-agree-with-licenses -t pattern kde exit $?
Beispiel: Hinzufügen eines Repositories:
[Actions] requiredWinstVersion >= "4.11.4.1" ScriptErrorMessages=off DefVar $distCodeName$ DefVar $distroName$ DefVar $distRelease$ DefVar $desktop$ DefStringList $linuxInfo$ set $linuxInfo$ = getLinuxVersionMap set $distCodeName$ = getValue("Codename", $linuxInfo$) set $distRelease$ = getValue("Release", $linuxInfo$) set $distroName$ = getValue("Distributor ID", $linuxInfo$) set $desktop$ = GetProductProperty("desktop", "kde") if $distroName$ = 'Ubuntu' if $desktop$ = "cinnamon" set $desktopPackage$ = $desktop$ ShellInAnIcon_ubuntu_cinnamon if not("0" = getLastExitCode) Message "failed ShellInAnIcon_ubuntu_cinnamon" LogError "failed ShellInAnIcon_ubuntu_cinnamon" isFatalError "failed cinnamon" endif endif ; cinnamon endif; ubuntu [ShellInAnIcon_ubuntu_cinnamon] set -x export DEBIAN_FRONTEND=noninteractive # we need to get the add-apt-repository command apt-get --yes --force-yes install python-software-properties # the cinnamon repository add-apt-repository ppa:gwendal-lebihan-dev/cinnamon-stable apt-get update apt-get --yes install ubuntu-desktop exit $?
Hier einige Lokalbootprodukte welche zum Standardumfang des opsi Linuxsupports gehören.
Dieses Produkt übernimmt jene Teile der Basisinstallation welche sich vom bootimage nicht korrekt ausführen lassen.
Dies ist für die unterschiedlichen Distributionen:
Fedora / CentOS:
Fedora:
Das Produkt hat eine Abhängigkeit zu dem Produkt l-system-update welches vor dem Lauf von l-os-postinst aufgerufen wird.
Das Produkt hat eine hohe Priorität, d.h. es wird vor normalen Produkten ausgeführt.
Das Produkt l-desktop installiert ein Desktop Paket auf dem Rechner.
Über das Property desktop
kann der zu installierende Desktop ausgewählt werden. Dabei ist zu beachten, das nicht alle Desktops auf allen Distributionen verfügbar sind. So gibt es z.B. Unity nur unter Ubuntu. Wird ein nicht verfügbarer Desktop gewählt so wird ein Distributionsspezifischer Defaultdesktop installiert. Weiterhin haben die Desktop Pakete einen unterschiedlichen Umfang welcher abhängig von Distribution und Desktop sich auf die eigentliche Desktop Software beschränken kann oder auch Basisprodukte wie libreoffice, firefox, PDF-Reader usw. enthalten kann.
Das Property desktop
hat folgende Werte:
Hardwareinventarisierung.
Die Hardwareinventarisierung basiert zur Zeit auf der in Python implementierten Methode wie sie auch vom bootimage verwendet wird. Dazu muß das Paket python-opsi
aus dem opsi-Repository der Distribution installiert werden. Ist für die Distribution kein opsi-Repository verfügbar, so scheitert auch die Hardwareinventarisierung.
Zur Inventarisierung werden die Daten durch den Clientagenten erhoben und an den Server gesendet. Die Hardwareinventarisierung basiert auf den schon im Bootimage implementierten Methoden.
Die Softwareinventarisierung basiert auf den Daten des Paketmanagements der verwendeten Distribution.
Ab opsi v 4.0.5 sind eine zunehmende Anzahl von Linuxprodukten auch UEFI/GPT kompatibel. Details siehe hierzu in der obigen Auflistung der Netbootprodukte.
Die Linux Unterstützung von opsi ist neu. Das bedeutet auch, dass wir im ersten Release noch nicht alle Features verwirklicht haben.
Weitere Features werden folgen wie:
Eine brauchbare Anleitung zur Erstellung eines eigenen Ubuntu Proxy finden Sie hier:
http://wiki.ubuntuusers.de/Lokale_Paketquellen/Apt-Cacher-ng
http://www.gambaru.de/blog/2011/10/26/apt-cacher-ng-ein-proxy-server-fur-debian-und-ubuntu/
Dieses Modul ist momentan eine
kofinanzierte opsi Erweiterung.
Es sind eine Reihe von Vorbedingungen nötig, um dieses Modul einsetzen
zu können. Das bedeutet, das Sie zum Einsatz eine Freischaltdatei benötigen. Diese Freischaltung erhalten Sie wenn Sie die Erweiterung kaufen. Zu Evaluierungszwecken stellen wir Ihnen auch eine zeitlich befristete Freischaltung kostenlos zur Verfügung ( → mail an info@uib.de).
Technische Voraussetzungen sind opsi 4.0.5 mit den Paketständen:
Neue PC’s, Tablets und Server enthalten meist ein UEFI BIOS. Häufig kann dieses in einen Legacy Mode umgestellt werden, um das bisherige Verhalten und die Unterstützung eines PXE Boots zu bekommen. Es tauchen aber auch zunehmend Geräte mit UEFI-only BIOS auf (besonders bei den Tablets). Diese lassen sich in einer bisherigen opsi Umgebung nicht per netboot verwalten.
Um auch diese Geräte in opsi integrieren bzw. die Vorteile von UEFI nutzen zu können, entwickelt die uib gmbh die opsi Erweiterung UEFI Support.
UEFI steht für Unified Extensible Firmware Interface und ist der Nachfolger des klassischen PC-BIOS (auch MBR-BIOS genannt).
Für Detailierte Informationen zum Thema UEFI finden sich unten einige Links.
UEFI ist ungleich mächtiger als das herkömmliche BIOS. Im Prinzip ist UEFI ein eigenes kleines Mini-Betriebssystem. Hier sollen aber nur Punkte erwähnt werden, welche für den Systemverwalter von besonderer Bedeutung sind:
Partitionierung mit GPT und zusätzliche Partitionen für die Bootloader:
Links :
http://de.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface
GPT (GUID Partition Table) ersetzen die bisherigen MBR Partitionstabellen. GPT ist Bestandteil der UEFI Spezifikation.
Wesentliche Merkmale für den Sysadmin sind:
Prinzipiell lässt sich GPT auch ohne UEFI verwenden. UEFI funktioniert aber nur mit GPT. Wird UEFI verwendet, so kommen ein bis zwei zusätzliche Partitionen hinzu:
Links :
Im Gegensatz zu herkömmlichen BIOSen kann hier die Bootreihenfolge nicht nur für Geräte, sondern auch für unterschiedliche Bootloader auf der EFI System Partition eingetragen werden. Darüberhinaus ist diese Reihenfolge auch von einem laufenden Betriebssystem manipulierbar. Wenn Sie also den Netboot als oberste Priorität festlegen, so wird dies die erste OS-Installation nicht überleben.
Leider unterstützen viele frühe UEFI BIOSe noch kein Netboot, aber die Unterstützung wird zunehmend besser.
Es gibt inzwischen schon eine ganze Reihe von UEFI Bootloadern (wie z.B. grub2, elilo), leider unterstützen die wenigsten davon einen Netboot.
Die uib gmbh stellt mit der opsi-Erweiterung UEFI Support eine funktionierende Unterstützung für die Anbindung eines Clients über einen UEFI-Netboot an opsi vor. Gleichzeitig erwarten wir, dass im Rahmen der technischen Weiterentwicklung diese opsi-Erweiterung in den nächsten Jahren noch deutlich umgebaut werden wird.
Die opsi Unterstützung für UEFI ist im Rahmen einer Reihe von Teilkomponenten umgesetzt:
opsi-uefi-netboot
:uefinetbootlabel
gefunden oder handelt es sich nicht um einen UEFI Rechner wird nur ein reboot ausgelöst.Beispiel aus einer Konfiguration eines Linux isc-dhcp-server:
filename "linux/pxelinux.0"; # Das ist die UEFI Detection: if substring (option vendor-class-identifier , 19,1 ) = "0" { log (info, "pxe client"); filename "linux/pxelinux.0"; } else if substring (option vendor-class-identifier , 19,1 ) = "6" { log (info, "efi32 client"); filename "linux/pxelinux.cfg/elilo32.efi"; } else if substring (option vendor-class-identifier , 19,1 ) = "7" { log (info, "efi64 client"); filename "linux/pxelinux.cfg/elilo.efi"; } else { log (info, concat ( "Unhandled vendor class Arch: ", substring (option vendor-class-identifier , 19,1 ))); }
http://docs.fedoraproject.org/en-US/Fedora/17/html/Installation_Guide/s1-netboot-pxe-config.html
Ob ein UEFI BIOS für die Anforderungen eines Client-Management-Systems wie opsi geeignet ist, hängt von verschiedenen Kriterien ab. Diese Kriterien sagen nichts über die Qualität des Gerätes als solches aus, sondern nur über seine Wartbarkeit per Netboot-Anbindung. Es geht hier also um die BIOS-Funktionen zum UEFI Netboot. Hier ein beispielhafter Vergleich :
Tabelle 10.2. Beispiele für UEFI BIOS Unterschiede
Lenovo Twist | MS-Surface | Dell Venue 11 | |
---|---|---|---|
UEFI pur | √ | √ | √ |
UEFI + CSM | √ | x | √ |
Legacy | √ | x | √ |
Both | √ | x | x |
UEFI Netboot | √ | √ | √ |
Aktivierbarer Eintrag | √ | x | √ |
Netboot ohne Interaktion | √ | x | √ |
Unter Aktivierbarer Eintrag verstehen wir, das sich per Standard-Software ein Netboot für den nächsten Reboot aktivieren läßt. Netboot ohne Interaktion bedeutet, dass ein aktivierter Netboot-Eintrag beim Reboot ausgeführt wird und dazu keine Interaktion (drücken von Tastenkombinationen, F12-Taste, …) nötig sind. Sind diese Vorausetzungen gegeben, können bestimmte opsi Produkte einen Netboot auslösen. Dies ist für die automatisierung von Abläufen von großer Bedeutung. Ein Produkt in dem dies implementiert ist ist das Localbootprodukt für Windows und Linux opsi-uefi-netboot
.
Die folgenden Unterkapitel dienen als Wissensbasis zu dem händigen oder gescripteten Umgang mit UEFI / GPT. Zum Vertändnis wie opsi mit UEFI/GPT arbeitet sind sie nicht erforderlich.
Manipulation der UEFI Bootloader Einträge passiert unter Linux mit dem Programm efibootmgr
.
Liste der Booteinträge:
efibootmgr -v BootCurrent: 000D Timeout: 0 seconds BootOrder: 0012,0011,000D,0010,000B,0009,0007,0008,000A,000C Boot0000 Setup Boot0001 Boot Menu (..) Boot0007* USB CD 030a2400d23878bc820f604d8316c068ee79d25b86701296aa5a7848b66cd49dd3ba6a55 Boot0008* USB FDD 030a2400d23878bc820f604d8316c068ee79d25b6ff015a28830b543a8b8641009461e49 Boot0009* ATA HDD0 030a2500d23878bc820f604d8316c068ee79d25b91af625956449f41a7b91f4f892ab0f600 Boot000D* PCI LAN 030a2400d23878bc820f604d8316c068ee79d25b78a84aaf2b2afc4ea79cf5cc8f3d3803 Boot0010* ubuntu HD(1,800,31801,faffb7b9-bdf9-4767-b475-0b8aee68d3ac)File(\EFI\ubuntu\grubx64.efi) Boot0011* opsitempwinpe HD(4,3c72800,7cf801,dc1cea68-a296-4fb8-a97a-263227ed86f4)File(\EFI\boot\bootx64.efi) Boot0012* Windows Boot Manager HD(1,800,31801,5e4ffde2-3e25-42dd-b0f7-fcb7ee5d2b20)File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...a................
Manipulation der UEFI Bootloader Einträge passiert unter Windows mit dem Programm bcdedit
.
Liste der Booteinträge:
bcdedit /enum firmware Start-Manager für Firmware - - - - - - - - - - - - - - - Bezeichner {fwbootmgr} displayorder {bootmgr} {99a9f9be-9a98-11e3-b22f-806e6f6e6963} {11a8b97e-99df-11e3-ae5c-b888e3e3cbb4} {11a8b986-99df-11e3-ae5c-b888e3e3cbb4} Windows-Start-Manager - - - - - - - - - - - - - - - Bezeichner {bootmgr} device partition=\Device\HarddiskVolume1 path \EFI\Microsoft\Boot\bootmgfw.efi Firmwareanwendung (101fffff) - - - - - - - - - - - - - - - Bezeichner {11a8b971-99df-11e3-ae5c-b888e3e3cbb4} description Setup Firmwareanwendung (101fffff) - - - - - - - - - - - - - - - Bezeichner {11a8b972-99df-11e3-ae5c-b888e3e3cbb4} description Boot Menu (...) Firmwareanwendung (101fffff) - - - - - - - - - - - - - - - Bezeichner {11a8b978-99df-11e3-ae5c-b888e3e3cbb4} description USB CD Firmwareanwendung (101fffff) - - - - - - - - - - - - - - - Bezeichner {11a8b979-99df-11e3-ae5c-b888e3e3cbb4} description USB FDD Firmwareanwendung (101fffff) - - - - - - - - - - - - - - - Bezeichner {11a8b97a-99df-11e3-ae5c-b888e3e3cbb4} description ATA HDD0 Firmwareanwendung (101fffff) - - - - - - - - - - - - - - - Bezeichner {11a8b97e-99df-11e3-ae5c-b888e3e3cbb4} description PCI LAN Firmwareanwendung (101fffff) - - - - - - - - - - - - - - - Bezeichner {99a9f9be-9a98-11e3-b22f-806e6f6e6963} device partition=X: path \EFI\boot\bootx64.efi description opsitempwinpe
Mit beiden Programmen lassen sich Einträge erstellen, löschen, der nextboot setzen und die Reihenfolge manipulieren.
Beispiel: Eintrag für den nächsten Boot setzen:
Linux
efibootmgr /bootnext <hexId>
Windows
bcdedit /set {fwbootmgr} bootsequence <GUID>
GPT Partitionen kennen neue Partitionstypen. Diese sind an die bisher bekannten angelehnt. So wird aus dem Partitionstyp für NTFS 07
unter GPT 0700
. Analog wird aus den Linux Partitionstypen 82
und 83
entsprechend 8200
und 8300
.
Die Liste der bekannten Partitionstypen kann man sich anzeigen lassen:
# sgdisk -L 0700 Microsoft basic data 0c01 Microsoft reserved 2700 Windows RE 4100 PowerPC PReP boot 4200 Windows LDM data 4201 Windows LDM metadata 7501 IBM GPFS 7f00 ChromeOS kernel 7f01 ChromeOS root 7f02 ChromeOS reserved 8200 Linux swap 8300 Linux filesystem 8301 Linux reserved 8302 Linux /home 8400 Intel Rapid Start 8e00 Linux LVM a500 FreeBSD disklabel a501 FreeBSD boot a502 FreeBSD swap a503 FreeBSD UFS a504 FreeBSD ZFS a505 FreeBSD Vinum/RAID a580 Midnight BSD data a581 Midnight BSD boot a582 Midnight BSD swap a583 Midnight BSD UFS a584 Midnight BSD ZFS a585 Midnight BSD Vinum a800 Apple UFS a901 NetBSD swap a902 NetBSD FFS a903 NetBSD LFS a904 NetBSD concatenated a905 NetBSD encrypted a906 NetBSD RAID ab00 Apple boot af00 Apple HFS/HFS+ af01 Apple RAID af02 Apple RAID offline af03 Apple label af04 AppleTV recovery af05 Apple Core Storage be00 Solaris boot bf00 Solaris root bf01 Solaris /usr & Mac Z bf02 Solaris swap bf03 Solaris backup bf04 Solaris /var bf05 Solaris /home bf06 Solaris alternate se bf07 Solaris Reserved 1 bf08 Solaris Reserved 2 bf09 Solaris Reserved 3 bf0a Solaris Reserved 4 bf0b Solaris Reserved 5 c001 HP-UX data c002 HP-UX service ea00 Freedesktop $BOOT eb00 Haiku BFS ed00 Sony system partitio ef00 EFI System ef01 MBR partition scheme ef02 BIOS boot partition fb00 VMWare VMFS fb01 VMWare reserved fc00 VMWare kcore crash p fd00 Linux RAID
Tatsächlich sind diese hier gezeigten Partitionstypen nur Abkürzungen für die eigentlich verwendeten GUID’s welche dem Partitionierungsschema den Namen gegeben haben.
Also:
0700
steht für Microsoft basic data
und für die GUID EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
Eine Liste der GUID’s findet sich z.B. bei Wikipedia:
https://de.wikipedia.org/wiki/GUID_Partition_Table#Partitionstyp-GUIDs
https://en.wikipedia.org/wiki/GUID_Partition_Table#Partition_type_GUIDs
Weiterhin kennt das Werkzeug gdisk (und sgdisk, …) eine interne Ersetzungstabelle für unbekannte Partitionstypen. So gibt es für den alten Partionstyp für vfat32 0b
keine Entsprechung als 0b00
. Übergibt man aber trotzdem 0b00
als Typ an sgdisk so wird ohne jede Meldung hieraus 0700
. Dies passiert wohl nach der Überlegung: vfat32 - das wird schon eine Microsoft Daten Partition sein…
GPT Partitionen kennen Attribute.
Liste der z.Zt. bekannten Attribute
Wert | Beschreibung | Attributwert (sgdisk --info / diskpart gpt attribute) |
nix | nix | 0000000000000000 |
0 | Systempartition (system partition) | 0000000000000001 |
1 | Verstecke die Partition vor EFI (hide from EFI) | 0000000000000002 |
2 | Legacy Bootflag (legacy BIOS bootable) | 0000000000000004 |
60 | Nur lesen (read-only) | 1000000000000000 |
62 | Versteckt (hidden) | 4000000000000000 |
63 | Nicht Einhängen (do not automount) | 8000000000000000 |
Die attribute werden unter Linux bei sgdisk über die Option -A, --attributes
unter Verwendung der Kurzform und unter Windows über diskpart mit dem Befehl gpt attributes
unter Verwendung der Langform gesetzt.
Beispiele:
select disk 0 select partition 1 gpt attributes=0x0000000000000000
sgdisk -t 1:0700 --attributes 1:clear:63 --attributes 1:set:62 -p /dev/sda
Anzeigen der Partitionstabelle mit -p , --print
:
sgdisk -p /dev/sda
Anzeigen der Detailinfos zu einer Partition (1) mit --info=
:
sgdisk --info=1 /dev/sda
Technische Voraussetzungen sind opsi 4.0.3 mit den Paketständen:
bzw. opsi 4.0.5 mit den Paketständen:
Tabelle 11.2. Benötigte Pakete
opsi-Paket | Version |
---|---|
opsi-linux-bootimage | >= 20140805-1 |
opsi-clonezilla | >= 4.0.5-1 |
Neben der Paketbasierten (unattended) installation hatte opsi in der Vergangenheit nur eine rudimentäre Unterstützung für Image basierte Installationen. Mit der Integration der Technik des Open Source Produktes clonezilla (http://clonezilla.org/) stellen wir nun eine umfangreiche und flexible Lösung zum Umgang mit Partitions- und Plattenimages vor.
Wir haben die clonezilla scripte mit dem opsi-linux-bootimage kombiniert. Dadurch ergeben sich folgende Vorteile:
Per default läuft opsi-clonezilla im interaktiven Modus. Dieser erlaubt es einfach und bequem die Parameter für einzelne Aktionen zu bestimmen und kann aber auch als Basis für die Automatisierung dienen.
imageshare
auf einen share, welcher vom user pcpatch
mit dem dem opsi-server bekannten Passwort gemountet werden kann. Das Format für den share ist dabei //server/share
(Beachten Sie die Verwendung von slashs statt backslashs). Dieser share ist üblicherweise der share opsi_images
des opsi servers.
runcommand
auf /opt/drbl/sbin/ocs-live
bzw. ocs-live
ab opsi 4.0.5. Dies ist der Interaktive Modus von clonezilla.
/home/partimg
etwas gemountet werden soll. Wählen Sie Skip
da dies vom bootimage schon erledigt worden ist.
Abbildung 11.1. Skip: Der über das Property 'imageshare’angegebene Ziel- / Quell-share wird vom opsi-bootimage nach /home/partimg
gemountet.
Die gemounteten Partitionen werden angezeigt:
In der Abfrage Expert
oder Beginner
bestimmen Sie ob Sie im folgenden die Defaultparameter ungefragt übernehmen (Beginner
) oder diese abändern können (Expert
).
Vor opsi 4.0.5 sollte die Wahl hier auf Expert
fallen um in Hinblick auf die Automatisierung z.B. Rückfragen ausschalten zu können.
Ab opsi 4.0.5 können Sie auch den Beginner
Modus wählen.
Nun können Sie wählen welche Operation Sie durchführen wollen. Hier werden die folgenden Operationen behandelt:
Hier beispielhaft anhand der savedisk Operation die zusätzlichen Masken des Expertmodes.
Abbildung 11.6. Durchmischtes: Hier -c abwählen um für die automation zusätzliche Rückfragen zu vermeiden.
Abbildung 11.7. Kompressionsmethode vor opsi 4.0.5 also bei bootimages ⇐ 20130207 (opsi-clonezilla_2.01-3) hier -z1 wählen. Ab opsi 4.0.5 ist dies nicht mehr nötig.
Abbildung 11.10. Action after cloning (den default -p true nutzen, der reboot wird vom opsi bootimage ausgelöst.)
Abbildung 11.13. Das resultierende Kommando. Dieses kann auch im Produktproperty runcommand verwendet werden
Abbildung 11.17. Das resultierende Kommando. Dieses kann auch im Produktproperty runcommand verwendet werden
Abbildung 11.21. Das resultierende Kommando. Dieses kann auch im Produktproperty runcommand verwendet werden
Abbildung 11.22. Rückfrage vor dem Beginn des Überschreibens der disk. Kann durch entfernen der Option -c aus dem Kommando unterdrückt werden
Durch Angabe des entsprechenden Kommandos im Property runcommand
wird opsi-clonezilla in den nichtinteraktiven Modus versetzt.
imageshare
auf einen share, welcher vom user pcpatch
mit dem dem opsi-server bekannten Passwort gemountet werden kann. Das Format für den share ist dabei //server/share
(Beachten Sie die Verwendung von slashs statt backslashs).
runcommand
auf ein entsprechendes nicht-interaktives Kommando.
Beispiele aus den bisher gezeigten Vorgängen (ohne -c und mit --batch). Ab opsi 4.0.5 können Sie den Parameter -z1
weglassen. Dies beschleunigt die Kompression bei mehreren Prozessor Kernen:
/opt/drbl/sbin/ocs-sr --batch -q2 -j2 -rm-win-swap-hib -z1 -i 2000 -p true savedisk 2014-06-11-12-img sda
/opt/drbl/sbin/ocs-sr --batch -q2 -j2 -rm-win-swap-hib -z1 -i 2000 -p true saveparts partimg sda1
/opt/drbl/sbin/ocs-sr --batch -g auto -e1 auto -e2 -r -j2 -p true restoredisk 2014-06-11-12-img sda
/opt/drbl/sbin/ocs-sr --batch -g auto -e1 auto -e2 -r -j2 -k -p true restoreparts partimg sda1
Wenn man nun bei diesen Beispielen die imagenamen 2014-06-11-12-img
bzw. partimg
durch den string imagefile ersetzt, so wird dieser String jeweils durch den Wert des Properties imagefile
ersetzt.
In der Version 4.0.5-2 mit bootimage Version 20140819-1 gibt es beim Imagen von Rechnern im UEFI Mode noch Probleme
http://clonezilla.org/clonezilla-live-doc.php
http://allthatnetwork.blogspot.de/2012/10/clonezilla-ocs-sr-options.html
Clonezilla ocs-sr options
Setting the TERM as linux /opt/drbl/sbin/ocs-sr: -h: invalid option Usage: To save or restore image ocs-sr [OPTION] {savedisk|saveparts|restoredisk|restoreparts} IMAGE_NAME DEVICE Options for saving:
Three words are reserved for IMAGE_NAME, "ask_user" is used to let user to input a name when saving an image. "autoname" is used to automatically generate the image name based on network card MAC address and time. "autohostname" is used to automatically generate the image name based on hostname.
A word is reserved for DEVICE, "ask_user" could be used to let user to select the source device when saving an image.
Options for restoring:
A word is reserved for IMAGE_NAME, "ask_user" is used to let user to input a name when saving an image.
A word is reserved for DEVICE, "ask_user" could be used to let user to select the source device when saving an image.
General options:
Example:
ocs-sr --use-ntfsclone -z3 savedisk IMAGE1 hda
ocs-sr --use-ntfsclone -z3 saveparts IMAGE2 "hda1 hda2"
ocs-sr -g auto restoredisk IMAGE1 hda
ocs-sr -g auto restoreparts IMAGE2 "hda1 hda2"
ocs-sr -x
Dieses Modul ist momentan eine
kofinanzierte opsi Erweiterung.
Es sind eine Reihe von Vorbedingungen nötig, um dieses Modul einsetzen
zu können. Das bedeutet, dass Sie zum Einsatz eine Freischaltdatei benötigen. Diese Freischaltung erhalten Sie, wenn Sie die Erweiterung kaufen. Zu Evaluierungszwecken stellen wir Ihnen auch eine zeitlich befristete Freischaltung kostenlos zur Verfügung ( → mail an info@uib.de).
Diese kofinanzierte Erweiterung kann bis auf weiteres nur von der öffentlichen Hand (z.B. Schulen / Unis) erworben werden.
Technische Voraussetzungen sind opsi 4.0.3 mit den Paketständen:
Opsi bietet eine gute Basis, um automatisiert Windows Rechner zu installieren und zu pflegen - auch und gerade, wenn es sich um heterogene Hardware handelt. Die von opsi unterstützte Technik der Paket basierten Installation ist aber nicht schnell genug, um in Schulungsräumen Rechner innerhalb von kurzer Zeit wie z.B. in einer Pause zwischen zwei Kursen wieder in einen definierten Zustand zu versetzen. Daher wird hier ein Konzept vorgestellt, bei dem die paketbasiert durchgeführte Installation lokal auf einer zweiten Partition als Imagekopie gesichert wird und von dort eine schnelle Wiederherstellung möglich ist.
Die Anforderungen edukativer Computernetze unterscheiden sich teilweise von denen anderer Netzwerke. Eine wesentliche Anforderung, die im Folgenden diskutiert wird, ist die schnelle Wiederherstellung von Rechnern in einen definierten Zustand, den Sie im Rahmen einer temporären Nutzung verloren haben. Konkret geht es um die Bereitstellung von Rechnern in schulischen Computerräumen, wobei die Problemlage auch auf kommerzielle Computerräume oder universitäre Computerpools zutrifft.
Die Wiederherstellung muss zwingend innerhalb von kurzer Zeit (15 Minuten / Große Pause) erfolgen und sollte soweit möglich einen Rechner nicht nur zurücksetzen sondern auf eine andere Basisinstallation (z.B. Win XP / Win 7 / Linux) umschalten können. Weiterhin muss es möglich sein, dass eine kontinuierliche Pflege der Systeme mit Sicherheitsupdates gewährleistet ist.
opsi ist ein Client-Management-System, das seine Stärken in der paketbasierten Installation und Pflege von Windows-Systemen hat. Dabei gibt es im Umgang mit heterogener Hardware deutliche Vorteile gegenüber rein imagebasierten Systemen. Die damit einhergehenden Installationszeiten von etwa 2 Stunden sind aber weit von den oben angegebenen Anforderungen entfernt. Imagebasierte Lösungen sind hier prinzipiell schneller. Aber auch rein imagebasierte Systeme können bei dem Versuch, für einen ganzen Klassenraum ein Image herunterzuladen, zu Netzwerkproblemen führen. Dieses Problem kann durch lokal gepufferte Images gelöst werden. Ein solcher Ansatz wird z.B. vom Linux basierten System LinBo (Quelle http://linbo.sourceforge.net/) verfolgt. Doch auch mit lokal gepufferten Images kann es, abhängig von der verwendeten Hardware (Stichwort Festplatten- Performance), zu Zeitproblemen kommen, wenn versucht wird, komplette Images innerhalb von 15 Minuten wiederherzustellen.
Eine weitere mögliche Problemlösung, das Einfrieren eines Betriebssystems und Umlenken sämtlicher Schreibzugriffe in einen externen Container, der bei einem Neustart einfach verworfen werden kann, ist eine möglicher Ansatzpunkt. Für Linux existieren Ansatzpunkte z.B. über FUSE Filesysteme. Für Windows gibt es eingeführte kommerzielle Produkte, welche sich auch über die Kommandozeile (und damit per opsi) steuern ließen. Uns sind allerdings für den Windows Bereich keine entsprechenden Open Source Produkte bekannt. Da wir aber eine Open Source Lösung schaffen wollen, findet dieser Lösungsansatz hier keine weitere Betrachtung.
Der im Folgenden untersuchte Ansatz versucht die Vorteile der jeweiligen Ansätze zu kombinieren, ihre Nachteile zu vermeiden und für eine unterschiedliche Hardware-Ausstattung (langsame / schnelle Rechner) angepasste Möglichkeiten zu bieten. Die Grundidee kann in den folgenden Stichpunkten zusammengefasst werden:
Der Schulungsrechner wird mit einer statischen Partitionstabelle verwendet. Dabei kann entweder mit 3 oder 4 Partitionen gearbeitet werden:
opsi-local-image-prepare
über ein Property gesteuert.
opsi-local-image-prepare
über ein Property gesteuert.
Die Netbootprodukte zur Betriebssystem Installation verwenden nur die ersten zwei oder drei Partitionen (XP nur die erste) und lassen die letzte Backup-Partition unberührt. Somit bleiben die auf der Partition 4 (backup) liegenden Images auch bei der Installation eines neuen Betriebssystems erhalten.
Das Paket opsi-local-image besteht aus mehreren Komponenten:
Den Netbootprodukten:
opsi-local-image-prepare
opsi-local-image-winxp
opsi-local-image-win7
opsi-local-image-win7-x64
opsi-local-image-win8
opsi-local-image-win8-x64
opsi-local-image-win81
opsi-local-image-win81-x64
opsi-local-image-ubuntu
opsi-local-image-backup
opsi-local-image-restore
opsi-local-image-delete
opsi-local-image-capture
Den Lokalbootprodukten:
opsi-local-image-backup-starter
opsi-local-image-sysprep
Einer Erweiterung der opsi Service Methoden.
opsi-local-image-prepare
system_partition_size
wird die Größe der Partition 1 angegeben (Default = 30G)data_partition_size
wird die Größe der Partition 2 angegeben. Bei eine Größe von 0G wird keine Partition für Daten angelegt. (Default = 0G)start_os_installation
kann ein Produkt zur Installation eines Betriebssystems ausgewählt werden, welches im Anschluß an die Partitionierung automatisch gestartet wird.
Bei der Installation dieses Produkts werden beim Produkt opsi-local-image-restore
die Produktproperties imagefile und imagefiles_list gelöscht, da durch die Neupartitionierung diese Daten ungültig geworden sind.
Verwenden Sie dieses Produkt nur zur initialen Vorbereitung der Platte. Es löscht alle gespeicherten Images.
Die Netbootprodukte zur Installation von Windows sind Abkömmlinge der opsi Standardprodukte zur Windowsinstallation. Das bedeutet konkret, dass sie bezüglich des Aufbaus und der Treiberintegration identisch sind. Entsprechende Anleitungen finden sich im opsi-getting-started Handbuch.
opsi-local-image-winxp
opsi-local-image-win7
nt123
.
opsi-local-image-win7-x64
nt123
.
opsi-local-image-win8
nt123
.
opsi-local-image-win8-x64
nt123
.
opsi-local-image-win81
nt123
.
opsi-local-image-win81-x64
nt123
.
Diese Produkte haben folgende opsi-local-image spezifische Properties:
imageFile
des Produktes opsi-local-image-restore
gelöscht. Dies führt dazu, dass das erstellte Backup den Namen des laufenden Netbootproduktes (z.B. opsi-local-image-win7
) bekommt.
opsi-local-image-ubuntu
Installation von Ubuntu Linux 12.04/14.04 32Bit/64Bit.
Das installierte System kennt 2 user: root
und user
. Für root wird das im Produktproperty root_password
festgelegte Passwort gesetzt (Default: linux123
). Für user wird das im Produktproperty user_password
festgelegte Passwort gesetzt (Default: linux123
).
Details der Installation werden über Produktproperties gesteuert. Die wesentlichen Produktproperties sind dabei:
askbeforeinst
:architecture
:additional_packages
:language
:console_keymap
timezone
:online_repository
proxy
:http://<ip>:<port>
. (Default = '')
backup_after_install
setup_after_install
wget_and_execute
:release
:install_opsi-client-agent
:
opsi-local-image-backup
Dieses Produkt sichert das aktuell auf Partition 1 installierte Betriebssystem in einer Imagedatei auf Partition 4. Als Image Namen wird der im Property gesetzte Name verwendet. Wenn dieser leer ist, so wird der Name des opsi Netbootproduktes verwendet, welcher aktuell auf installed steht (z.B. opsi-local-image-winxp
). Dieser Name wird beim Produkt opsi-local-image-restore
als Produktproperty imagefile gesetzt, so daß ein nachfolgender Aufruf von opsi-local-image-restore
per default genau dieses Image wiederherstellt. Dieser Name wird beim Produkt opsi-local-image-restore
dem Produktproperty imagefiles_list hinzugefügt. Damit enthält dieses Property die Liste aller verfügbaren Images. Weiterhin werden (für die Windows-Produkte) die aktuellen opsi-Produktstände zusammen mit dem Image gesichert, damit auch diese im Rahmen des restores wiederhergestellt werden können.
Als Sicherungsmethode wird partclone verwendet.
Properties:
imagefile
opsi-local-image-restore
Dieses Produkt spielt das im Produktproperty imagefile angegebene Image wieder auf der Partition 1 ein und sorgt dafür, dass es gebootet werden kann. Weiterhin werden (für die Windows-Produkte) die für das Image gesicherten opsi-Produktstände zusammen mit dem Image wiederhergestellt.
Properties:
imagefile
imagefiles_list
.
imagefiles_list
method
partclone-image-restore
und rsync-partclone-image
. Der default ist rsync-partclone-image
. Die Methode rsync-partclone-image
ist nur möglich wenn sich auf der Partition 1 das Betriebsystem befindet, von dem das bei imagefile
angegebene Image erstellt wurde. D.h. mit dieser Methode können kleine Änderungen rückgängig gemacht werden aber es kann kein Wechsel zwischen Betriebssystemen durchgeführt werden. Die Methode partclone-image-restore
führt eine vollständige Imagekopie durch. Die Methode rsync-partclone-image
steht derzeit (10.7.2013) nur für Windows (NTFS Filesystem) zur Verfügung. Wird als method rsync-partclone-image
für ein Linux-Image oder für ein Image welches zu einer anderen Windows Version gehört, als die auf der produktiv Partition vorhandene, angegeben, so wird automatisch die Methode partclone-image-restore
angewendet.rsync-partclone-image
, so wird automatisch der Restore mit der Methode partclone-image-restore
weitergeführt.rsync-partclone-image
hat ihre Vorteile bei wenigen Änderungen auf langsamen (IDE) Platten. Bei aktuellen (SATA) Platten empfehlen wir prinzipiell die Verwendung von partclone-image-restore
.
update_and_backup
setup
gestellt werden und das Produkt opsi-local-image-backup-starter
auf once
gesetzt wird. Dies führt dazu, dass alle vorhandenen Updates eingespielt und nach den Updates automatisch wieder eine Sicherung durchgeführt wird.
setup_after_restore
opsi-local-image-delete
Dieses Produkt löscht das im Produktproperty imagefile angegebene Image von der Backup Partition
imagefile
opsi-local-image-backup-starter
opsi-local-image-backup
auf setup und rebootet den Rechner dann. Dieses Produkt hat eine sehr niedrige Priorität von -98. Dies bedeutet das alle normalen Localboot Produkte vorher abgearbeitet werden. Dies kann zu folgendem genutzt werden:opsi-local-image-restore
opsi-local-image-backup-starter
so führt dies zu folgendem Ablauf:
Im Rahmen dieser Erweiterung können die Rechner eines Schulungsraums in einer opsi-client Gruppe zusammengefasst werden. Um möglichst komfortable Aktionen für alle Rechner eines Schulungsraums auszulösen sind folgende Erweiterungen der opsi-service Methoden vorgesehen:
setProductActionRequestForHostGroup
hostGroupId, productId, actionRequest
setProductPropertyForHostGroup
productId propertyId propertyValue hostGroupId
getPossibleImagefileValuesForHostGroup
groupId
opsi-local-image-backup
auf allen Mitgliedern der Gruppe angelegt hat. Wenn ein bestimmtes Image (z.B. opsi-local-image-winxp
) auf einem oder mehreren Rechnern nicht vorhanden ist, so ist es nicht Bestandteil der Rückgabeliste.
Diese Methoden werden zu einem späteren Zeitpunkt in die Standardpakete von opsi integriert. Bis dahin steht Ihnen in der Auslieferung eine Datei 40_groupActions.conf
zur Verfügung die Sie bitte mit root Rechten nach /etc/opsi/backendManager/extend.d
kopieren. Führen Sie danach aus:
opsi-setup --set-rights /etc/opsi
.
Über das Produkt opsi-local-image-prepare
wird zunächst die notwendige statische Partitionierung erzeugt.
Anschließend können über die Produkte opsi-local-image-winxp
, opsi-local-image-win7
, opsi-local-image-win7-x64
und opsi-local-image-ubuntu
verschiedene Betriebssysteme mit unterschiedlicher Ausstattung an Anwendungssoftware installiert werden.
Diese werden per default nach Ihrer Installation automatisch als Image gesichert.
Der einfache Aufruf des Produktes opsi-local-image-restore
stellt automatisch das letzte erstellte Image wieder her. Soll ein anderes Image wieder hergestellt werden, so muß dies im Property imagefile
angegeben werden.
Durch den Aufruf des Produktes opsi-local-image-restore
mit der Propertyeinstellung update_and_backup
= true wird das angegebene Image restored, alle Anwendungssoftware upgedated (soweit Updates auf dem Server vorhanden) und anschließend automatisch wieder eine Sicherung durch geführt.
Die Backuppartion ist (bei MBR BIOS und ohne Datenpartition) die dritte Partition der 1. Festplatte.
Dort finden sich:
master.log
mit Informationen über alle durchgeführten Image Operationen. Diese Logdatei wird in die bootimage logs übernommen.
opsi-local-image-ubuntu
: 3.6G
opsi-local-image-winxp
: 6.4G
opsi-local-image-win7
: 9.4G
opsi-local-image-win7-x64
: 13G
Microsoft hat mit NT6 (also ab Vista) zur Installation ein neues Imageformat, das Windows Imaging Format (WIM) eingeführt. Ein WIM Image ist kein Platten- oder Partitionsimage sondern mehr ein Dateien und Metadaten Archiv. Eine WIM Datei kann mehrere Images enthalten. Die normale Installation eines NT6 Rechners basiert darauf, dass die setup.exe ein Image aus der Datei install.wim auspackt und dieses danach konfiguriert und mit zusätzlichen Treibern versieht.
Von einem existierender Rechner kann das Windows inclusive installierter Software und Konfigurationen ausgelesen und in Form eines WIM abgespeichert werden. Ein solches WIM kann dann wieder die Basis für neue Installationen sein.
Das Paket opsi-local-image besteht aus mehreren Komponenten:
Den Netbootprodukten:
opsi-local-image-capture
Den Lokalbootprodukten:
opsi-local-image-backup-sysprep
opsi-set-wim-imagenames
opsi-del-wim-images
opsi-client-agent
>= Version 4.0.4.5-3
Erstellen des Masterrechners:
Dieser wird mit opsi-local-image als Rechner erstellt und kann dabei Software und Konfigurationen sowohl per opsi als auch von Hand bekommen.
Sysprep: Depersonalisieren des Masters:
Damit ein capture Image als Basis für eine Installation dienen kann muß es zunächst dafür vorbereitet werden. Dabei wird der Rechner depersonalisiert, d.h. Der Rechner hat danach keine Identität mehr und ist gut geeignet als Vorlage für eine Neuinstallation aber als Rechner selber kaum noch brauchbar.
Daher kann beim opsi-local-image-sysprep Produkt über Produkt Properties gesteuert werden ob vor der eigentlichen Depersonalisierung noch ein Backup angelegt werden soll:
always_backup_before_sysprep
(true/false) Default=true: Startet immer ein Backup vor dem sysprep Vorgang.
abort_on_no_backup
(true/false) Default=true: Prüft ob auf der Backuppartition ein Backup zu diesem Produkt vorhanden ist und bricht ab falls nicht.
Nach dem sysprep Vorgang wird üblicherweise der eigentliche capture Vorgang gestartet, der durch das netboot Produkt opsi-local-image-capture durchgeführt wird. Ob der Start automatisch durchgeführt wird entscheidet das Property:
startcapture
(true/false) Default=true: Setze das Produkt opsi-local-image-capture
auf setup und reboot den Rechner
Capture: Die vorhandene Installation auslesen und zur Installation bereitstellen:
Im Rahmen dieses Mehrstufigen Prozesses wird der vorhandene Rechner ausgelesen und als WIM Image in ein vorhandenes opsi Windows Installationsprodukt integriert. Von daher gibt es naheliegender Weise ein Produktproperty über das angegeben werden kann in welches Produkt das ausgelesene Image integriert werden soll:
target_product
: Name des Ziel Produktes (Default = '')
Dieses Property ist nicht schlau, es wird nicht überprüft ob das ausgelesene Image zum Zielprodukt passt. Sie können also ohne Fehlermeldung ein win7-32Bit Image in ein Win81-64Bit Produkt schreiben. Das sollten Sie aber nicht! Wir empfehlen die Verwendung von gesonderten Produkten, welche nur als Ziel dienen (z.B. opsi-local-image-win81-x64-capture
).
Das Zielprodukt muß genauso wie ein normales Produkt zur Windows Installation vorbereitet werden. Als Zieldatei innerhalb des Zielproduktes dient die install.wim
Datei (installfiles/sources/install.wim
) welche auch die von Microsoft gelieferten Images enthält. Ob das ausgelese Image nun an diese Datei angehängt werden soll oder eine neue install.wim erzeugt werden soll, steuert das Property:
capture_mode
(append/always_create) Default=append:
Bei append
wird das neu erstellte Image an die vorhandene install.wim angehängt.
Enthält die install.wim schon ein Image gleichen Namens wird dieses ohne Nachfrage gelöscht. Bei always_create
wird eine neue install.wim erstellt.
Die Install.wim Datei ist ein Container der mehrere Images enthalten kann. Die Images haben einen Namen und eine Beschreibung. Der Name und die Beschreibung des neu erstellten Images werden durch die folgenden Properties gesteuert:
imagename
Default = ''
image_description
Default = ''
Das Property start_after_capture
ist ein Liste von Produkten, welche nach dem Abschluß des Capturevorgangs auf setup gestellt werden sollen. Eine gute Idee ist hier zum Beispiel opsi-local-image-restore, welches das vor dem sysprep erstellte backup wiederherstellt.
Gesteuert durch das Property startcapture
kann der Capturevorgang direkt im Anschluß an das sysprep gestartet werden.
Der Capture Vorgang besteht grob aus zwei Phasen:
Der eigentliche Capture Vorgang soll durch das winpe auf der Platte durchgeführt werden. Hierfür muß dieses aber erst präpariert werden und dies ist die erste Phase:
start_after_capture
In der zweiten Phase startet das WinPE und führt nun den eigentlichen Capturevorgang durch. Im Detail:
append
mode: Überprüfen ob ein Image mit diesem Namen schon vorhanden ist und gegebenenfalls dieses löschen.
Imagenames
des Zielproduktes, so das das neu erstellte Image auch zur Installation ausgewählt werden kann.
start_after_capture
auf setup.
Zum Ausrollen des erstellten Images dient das per target_product
angegebene Zielprodukt. Hier wählen Sie bei imagename
das erstellte Image aus und können dieses jetzt ganz normal wie eine andere Windowsinstallation installieren. D.h. sämtliche Standards wie Treiberintegration, Installation des opsi-client-agent finden genauso statt wie wenn Sie ein Original Microsoft Image ausrollen.
Ein wichtiger Punkt bleibt zu beachten: Waren auf dem Rechner von dem das Image erstellt wurde, Software per opsi installiert, so werden diese Installationsdaten bei der Installation des opsi-client-agent wieder hergestellt. Dies hat den Nebeneffekt das anders als normaler weise nicht alle Produkte die auf installed standen bevor die Installation des Betriebssystems begann nun auf setup gesetzt werden. Dieses normale Verhalten würde hier ja dazu führen, dass alle schon im Image installierten Produkte nochmal installiert werden. Daher werden in diesem Fall auch nur die Produkte installiert, welche Sie vor der Installation des Betriebssystems auf setup gestellt haben.
Eine brauchbare Anleitung zur Erstellung eines eigenen Ubuntu Proxy finden Sie hier:
http://wiki.ubuntuusers.de/Lokale_Paketquellen/Apt-Cacher-ng
http://www.gambaru.de/blog/2011/10/26/apt-cacher-ng-ein-proxy-server-fur-debian-und-ubuntu/
Die grundsätzlichen Schritte bei der Paketierung und Verteilung einer Software sind:
Der opsi Setup Detector ist ein opsi Werkzeug zur Unterstützung der Software-Paketierung. Von seiner grafischen Benutzeroberfläche können alle Schritte von der Auswahl der zu paketierenden Setup-Datei, über das Erstellen der Installationsverzeichnisse auf der opsi Workbench, bis zur Paketierung und Installation auf dem opsi Server durchgeführt werden. Hierzu arbeitet der Setup Detector mit dem Community Projekt opsi Package Builder zusammen. Der opsi Setup Detector erkennt beim Öffnen einer Setup-Datei, ob es sich um einen bekanneten Installer-Typ handelt und ermittelt automatisch die verfügbaren Informationen aus der Setup-Datei. Mit der Zeit wird durch weitere Erfahrungen mit verschiedenen Installer-Typen und Rückmeldungen der Benutzer die Fähigkeit der automatischen Erkennung verschiedener Setup-Typen sicher noch weiter wachsen. cd
Der opsi Setup Detector läuft auf Windows Systemen ab Windows XP und ist auf dem Download-Server verfügbar als installierbares opsi-Paket: http://download.uib.de/opsi4.0/experimental/opsi-setup-detector
Falls die Pakete auch gepackt und auf dem Server installiert werden sollen, wird zusätzlich das Community Projekt opsi Package Builder benötigt, welches auf dem gleichen Windows-Rechner zu installieren ist. Weitere Informationen zum opsi Package Builder finden Sie im opsi Forum bei den opsi Community Projekten: https://forum.opsi.org/viewforum.php?f=22
Für die Erzeugung der Pakete ist ein Samba-Share mit Schreibberechtigung auf die opsi Workbench notwendig. Ausserdem ist zu beachten, dass manche Software-Pakete (z.B. manche 64 Bit Software) auch für die Integration ein entsprechendes Windows-System voraussetzen. Das heißt z.B. ein Setup für eine 64bit Windows7 Software kann eventuell nicht auf einem 32bit WindowsXP paketiert werden. Das hängt im Einzelfall ab vom Verhalten des jeweiligen Setups.
Hier nochmal die Voraussetzungen im Überblick:
Der opsi Setup Detector ist ein mit Lazarus entwickeltes Windows-Programm, das zusätzlich einige Hilfsdateien zur Analyse spezieller Setup-Formate sowie die Vorlagen-Dateien zur Erstellung eines neuen opsi Paketes benötigt. Der opsi Setup Detector mit seinen Zusatz-Dateien ist als opsi Paket verfügbar. Nach der Installation muss noch der Samba-Share auf die opsi Workbench als Basisverzeichnis eingetragen werden und schon kann mit Datei öffnen eine Setup-Datei geöffnet werden, die dann automatisch analysiert wird.
Beim Start des Programmes wird automatisch ermittelt, unter welcher Sprache das Windows System läuft. Wenn für die Sprache xx eine passende Sprachdatei languages\opsisetupdetector.xx.po gefunden wird, wird diese verwendet. Von Haus aus unterstützt der opsi Setup Detector Deutsch und Englisch. Weitere Sprachen können recht einfach über eine entsprechend zu übersetzende Sprachdatei nachgerüstet werden.
Folgende Dateien sind im opsi Setup Detector Paket enthalten und werden zur Ausführung benötigt:
Zum Erzeugen der opsi Pakete werden verschiedene Vorlagen-Dateien benötigt. Diese werden dann beim Erzeugen eines neuen Paketes in die opsi Workbench kopiert und entsprechend den Einträgen des im opsi Setup Detector angezeigten Formulars gepatcht:
Das Menü am oberen linken Rand enthält die Punkte
Der Menüpunkt Datei öffnet ein Untermenü mit:
Nach dem Öffnen einer Setup-Datei mit Datei öffnen wird diese automatisch analysiert und, falls es sich um einen bekannten Installer-Typ handelt, automatisch auf den entsprechenden Tab gewechselt. Falls der Installer-Typ nicht erkannt wird, bleibt weiterhin das Analysiere Tab stehen. Auch wenn der Installer-Typ erkannt wurde, kann jederzeit auf das Analysiere Tab zurück gewechselt werden um zu sehen, was bei der automatischen Analyse gefunden wurde.
Bei der Analyse einer MSI-Datei ist bereits durch die Endung MSI bekannt, dass es sich um ein MSI-Paket handelt. Einer EXE-Datei sieht man es aber nicht an der Endung an, mit welchem Installer-Typ sie erstellt wurde. Deshalb wird die EXE-Datei vom opsi Setup Detector automatisch nach bestimmten Kennungen durchsucht. Falls die Kennung eines bekannten Installer-Typs gefunden wurde, wird direkt auf den Tab dieses Installers gewechselt. Falls kein bekannter Setup-Typ erkannt wurde, wird die Datei nach bestimmten allgemeinen Stichworten (z.B. "Installer" oder "Setup") durchsucht und die entsprechenden Zeilen werden auf dem Analysiere Tab ausgegeben. Darin können auch kryptische Passagen und bestimmte Fehlermeldungen enthalten sein, die das Setup-Programm in bestimmten Fällen, z.B. bei aufgetretenen Fehlern während der Installation, ausgeben möchte, wie z.B.:
o@dejDs@s@t@t@du@u@<v@w@w@lx@Hy@x@x{@X|@|@@@@L@x@@Inno Setup Setup Data Das Setup hat einen schwerwiegenden Fehler erkannt und wird abgebrochen
Dies besagt aber nur, dass diese Zeichen innerhalb des Setups gefunden wurden und im Analysiere Tab angezeigt werden, da sie einem der verwendeten Suchmuster entsprechen. Oben kommt z.B. das Suchmuster "Setup" vor. Bei einem nicht automatisch erkannten Setup-Typ lässt sich in diesen Angaben eventuell ein Hinweis finden, um welchen Installer-Typ es sich handeln könnte. Alle Angaben auf dem Analysiere Tab, die eingeleitet werden von:
Analyzing: F:\<setup.exe>
und abgeschlossen werden mit:
default grep finished.
entstammen dieser automatischen Analyse und können im Normalfall unbeachtet bleiben. Falls der Setup-Typ erkannt wurde, steht dieser unterhalb von "default grep finished". Dass ein bekannter Setup Typ erkannt wurde merkt man auch daran, dass automatisch auf den entsprechenden Tab gewechselt wurde.
Je nach dem gefundenen Installer-Typ sind im Analysiere Tab noch weitere Informationen zu finden zur weiteren Analyse des Setups. Diese werden in den jeweiligen Kapiteln der entsprechenden Installer-Typen behandelt.
Der Inhalt des Analysiere Tabs wird vor einer neuen Analyse gelöscht und enthält dementsprechend nur Informationen zu dem aktuellen Setup.
Bevor auf die einzelnen Installer-Typen eingegangen wird, noch ein paar allgemeine Bemerkungen zu Setup-Dateien mit eingebettetem MSI: derzeit werden Advanced Installer oder InstallShield basierte EXE-Dateien mit eingebettetem MSI erkannt. Das MSI Paket wird automatisch entpackt und die analysierten Eigenschaften im Advanced+MSI Tab bzw. InstallShield+MSI Tab sowie zusätzlich im MSI Tab angezeigt. Eine EXE-Datei mit eingebettetem MSI kann auch mehrere unterschiedliche MSI-Pakete enthalten, z.B. für unterschiedliche Windows-Versionen oder 32bit/64bit. Das Setup entscheidet dann meist je nach den System-Gegebenheiten automatisch, welches MSI-Paket ausgepackt und verwendet wird. In diesem Fall erhält man bei Analyse des Paketes mit dem opsi Setup Detector nur das für das aktuelle System, auf dem der opsi Setup Detector läuft, passende MSI-Paket. Solche EXE-Dateien haben oft eine Kommandozeilen-Hilfe, die weitere Auskunft über die enthaltenen Pakete und die Aufruf-Möglichkeiten gibt. Auch kann eine Setup-EXE eventuell je nach System oder sonstigen Eigenschaften verschiedene MST-Dateien verwenden. Kurz und gut, eine Setup.EXE kann sich je nach den Umständen unterschiedlich verhalten. In den meisten Fällen braucht man lediglich den MSI Code des eingebetteten MSI für das opsi Deinstallations-Script. Hierbei ist zu beachten, dass ein MSI-Paket für 32bit und 64bit im Normalfall einen unterschiedlichen MSI Codes enthält. Das opsi Deinstallations-Script muss dann dafür sorgen, dass es alle diese MSI Codes kennt und bei der Deinstallation handhabt. Bei solchen Paketen sollte man den opsi Setup Detector auf unterschiedlichen Plattformen laufen lassen, um alle MSI-Kennungen zu erfassen. Wenn der opsi Setup Detector ein eingebettetes MSI findet, analysiert er dieses und zeigt die Inhalte zusätzlich im MSI Tab an. Es kann dann auch das MSI Tab als Basis für das opsi Paket genommen werden, aber im Normalfall sollte man besser die EXE-Datei nehmen, da auf diese Weise schneller eine neue Version eingebunden werden kann und die EXE-Datei eventuell auch zusätzliche Dinge tut.
Bei der Analyse wird das MSI und andere Komponenten der EXE-Datei in das Verzeichnis %TEMP%\opsitmp
entpackt. Zuvor wird eventueller anderer Inhalt gelöscht, so dass im Verzeichnis %TEMP%\opsitmp
immer nur Dateien des aktuell zu analysierenden Setups zu finden sind.
Die einzelnen Installer-Typen sind sehr unterschiedlich bezüglich der Standardisierung ihrer Struktur und automatisierten Zugänglichkeit. Bei einem MSI-Paket oder einem auf Inno-Setup basierenden Setup kann eine Menge nützlicher Informationen automatisch detektiert werden, während andere Installer-Typen, wie z.B. NSIS, keine internen Informationen des Setups zugreifbar machen. In vielen Fällen bringt die automatisierte Analyse gute Ergebnisse, aber es kann auch immer wieder Fälle geben, bei denen die automatisierte Vorgehensweise nicht funktioniert oder zumindest händige Nacharbeit erfordert. Mit zunehmenden Erfahrungen beim Einsatz wird der opsi Setup Detector seine automatisierten Fähigkeiten mit der Zeit erweitern.
Da MSI-Pakete der wichtigste und am meisten verwendete Installer Typ sind, folgt nach dem Analysiere Tab der MSI Tab, danach alle weiteren Installer Typ Tabs in alphabetischer Reihenfolge.
MSI-Dateien sind das Installations-Datenformat des Microsoft Windows Installers. Setups vom Installer-Typ MSI sind bereits an der Endung MSI als solche zu erkennen. Das Paketformat ist standardisiert, so dass der opsi Setup Detector automatisch weitere Informationen aus dem Paket auslesen und im MSI Tab, auf den automatisch gewechselt wird, anzeigen kann. Die im Analysiere Tab angezeigten Informationen sehen bei einem MSI-Paket z.B. so aus:
Analyzing MSI: F:\Setups\MSI\7-zip\7-Zip.msi Microsoft (R) Windows Script Host, Version 5.8 Copyright (C) Microsoft Corporation 1996-2001. Alle Rechte vorbehalten. MSI file: F:\uib\setupdetector\Setups\MSI\7-zip\7-Zip.msi Manufacturer: Igor Pavlov ProductName: 7-Zip 4.57 ProductVersion: 4.57.00.0 ProductCode: {23170F69-40C1-2701-0457-000001000000} UpgradeCode: {23170F69-40C1-2701-0000-000004000000} MSI file size is: 0,9 MB Estimated required space is: 5,2 MB get_MSI_info finished
Diese Informationen werden aus dem MSI-Paket gelesen und automatisch in die einzelnen Felder des MSI Tabs übernommen. Diese Angaben werden benötigt zum Patchen der opsi Installations-Scripte:
Im Falle einer EXE-Datei mit eingebettetem MSI wird das MSI Paket automatisch extrahiert und die gefundenen Informationen zusätzlich zum Tab der EXE-Date (Advanced+MSI oder InstallShied+MSI)ebenfalls hier im MSI Tab angezeigt.
Der Advanced Installer ist ein Werkzeug zur Erstellung von MSI-Paketen, die auch in EXE-Dateien eingebettet sein können. Erkennt der opsi Setup Detektor eine EXE-Datei als ein mit Advanced Installer eingebettetes MSI-Paket, wird die MSI-Datei automatisch aus der EXE-Datei extrahiert und analysiert und die gefundenen Informationen im Tab Advanced+MSI angezeigt. Die entsprechenden Informationen werden zusätzlich auch im MSI Tab eingetragen. Nähere Angaben zum MSI Tab siehe Kapitel Abschnitt 13.7.1, „Installer-Typ MSI“.
Beim automatischen Auspacken einer eingebetteten MSI-Datei wird im Analysiere Tab Folgendes angezeigt:
xxxxxxxxxxxxxxxxxxxxxxxxx Analyzing AdvancedMSI Setup: F:\Setups\AdvancedMSI\Phase5\phase562install.exe Analyzing MSI from Setup F:\Setups\AdvancedMSI\Phase5\phase562install.exe cmd.exe /C "F:\Setups\AdvancedMSI\Phase5\phase562install.exe" /extract:e:\Temp\opsitmp\ !! PLEASE WAIT !! !! PLEASE WAIT !! Extracting and analyzing MSI ... !! PLEASE WAIT !! e:\Temp\opsitmp\*.msi Analyzing MSI: e:\Temp\opsitmp\phase5.msi
Das MSI wird in das Verzeichnis =%TEMP%\opsitmp= extrahiert und analysiert. Mit dem Ergebnis werden die Felder des Advanced+MSI Tab gefüllt:
Signatur Advanced+MSI: bei der automatischen Erkennung einer Advanced+MSI-Datei wird in der EXE-Datei gesucht nach dem Marker:
name="microsoft.windows.advancedinstallersetup
Mit Inno Setup erstellte EXE-Dateien sind weitgehend standardisiert und enthalten eine spezifische Datei mit Namen install_script.iss, die automatisch aus der EXE-Datei extrahiert und analsiert werden kann. Mit den ermittelten Informationen werden die Felder des Inno Setup Tab gefüllt und dieser angezeigt. Wenn man zurück in den Analysiere Tab klickt, sieht man ungefähr folgende Angaben:
............................................ Analyzing: F:\Setups\Inno\openssl\Win32OpenSSL_Light-1_0_0i.exe stringsgrep started (verbose:false, skipzero:false) found string "<description>Inno Setup</description>" detected Inno Setup stringsgrep completed (verbose:false, skipzero:false) ............................................ Analyzing Inno-Setup: extract install_script.iss from F:\Setups\Inno\openssl\Win32OpenSSL_Light-1_0_0i.exe to C:\ProgramData\opsi setup detector\INNO\Win32OpenSSL_Light-1_0_0i\install_script.iss "E:\Program Files (x86)\opsiSetupDetector\innounp.exe" -x -a -y -d"C:\ProgramData\opsi setup detector\INNO\Win32OpenSSL_Light-1_0_0i" F:\Setups\Inno\openssl\Win32OpenSSL_Light-1_0_0i.exe install_script.iss ; Version detected: 5402 #66 install_script.iss C:\ProgramData\opsi setup detector\INNO\Win32OpenSSL_Light-1_0_0i\install_script.iss ........ [Setup] AppName=OpenSSL Light (32-bit) AppVerName=OpenSSL 1.0.0i Light (32-bit) AppPublisher=OpenSSL Win32 Installer Team AppPublisherURL=http://www.openssl.org AppSupportURL=http://www.slproweb.com AppUpdatesURL=http://www.slproweb.com/products/Win32OpenSSL.html DefaultDirName={sd}\OpenSSL-Win32 DefaultGroupName=OpenSSL OutputBaseFilename=Win32OpenSSL_Light-1_0_0i Compression=bzip2 ........ Setup file size is: 1,9 MB Estimated required space is: 11,1 MB ........ get_inno_info finished Inno Setup detected
Die Informationen aus install_script.iss werden automatisch in die einzelnen Felder des Inno Setup Tabs übernommen und dann verwendet zum Patchen der opsi Installations-Scripte:
Signatur Inno Setup: bei der automatischen Erkennung einer Inno Setup-Datei wird in der EXE-Datei gesucht nach dem Marker:
<description>inno setup</description>
Mit Installshield erstellte EXE-Dateien sind für eine automatisierte Analyse nicht zugänglich. Es kann lediglich automatisch erkannt werden, dass es sich um ein Installshield Setup handelt. Daher werden die vorgeschlagenen Werte aus dem Namen der Setup-Datei erstellt. Wenn diese Datei lediglich Setup.exe heißt, wird in den Feldern auch nur Setup eingetragen. Hinzu kommt noch, dass es von der jeweiligen Version des verwendeten Installshield abhängt, welche Aufruf-Parameter die Setup-Datei sowie das Deinstallations-Programm akzeptieren. Bei einem Installshield-Paket ist also weitgehend Handarbeit angesagt. Der erste Test könnte darin bestehen, die Aufrufparameter des Setup zu ermitteln, z.B. durch Setup.exe -?. Da mit InstallShield erstellte Pakete inzwischen kaum mehr reines InstallShield, sondern zunehmend interne MSI-Pakete enthalten, kommen bei der Paketierung reine InstallShield-Pakete kaum mehr vor, was den Paketierer in Zukunft von einem chronischen Sorgenkind befreit.
Wenn man zurück in den Analysiere Tab klickt, sieht man ungefähr folgende Angaben:
..................................... Analyzing: F:\uib\setupdetector\Setups\InstallShield\viclient\VMware-viclient.exe stringsgrep started (verbose:false, skipzero:false) found string "InstallShield" detected InstallShield Setup stringsgrep completed (verbose:false, skipzero:false) ..................................... Analyzing InstallShield-Setup: Setup file size is: 32,1 MB Estimated required space is: 192,6 MB ........ get_InstallShield_info finished InstallShield Setup detected
Die einzelnen Felder des InstallShield Tab sind:
Signatur InstallShield: bei der automatischen Erkennung einer InstallShield-Datei ohne eingebettetes MSI wird in der EXE-Datei gesucht nach dem Marker:
<description>InstallShield.Setup</description>
ohne dass der Marker für ein eingebettetes MSI gefunden wird. Falls auch der Marker für ein eingebettetes MSI gefunden wird, handelt es sich um ein InstallShield+MSI (s.u.).
Mit InstallShield erstellte Software-Pakete enthalten meist intern eine (oder mehrere?) MSI-Dateien. Um die MSI-Datei zu extrahieren, wird ein Batch gestartet, der das Setup startet und zehn Sekunden wartet, welche MSI-Datei beim Starten ausgepackt wird. Dann wird der Setup-Task abgeschossen. Das extrahierte MSI-Paket wird dann automatisch analysiert und die Informationen in den InstallShield+MSI Tab sowie den MSI Tab geschrieben. Hier hängt es eventuell auch von der jeweiligen EXE-Datei ab, ob und wenn ja welches MSI-Paket sie auspackt. Eventuell packt sie keines aus, weil das Betriebssystem unpassend ist oder weil erst noch an der GUI eine Frage beantwortet werden muss, bevor ein MSI ausgepackt wird. Falls die automatische Extrahierung nicht klappt, sollte das MSI händig ausgepackt werden und als MSI analysiert werden. Diese Angaben können dann in den InstallShield+MSI Tab über tragen werden.
Im Analysiere Tab sind typischerweise solche Einträge zu finden:
..................................... Analyzing: F:\Setups\Installshield-MSI\javavm\jre-6u22-windows-x64.exe stringsgrep started (verbose:false, skipzero:false) found strings "Installer,MSI,Database" and "InstallShield" detected InstallShield+MSI Setup (InstallShield with embedded MSI) found strings "Installer,MSI,Database" and "InstallShield" detected InstallShield+MSI Setup (InstallShield with embedded MSI) stringsgrep completed (verbose:false, skipzero:false) ..................................... Analyzing InstallShield+MSI Setup: F:\Setups\Installshield-MSI\javavm\jre-6u22-windows-x64.exe Analyzing MSI from InstallShield Setup F:\Setups\Installshield-MSI\javavm\jre-6u22-windows-x64.exe cmd.exe /C E:\Program Files (x86)\opsiSetupDetector\extractMSI.cmd "F:Setups\Installshield-MSI\javavm\jre-6u22-windows-x64.exe" !! PLEASE WAIT !! !! PLEASE WAIT !! Extracting and analyzing MSI ... !! PLEASE WAIT !! e:\Temp\opsitmp\*.msi Analyzing MSI: e:\Temp\opsitmp\phase5.msi cmd.exe /C cscript.exe "E:\Program Files (x86)\opsiSetupDetector\msiinfo.js" "e:\Temp\opsitmp\phase5.msi" ........ Microsoft (R) Windows Script Host, Version 5.8 Copyright (C) Microsoft Corporation 1996-2001. Alle Rechte vorbehalten. MSI file: e:\Temp\opsitmp\phase5.msi Manufacturer: Systemberatung Schommer ProductName: Phase 5 HTML-Editor ProductVersion: 5.6.2.3 ProductCode: {20B1B020-DEAE-48D1-9960-D4C3185D758B} UpgradeCode: {C63B6E47-6A28-44B6-A2C9-2BF084491FAD} MSI file size is: 0,3 MB Estimated required space is: 1,7 MB ........ get_MSI_info finished Setup file size is: 15,4 MB Estimated required space is: 92,7 MB ........ get_InstallShield_info finished InstallShield+MSI Setup detected
Falls die automatische Extrahierung des MSI geklappt hat, werden die gefundenen Werte automatisch in den InstallShield+MSI Tab eingetragen:
Signatur InstallShield+MSI: bei der automatischen Erkennung einer InstallShield-Datei mit eingebettetem MSI wird in der EXE-Datei gesucht nach dem Marker für InstallShield und dem Marker für ein eingebettetes MSI:
<description>InstallShield.Setup</description> ... installer,msi,database
NSIS Pakete zeichnen sich insbesondere dadurch aus, dass sie kompakt und schnell sind. Allerdings ist es dadurch nicht möglich, dem Paket automatisiert nähere Angaben zu entlocken. Ausser der Erkennung, dass es sich um ein NSIS-Paket handelt, können alle weiteren Informationen lediglich aus dem Namen der Setup-Datei vorgeschlagen werden. Hier ist also händige Nacharbeit angesagt.
Die Einträge im Analysiere Tab sehen typischerweise so aus:
................................... Analyzing: F:\Setups\NSIS\7z920\7z920.exe stringsgrep started (verbose:false, skipzero:false) found string "Nullsoft.NSIS.exehead" detected NSIS Setup stringsgrep completed (verbose:false, skipzero:false) ................................... Analyzing NSIS-Setup: Setup file size is: 1,1 MB Estimated required space is: 6,4 MB ........ get_nsis_info finished NSIS (Nullsoft Install System) detected
Die Bedeutung der einzelnen Felder des NSIS Tab:
Signatur NSIS: bei der automatischen Erkennung einer NSIS Setup-Datei wird in der EXE-Datei gesucht nach einem der Marker:
Nullsoft.NSIS.exehead ... Nullsoft Install System
Wenn das Setup analysiert und die Felder des entsprechenden Tab gefüllt sind, kann mit dem Button Erzeuge opsi Paket (rechts unten) das neue Produkt erzeugt werden.
Achtung:
Links neben dem Button Erzeuge opsi Paket befinden sich drei mögliche Auswahl Optionen, die sich auf die Funktion des Buttons beziehen:
Zu Installation, Konfiguration und Bedienung des Community Projektes opsi Packet Builder siehe https://forum.opsi.org/viewforum.php?f=22
opsi-configed (4.0.5.1.2-1) testing; urgency=low
use remoteurl instead of depotserver url for install package as well
-- rupert roeder <roeder@bonifax.uib.local> Wed, 22 Aug 2014 09:38:22 +0200
opsi-configed (4.0.5.1.1-1) testing; urgency=low
use remoteurl instead of depotserver url
-- rupert roeder <roeder@bonifax.uib.local> Wed, 21 Aug 2014 09:38:22 +0200
opsi-configed (4.0.5.1-1) testing; urgency=low
redesign of some data structures
-- rupert roeder <roeder@bonifax.uib.local> Wed, 20 Aug 2014 09:38:22 +0200
opsi-configed (4.0.4.2.9-1) experimental; urgency=low
message window when heap overflow
-- rupert roeder <roeder@bonifax.uib.local> Wed, 13 Apr 2014 09:38:22 +0200
opsi-configed (4.0.4.2.7-1) experimental; urgency=low
less fat data transmission for swaudit
-- rupert roeder <roeder@bonifax.uib.local> Wed, 09 Apr 2014 09:38:22 +0200
opsi-configed (4.0.4.2.5-1) experimental; urgency=low
data loading observer pattern for configed start
-- rupert roeder <roeder@bonifax.uib.local> Mon, 01 Apr 2014 14:10:37 +0100
opsi-configed (4.0.4.2.4-1) experimental; urgency=low
accelerated swaudit function
-- rupert roeder <roeder@bonifax.uib.local> Fri, 14 Mar 2014 14:10:37 +0100
opsi-configed (4.0.4.2.3-1) experimental; urgency=low
gzip compression is no default
-- rupert roeder <roeder@bonifax.uib.local> Thu, 13 Mar 2014 14:10:37 +0100
opsi-client-agent (4.0.5.1-8) stable; urgency=low
— Erol Ueluekmen <e.ueluekmen@uib.de> Fri, 23 Sep 2014 03:09:00 +0100
opsi-client-agent (4.0.5.1-7) stable; urgency=low
— Erol Ueluekmen <e.ueluekmen@uib.de> Fri, 25 Jul 2014 03:09:00 +0100
opsi-client-agent (4.0.5.1-6) stable; urgency=low
— Erol Ueluekmen <e.ueluekmen@uib.de> Fri, 25 Jul 2014 03:09:00 +0100
opsi-client-agent (4.0.5.1-5) stable; urgency=low
— Detlef Oertel <d.oertel@uib.de> Fri, 25 Jul 2014 15:00:00 +0100
opsi-client-agent (4.0.5.1-4) stable; urgency=low
— Bardo Wolf <b.wolf@uib.de> Fri, 27 Jun 2014 10:49:00 +0100
opsi-client-agent (4.0.5.1-3) stable; urgency=low
— Detlef Oertel <d.oertel@uib.de> Wed, 18 Jun 2014 15:00:00 +0100
opsi-client-agent (4.0.5.1-2) stable; urgency=low
for oli productOnClient restore: in opsiServiceCall_get_productOnClient condition "actionRequest":"none" So we delete only the localboot products with no actionrequest
-- Karsten Koepke <k.koepke@uib.de> Thu, 13 Jun 2014 15:00:00 +0100
opsi-client-agent (4.0.5.1-1) stable; urgency=low ; RELEASED
fix in sub_restore_productOnClient (set bootmode to bkstd )
-- Miriam Michaelis <m.michaelis@uib.de> Tue, 10 Jun 2014 15:00:00 +0100
opsi-client-agent (4.0.5-1) stable; urgency=low
new: in property uac_value new value 0=no change (experimental)
-- Miriam Michaelis <m.michaelis@uib.de> Tue, 29 Apr 2014 15:00:00 +0100
opsi-client-agent (4.0.4.5-4) stable; urgency=low
opsi-winst 4.11.4.4
-- Detlef Oertel <d.oertel@uib.de> Fri, 25 Apr 2014 15:00:00 +0100
opsi-client-agent (4.0.4.5-3) stable; urgency=low
opsi-winst 4.11.3.11
-- Miriam Michaelis <m.michaelis@uib.de> Tue, 18 Mar 2014 15:00:00 +0100
opsi-client-agent (4.0.4.5-2) stable; urgency=low
use of isDriveReady to disable critical-error-handler message box. (Drive not ready)
-- Detlef Oertel <d.oertel@uib.de> Thu, 20 Mar 2014 15:00:00 +0100
opsi-client-agent (4.0.4.5-1) stable; urgency=low
loginblocker logfile written to dir opsi.org\log
-- Miriam Michaelis <m.michaelis@uib.de> Tue, 18 Mar 2014 15:00:00 +0100
opsi-winst/opsi-script (4.11.4.10) stable; urgency=low
— Detlef Oertel <d.oertel@uib.de> Wed, 01 Oct 2014:15:00:00 +0200
opsi-winst/opsi-script (4.11.4.9) stable; urgency=low
— Detlef Oertel <d.oertel@uib.de> Wed, 20 Aug 2014:15:00:00 +0200
opsi-winst/opsi-script (4.11.4.8) stable; urgency=low
— Detlef Oertel <d.oertel@uib.de> Thu, 07 Aug 2014:15:00:00 +0200
opsi-winst/opsi-script (4.11.4.7) stable; urgency=low
— Detlef Oertel <d.oertel@uib.de> Wed, 23 Jul 2014:15:00:00 +0200
opsi-winst/opsi-script (4.11.4.6) stable; urgency=low
— Detlef Oertel <d.oertel@uib.de> Thu, 27 May 2014:15:00:00 +0200
opsi-winst/opsi-script (4.11.4.5) stable; urgency=low
— Detlef Oertel <d.oertel@uib.de> Thu, 19 May 2014:15:00:00 +0200
opsi-winst/opsi-script (4.11.4.4) stable; urgency=low
— Detlef Oertel <d.oertel@uib.de> Thu, 20 Mar 2014:15:00:00 +0200
opsi-winst/opsi-script (4.11.4.3) stable; urgency=low
— Detlef Oertel <d.oertel@uib.de> Mon, 9 Dec 2013:15:00:00 +0200
opsi-winst/opsi-script (4.11.4.2) stable; urgency=low
— Detlef Oertel <d.oertel@uib.de> Mon, 23 Sep 2013:15:00:00 +0200
opsi-winst/opsi-script (4.11.4.1) stable; urgency=low
— Detlef Oertel <d.oertel@uib.de> Tue, 30 Jul 2013:15:00:00 +0200
opsi-winst/opsi-script (4.11.4) stable; urgency=low
— Detlef Oertel <d.oertel@uib.de> Tue, 30 Apr 2012:15:00:00 +0200
windows (4.0.5-4) stable; urgency=low
— Detlef Oertel <d.oertel@uib.de> Thu, 16 Oct 2014:15:00:00 +0200
windows (4.0.5-3) stable; urgency=low
— Detlef Oertel <d.oertel@uib.de> Tue, 23 Sep 2014:15:00:00 +0200
windows (nt6) (4.0.5-2) stable; urgency=low
— Detlef Oertel <d.oertel@uib.de> Thu, 04 Sep 2014:15:00:00 +0200
windows (nt5) (4.0.5-2) stable; urgency=low
fix at $oem$ sub directories in opsi and custom directory
-- detlef oertel <d.oertel@uib.de> Mon, 04 Nov 2014 16:01:53 +0200
windows (4.0.5-1) stable; urgency=low
small fix in sfdisk execution
-- erol ueluekmen <e.ueluekmen@uib.de> Fri, 18 Jul 2014 12:01:53 +0200
windows (4.0.4-3) stable; urgency=low
copy of winpe_uefi removed
-- detlef oertel <d.oertel@uib.de> Fri, 11 Apr 2014 16:01:53 +0200
windows (4.0.4-2) stable; urgency=low
UEFI / GPT enabled
-- detlef oertel <d.oertel@uib.de> Tue, 25 Feb 2014 16:01:53 +0200
Debian
debian-4.0.5-4 stable; urgency=low
— Detlef Oertel <d.oertel@uib.de> Tue, 23 Sep 2014:15:00:00 +0200
debian-4.0.5-3 testing; urgency=low
— Detlef Oertel <d.oertel@uib.de> Thu, 04 Sep 2014:15:00:00 +0200
debian-4.0.5-2 testing; urgency=low
— Detlef Oertel <d.oertel@uib.de> Tue, 26 Aug 2014:15:00:00 +0200
debian-4.0.5-1 stable; urgency=low
— Detlef Oertel <d.oertel@uib.de> Mon, 23 Jun 2014:15:00:00 +0200
debian-4.0.4-4 stable; urgency=low
— Detlef Oertel <d.oertel@uib.de> Fri, 20 May 2014:15:00:00 +0200
debian-4.0.4-3 stable; urgency=low
— Detlef Oertel <d.oertel@uib.de> Fri, 02 May 2014:15:00:00 +0200
debian_4.0.4-2 testing; urgency=low
— Detlef Oertel <d.oertel@uib.de> Mon, 17 Mar 2014:15:00:00 +0200
debian_7.02 testing; urgency=low
— Detlef Oertel <d.oertel@uib.de> Tue, 10 Dec 2013:15:00:00 +0200
debian_6-5 testing; urgency=low
— Detlef Oertel <d.oertel@uib.de> Mon, 22 Apr 2013:15:00:00 +0200
debian-4.0r3-1 testing; urgency=low
Ubuntu
ubuntu-4.0.5-7 testing; urgency=low
— Detlef Oertel <d.oertel@uib.de> Wed, 22 Oct 2014:15:00:00 +0200
ubuntu-4.0.5-6 testing; urgency=low
— Detlef Oertel <d.oertel@uib.de> Mon, 22 Sep 2014:15:00:00 +0200
ubuntu-4.0.5-5 testing; urgency=low
— Detlef Oertel <d.oertel@uib.de> Thu, 04 Sep 2014:15:00:00 +0200
ubuntu-4.0.5-4 testing; urgency=low
— Detlef Oertel <d.oertel@uib.de> Tue, 26 Aug 2014:15:00:00 +0200
ubuntu-4.0.5-3 stable; urgency=low
— Detlef Oertel <d.oertel@uib.de> Fri, 15 Aug 2014:15:00:00 +0200
ubuntu-4.0.5-2 stable; urgency=low
— Detlef Oertel <d.oertel@uib.de> Mon, 23 Jun 2014:15:00:00 +0200
ubuntu-4.0.5-1 stable; urgency=low
— Detlef Oertel <d.oertel@uib.de> Wed, 4 Jun 2014:15:00:00 +0200
ubuntu-4.0.4-5 stable; urgency=low * added lvmClearVolumeGroups() * use opsipreparelib.py (is symbolic link: use opsi-makeproductfile -h) — Detlef Oertel <d.oertel@uib.de> Fri, 20 May 2014:15:00:00 +0200
ubuntu-4.0.4-4 stable; urgency=low
— Detlef Oertel <d.oertel@uib.de> Fri, 02 May 2014:15:00:00 +0200
ubuntu-4.0.4-3 testing; urgency=low
— Detlef Oertel <d.oertel@uib.de> Tue, 18 Mar 2014:15:00:00 +0200
ubuntu-4.0.4-2 UNRELEASED; urgency=low
new property setup_after_install
-- Erol Ueluekmen <e.ueluekmen@uib.de> Fri, 07 Feb 2014:01:00:00 +0200
ubuntu-4.0.4-1 experimental; urgency=low
removed property desktop
-- Detlef Oertel <d.oertel@uib.de> Tue, 24 Sep 2013:15:00:00 +0200
ubuntu-12.0.4-8 experimental; urgency=low
dirtyhack in ubuntu.py: Devicefile not found by creating swap
-- Erol Ueluekmen <e.ueluekmen@uib.de> Wed, 21 Aug 2013:11:00:00 +0200
ubuntu-12.0.4-7 testing; urgency=low
some more ' --force-yes'
-- Detlef Oertel <d.oertel@uib.de> Mon, 1 Jul 2013:15:00:00 +0200
ubuntu-12.0.4-6 testing; urgency=low
timeout (1000 seconds) on debootstrap call
-- Detlef Oertel / Erol Ueluekmen <info@uib.de> Tue, 18 June 2013:15:00:00 +0200
ubuntu-12.0.4-5 testing; urgency=low
integrated 64bit opsi-linux-bootimage
minimum disk size changed to 5GB
-- Detlef Oertel / Erol Ueluekmen <info@uib.de> Tue, 30 Apr 2013:15:00:00 +0200
ubuntu-12.0.4-4 testing; urgency=low
fixes in unity and xfce installation
-- Detlef Oertel <d.oertel@uib.de> Thu, 03 Apr 2013:15:00:00 +0200
ubuntu-12.0.4-3 testing; urgency=low
fit to partition scheme for opsi-image-local-(backup/restore)
-- Detlef Oertel <d.oertel@uib.de> Fri, 04 Jan 2013:15:00:00 +0200
ubuntu-12.0.4-2 testing; urgency=low
update ubuntu.py to opsi 4.0.2-3 standard
-- Detlef Oertel <d.oertel@uib.de> Mon, 17 Dec 2012:15:00:00 +0200
ubuntu-12.0.4-1 testing; urgency=low
update to 12.04
-- Detlef Oertel <d.oertel@uib.de> Fri, 14 Dec 2012:15:00:00 +0200
ubuntu-8.0.4-3 testing; urgency=low
changing source var to opsi_depot share (no more install)
-- Detlef Oertel <d.oertel@uib.de> Fri, 14 Dec 2012:15:00:00 +0200
ubuntu-8.0.4-2 testing; urgency=low
openSUSE
opensuse13-1_13.01-6 stable; urgency=low
— Detlef Oertel <d.oertel@uib.de> Tue, 21 Oct 2014:15:00:00 +0200
opensuse13-1_13.01-5 stable; urgency=low
— Detlef Oertel <d.oertel@uib.de> Fri, 26 Sep 2014:15:00:00 +0200
opensuse13-1_13.01-4 testing; urgency=low
— Detlef Oertel <d.oertel@uib.de> Mon, 28 Jul 2014:15:00:00 +0200
opensuse13-1_13.01-3 testing; urgency=low
— Detlef Oertel <d.oertel@uib.de> Tue, 20 May 2014:15:00:00 +0200
opensuse13-1_13.01-2 UNRELEASED; urgency=low
— Detlef Oertel <d.oertel@uib.de> Tue, 18 Feb 2014:15:00:00 +0200
opensuse13-1_13.01-1 stable; urgency=low
— Detlef Oertel <d.oertel@uib.de> Tue, 9 Dec 2013:15:00:00 +0200
opensuse12-3_12.03-5 stable; urgency=low
— Detlef Oertel <d.oertel@uib.de> Tue, 21 Oct 2014:15:00:00 +0200
opensuse12-3_12.03-4 stable; urgency=low
— Detlef Oertel <d.oertel@uib.de> Fri, 26 Sep 2014:15:00:00 +0200
opensuse12-3_12.03-3 testing; urgency=low
— Detlef Oertel <d.oertel@uib.de> Tue, 20 May 2014:15:00:00 +0200
opensuse12-3_12.03-2 testing; urgency=low
— Detlef Oertel <d.oertel@uib.de> Tue, 18 Feb 2014:15:00:00 +0200
opensuse12-3_12.03-1 stable; urgency=low
— Detlef Oertel <d.oertel@uib.de> Tue, 9 Dec 2013:15:00:00 +0200
opensuse-12.03-2 experimental; urgency=low
— Detlef Oertel <d.oertel@uib.de> Tue, 26 Sep 2013:15:00:00 +0200
opensuse-12.03-1 experimental; urgency=low
— Detlef Oertel <d.oertel@uib.de> Tue, 24 Sep 2013:15:00:00 +0200
opensuse-10.03-1 experimental; urgency=low
sles11sp3
sles11sp3-11.3-10 stable; urgency=low
— Detlef Oertel <d.oertel@uib.de> Tue, 23 Sep 2014:15:00:00 +0200
sles11sp3-11.3-9 stable ; urgency=low
— Detlef Oertel <d.oertel@uib.de> Tue, 09 Sep 2014:15:00:00 +0200
sles11sp3-11.3-8 stable ; urgency=low
— Detlef Oertel <d.oertel@uib.de> Wed, 20 Aug 2014:15:00:00 +0200
sles11sp3-11.3-7 stable ; urgency=low
— Detlef Oertel <d.oertel@uib.de> Mon, 20 Jan 2014:15:00:00 +0200
sles11sp3-11.3-6 experimental; urgency=low
— Detlef Oertel <d.oertel@uib.de> Wed, 15 Jan 2014:15:00:00 +0200
sles11sp3-11.3-5 experimental; urgency=low
— Detlef Oertel <d.oertel@uib.de> Thu, 09 Jan 2014:15:00:00 +0200
sles11sp3-11.3-4 experimental; urgency=low
— Detlef Oertel <d.oertel@uib.de> Wed, 18 Dec 2013:15:00:00 +0200
sles11sp3-11.3-3 experimental; urgency=low
— Detlef Oertel <d.oertel@uib.de> Thu, 12 Dec 2013:15:00:00 +0200
sles11sp3-11.3-2 experimental; urgency=low
— Erol Ueluekmen <e.ueluekmen@uib.de> Tue, 29 Oct 2013:10:00:00 +0200
sles11sp3-11.3-1 experimental; urgency=low
— Detlef Oertel <d.oertel@uib.de> Tue, 28 Oct 2013:15:00:00 +0200
centos65
centos65_6.5-3 testing; urgency=low
— Detlef Oertel <d.oertel@uib.de> Tue, 05 Aug 2014:15:00:00 +0200
centos65_6.5-2 testing; urgency=low
— Detlef Oertel <d.oertel@uib.de> Mon, 28 Apr 2014:15:00:00 +0200
centos65_6.5-1 experimental; urgency=low
— Detlef Oertel <d.oertel@uib.de> Mon, 3 Feb 2014:15:00:00 +0200
Fedora 20
fedora_20_20-4 stable; urgency=low
— Detlef Oertel <d.oertel@uib.de> Tue, 20 May 2014:15:00:00 +0200
fedora_20_20-3 stable; urgency=low
— Detlef Oertel <d.oertel@uib.de> Tue, 22 Apr 2014:15:00:00 +0200
fedora_20_20-1 stable; urgency=low
— Detlef Oertel <d.oertel@uib.de> Mon, 23 Dec 2013:15:00:00 +0200
opsi-local-image-backup
opsi-local-image-win* (4.0.5.1-3) stable; urgency=low
update opsisetuplib.py
-- detlef oertel <d.oertel@uib.de> Fri, 25 Jul 2014 16:01:53 +0200
opsi-local-image-backup (4.0.5.1-2) stable; urgency=low
update opsisetuplib.py
-- detlef oertel <d.oertel@uib.de> Tue, 24 Jul 2014 16:01:53 +0200
opsi-local-image-backup (4.0.5.1-1) stable; urgency=low
disk sorting
-- detlef oertel <d.oertel@uib.de> Thu, 10 Jul 2014 16:01:53 +0200
opsi-local-image-backup (4.0.4.3-1) stable; urgency=low
code cleanup
-- detlef oertel <d.oertel@uib.de> Wed, 28 May 2014 16:01:53 +0200
opsi-local-image-backup (4.0.4.3-1) stable; urgency=low
remove action requests from poc store
-- detlef oertel <d.oertel@uib.de> Mon, 07 Apr 2014 16:01:53 +0200
opsi-local-image-backup (4.0.4.2-1) stable; urgency=low
Showing a progress bar when creating a backup.
-- detlef oertel <d.oertel@uib.de> Mon, 30 Dec 2013 16:01:53 +0200
opsi-local-image-backup (4.0.4.1-1) stable; urgency=low
fix: stores always the correct netboot product name
opsi-local-image-backup (4.0.3.2-1) stable; urgency=low
Now works also with 4 partitions
opsi-local-image-backup (4.0.3-4) stable; urgency=low
use partclone with --dev-to-dev instead of --clone
opsi-local-image-backup (4.0.3-3) experimental; urgency=low
internal syntax fix: initialize goon
detlef oertel <d.oertel@uib.de> 11 Apr 2013
opsi-local-image-backup (4.0.3-2) experimental; urgency=low
new product property imagefile
opsi-local-image-backup (4.0.3-1) experimental; urgency=low
initial
opsi-local-image-capture
opsi-local-image-capture (4.0.5.1-5) stable; urgency=low
disabled all calls of ShellInAnIcon_copylog
-- detlef oertel <d.oertel@uib.de> Tue, 29 Jul 2014 16:01:53 +0200
opsi-local-image-win* (4.0.5.1-4) stable; urgency=low
update opsisetuplib.py
-- detlef oertel <d.oertel@uib.de> Fri, 25 Jul 2014 16:01:53 +0200
opsi-local-image-capture (4.0.5.1-3) stable; urgency=low
delete c:\drv before capture
-- detlef oertel <d.oertel@uib.de> Tue, 24 Jul 2014 16:01:53 +0200
opsi-local-image-capture (4.0.5.1-2) stable; urgency=low
update opsisetuplib.py
-- detlef oertel <d.oertel@uib.de> Tue, 24 Jul 2014 16:01:53 +0200
opsi-local-image-capture (4.0.5.1-1) stable; urgency=low
uefi: switch back to uefi netboot (for e.g. opsi-local-image restore)
-- detlef oertel <d.oertel@uib.de> Tue, 15 Jul 2014 16:01:53 +0200
opsi-local-image-capture (4.0.4.4-2) stable; urgency=low
rewmoved use of property imagefilename
-- detlef oertel <d.oertel@uib.de> Fri, 20 Jun 2014 16:01:53 +0200
opsi-local-image-capture (4.0.4.4-1) stable; urgency=low
modified winst32 with network connection
-- detlef oertel <d.oertel@uib.de> Thu, 5 Jun 2014 16:01:53 +0200
opsi-local-image-capture (4.0.5.1-1) stable; urgency=low
new property: capture_architecture
-- detlef oertel <d.oertel@uib.de> Wed, 28 May 2014 16:01:53 +0200
opsi-local-image-capture (4.0.4.3-2) stable; urgency=low
new property: capture_architecture
-- detlef oertel <d.oertel@uib.de> Mon, 28 Apr 2014 16:01:53 +0200
opsi-local-image-capture (4.0.4.3-1) stable; urgency=low
remove action requests from poc store
-- detlef oertel <d.oertel@uib.de> Mon, 07 Apr 2014 16:01:53 +0200
opsi-local-image-capture (4.0.4.2-1) stable; urgency=low
initial: created from opsi-local-image-backup
-- detlef oertel <d.oertel@uib.de> Wed, 26 Mar 2014 16:01:53 +0200
opsi-local-image-delimage
opsi-local-image-win* (4.0.5.1-3) stable; urgency=low
update opsisetuplib.py
-- detlef oertel <d.oertel@uib.de> Fri, 25 Jul 2014 16:01:53 +0200
opsi-local-image-delimage (4.0.5.1-2) stable; urgency=low
update opsisetuplib.py
-- detlef oertel <d.oertel@uib.de> Thu, 24 Jul 2014 16:01:53 +0200
opsi-local-image-delimage (4.0.5.1-1) stable; urgency=low
update of opsisetuplib.py
-- detlef oertel <d.oertel@uib.de> Tue, 22 Jul 2014 16:01:53 +0200
opsi-local-image-delimage (4.0.4.3-1) stable; urgency=low
use of opsisetuplib.py
-- detlef oertel <d.oertel@uib.de> Mon, 07 Apr 2014 16:01:53 +0200
opsi-local-image-delimage (4.0.4.2-1) stable; urgency=low
uefi / gpt support
-- detlef oertel <d.oertel@uib.de> Fri, 31 Jan 2014 16:01:53 +0200
opsi-local-image-delimage (4.0.4.1-1) stable; urgency=low
Handles imagefile names with spaces (internal as _)
opsi-local-image-delimage (4.0.3.2-1) stable; urgency=low
Now works also with 4 partitions
opsi-local-image-delimage-4.0.3.1-2 testing; urgency=low
— Detlef Oertel <d.oertel@uib.de> Wed, 08 Apr 2013:15:00:00 +0200
opsi-local-image-delimage-4.0.3.1-1 testing; urgency=low
— Detlef Oertel <d.oertel@uib.de> Wed, 13 Mar 2013:15:00:00 +0200
opsi-local-image-prepare
opsi-local-image-win* (4.0.5.1-3) stable; urgency=low
update opsisetuplib.py
-- detlef oertel <d.oertel@uib.de> Fri, 25 Jul 2014 16:01:53 +0200
opsi-local-image-prepare (4.0.5.1-2) stable; urgency=low
update opsisetuplib.py
-- detlef oertel <d.oertel@uib.de> Tue, 24 Jul 2014 16:01:53 +0200
opsi-local-image-prepare (4.0.5.1-1) stable; urgency=low
update opsisetuplib.py
-- detlef oertel <d.oertel@uib.de> Tue, 22 Jul 2014 16:01:53 +0200
opsi-local-image-prepare (4.0.4.3-4) stable; urgency=low
update opsisetuplib.py
-- detlef oertel <d.oertel@uib.de> Tue, 17 Jun 2014 16:01:53 +0200
opsi-local-image-prepare (4.0.4.3-3) stable; urgency=low
start_os_installation editable: True
-- detlef oertel <d.oertel@uib.de> Wed, 28 May 2014 16:01:53 +0200
opsi-local-image-prepare (4.0.4.3-2) stable; urgency=low
data_partition_size editable: True
-- detlef oertel <d.oertel@uib.de> Tue, 27 May 2014 16:01:53 +0200
opsi-local-image-prepare (4.0.4.3-1) stable; urgency=low
use of opsisetuplib.py
-- detlef oertel <d.oertel@uib.de> Mon, 07 Apr 2014 16:01:53 +0200
opsi-local-image-prepare (4.0.4.2-3) stable; urgency=low
smaller partGap : 64 M
-- detlef oertel <d.oertel@uib.de> Wed, 26 Mar 2014 16:01:53 +0200
opsi-local-image-prepare (4.0.4.2-2) stable; urgency=low
code cleanup
-- detlef oertel <d.oertel@uib.de> Thu, 27 Feb 2014 16:01:53 +0200
opsi-local-image-prepare (4.0.4.2-1) stable; urgency=low
uefi / gpt support
-- detlef oertel <d.oertel@uib.de> Mon, 30 Dec 2013 16:01:53 +0200
opsi-local-image-prepare (4.0.4.1-1) stable; urgency=low
added win81 products
-- detlef oertel <d.oertel@uib.de> Fri, 20 Dec 2013 16:01:53 +0200
opsi-local-image-prepare-4.0.3.2-1 testing; urgency=low
— Detlef Oertel <d.oertel@uib.de> Wed, 01 Aug 2013:15:00:00 +0200
opsi-local-image-prepare-4.0.3.1-1 testing; urgency=low
— Detlef Oertel <d.oertel@uib.de> Wed, 13 Feb 2013:15:00:00 +0200
opsi-local-image-repartition-4.0.3.1-1 testing; urgency=low
— Detlef Oertel <d.oertel@uib.de> Wed, 13 Feb 2013:15:00:00 +0200
opsi-local-image-restore
opsi-local-image-win* (4.0.5.1-3) stable; urgency=low
update opsisetuplib.py
-- detlef oertel <d.oertel@uib.de> Fri, 25 Jul 2014 16:01:53 +0200
opsi-local-image-restore (4.0.5.1-2) stable; urgency=low
update opsisetuplib.py
-- detlef oertel <d.oertel@uib.de> Tue, 24 Jul 2014 16:01:53 +0200
opsi-local-image-restore (4.0.5.1-1) stable; urgency=low
fix: set next uefiboot via setNextUefiBoot()
-- detlef oertel <d.oertel@uib.de> Tue, 15 Jul 2014 16:01:53 +0200
opsi-local-image-restore (4.0.4.3-2) stable; urgency=low
try / except at restoring ntfs ACLs
-- detlef oertel <d.oertel@uib.de> Wed, 28 May 2014 16:01:53 +0200
opsi-local-image-restore (4.0.4.3-1) stable; urgency=low
do not use PE partition as swap (for reusing PE by capture)
-- detlef oertel <d.oertel@uib.de> Mon, 07 Apr 2014 16:01:53 +0200
opsi-local-image-restore (4.0.4.2-2) stable; urgency=low
raise exception if there is no meta data file
-- detlef oertel <d.oertel@uib.de> Mon, 25 Mar 2014 16:01:53 +0200
opsi-local-image-restore (4.0.4.2-1) stable; urgency=low
Showing a progress bar when restoring a backup.
-- detlef oertel <d.oertel@uib.de> Mon, 30 Dec 2013 16:01:53 +0200
opsi-local-image-restore (4.0.4.1-1) stable; urgency=low
replace all not allowed image name chars with "_"
opsi-local-image-restore (4.0.3.2-2) stable; urgency=low
Fix: timeout increased from 100 to 1000
opsi-local-image-restore (4.0.3.2-1) stable; urgency=low
Now works also with 4 partitions
opsi-local-image-restore (4.0.3-7) stable; urgency=low
should be use d with backups from opsi-local-image-backup >= 4.0.3-4
opsi-local-image-restore (4.0.3-6) stable; urgency=low
fix: method rsync-restore temporary removed due to ntfs access rights problems and security risks
opsi-local-image-restore (4.0.3-5) experimental; urgency=low
fix: exclude symbolic links from rsync-restore use tar file instead should be use d with backups from 4.0.3-4
opsi-local-image-restore (4.0.3-4) stable; urgency=low
fix undefined myvalues in line 571
opsi-local-image-restore (4.0.3-3) stable; urgency=low
new property setup_after_restore
opsi-local-image-restore (4.0.3-2) experimental; urgency=low
fix: set partition type and bootflag
opsi-local-image-restore (4.0.3-1) experimental; urgency=low
initial
opsi-local-image-sysprep
opsi-local-image-sysprep (4.0.5.1-1) stable; urgency=low
set uefi netboot before reboot if a netboot product is activated
-- detlef oertel <d.oertel@uib.de> Tue, 15 Jul 2014 16:01:53 +0200
opsi-local-image-sysprep (4.0.4.3-1) stable; urgency=low
more features
-- detlef oertel <d.oertel@uib.de> Mon, 07 Apr 2014 16:01:53 +0200
opsi-local-image-sysprep (1.0-1) testing; urgency=low
Initial version based on opsi-sysprep
-- d.oertel <d.oertel@uib.de> Wed, 26 Mar 2014 16:39:34 + 0100
opsi-local-image-win*
opsi-local-image-win* (4.0.5.1-6) stable; urgency=low
fix at $oem$ sub directories in opsi and custom directory
-- detlef oertel <d.oertel@uib.de> Mon, 04 Nov 2014 16:01:53 +0200
opsi-local-image-win* (4.0.5.1-5) stable; urgency=low
update pci.ids, usb.ids
-- detlef oertel <d.oertel@uib.de> Mon, 29 Sep 2014 16:01:53 +0200
opsi-local-image-win* (4.0.5.1-3) stable; urgency=low
update opsisetuplib.py
-- detlef oertel <d.oertel@uib.de> Fri, 25 Jul 2014 16:01:53 +0200
opsi-local-image-win7 (4.0.5.1-2) stable; urgency=low
update opsisetuplib.py
-- detlef oertel <d.oertel@uib.de> Tue, 24 Jul 2014 16:01:53 +0200
opsi-local-image-win7 (4.0.5.1-1) stable; urgency=low
code cleanup: no dual disk (ever only first disk)
-- detlef oertel <d.oertel@uib.de> Fri, 3 Jul 2014 10:01:53 +0200
opsi-local-image-win7 (4.0.4.3-3) stable; urgency=low
opsisetuplib.py update
-- detlef oertel <d.oertel@uib.de> Wed, 28 May 2014 16:01:53 +0200
opsi-local-image-win7 (4.0.4.3-2) stable; urgency=low
fix in setup_after_install
-- detlef oertel <d.oertel@uib.de> Thu, 22 May 2014 16:01:53 +0200
opsi-local-image-win7 (4.0.4.3-1) stable; urgency=low
lvmClearVolumeGroups() to avoid disk in use
-- detlef oertel <d.oertel@uib.de> Fri, 28 Mar 2014 16:01:53 +0200
opsi-local-image-win7 (4.0.4.2-2) stable; urgency=low
syntax fix
-- detlef oertel <d.oertel@uib.de> Thu, 27 Feb 2014 16:01:53 +0200
opsi-local-image-win7 (4.0.4.2-1) stable; urgency=low
uefi / gpt support
-- detlef oertel <d.oertel@uib.de> Mon, 30 Dec 2013 16:01:53 +0200
opsi-local-image-win7 (4.0.4.1-2) stable; urgency=low
UCS 3.2 Errata 4 fix: mount share from PE with valid domain: shareusername via webservice from clientconfig.depot.user
-- detlef oertel <d.oertel@uib.de> Thu, 16 Jan 2014 16:01:53 +0200
opsi-local-image-win7 (4.0.4.1-1) stable; urgency=low
— detlef oertel <d.oertel@uib.de> 16 Dec 2013
opsi-local-image-win7 (4.0.3.2-1) stable; urgency=low
— detlef oertel <d.oertel@uib.de> 01 Aug 2013
opsi-local-image-win7 (4.0.3-2) stable; urgency=low
better error messages on wrong partition table
-- uib GmbH <info@uib.de> Wed, 17 Apr 2013 13:30:20 +0000
opsi-local-image-win7 (4.0.3-1) experimental; urgency=low
changed to match opsi-local-image standard
-- uib GmbH <info@uib.de> Wed, 13 Feb 2013 13:30:20 +0000
opsi-local-image-ubuntu
opsi-local-image-ubuntu (4.0.5.1-1) stable; urgency=low
property setup_after_install default now: "l-os-postinst"
-- detlef oertel <d.oertel@uib.de> Mon, 11 Aug 2015 16:01:53 +0200
opsi-local-image-ubuntu (4.0.4.3-1) stable; urgency=low
use of opsisetuplib.py
-- detlef oertel <d.oertel@uib.de> Mon, 07 Apr 2014 16:01:53 +0200
opsi-local-image-ubuntu (4.0.4.2-1) stable; urgency=low
uefi / gpt support
-- detlef oertel <d.oertel@uib.de> Mon, 30 Dec 2013 16:01:53 +0200
opsi-local-image-ubuntu32 (4.0.4.1-1) stable; urgency=low
— detlef oertel <d.oertel@uib.de> 16 Dec 2013
opsi-local-image-ubuntu32 (4.0.3.2-2) stable; urgency=low
— detlef oertel <d.oertel@uib.de> 24 Sep 2013
opsi-local-image-ubuntu32 (4.0.3.2-1) stable; urgency=low
— detlef oertel <d.oertel@uib.de> 01 Aug 2013
opsi-local-image-ubuntu32_4.0.3-3 stable; urgency=low
— uib GmbH <info@uib.de> Mon, 1 Jul 2013 13:30:20 +0000
opsi-local-image-ubuntu32_4.0.3-2 stable; urgency=low
— uib GmbH <info@uib.de> Wed, 17 Apr 2013 13:30:20 +0000
opsi-local-image-ubuntu32_4.0.3-1 testing; urgency=low
— Detlef Oertel <d.oertel@uib.de> Fri, 01 Feb 2013:15:00:00 +0200
python-opsi (4.0.5.15-1) experimental; urgency=low
Patching sudoers: allow using service when no TTY present
-- Niko Wenselowski <n.wenselowski@uib.de> Wed, 22 Oct 2014 14:30:24 +0200
python-opsi (4.0.5.14-1) experimental; urgency=low
OPSI.System.Posix.locateDHCPDInit: Added search via getServiceNames
-- Niko Wenselowski <n.wenselowski@uib.de> Wed, 22 Oct 2014 12:23:35 +0200
python-opsi (4.0.5.13-1) experimental; urgency=low
OPSI.System.Posix.Distribution: stripping the distribution attribute.
-- Niko Wenselowski <n.wenselowski@uib.de> Tue, 14 Oct 2014 15:34:21 +0200
python-opsi (4.0.5.12-1) experimental; urgency=low
More work on OPSI.System.Posix.getSambaServiceName
-- Niko Wenselowski <n.wenselowski@uib.de> Wed, 08 Oct 2014 14:50:17 +0200
python-opsi (4.0.5.11-2) experimental; urgency=low
Dropping python-simplejson as dependency because it is Pythons stdlib as json since Python 2.6
-- Niko Wenselowski <n.wenselowski@uib.de> Wed, 08 Oct 2014 11:43:34 +0200
python-opsi (4.0.5.11-1) experimental; urgency=low
Posix: added Methods getServiceNames and getSambaServiceName
-- Niko Wenselowski <n.wenselowski@uib.de> Mon, 06 Oct 2014 15:58:24 +0200
python-opsi (4.0.5.10-1) stable; urgency=low
DHCPD.py: small fix in restarting dhcp-service
-- Erol Ueluekmen <e.ueluekmen@uib.de> Wed, 01 Oct 2014 16:54:50 +0200
python-opsi (4.0.5.9-1) stable; urgency=low
opsi-setup: changed restarting services over service calls instead of using init-scripts directly.
-- Erol Ueluekmen <e.ueluekmen@uib.de> Wed, 01 Oct 2014 16:14:13 +0200
python-opsi (4.0.5.8-2) testing; urgency=low
python-crypto requirement modified for sles to python-pycrypto
-- Erol Ueluekmen <e.ueluekmen@uib.de> Mon, 29 Sep 2014 10:13:17 +0200
python-opsi (4.0.5.8-1) testing; urgency=low
FileBackend raises Exception if getRawData method is called.
-- Erol Ueluekmen <e.ueluekmen@uib.de> Tue, 23 Sep 2014 15:16:56 +0200
python-opsi (4.0.5.7-1) experimental; urgency=low
Preferring ldaptor over OPSI.ldaptor
-- Niko Wenselowski <n.wenselowski@uib.de> Wed, 10 Sep 2014 13:36:47 +0200
python-opsi (4.0.5.6-2) experimental; urgency=low
rpm-based packages: require python-pyasn1
-- Niko Wenselowski <n.wenselowski@uib.de> Tue, 09 Sep 2014 16:55:20 +0200
python-opsi (4.0.5.6-1) experimental; urgency=low
Fix for certificate creation on SLES11SP3
-- Niko Wenselowski <n.wenselowski@uib.de> Mon, 25 Aug 2014 15:26:42 +0200
python-opsi (4.0.5.5-1) testing; urgency=medium
setProductActionRequestWithDependencies: added optional force parameter, to set dependend products even if they are installed
-- Erol Ueluekmen <e.ueluekmen@uib.de> Sat, 23 Aug 2014 02:37:20 +0200
python-opsi (4.0.5.4-3) testing; urgency=low
Also build on Ubuntu 10.04
-- Niko Wenselowski <n.wenselowski@uib.de> Fri, 22 Aug 2014 17:28:08 +0200
python-opsi (4.0.5.4-2) experimental; urgency=low
Debian: call dh --with python2
-- Niko Wenselowski <n.wenselowski@uib.de> Fri, 22 Aug 2014 17:18:16 +0200
python-opsi (4.0.5.3-2) experimental; urgency=low
SLES: Require libmagic1 for working python-magic
-- Niko Wenselowski <n.wenselowski@uib.de> Tue, 19 Aug 2014 12:55:00 +0200
python-opsi (4.0.5.3-1) experimental; urgency=low
Fix termination of KillableThread on newer Pythons
-- Niko Wenselowski <n.wenselowski@uib.de> Mon, 11 Aug 2014 14:09:02 +0200
python-opsi (4.0.5.2-7) experimental; urgency=low
openSUSE / SLES: Fix depending on wrong version number for python-newt
-- Niko Wenselowski <n.wenselowski@uib.de> Wed, 06 Aug 2014 12:10:08 +0200
python-opsi (4.0.5.2-5) experimental; urgency=low
Dependencies for RHEL / CentOS 6 fixed and cleaned up .spec.
-- Niko Wenselowski <n.wenselowski@uib.de> Wed, 06 Aug 2014 11:20:25 +0200
python-opsi (4.0.5.2-4) experimental; urgency=low
Re-Enabling dependency on python-ldaptor.
-- Niko Wenselowski <n.wenselowski@uib.de> Mon, 04 Aug 2014 16:39:12 +0200
python-opsi (4.0.5.2-2) experimental; urgency=low
Possible to build with python-support again.
-- Niko Wenselowski <n.wenselowski@uib.de> Mon, 04 Aug 2014 14:35:00 +0200
python-opsi (4.0.5.2-1) experimental; urgency=low
fix in write method for backendConfigFiles
-- Erol Ueluekmen <e.ueluekmen@uib.de> Sun, 03 Aug 2014 03:26:28 +0200
python-opsi (4.0.5.1-2) experimental; urgency=low
Using dh_python2
-- Niko Wenselowski <n.wenselowski@uib.de> Wed, 30 Jul 2014 17:38:00 +0200
python-opsi (4.0.5.1-1) experimental; urgency=low
OPSI.Util.Repository: workarround timing problem after reconnect network adapter
-- Erol Ueluekmen <e.ueluekmen@uib.de> Thu, 28 Jul 2014 23:51:00 +0200
opsipxeconfd (4.0.5.3-6) experimental; urgency=low
Removal on RHEL/CentOS should not fail anymore.
-- Niko Wenselowski <n.wenselowski@uib.de> Tue, 09 Sep 2014 16:21:06 +0200
opsipxeconfd (4.0.5.3-5) experimental; urgency=low
RPM: Fix problems with macro syntax.
-- Niko Wenselowski <n.wenselowski@uib.de> Tue, 09 Sep 2014 15:04:12 +0200
opsipxeconfd (4.0.5.3-4) experimental; urgency=low
RHEL/CentOS: Only removing the daemon in postun
-- Niko Wenselowski <n.wenselowski@uib.de> Tue, 09 Sep 2014 14:21:31 +0200
opsipxeconfd (4.0.5.3-3) experimental; urgency=low
RHEL/CentOS: fixing problems on uninstall
-- Niko Wenselowski <n.wenselowski@uib.de> Tue, 09 Sep 2014 12:30:07 +0200
opsipxeconfd (4.0.5.3-2) experimental; urgency=low
Fix for logrotate under SLES11SP3
-- Niko Wenselowski <n.wenselowski@uib.de> Mon, 25 Aug 2014 11:36:03 +0200
opsipxeconfd (4.0.5.3-1) experimental; urgency=low
Fix in modules handling
-- Erol Ueluekmen <e.ueluekmen@uib.de> Thu, 07 Aug 2014 01:45:00 +0200
opsipxeconfd (4.0.5.2-1) experimental; urgency=low
Fix in custom pxeConfTemplate-file handling.
-- Erol Ueluekmen <e.ueluekmen@uib.de> Mon, 04 Aug 2014 16:09:14 +0200
opsipxeconfd (4.0.5.1-3) experimental; urgency=low
Support for building with python-support added again.
-- Niko Wenselowski <n.wenselowski@uib.de> Mon, 04 Aug 2014 14:48:15 +0200
opsipxeconfd (4.0.5.1-2) experimental; urgency=low
Changed build system to dh_python2
-- Niko Wenselowski <n.wenselowski@uib.de> Wed, 30 Jul 2014 17:33:46 +0200
opsipxeconfd (4.0.5.1-1) experimental; urgency=low
uefi support
-- Erol Ueluekmen <e.ueluekmen@uib.de> Tue, 08 Jul 2014 11:59:08 +0200
opsiconfd (4.0.5.2-1) experimental; urgency=low
RHEL / CentOS 7 and Fedora: Fix logrotate configuration
-- Niko Wenselowski <n.wenselowski@uib.de> Mon, 20 Oct 2014 09:38:46 +0200
opsiconfd (4.0.5.1-7) experimental; urgency=low
Fix for newer logrotate-versions not applied on SLES because 11SP3 provides an updated version that can handle su directive
-- Niko Wenselowski <n.wenselowski@uib.de> Tue, 19 Aug 2014 16:41:48 +0200
opsiconfd (4.0.5.1-6) experimental; urgency=low
Suggesting only on SLES, not everyone.
-- Niko Wenselowski <n.wenselowski@uib.de> Wed, 13 Aug 2014 16:27:34 +0200
opsiconfd (4.0.5.1-5) experimental; urgency=low
python-rrdtool is not required but suggested.
-- Niko Wenselowski <n.wenselowski@uib.de> Wed, 13 Aug 2014 16:14:13 +0200
opsiconfd (4.0.5.1-4) experimental; urgency=low
Lowering required debhelper version for building Ubuntu 10.04
-- Niko Wenselowski <n.wenselowski@uib.de> Mon, 04 Aug 2014 14:25:31 +0200
opsiconfd (4.0.5.1-3) experimental; urgency=low
Re-enabling build dependency python-support for older distros.
-- Niko Wenselowski <n.wenselowski@uib.de> Mon, 04 Aug 2014 13:59:27 +0200
opsiconfd (4.0.5.1-2) experimental; urgency=low
Using dh_python instead of python-support
-- Niko Wenselowski <n.wenselowski@uib.de> Wed, 30 Jul 2014 17:29:48 +0200
opsiconfd (4.0.5.1-1) experimental; urgency=low
Info page: display human-readable time at thread information
-- Niko Wenselowski <n.wenselowski@uib.de> Tue, 10 Jun 2014 12:36:13 +0200
opsi-utils (4.0.5.6-2) experimental; urgency=low
Suse: listing /etc/opsi as directory
-- Niko Wenselowski <n.wenselowski@uib.de> Fri, 10 Oct 2014 16:49:48 +0200
opsi-utils (4.0.5.6-1) experimental; urgency=low
[ Erol Ueluekmen ] * opsi-package-manager: new option --set-file-level added.
[ Niko Wenselowski ] * RPM: changing the specfile to avoid conflicts
-- Niko Wenselowski <n.wenselowski@uib.de> Fri, 10 Oct 2014 16:38:07 +0200
opsi-utils (4.0.5.5-1) testing; urgency=low
opsi-newprod: Fix missing newlines in postinst/preinst
-- Niko Wenselowski <n.wenselowski@uib.de> Fri, 29 Aug 2014 12:04:51 +0200
opsi-utils (4.0.5.4-1) experimental; urgency=low
opsi-newprod correctly copies the contents of the template-directory
-- Niko Wenselowski <n.wenselowski@uib.de> Wed, 13 Aug 2014 11:31:53 +0200
opsi-utils (4.0.5.3-2) experimental; urgency=low
Fix for reading the home dir.
-- Niko Wenselowski <n.wenselowski@uib.de> Mon, 11 Aug 2014 15:53:58 +0200
opsi-utils (4.0.5.3-1) experimental; urgency=low
opsi-admin: Added another try on reading the users home directory.
-- Niko Wenselowski <n.wenselowski@uib.de> Tue, 05 Aug 2014 17:02:03 +0200
opsi-utils (4.0.5.2-2) experimental; urgency=low
Make building with Fedora possible.
-- Niko Wenselowski <n.wenselowski@uib.de> Mon, 04 Aug 2014 15:53:19 +0200
opsi-utils (4.0.5.2-1) experimental; urgency=low
opsi-product-updater: small bugfix
-- Erol Ueluekmen <e.ueluekmen@uib.de> Sun, 03 Aug 2014 03:35:50 +0200
opsi-utils (4.0.5.1-1) experimental; urgency=low
opsi-product-updater: Limit updates to specific package with "-p"
-- Erol Ueluekmen <e.ueluekmen@uib.de> Fri, 26 Jul 2014 00:03:13 +0200
opsi-linux-bootimage (20140919-2) stable; urgency=medium
small fix in spec file
-- Erol Ueluekmen <e.ueluekmen@uib.de> Wed, 01 Oct 2014 00:56:26 +0200
opsi-linux-bootimage (20140919-1) testing; urgency=medium
workarround for scanning devices on HP Smart Array Controller
-- Erol Ueluekmen <e.ueluekmen@uib.de> Fri, 19 Sep 2014 10:03:09 +0200
opsi-linux-bootimage (20140819-1) experimental; urgency=medium
lshw updated to B.02.17
-- Erol Ueluekmen <e.ueluekmen@uib.de> Tue, 19 Aug 2014 02:10:29 +0200
opsi-linux-bootimage (20140811-1) experimental; urgency=medium
Added opsi-utils to package dependencies
-- Erol Ueluekmen <e.ueluekmen@uib.de> Tue, 12 Aug 2014 12:50:47 +0200
opsi-linux-bootimage (20140729-1) experimental; urgency=low
Posix.py: Fix for unrecognized partition table Fix for readRotational method
-- Erol Ueluekmen <e.ueluekmen@uib.de> Tue, 30 Jul 2014 01:47:48 +0200
opsi-linux-bootimage (20140725-1) experimental; urgency=low
modprobe patched for bootimage
-- Erol Ueluekmen <e.ueluekmen@uib.de> Thu, 25 Jul 2014 10:21:05 +0200
opsi-linux-bootimage (20140717-1) experimental; urgency=low
uefi-support added
-- Erol Ueluekmen <e.ueluekmen@uib.de> Fri, 04 Jul 2014 14:53:13 +0200
opsi-depotserver (4.0.5.11-1) experimental; urgency=low
Only fetching the Samba init command if configuring Samba
-- Niko Wenselowski <n.wenselowski@uib.de> Wed, 22 Oct 2014 13:40:03 +0200
opsi-depotserver (4.0.5.10-3) experimental; urgency=low
Debian-based postinst: Avoid problems with arguments possibly not executed by opsi-setup
-- Niko Wenselowski <n.wenselowski@uib.de> Tue, 21 Oct 2014 13:40:03 +0200
opsi-depotserver (4.0.5.10-2) experimental; urgency=low
Red Hat-familiy: added requirement samba-client for current distros
-- Niko Wenselowski <n.wenselowski@uib.de> Fri, 17 Oct 2014 14:24:41 +0200
opsi-depotserver (4.0.5.10-1) experimental; urgency=low
Providing a default for the name of the Samba service
-- Niko Wenselowski <n.wenselowski@uib.de> Wed, 08 Oct 2014 14:54:13 +0200
opsi-depotserver (4.0.5.9-1) experimental; urgency=low
Fix for creating the service command
-- Niko Wenselowski <n.wenselowski@uib.de> Wed, 08 Oct 2014 12:08:26 +0200
opsi-depotserver (4.0.5.8-1) experimental; urgency=low
Getting the Samba service name does not depend on files in /etc/init.d
-- Niko Wenselowski <n.wenselowski@uib.de> Wed, 08 Oct 2014 11:01:50 +0200
opsi-depotserver (4.0.5.7-1) stable; urgency=low
opsi-setup: changed restarting services over service calls instead of using init-scripts directly.
-- Erol Ueluekmen <e.ueluekmen@uib.de> Wed, 01 Oct 2014 15:26:16 +0200
opsi-depotserver (4.0.5.6-3) experimental; urgency=low
Removed automatic update of mysql-backend.
-- Niko Wenselowski <n.wenselowski@uib.de> Mon, 08 Sep 2014 12:37:51 +0200
opsi-depotserver (4.0.5.6-2) testing; urgency=medium
small fix in postinst routine of package.
-- Erol Ueluekmen <e.ueluekmen@uib.de> Sat, 23 Aug 2014 04:44:07 +0200
opsi-depotserver (4.0.5.6-1) experimental; urgency=medium
--auto-configure-samba fix for executebit problem even if opsi_depot-Shareconfig already exists.
-- Erol Ueluekmen <e.ueluekmen@uib.de> Sun, 17 Aug 2014 13:42:03 +0200
opsi-depotserver (4.0.5.5-1) experimental; urgency=low
--auto-configure-dhcpd does not fail on missing file
-- Niko Wenselowski <n.wenselowski@uib.de> Mon, 11 Aug 2014 17:31:12 +0200
opsi-depotserver (4.0.5.4-1) experimental; urgency=low
Workaround for getopt not correctly reading in JSON objects.
-- Niko Wenselowski <n.wenselowski@uib.de> Tue, 05 Aug 2014 12:29:21 +0200
opsi-depotserver (4.0.5.3-1) experimental; urgency=low
Renewing a certificate automatically sets rights on file
-- Niko Wenselowski <n.wenselowski@uib.de> Tue, 05 Aug 2014 10:39:18 +0200
opsi-depotserver (4.0.5.2-1) experimental; urgency=low
Fix in samba4 detection
-- Erol Ueluekmen <e.ueluekmen@uib.de> Sun, 03 Aug 2014 00:56:54 +0200
opsi-depotserver (4.0.5.1-1) experimental; urgency=low
Using OPSI.Util.Task.ConfigureBackend.ConfigurationData
-- Niko Wenselowski <n.wenselowski@uib.de> Fri, 30 May 2014 11:48:09 +0200
opsi-atftp (0.7.dfsg-4) stable; urgency=medium
--enable-debug added
-- Erol Ueluekmen <e.ueluekmen@uib.de> Sat, 23 Aug 2014 04:26:11 +0200
opsi4ucs (4.0.5.5-4) experimental; urgency=low
Using newer version of Debhelper
-- Niko Wenselowski <n.wenselowski@uib.de> Fri, 24 Oct 2014 11:50:09 +0200
opsi4ucs (4.0.5.5-3) experimental; urgency=low
Changed filename of Configed icon
-- Niko Wenselowski <n.wenselowski@uib.de> Fri, 24 Oct 2014 10:47:20 +0200
opsi4ucs (4.0.5.5-2) experimental; urgency=low
UCS 3.2: Integration in administration overview page
-- Niko Wenselowski <n.wenselowski@uib.de> Thu, 23 Oct 2014 14:55:31 +0200
opsi4ucs (4.0.5.5-1) experimental; urgency=low
Only fetching the Samba init command if configuring Samba
-- Niko Wenselowski <n.wenselowski@uib.de> Wed, 22 Oct 2014 13:51:46 +0200
opsi4ucs (4.0.5.4-2) experimental; urgency=low
Changed Samba4 detection to work on all UCS 3.x
-- Niko Wenselowski <n.wenselowski@uib.de> Fri, 17 Oct 2014 14:57:54 +0200
opsi4ucs (4.0.5.3-1) experimental; urgency=low
99opsi4ucs.inst: fix detection of Samba 4 and also work on UCS 3.2
-- Niko Wenselowski <n.wenselowski@uib.de> Mon, 15 Sep 2014 14:01:49 +0200
opsi4ucs (4.0.5.2-1) experimental; urgency=low
--auto-configure-dhcpd does not fail on missing file
-- Niko Wenselowski <n.wenselowski@uib.de> Mon, 11 Aug 2014 17:33:00 +0200
opsi4ucs (4.0.5.1-1) experimental; urgency=low
Workaround for getopt not correctly reading in JSON objects.
-- Niko Wenselowski <n.wenselowski@uib.de> Tue, 05 Aug 2014 10:51:18 +0200
swaudit (4.0.5-1) stable; urgency=low
changelog to control file
-- detlef oertel <d.oertel@uib.de> Fri, 01 Aug 2014 15:00:00 +0100
[[opsi-405-releasenotes-misc-changelogs-opsi-template]] ==== Changelog opsi-template
opsi-template (4.0.5-1) stable; urgency=low
new property dummy_prop
-- detlef oertel <d.oertel@uib.de> Mon, 03 Nov 2014 16:01:53 +0200