Ich plane immer noch meine Software mit OPSI verwalten zu lassen. Dabei ensteht jetzt erneut die Frage: Wie gehe ich mit verschiedenen Versionen einer Software um.
Ich möchte das an einem Beispiel mal verdeutlichen. Wenn ich ein Paket erstelle "MeineSoftware", dann will ich ja sicher gehen, dass immer die neueste Version installiert wird - egal wann der Rechner, der verwaltet wird, sich wieder mal anmeldet. Es gibt bei uns Rechner, die schon mal einige Monate nicht im Firmennetz sind und dann zwecks Update in die Firmenzentrale kommen. Da kann es schon sein, dass dann 1 oder 2 Versionssprünge einer Software mitlerweile eingespielt werden müssen (klar - nur die letzte version - aber es kann sein, dass Version 1 anders deinstalliert werden muss, als version 2 - und das bevor Version 3 dann drauf kommt). Wie kann ich also mehrere Versionen einer Software in einem Paket verwalten bzw. wann ist das eine empfohlene Vorgehensweise.
Anders kann ich auch "MeineSoftware_1.0" ertellen und alle weiteren "..1.1", "2.0" usw. Woher weiß dann Opsi, das es erstmal "MeineSoftware_1.0" bzw. "...1.1" deinstallieren muss, bevor es "MeineSoftware_2.0" installieren darf?
Ich denke, dass die Entscheidung darüber dann sich auch auswirkt auf die Frage, (die ich schon gestellt und auch gut beantworte bekommen habe), wie das mit dem Zusammenfassen von Paketen zu handhaben ist. So haben wir ein Paket für "Notebooks" und eines für "PCs" und eines für "Entwickler" usw. Bei Variante 1 ist bei einer neuen Version nicht notwendig, dass ich das "Notebooks"-Paket anpasse, da die Software "MeineSoftware" ja schon drin ist. Wird das Update auf allen Notebooks dann auch ausgeführt?
Und wie verhält es sich, wenn ich das Paket "Notebooks" um einen neue neue Software erweitere (z.b "DeineSoftware") - wird die dann auch auf allen Notebooks automatisch hinzugefügt?
Oder beim Entfernen von Software aus solchen Paketen: Wird dann Software automatisch auch wieder entfernt, wenn z.b. diese Software nicht mehr benötigt wird und man sich für einen andere entschieden hat?
Versionierung und Updates für Softwarepakete
-
- Beiträge: 472
- Registriert: 09 Sep 2009, 09:40
Re: Versionierung und Updates für Softwarepakete
Dann musst du die Deinstallationsroutine mittles opsiscript so schlau programmieren, dass sie alle Versionssprünge findet. Dazu kann man z.B. die Registry durchsuchen, den "UninstallString" einer installierten Software auslesen und verwenden.MyKey0815 hat geschrieben: Ich möchte das an einem Beispiel mal verdeutlichen. Wenn ich ein Paket erstelle "MeineSoftware", dann will ich ja sicher gehen, dass immer die neueste Version installiert wird - egal wann der Rechner, der verwaltet wird, sich wieder mal anmeldet. Es gibt bei uns Rechner, die schon mal einige Monate nicht im Firmennetz sind und dann zwecks Update in die Firmenzentrale kommen. Da kann es schon sein, dass dann 1 oder 2 Versionssprünge einer Software mitlerweile eingespielt werden müssen (klar - nur die letzte version - aber es kann sein, dass Version 1 anders deinstalliert werden muss, als version 2 - und das bevor Version 3 dann drauf kommt). Wie kann ich also mehrere Versionen einer Software in einem Paket verwalten bzw. wann ist das eine empfohlene Vorgehensweise.
Das kann IMO OPSI nicht beigebracht werden.Anders kann ich auch "MeineSoftware_1.0" ertellen und alle weiteren "..1.1", "2.0" usw. Woher weiß dann Opsi, das es erstmal "MeineSoftware_1.0" bzw. "...1.1" deinstallieren muss, bevor es "MeineSoftware_2.0" installieren darf?
Gruß
Thomas
Re: Versionierung und Updates für Softwarepakete
Über die Deklaration von Abhängigkeiten sollte man das OPSI AFAIK schon beibringen können.thomas.besser hat geschrieben: Das kann IMO OPSI nicht beigebracht werden.
Re: Versionierung und Updates für Softwarepakete
Heißt dass, das die Philosophie von OPSI darin besteht, dass immer nur 1 Version je Software vorgehalten wird? D.h., dass ich eine Software "Meine Software" erstelle und in dieser dann immer nur die aktuellste Version ablege.
Wie bekommen die Clients dann aber mit, dass sich was verändert hat? Die Software gilt ja als "installiert" - muss ich dazu in den jeden Client gehen und "MeineSoftware" erneut auf installieren setzen?
Wie bekommen die Clients dann aber mit, dass sich was verändert hat? Die Software gilt ja als "installiert" - muss ich dazu in den jeden Client gehen und "MeineSoftware" erneut auf installieren setzen?
Re: Versionierung und Updates für Softwarepakete
Ja, das ist die Art und Weise, wie OPSI konzipiert ist. Man kann, wenn man es braucht und will auch gewisse Sachen automatisieren, wenn man eine neue Version eines Paketes in OPSI bereitstellt. Wenn Du z.B. den OPSI Package Builder (siehe hier im Forum) benutzt, dann kann man bei der Bereitstellung auswählen, das eben jene neue Paketversion auf alle Maschinen installiert werden soll, auf denen eine Vorgängerversion installiert ist. Das ganze geht auch auf der Konsole über die CLI-Tools opsi-admin bzw. opsi-package-manager. Insgesamt kann man OPSI recht gut und umfassend scripten, da man auf so gut wie jede OPSI-Funktion über Tools rankommt. Das macht die Sache natürlich ggf. komplex, aber wenn man spezielle Anforderungen hat, dann ist das gerade zu zwangsläufig.
- n.wenselowski
- Ex-uib-Team
- Beiträge: 3194
- Registriert: 04 Apr 2013, 12:15
Re: Versionierung und Updates für Softwarepakete
Hi,
Oftmals wird das umgangen indem man die Software-Version als Teil der Produkt-ID pflegt, wenn es denn unbedingt sein muss.
Gruß
Niko
Die Idee ist, dass man keine veralteten Versionen verteilen möchte, sondern immer die neueste.MyKey0815 hat geschrieben:Heißt dass, das die Philosophie von OPSI darin besteht, dass immer nur 1 Version je Software vorgehalten wird? D.h., dass ich eine Software "Meine Software" erstelle und in dieser dann immer nur die aktuellste Version ablege.
Oftmals wird das umgangen indem man die Software-Version als Teil der Produkt-ID pflegt, wenn es denn unbedingt sein muss.
Bspw. bei der Installation des neuen Pakets gleich die Installation auf den Clients mit anordnen oder über opsi-admin das ganze angehen.MyKey0815 hat geschrieben:Wie bekommen die Clients dann aber mit, dass sich was verändert hat? Die Software gilt ja als "installiert" - muss ich dazu in den jeden Client gehen und "MeineSoftware" erneut auf installieren setzen?
Code: Alles auswählen
opsi-package-manager --install --setup <deinfile.opsi>
opsi-admin -d method setActionRequestWhereOutdated setup <deineProductId>
opsi-admin -d method setActionRequestWhereOutdatedWithDependencies setup <deineProductId>
Gruß
Niko
Code: Alles auswählen
import OPSI