Best-Practice für selbstgebaute Pakete / Versionierung /

Antworten
TD_SPX
Beiträge: 18
Registriert: 09 Jan 2012, 17:05

Best-Practice für selbstgebaute Pakete / Versionierung /

Beitrag von TD_SPX »

Hallo zusammen,

wir arbeiten uns gerade in OPSI ein (bisher reibungslose Installation auf einem Debian Squeeze-Server), um später Software in einem Netzwerk von ca. 100 Clients zu deployen. Momentan stellen sich daher eher grundsätzliche Fragen, wie man Dinge am besten in OPSI erledigt.

Wir haben zum testen ein Firefox (v9)-Paket gebaut und das auch schon erfolgreich auf dem Client installiert bzw. deinstalliert.

Mir stellt sich nun die Frage, wie die beste Vorgehensweise für folgende Szenarien ist.

1. Upgrade von Firefox 9 auf spätere Versionen

Ist es sinnvoller hier ein neues Paket (Firefox901) mit OPSI zu erstellen, das alte (Firefox9) auf den betroffenen Clients zu deinstallieren und das Paket Firefox901 zu installieren ODER gibt es eine Möglichkeit mit den Versionsnummern der Pakete in OPSI zu arbeiten. Wenn ja, wie sieht das dann aus? Sollte man sich auf Update-Routinen der Programme verlassen (das Firefox Setup upgradet ja z.B. den Browser, wenn man das Setup startet) oder sollte man IMMER jeweils das alte Paket zunächst entfernen und das neue installieren?

2. Vorhandene Programme

Ist es möglich, vorhandene Software verwalten zu lassen, sprich: Ich habe einen Rechner der schon einige Zeit genutzt wird und auf dem schon Software installiert ist. Meine Vorstellung lautet in etwa so: Ich weiß (z.B. durch swaudit, dass ein Firefox 9 installiert ist, also setze ich im OPSI für den Rechner den Paketstatus auf installed. Oder passiert das eventuell schon automatisch?

3. Lizenzerfassung

Ich habe gesehen, dass für manche Produkte durch swaudit schon Lizenzkeys ausgelesen wurden, allerdings nicht für alle die einen Key besitzen. Gibt es eine Möglichkeit OPSI mitzuteilen, wo es Lizenzschlüssel in der Registry findet (a) für Programme die als OPSI-Paket vorhanden sind, b) für Programme die nicht als OPSI-Paket vorhanden sind)

Über Best-Practice-Erfahrungen, aber auch über euren Weg mit verschiedenen Software-Versionen umzugehen, würde ich mich freuen. :)

Beste Grüße,
Thomas
Benutzeravatar
tobias
Beiträge: 1294
Registriert: 20 Aug 2008, 12:36
Wohnort: Braunschweig
Kontaktdaten:

Re: Best-Practice für selbstgebaute Pakete / Versionierung /

Beitrag von tobias »

Hi,

zum Thema Patchmanagement hilft dir eventuell dieser Beitrag
viewtopic.php?f=7&t=3078&p=14646#p14648

als ich das gelesen hab ist mir ein licht aufgegangen :)

aus der SWinvent DB holt sich OPSI leider keine Infos finde ich aber auch besser so denn Handinstallationen möchte ich nicht per OPSI verwalten da ich dort nicht genau sagen kann ob meine Scripte damit wirklich funktionieren....


Gruß
Tobias
TD_SPX
Beiträge: 18
Registriert: 09 Jan 2012, 17:05

Re: Best-Practice für selbstgebaute Pakete / Versionierung /

Beitrag von TD_SPX »

Hallo Tobias,

danke zunächst für deine Antwort. Nach meinem Verständnis ist dieser Prozess aber nicht ganz konsistent bzw. möchte ich dazu die Frage stellen:

Gesetzt dem Fall ich habe FF9 installiert auf einem Client. Ich installiere in Opsi also eine neu gebautes Paket das den selben Paketnamen hat wie vorher auch, ändere lediglich die Versionsnummer. Dann setze ich das Produkt auf dem entsprechenden Client auf Setup (entweder von Hand oder über opsi-package-manager -iS firefox10.opsi).

Hier fängt das gedankliche Problem an: Wird Firefox 9 auf dem Client nun durch das UNINSTALL-Script der 10er Version deinstalliert? Das mag im Falle des Firefox klappen, aber ganz generell kann das doch nicht die vorgehensweise sein. Oder aber ist es so, dass OPSI sich das UNINSTALL-Script der 9er Version "merkt", erst das UNINSTALL-script der 9er ausführt und dann das Setup der 10er?

I am deeply confused. :geek:

Beste Grüße,
Thomas
Benutzeravatar
tobias
Beiträge: 1294
Registriert: 20 Aug 2008, 12:36
Wohnort: Braunschweig
Kontaktdaten:

Re: Best-Practice für selbstgebaute Pakete / Versionierung /

Beitrag von tobias »

TD_SPX hat geschrieben:Hallo Tobias,

danke zunächst für deine Antwort. Nach meinem Verständnis ist dieser Prozess aber nicht ganz konsistent bzw. möchte ich dazu die Frage stellen:

Gesetzt dem Fall ich habe FF9 installiert auf einem Client. Ich installiere in Opsi also eine neu gebautes Paket das den selben Paketnamen hat wie vorher auch, ändere lediglich die Versionsnummer. Dann setze ich das Produkt auf dem entsprechenden Client auf Setup (entweder von Hand oder über opsi-package-manager -iS firefox10.opsi).

Hier fängt das gedankliche Problem an: Wird Firefox 9 auf dem Client nun durch das UNINSTALL-Script der 10er Version deinstalliert? Das mag im Falle des Firefox klappen, aber ganz generell kann das doch nicht die vorgehensweise sein. Oder aber ist es so, dass OPSI sich das UNINSTALL-Script der 9er Version "merkt", erst das UNINSTALL-script der 9er ausführt und dann das Setup der 10er?

I am deeply confused. :geek:

Beste Grüße,
Thomas
Da es ein ganz neues Paket ist nimmt OPSI das neue Script von der 10er.
Du hast aber die Möglichkeit durch ein update.ins WINST Script ein update durchzuführen.
Dann hast du:
Install.ins für Neuinstallationen
uninstall.ins zum deinstallieren
update.ins für alle Firefox Installationen älter als v10

Um die update ins für Versionen einzusetzen kannst du das nach jeder Version mit entsprechenden Versionsabfragen gut anpassen. WINST ist in der Hinsicht sehr mächtig.

IMHO ist die Funktion aber tatsächlich Verbesserungswürdig, da man ein sauberes Patchmanagement durch "Sub" Pakete oder gar einer eigenen Produkt Kategorie (Patch) besser realisieren könnte.
TD_SPX
Beiträge: 18
Registriert: 09 Jan 2012, 17:05

Re: Best-Practice für selbstgebaute Pakete / Versionierung /

Beitrag von TD_SPX »

Hi Tobias,

ok, soweit so erwartet (und auch logisch).

Ich gehe also dann davon aus, dass ich die gesamte Logik in update.ins aber manuell erstellen muss. Wird update.ins der Version 10 automatisch verwendet, wenn ich Version 10 von einem Paket installieren will von dem Bereits Version 9 als installiert geführt wird? ... bezieht sich der "UPdate-Begriff" also auf ein update VON version X, oder NACH version X?

In meinem konkreten Fall würde ich also update.ins in Worten ungefähr so aufbauen:

* Checke welche Firefox-Version installiert ist
* nutze die der bisherigen Version entsprechende Deinstallationsroutine um den erkannten FF zu deinstallieren
* führe das Setup von FF10 aus.

Das kann man nach meinem Verständnis ja unendlich komplex aufbauen... je nach dem, was man denn gern abfangen möchte oder muss.
Ich möchte deine Zeit garnicht allzu sehr in Anspruch nehmen und werden in den nächsten Tagen die Dokumentation nochmal mit dem neuen Wissen durchforsten. Danke aber für deine aufschlussreichen antworten :)

Damit dürften die Punkte 1 und 2 grob bearbeitet sein, ich würde mich freuen, wenn noch jemand etwas zu Punkt 3 sagen könnte.

Beste Grüße,
Thomas
Benutzeravatar
tobias
Beiträge: 1294
Registriert: 20 Aug 2008, 12:36
Wohnort: Braunschweig
Kontaktdaten:

Re: Best-Practice für selbstgebaute Pakete / Versionierung /

Beitrag von tobias »

Also die Update.ins wird generell NACH jeder Setup Aktion ausgeführt. Du kannst jedoch auch die setup.ins manuell ausführen und auch dort wo die software schon installiert ist auf setup setzen.

Code: Alles auswählen

opsi-package-manager -iU <paket.opsi>
Der Befehl spielt ein Paket ein und setzt es überall da wo es auf Installed steht auf update.

Code: Alles auswählen

opsi-package-manager -iS <paket.opsi>
Der Befehl spielt ein Paket ein und setzt es überall da wo es auf Installed steht auf setup.

Das erstellen der update.ins ist Handarbeit das stimmt. Ich bin mir aber nicht sicher wie andere Anbieter wie EMPIRUM das machen aber ich kann mir nicht vorstellen das die eine Update routine mal eben von selber erarbeiten.


Gruß
Tobias
Antworten