This is an old revision of the document!


Wie man

...die gelisteten Scripte nutzt

geschrieben von Thomas_H 2011/12/27 08:53

Willkommen in der Wiki, die durch stolze erfolgreiche Nutzer von opsi initiiert wurde. Wenn Du Opsi (Open PC Server Integration) nutzen willst, dann musst Du Dir darüber klar sein, dass dieses System - wie andere Server auch - kein “Out-Of-The-Box”-System ist. Löse Dich also von der Vorstellung, dass Du opsi einfach nur installierst und danach dann jede Software und jedes Betriebssystem auf anderen Rechnern installieren kannst. Da gibt es noch einiges an Arbeit zu tun, bevor Du das machen kannst! Und obwohl es sehr (!) gute Anleitungen und Tips gibt für Opsi, so liegt es bei Dir die meisten Inhalte und Pakete für Opsi zu erstellen.

Diese Wiki soll verhindern, dass viel Arbeit ein zweites Mal gemacht werden muss, denn wenn ein Paket einmal erstellt wurde, können - und sollen - die Scripte hier eingestellt werden. Denk daran: andere haben viel Zeit in diese Scripte investiert, sie haben sich die Zeit genommen, diese Scripte hier zu veröffentlichen und Du sparst viel Zeit, wenn Du diese Scripte benutzt. So hilf anderen, in dem Du Deine eigenen Scripte hier veröffentlichst, wenn Du selbst welche erstellst.

Diese Howto ist in erster Linie für Neulinge gedacht, die mit Opsi anfangen und sich einen Überblick verschaffen wollen. Mit diesem Howto sollten sie die ersten Erfolge erzielen beim Erstellen eines Paketes, ohne das “Warum” oder “Was” in den Scripten zu kennen. Das “Warum” und “Was” ist etwas, das Du später lernst, aber es sei auch darauf hingewiesen dass Du das zu lernen hast wenn Du Opsi dauerhaft nutzen willst, ansonsten wirst Du permanent die Hilfe der anderen brauchen oder Du hast einen Supportvertrag mit UIB, dann machen die das alles für Dich.

Klar: Das Beste ist, die Schulungen zu machen, Informationen über die Opsi-Schulungen bekommst Du hier. Bezahlten Support mit erweiterten Leistungen gibt es ebenfalls dort.

Ein paar Worte bevor wir beginnen...

  • Lies die Anleitungen! Wir erwarten, dass Du den Opsi-Server entsprechend der Anleitung "Getting Started" installiert und konfiguriert hast.
  • Die veröffentlichten Scripte wurden getestet und sie funktionieren alle.
  • Wenn die zu installierende Software frei erhältlich ist, solltest Du Links über den Scripten finden, wo Du die Software bekommen kannst. Sollte bei freier Software kein Link vorhanden sein, kannst Du ihn als Mitglied des Forums selbst hinzufügen (Melde Dich am Forum an).
  • Kommerzielle Software soll beim Hersteller gekauft werden und nicht im Forum erfragt werden ;)
  • Falls ein Script nicht funktioniert, so frage höflich im Forum. Der Fehler sitzt meist zwischen Monitor und Stuhllehne.
  • Falls Du an Scripten Änderungen brauchst, erwarte nicht, dass andere das für Dich machen (es sei denn, Du bezahlst UIB dafür ;) ). Versuche es erst selbst, falls es dann nicht funktioniert, frage im Forum.

Und natürlich erwarte ich, dass Du weißt, wie man ein Terminal öffnet, wie man putty benutzt (oder vergleichbare Programme), wie man etwas Text in eine Terminalanwendung hineinkopiert, je nach dem, welchen Weg Du für die Erstellung eines neuen Paketes gewählt hast. Wenn Du auf einer Windows-Maschine arbeitest dann wirst Du vielleicht via putty auf den Opsi-Server gehen, wenn Du eine VM benutzt, wirst Du wahrscheinlich copy and paste benutzen… wie auch immer, ich werde nicht den Weg beschreiben, wie Du das machen musst. Ich meine einfach, wenn Du einen Remote-Installationsserver benutzen willst, solltest Du über dieses Wissen verfügen.

Die "Tree"-Ansicht

Manchmal findest Du in den Beschreibungen etwas wie dieses hier:

Tree:

TightVNC.jpg
TightVNC.reg
Tightvnc_win7.reg
delsub.ins
setup.ins
tightvnc_*version*-setup.exe
uninstall.ins

Das zeigt den Verzeichnisbaum, so dass Du sehen kannst, wo Du die Dateien platzieren musst. Der Baum zeigt immer den Inhalt des Verzeichnisses CLIENT_DATA.

Die Scripte nutzen...

Es gibt viele Wege um die Scripte und Pakete zu erstellen. Hier wird davon ausgegangen, dass die Pakete direkt auf dem Opsi-Server erstellt werden. Für die einfachere Erstellung von Paketen installierst Du Dir 2 Tools auf Deinen Opsi-Server:

  • joe (einen einfach zu nutzenden Editor)
  • wget (falls noch nicht installiert)

Ich habe mir einen Ordner namens “opsiproducts” im /home-Verzeichnis angelegt um darin die Pakete zu bauen. Mein Account ist ein Mitglied der Gruppe opsi-admin und das Verzeichnis hat natürlich rwx-Rechte für die Gruppe opsi-admin. Solch ein Ordner hat Vorteile und nach der Erstellung von Paketen solltest Du ihn behalten! Software ändert sich fast täglich und es ist wesentlich einfacher, die setup.exe auszutauschen und neu zu packen, als jedesmal von vorn zu beginnen, Verzeichnisse zu erstellen, den opsi-newprod aufzurufen usw.

Anmerkung hierzu von bell: “Ich finde es einfacher unter Shares (–>Samba) zu entwickeln, damit man auch von den Testclienten drauf zugreifen kann. Ich entwickle fast nur unter Windows, da ich das wesentlich einfacher finde. Ich habe auf dem Rechner mit dem ich die Pakete entwickle Notepad++ mit Syntaxhighlighting für opsi und die .ins mit winst verknüpft. Dadurch habe ich im Kontextmenü einen Eintrag von Notpad++ und kann die .ins einfach mittels doppelklick ausführen und starten. So kann man das Skript solange testen bis es funktioniert und erst dann es zum Paket zu machen.”
(Diese Lösung ist aber eher etwas für Fortgeschrittene, die mit den Worten “Shares”, Syntaxhighlighting und winst schon etwas anfangen können.)

Zuerst folge den Anweisungen in der Anleitung “Getting Started”, Kapitel 4.2 “Ein Opsi-Paket erstellen”. Basierend auf TightVNC (eine Fernsteuerungssoftware) werden wir ein “Localboot-Paket” erstellen. Localboot bedeutet, der Client bootet von seiner eigenen Festplatte.

Um ein neues Paket zu erstellen, gehen wir zuerst in das Verzeichnis, in welchem wir künftig unsere erstellten Pakete speichern wollen. Wenn unser Verzeichnis “/home/opsiproducts” (wie in meinem Beispiel) sein soll, müssen wir es zuerst erstellen und dann dorthin wechseln.

mkdir /home/opsiproducts
cd /home/opsiproducts

Beitrag aus dem Forum, beigetragen von d.oertel:

“opsi produkte immer in /home/opsiproducts packen und nicht irgendwo anders. Die drei wesentlichen Gründe hierfür sind:
1. Bedingt durch die Rechte in diesem Verzeichnis können unterschiedliche Leute(wenn sie nicht als root arbeiten) sich vertreten.
2. Der Befehl

opsi-setup --set-rights

kennt dieses Verzeichnis und setzt hier im zweifelsfall die Rechte richtig. Ein /home/mydir/opsi-install würde hingegen ignoriert. Das ist daher wichtig, da der opsi-package-manager bei der installation das Paket an den opsiconfd übergibt und der auf die Schnauze fällt wenn er dort wo das Paket liegt keine Leserechte hat
3. Das Verzeichnis ist als share 'opsi_workbench' freigegeben, was die Pflege von Produkten die dort liegen von einem Windows client aus deutlich vereinfacht.
So steht es übrigens auch im Handbuch:
http://download.uib.de/opsi4.0/doc/html/opsi-getting-started/opsi-getting-started.html#opsi-getting-started-softwintegration-create-opsi-package-handling steht:
Sie sollten die Produkte in dem Verzeichnis /home/opsiproducts erstellen, welches der Gruppe pcpatch gehört und die Rechte 2770 hat (Setgroupid Bit für Gruppe pcpatch gesetzt), sowie als Share opsi_workbench freigegeben ist.”

Dann geben wir den ersten Befehl ein, um ein Opsi-Paket zu erstellen:

opsi-newprod

Wir müssen durch einige Bildschirme gehen. Das erste ist das “product-information-screen”. In diesem Bildschirm geben wir einige Informationen ein, beispielsweise

product id = tightvnc
product name = TightVNC

und gehst dann in den Screens weiter, im nachfolgenden Fenster “product-scripts” gibst Du exakt die Namen “setup.ins” und “uninstall.ins” ein. Die meisten Scripte, die hier gelistet sind, haben ausserdem ein “delsub.ins”. Das ist nur eine Subroutine, die von setup.ins und uninstall.ins aufgerufen werden. delsub.ins gibst Du nicht im “product-scripts”-Fenster ein.

Wir werden im Moment keine “dependencies” (Abhängigkeiten) erstellen. Dependencies / Abhängigkeiten werden gebraucht, wenn eine Software vor ihrer eigentlichen Installation ein anderes Paket benötigt.
Zum Beispiel: CDBurnerXP braucht .NetFX. Du kannst hier also festlegen, dass zuerst .NetFX installiert wird, bevor CDBurnerXP installiert wird. Opsi wird also den Abhängigkeiten folgen und zuerst .NetFX installieren, ehe es mit CDBurnerXP weitermacht.

Für TightVNC werden wir keine “product-properties” definieren. Geh weiter in den Fenstern, bis opsi-newprod Dich informiert, dass ein neues Verzeichnis erstellt wurde (“a new folder has been created”).

Wenn Du durch das Programm durchgelaufen bist, hast Du in Deinem Verzeichnis /opsi-packages einen neuen Ordner (entsprechend unserem Beispiel) namens “tightvnc”

In diesem Verzeichnis findest Du drei weitere Verzeichnisse, namens CLIENT_DATA, OPSI und SERVER_DATA:

│
├ tightvnc
   ├ CLIENT_DATA
   ├ OPSI
   │ ├ control
   │ ├ postinst
   │ └ preinst
   └ SERVER_DATA

Gehe nun in das Verzeichnis “CLIENT_DATA”:

minhas-tirith:/home/opsiproducts/tightvnc # cd CLIENT_DATA

Das Setup-Programm herunterladen

Zuerst müssen wir das Installationsprogramm herunterladen, meist findest Du einen Link im oberen Bereich eines jeden Scriptes, wo wir das Programm bekommen können. Falls nicht, kann es sein, dass die Software eben nicht frei erhältlich ist. In unserem Beispiel finden wir TightVNC unter http://www.tightvnc.com/download.php
Folge dem Link und suche die “self-installing” Version für Windows. Klicke rechts auf den Link und kopiere die URL der Datei.

Gib nun

minhas-tirith:/home/opsiproducts/tightvnc/CLIENT_DATA # wget "http://www.tightvnc.com/download/2.0.4/tightvnc-2.0.4-setup.exe"

(Achtung! Die Versions-Nummer 2.0.4 kann sich bereits geändert haben wenn Du dieses HOWTO liest!)

ein, und das Setup-Programm wird direkt im Verzeichnis CLIENT_DATA gespeichert.

Nun brauchen wir die setup.ins, die uninstall.ins und die delsub.ins. Um sie zu bekommen und sie mit Inhalten zu füllen gehe wie folgt vor:

minhas-tirith:/home/opsiproducts/tightvnc/CLIENT_DATA # touch setup.ins
minhas-tirith:/home/opsiproducts/tightvnc/CLIENT_DATA # joe setup.ins

Öffne nun in der Wiki die Seite tightvnc-script, markiere alles in der Box unter “setup.ins”, kopiere es und füge es in joe ein mittels SHIFT-INS. Finde nun die Zeile mit

Set $Inst_Prg$        = "tightvnc-x.y.z-setup.exe"

und ändere es in den Namen des Setup-Programms, dass Du vorher heruntergeladen hast.

Um die Datei zu sichern gib die Tastenfolge <STRG-K>x ein.

Mach das gleiche mit uninstall.ins und delsub.ins:

minhas-tirith:/home/opsiproducts/tightvnc/CLIENT_DATA # touch uninstall.ins
minhas-tirith:/home/opsiproducts/tightvnc/CLIENT_DATA # joe uninstall.ins

Markiere alles in der Box unter “uninstall.ins”, kopiere es und füge es in joe ein mittels SHIFT-INS.

minhas-tirith:/home/opsiproducts/tightvnc/CLIENT_DATA # touch delsub.ins
minhas-tirith:/home/opsiproducts/tightvnc/CLIENT_DATA # joe delsub.ins

Markiere alles in der Box unter “delsub.ins”, kopiere es und füge es in joe ein mittels SHIFT-INS.

Um Fehler während der automatischen Installation zu vermeiden gib ebenfalls den Befehl

minhas-tirith:/home/opsiproducts/tightvnc/CLIENT_DATA # touch Tightvnc_win7.reg

ein und lass die Datei leer. Diese Datei beinhaltet normalerweise die Registry-Einstellungen für TightVNC, die man vorgenommen hat, nachdem man TightVNC auf einem Testrechner installiert und eingerichtet hat. Es beinhaltet das Passwort für den Administrator.

Woher bekomme ich das Bild ?

Versuch es bei Google, such nach TightVNC und schau unter Bilder. Wenn Du eines gefunden hast, was Dir gefällt, kopiere es und bring es auf die Größe von 160×160 Pixel maximal. Speicher es als “TightVNC.jpg” ab.

Das Paket packen

Gut gemacht. Verlasse nun den Ordner CLIENT_DATA

minhas-tirith:/home/opsiproducts/tightvnc/CLIENT_DATA # cd ..

und packe das Paket mit opsi-makeproductfile.

minhas-tirith: cd ..
minhas-tirith:/home/opsiproducts/tightvnc # opsi-makeproductfile

Die Software wird nun zum Paket zusammengepackt. Das braucht ein wenig Zeit, je nach dem wie viele Dateien und welche Menge an Daten in das Paket gepackt werden müssen. Nach dem Packen gib den Befehl

minhas-tirith:/home/opsiproducts/tightvnc # opsi-package-manager -i *.opsi

ein, um das neue Paket in Opsi zu integrieren. Lade die Inhalte der Registerkarte “Localboot-Products” im configed neu, falls es während der Installation des neuen Paketes geöffnet war, ansonsten kannst Du das neue Paket nicht sehen.

Nun kannst Du es auf einem opsi-client testen.

Viel Spaß!


QR Code
QR Code userspace:wie_man_diese_scripte_nutzt_-_eine_kurze_beschreibung (generated for current page)