[gelöst] Schritt vergessen für Fernwartung?

mastergivi
Beiträge: 8
Registriert: 13 Apr 2016, 15:28

[gelöst] Schritt vergessen für Fernwartung?

Beitrag von mastergivi »

Moin,

ich bitte vorab um Entschuldigung, sollte meine Frage bereits irgendwo gelöst und/oder sehr offensichtlich sein. Ich steh' gerade vor einer Wand und komme einfach nicht weiter.

Kurze Einführung: Ich habe als WHK die Systemadministration eines Rechnerpools übernommen, die Stelle lag mindestens 3 Monate brach und die Dokumentation vom Vorgänger (ausgebildeter ITler, kein Student) ist recht hilfreich, aber nicht vollständig. In der Folge kriege ich es nicht hin, die PCs im Pool via Fernwartung zu aktualisieren.

Hier mal kurz ausgeführt, was ich bisher versucht/getan habe:

1. Schritt: Installationsdatei (exe) herunterladen
2. Schritt: install-Skript erstellen (copy&paste aus denen des Vorgängers, funktionieren lokal mit opsi-winst)
3. Schritt: mittels putty auf dem Server einen Ordner (newprod) erstellen
4. Schritt: via Filezilla die exe und das Skript in den erstellen Ordner auf dem Server einlagern
5. Schritt: zurück zu putty wechseln und ein .opsi-Paket schnüren
6. Schritt: via putty das Paket auf dem Server installieren
7. Schritt: im opsi Client Agent einen Rechner aussuchen, dort beim entsprechenden Programm das setup anfordern, speichern und entweder "demand" klicken, oder Rechner starten
8. Schritt: freuen, dass sich etwas tut (Verbindung mit Server, Aktion abrufen, etc, pp)
9. Schritt: enttäuscht sein, dass keine Installation stattfindet/fand

Der offensichtliche Fehler ist, dass ich irgendwas vergessen habe - aber was? Es wäre super, wenn ihr mir hier weiterhelfen könnt - sonst muss ich mitm USB-Stick durch den Pool rennen - und da sträubt sich mein Ehrgeiz etwas ;-)

Besten Dank im Voraus,
Erik

Kurzzusammenfassung Lösung: Script muss auf .opsiscript enden.
Zuletzt geändert von mastergivi am 20 Apr 2016, 12:13, insgesamt 2-mal geändert.
pandel
Beiträge: 830
Registriert: 25 Jan 2013, 16:47

Re: Schritt vergessen für Fernwartung?

Beitrag von pandel »

Hey Erik!

Deine Vorgehensweise scheint erstmal in Ordnung zu sein. Dann muss der Bock iwo im Setupskript liegen...

Doofe Frage: Schonmal in die Doku geschaut (https://download.uib.de/opsi4.0/doc/htm ... ntegration)? Das ist ziemlich gut beschrieben...

Aber egal... Du solltest auf dem Rechner einen Ordner c:\opsi.org finden. Da sind idR jede Menge Logs drin, aus denen du ersehen können solltest, was da passiert ist (im opsi-configed gibt's die Logansicht übrigens auch pro Client). Könnte es evtl. sein, dass du eine Adminanmeldung für die Installation brauchst? Dann läuft das mit dem Setupskript ein wenig anders...

Es wäre schon sehr hilfreich, wenn du mal ein Log und/oder deine setup.ins bzw. setup.opsiscript posten würdest. Dann kann man mal schauen, ob du da irgendeinen Bock drin hast, ok?

Lg
Holger
mastergivi
Beiträge: 8
Registriert: 13 Apr 2016, 15:28

Re: Schritt vergessen für Fernwartung?

Beitrag von mastergivi »

Guten Morgen Holger,

danke für die schnelle Antwort. Bin jetzt wieder auf Arbeit und habe das Log gefunden:

Code: Alles auswählen

[4] [Apr 13 15:01:10:062] [qgis] Warning: file not found :p:\qgis\installqgis.ins -retrying
- also ist mein Ablageort anscheinend falsch. Derzeit lege ich die opsi-Pakete immer unter "Server/home/opsiproducts/Softwarename".

Zum Skript an sich:

Code: Alles auswählen

******************************************************************
; Copyright (c) uib gmbh (www.uib.de)
; This sourcecode is owned by uib
; and published under the Terms of the General Public License.

[Initial]
Message=Installiere QGis Essen ...
StayOnTop=false

[Aktionen]
Winbatch_produkt_silent_install

[Winbatch_produkt_silent_install]
"%ScriptPath%\QGIS-OSGeo4W-2.14.1-1-Setup-x86_64.exe" -ms
Ist wie gesagt vom Vorgänger übernommen, nur die Dateinamen sind geändert.

Das "getting started" durchzulesen war mein erster Schritt, deshalb bin ich auch so verwundert, dass es nicht funktioniert.

Beste Grüße
Erik
panisch
Beiträge: 47
Registriert: 02 Okt 2014, 15:22

Re: Schritt vergessen für Fernwartung?

Beitrag von panisch »

Guten Morgen,

schau mal in deinem Paketordner unter \home\opsiproducts\%product%\OPSI
Dort müsste eine control-Datei liegen, dort findest du die Zeilen

Code: Alles auswählen

setupScript: install.opsiscript
uninstallScript: uninstall.opsiscript
Stimmen die mit dem überein was du im \home\opsiproducts\%product%\CLIENT_DATA Ordner an Skripten liegen hast?

Matthias

ps: zum bauen und packen von Paketen kann ich übrigens nur wärmstens den package Builder von Holger empfehlen. ;-)
viewtopic.php?f=22&t=7573
(auch sehr gut kombinierbar mit dem opsi-setup-detector, den gibts schon als fertiges Opsi-Paket :) )
mastergivi
Beiträge: 8
Registriert: 13 Apr 2016, 15:28

Re: Schritt vergessen für Fernwartung?

Beitrag von mastergivi »

Guten Morgen Matthias,

in der Control-Datei ist das richtige Setup-Skript eingetragen - auf das uninstall-Skript habe ich bisher verzichtet. Das dürfte aber kaum die Fehlerquelle sein?!


Den Package-Builder von Holger kriege ich - warum auch immer - nicht mit dem Server verbunden. Beim Versuch zu Packen kriege ich folgende Meldung:

Code: Alles auswählen

----------------------- BUILD ACTION ---------------------------
----------------------------------------------------------------
export PYTHONIOENCODING='utf-8'; cd '/home/opsiproducts/SYSADMIN/SYSADMIN - Scripts/OPSI/qgis'; opsi-makeproductfile -vv
chmod: Zugriff auf »/home/opsiproducts/SYSADMIN/SYSADMIN - Scripts/OPSI/qgis/OPSI/preinst“ nicht möglich: Datei oder Verzeichnis nicht gefunden
chmod: Zugriff auf »/home/opsiproducts/SYSADMIN/SYSADMIN - Scripts/OPSI/qgis/OPSI/postinst“ nicht möglich: Datei oder Verzeichnis nicht gefunden
bash: Zeile 0: cd: /home/opsiproducts/SYSADMIN/SYSADMIN - Scripts/OPSI/qgis: Datei oder Verzeichnis nicht gefunden
info: Source dir: /home/adminuser
info: Temp dir: /tmp
info: Custom name: 
info: Archive format: cpio
critical: Traceback:
critical:      line 386 in '<module>' in file '/usr/bin/opsi-makeproductfile'
critical:      line 229 in 'main' in file '/usr/bin/opsi-makeproductfile'
critical:      ==>>> Control file '/home/adminuser/OPSI/control' not found
ERROR: Control file '/home/adminuser/OPSI/control' not found
Das ist eine Aufgabe für einen anderen Tag, wenn das mit dem Installieren auch "manuell" klappt und ich weniger Zeitdruck habe.
Benutzeravatar
n.wenselowski
Ex-uib-Team
Beiträge: 3194
Registriert: 04 Apr 2013, 12:15

Re: Schritt vergessen für Fernwartung?

Beitrag von n.wenselowski »

Hi,

kleiner Schuss ins Blaue:
Auf dem Server das folgende ausführen:

Code: Alles auswählen

opsi-set-rights
service smb restart
Anschließend mal mit einem Client den Share opsi_depot mounten und schauen, ob die Files dort entsprechend zu finden sind.


Gruß

Niko

Code: Alles auswählen

import OPSI
pandel
Beiträge: 830
Registriert: 25 Jan 2013, 16:47

Re: Schritt vergessen für Fernwartung?

Beitrag von pandel »

@Matthias: Danke für die Blumen :mrgreen: freut mich immer sehr, wenn jemand die oPB erfolgreich und gerne einsetzt!

@Erik: Da ist wirklich irgendwas mit deiner Paketstruktur nicht in Ordnung. Der Ordner

Code: Alles auswählen

bash: Zeile 0: cd: /home/opsiproducts/SYSADMIN/SYSADMIN - Scripts/OPSI/qgis: Datei oder Verzeichnis nicht gefunden
is ja irgendwie nicht da, sollte aber.

Und wegen

Code: Alles auswählen

ERROR: Control file '/home/adminuser/OPSI/control' not found
klingt es so, als hättest du versucht, im oPB den Ordner "/home/adminuser" quasi als Produktordner zu öffnen. Das geht natürlich nicht und wieso ist der bei dir überhaupt als SMB Share freigegeben? Der opsi development Share ist doch "/home/opsiproducts". Schau bitte nochmal in die Einstellungen im oPB. Bei Fragen bitte melden!

Aber zurück zu deinem Paket:
Ist schon merkwürdig, da im "OPSI" Ordner eigentlich NUR die "control" Datei liegt (oder, wenn du mein Tool nutzt, evtl. noch zusätzliche Backups davon). Deine eigentlichen Produktdaten inkl. Skripte müssen unter CLIENT_DATA.

Also muss deine Paketstruktur wie folgt aussehen, wenn "qgis" deine Produkt ist:

Code: Alles auswählen

/home/opsiproducts/SYSADMIN/SYSADMIN - Scripts/OPSI/qgis/OPSI
---> control-Datei (evtl. inkl Backups)
/home/opsiproducts/SYSADMIN/SYSADMIN - Scripts/OPSI/qgis/CLIENT_DATA
---> setup.opsiscript, uninstall.opsiscript, (evtl. delsub.opsiscript) und VOR ALLEM DEINE QGIS-OSGeo4W-2.14.1-1-Setup-x86_64.exe
Denn gem. deines Logs ist das hier

Code: Alles auswählen

/home/opsiproducts/SYSADMIN/SYSADMIN - Scripts/OPSI/
dein Basis-Entwicklungsordner.

Für den oPB würdest du dir unter Windows den Share \\%opsi_server%\opsi_workbench (der auf /home/opsiproducts verweist) z. B. als Laufwerk Y: zuordnen und dann in den Einstellungen hinterlegen, dass du a) ein "Bestehendes Netzwerklaufwerk verwenden" willst und b) dein Entwicklungsordner folgender ist:

Code: Alles auswählen

Y:\SYSADMIN\SYSADMIN - Scripts\OPSI
Damit muss der oPB alles ordentlich finden.

Ganz allgemein: bei Problemen mit dem oPB bin ich sehr gerne hilfsbereit! Von daher jede noch so merkwürdig erscheinende Frage posten. Lieber eine mehr, als eine zu wenig ;) Wir können auch gerne mal anhand vom oPB beispielhaft eine Paketerstellung durchspielen, wenn du magst, vielleicht wird es dann klarer...

Ich glaube
Lg und schönes Wochenende
Holger
mastergivi
Beiträge: 8
Registriert: 13 Apr 2016, 15:28

Re: Schritt vergessen für Fernwartung?

Beitrag von mastergivi »

Hallo Leute,

vielen Dank nochmal für die Tips.

Ich habe jetzt ein eigenes Script zusammengeschrieben, welches auf .opsiscript endet:

Code: Alles auswählen

[Actions]
DefVar $ProductId$
DefVar $Setupfile$


Set $ProductId$		= "qgis"
Set $Setupfile$		= "QGIS-OSGeo4W-2.14.1-1-Setup-x86_64.exe"


Message "Installiere " + $ProductId$ + "..."
WinBatch_setup


[WinBatch_setup]
"%SCRIPTPATH%\QGIS-OSGeo4W-2.14.1-1-Setup-x86_64.exe" -ms
Das Ganze via putty und Filezilla wieder auf den Server geschoben/angelegt - tada! Die Installation wird gestartet. Ich werde nochmal testen, ob es an der Endung oder am Script selbst lag, aber das ist nebensächlich. Erstmal die Pflicht, dann die Kür.

Denn: Ziel der Übung ist, dass die Installation ohne Eingabe durch den Nutzer abläuft. Wie erreiche ich das? Die Hinweise im opsi-Handbuch sind etwas hinter meinem derzeitigen Horizont.


@Holger: Wenn ich versuche, den Opsi-Server als Netzlaufwerk zu mounten, wird mir gesagt, dass der Netzlaufwerkname nicht gefunden werden kann. Versuche ich, die workbench beim oPB als Entwicklungsordner zu hinterlegen, wird mir gesagt, dass UNC-Ordner keine Entwicklungsordner sein dürfen.
Der derzeitige Entwicklungsordner liegt nicht auf dem Opsi-Server - Pfusch meinerseits. Für Mai daher das Projekt: oPB neu installieren und richtig einrichten. Weil hilfreich ist das gute Stück in jedem Fall.
andré
Beiträge: 329
Registriert: 07 Jan 2014, 10:48

Re: Schritt vergessen für Fernwartung?

Beitrag von andré »

Nur mal kurz reingehängt: Dass ein Nutzer keine Eingaben während der Installation machen muss, ist bei einem Installer kein Verdienst von OPSI selber, sondern OPSI führt den Installer selber nur silent aus.

Beispielsweise, indem bei Firefox (und bei deinem Beispiel auch) die setup.exe mit den Parametern -ms ausgeführt wird. Würde die setup.exe ohne Parameter ausgeführt, kommt die Rückfrage an den Nutzer.
In so einem Fall hilft es oft, Google zu bemühen mit den Stichworten "unattended Installation", oder "silent Installation" in Verbindung mit dem Programmnamen.

Bei deinem Beispiel übrigens noch suboptimal: du belegst die Variable $Setupfile$, nutzt die unten aber nicht.
pandel
Beiträge: 830
Registriert: 25 Jan 2013, 16:47

Re: Schritt vergessen für Fernwartung?

Beitrag von pandel »

mastergivi hat geschrieben:... tada! Die Installation wird gestartet. Ich werde nochmal testen, ob es an der Endung oder am Script selbst lag, aber das ist nebensächlich. Erstmal die Pflicht, dann die Kür.
Na das ist doch schonmal was ;-)

Bitte nicht falsch verstehen, ist nicht bös gemeint: du solltest trotzdem das Posting von André nochmal genau lesen und dir überlegen, ob du das mit der generellen Funktionsweise von "silent/unattended install" sauber hinterblickt hast ;) ... ich muss (und ich hoffe, ich darf ;) ) da Andrés Aussage nochmal verstärkt wiederholen: das macht NICHT opsi, das macht der JEWEILIGE Software Installer. Du musst also IMMER nach den silent bzw. unattended install Parametern des jeweiligen Installers bzw. Programms googlen, beim Hersteller oder sonstwo nachfragen!
mastergivi hat geschrieben: @Holger: Wenn ich versuche, den Opsi-Server als Netzlaufwerk zu mounten, wird mir gesagt, dass der Netzlaufwerkname nicht gefunden werden kann. Versuche ich, die workbench beim oPB als Entwicklungsordner zu hinterlegen, wird mir gesagt, dass UNC-Ordner keine Entwicklungsordner sein dürfen.
Der derzeitige Entwicklungsordner liegt nicht auf dem Opsi-Server - Pfusch meinerseits. Für Mai daher das Projekt: oPB neu installieren und richtig einrichten. Weil hilfreich ist das gute Stück in jedem Fall.
Alles korrekte Feststellungen soweit. AABER: Wieso hast du den Entwicklungsordner (und offensichtlich auch die restliche Einrichtung der Samba Freigaben) nicht ordentlich auf deinem opsi Server?

Also Aufgabe für Mai: Das opsi Getting Started Handbuch nochmal in Ruhe lesen und die opsi Einrichtung sauber Schritt für Schritt durchführen :twisted:, dann klappt's auch mit'm oPB :D

Ansonsten, weiterhin viel Spaß!
Antworten