Both sides previous revision
Previous revision
Next revision
|
Previous revision
|
userspace:wie_man_diese_scripte_nutzt_-_eine_kurze_beschreibung [2012/01/09 10:24] Thomas_H |
userspace:wie_man_diese_scripte_nutzt_-_eine_kurze_beschreibung [2022/02/10 14:02] (current) Thomas_H |
| |
geschrieben von //[[hungerharke@gmx.de|Thomas_H]] 2011/12/27 08:53// | geschrieben von //[[hungerharke@gmx.de|Thomas_H]] 2011/12/27 08:53// |
| |
| aktualisiert: 2019/02/27 by [[hungerharke@gmx.de|Thomas_H]]\\ |
| aktualisiert: 2022/02/10 by [[hungerharke@gmx.de|Thomas_H]] |
| |
Willkommen in der Wiki, die durch stolze erfolgreiche Nutzer von opsi initiiert wurde. Wenn Du Opsi (**O**pen **P**C **S**erver **I**ntegration) 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. | Willkommen in der Wiki, die durch stolze erfolgreiche Nutzer von opsi initiiert wurde. Wenn Du Opsi (**O**pen **P**C **S**erver **I**ntegration) 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 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. | 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 [[http://www.uib.de/www/service_support/index.html|hier]]. Bezahlten Support mit erweiterten Leistungen gibt es ebenfalls dort. | Klar: Das Beste ist, die Schulungen zu machen, Informationen über die Opsi-Schulungen bekommst Du [[https://uib.de/de/support-schulung/support/|hier]]. Bezahlten Support mit erweiterten Leistungen gibt es ebenfalls dort. |
| |
| |
==== Ein paar Worte bevor wir beginnen... ==== | ==== Ein paar Worte bevor wir beginnen... ==== |
| |
* Lies die Anleitungen! Wir erwarten, dass Du den Opsi-Server entsprechend der Anleitung [[http://download.uib.de/opsi4.0/doc/html/opsi-getting-started/opsi-getting-started.html#opsi-getting-started-softwintegration-create-opsi-package|"Getting Started"]] installiert und konfiguriert hast. | * Lies die Anleitungen! Wir erwarten, dass Du den Opsi-Server entsprechend der Anleitung [[https://download.uib.de/opsi4.2/documentation/html/opsi-getting-started-v4.2/opsi-getting-started-v4.2.html#opsi-getting-started-softwintegration|"Getting Started"]] installiert und konfiguriert hast. |
* Die veröffentlichten Scripte wurden getestet und sie funktionieren alle. | * 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 [[http://forum.opsi.org/|Forums]] selbst hinzufügen (Melde Dich am Forum an). | * 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 [[http://forum.opsi.org/|Forums]] selbst hinzufügen (Melde Dich am Forum an). |
| |
* joe (einen einfach zu nutzenden Editor) | * joe (einen einfach zu nutzenden Editor) |
| * mc (MidnightCommander, ein FileCommander mit einem guten Editor) |
* wget (falls noch nicht installiert) | * wget (falls noch nicht installiert) |
| |
Ich habe mir einen Ordner namens "/opsi-packages" im Root-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. | 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**: | //**Anmerkung hierzu von bell**: |
| |
"Ich finde es einfacher unter Shares (-->Samba) zu entwickeln, damit man auch von den Testclienten drauf zugreifen kann. Ich entwockle 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. | "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. | Dadurch habe ich im Kontextmenü einen Eintrag von Notpad++ und kann die .ins einfach mittels doppelklick ausführen und starten. |
| |
| |
| |
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. | Zuerst folge den Anweisungen in der Anleitung [[https://download.uib.de/opsi4.2/documentation/html/opsi-getting-started-v4.2/opsi-getting-started-v4.2.html#opsi-getting-started-softwintegration-create-opsi-package|"Getting Started", Kapitel 10.2]] "Ein Opsi-Paket erstellen". Basierend auf [[userspace:tightvnc|TightVNC with the new MSI installer]] (eine Fernsteuerungssoftware) werden wir ein "Localboot-Paket" erstellen. |
Localboot bedeutet, der Client bootet von seiner eigenen Festplatte. | 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. | 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 "/opsi-installs" (wie in meinem Beispiel) sein soll, müssen wir es zuerst erstellen und dann dorthin wechseln. | Wenn unser Verzeichnis "/home/opsiproducts" (wie in meinem Beispiel) sein soll, müssen wir es zuerst erstellen und dann dorthin wechseln. |
| |
<code> | <code> |
mkdir /opsi-installs | mkdir /home/opsiproducts |
cd /opsi-installs | cd /home/opsiproducts |
</code> | </code> |
| Beitrag aus dem [[https://forum.opsi.org/viewtopic.php?f=7&t=3182|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'' <code>opsi-setup --set-rights</code> '' 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: | Dann geben wir den ersten Befehl ein, um ein Opsi-Paket zu erstellen: |
</code> | </code> |
| |
Wir müssen durch einige Bildschirme gehen. Das erste ist das "product-information-screen". In diesem Bildschirm geben wir einige Informationen ein, beispielsweiseen ein, beispielsweise | Wir müssen durch einige Bildschirme gehen. Das erste ist das "product-information-screen". In diesem Bildschirm geben wir einige Informationen ein, beispielsweise |
| |
<code> | <code> |
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. | 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 keine "dependencies" (Abhängigkeiten) im Moment 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. | 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 "a new folder has been created". | 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" | Wenn Du durch das Programm durchgelaufen bist, hast Du in Deinem Verzeichnis /opsi-packages einen neuen Ordner (entsprechend unserem Beispiel) namens "tightvnc" |
| |
<code winst> | <code winst> |
--- tightvnc | │ |
| - CLIENT_DATA | ├ tightvnc |
| - OPSI | ├ CLIENT_DATA |
| |- control | ├ OPSI |
| |- postinst | │ ├ control |
| |- preinst | │ ├ postinst |
| - SERVER_DATA | │ └ preinst |
| └ SERVER_DATA |
</code> | </code> |
| |
Gehe nun in das Verzeichnis "CLIENT_DATA": | Gehe nun in das Verzeichnis "/home/opsiproducts/tightvnc/CLIENT_DATA": |
<code> | <code> |
minhas-tirith:/opsi-packages/tightvnc # cd CLIENT_DATA | cd /home/opsiproducts/tightvnc/CLIENT_DATA |
</code> | </code> |
| |
| |
<code> | <code> |
minhas-tirith:/opsi-packages/tightvnc/CLIENT_DATA # wget "http://www.tightvnc.com/download/2.0.4/tightvnc-2.0.4-setup.exe" | wget "https://www.tightvnc.com/download/2.8.63/tightvnc-2.8.63-gpl-setup-64bit.msi" |
</code> | </code> |
(Achtung! Die Versions-Nummer 2.0.4 kann sich bereits geändert haben wenn Du dieses HOWTO liest!) | (Achtung! Die Versions-Nummer 2.8.63 kann sich bereits geändert haben wenn Du dieses HOWTO liest!) |
| |
ein, und das Setup-Programm wird direkt im Verzeichnis CLIENT_DATA gespeichert. | ein, und das Setup-Programm wird direkt im Verzeichnis CLIENT_DATA gespeichert. |
| |
<code> | <code> |
minhas-tirith:/opsi-packages/tightvnc/CLIENT_DATA # touch setup.ins | touch setup.ins |
minhas-tirith:/opsi-packages/tightvnc/CLIENT_DATA # joe setup.ins | joe setup.ins |
</code> | </code> |
| |
Finde nun die Zeile mit | Finde nun die Zeile mit |
<code winst> | <code winst> |
Set $Inst_Prg$ = "tightvnc-x.y.z-setup.exe" | Set $Inst_Prg$ = "tightvnc-2.8.63-gpl-setup-64bit.msi" |
</code> | </code> |
und ändere es in den Namen des Setup-Programms, dass Du vorher heruntergeladen hast. | und ändere es in den Namen des Setup-Programms, dass Du vorher heruntergeladen hast. |
| |
<code> | <code> |
minhas-tirith:/opsi-packages/tightvnc/CLIENT_DATA # touch uninstall.ins | touch uninstall.ins |
minhas-tirith:/opsi-packages/tightvnc/CLIENT_DATA # joe uninstall.ins | joe uninstall.ins |
</code> | </code> |
| |
| |
<code> | <code> |
minhas-tirith:/opsi-packages/tightvnc/CLIENT_DATA # touch delsub.ins | touch delsub.ins |
minhas-tirith:/opsi-packages/tightvnc/CLIENT_DATA # joe delsub.ins | joe delsub.ins |
</code> | </code> |
| |
| |
<code> | <code> |
minhas-tirith:/opsi-packages/tightvnc/CLIENT_DATA # touch Tightvnc_win7.reg | touch Tightvnc_win7.reg |
</code> | </code> |
| |
| |
<code> | <code> |
minhas-tirith:/opsi-packages/tightvnc/CLIENT_DATA # cd .. | cd .. |
</code> | </code> |
| |
und packe das Paket mit opsi-makeproductfile. | Damit befindest Du Dich nun im Verzeichnis "/home/opsiproducts/tightvnc". |
| |
| Das Paket packst Du mit dem Befehl |
| |
<code> | <code> |
minhas-tirith:/opsi-packages/tightvnc/CLIENT_DATA # opsi-makeproductfile | opsi-makepackage |
</code> | </code> |
| |
| |
<code> | <code> |
minhas-tirith:/opsi-packages/tightvnc/CLIENT_DATA # opsi-package-manager -i *.opsi | opsi-package-manager -i *.opsi |
</code> | </code> |
| |