Hi,
islam hat geschrieben:Wie kann ich mit dem opsi-admin Befehl die Versionsnummer von einem bestimmten Produkt auslesen und diese verändern?
ich habe das hier ausprobiert aber leider ohne Erfolg. Konnte auch keine Dokumentation dafür finden
Code: Alles auswählen
opsi-admin -dS method product_getObjects '{"productId":"internet_firefox","productVersion"}'
opsi-admin -dS method product_updateObject '{"productId":"internet_firefox","productVersion":"52.8.0"}'
Nur die Versionsnummer anzupassen geht so nicht, weil diese mitsamt ID und Paketversion zu den eindeutigen Merkmalen einer Software gehört.
Und nur weil eine neue Produktversion im Backend vorhanden ist heißt es nicht, dass diese auch überall zum Tragen kommt. In der Regel wirst du zusätzlich noch productOnDepot (oder sogar noch productOnClient) anpassen wollen, damit es nicht kracht.
Die Parameter der Methode product_getObjects sind leicht als erstes die Limitierung auf die anzuzeigenden Attribute und anschließend der Filter.
Die Attribute können leer gelassen werden, wenn alles angezeigt werden soll.
Code: Alles auswählen
opsi-admin -d method product_getObjects '' '{"id": "firefox"}'
Hier noch mit Filter für passende Versionen:
Code: Alles auswählen
opsi-admin -d method product_getObjects '' '{"id": "firefox", "productVersion": "deineVersion", "packageVersion": "deineVersionsnummer"}'
Bei dem Einbringen einer neuen Version ist das Vorgehen auslesen, bearbeiten und einspielen:
Code: Alles auswählen
opsi-admin -d method product_getObjects '' '{"id": "firefox", "productVersion": "deineVersion", "packageVersion": "deineVersionsnummer"}' > firefox.json
Das kannst du dann bearbeiten (neue Versionen eintragen) und wieder einspielen.
Beim Bearbeiten wichtig: alten ident rauswerfen und die Liste entfernen, weil die Methode nur jeweils ein Objekt verwendet - es dürfen also in firefox.json nicht mehrere Firefox-Objekte vorhanden sein.
Code: Alles auswählen
opsi-admin -d method product_insertObject < firefox.json
Gruß
Niko
PS: Mal ins Entwickler-Forum geschoben, weil es hier mehr um die API geht.