Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
satellite:generisches_modul [2018/02/09 13:52 CET] – [1. Archiv vorbereiten] adminsatellite:generisches_modul [2019/02/05 18:09 CET] chr
Zeile 11: Zeile 11:
 Fangen Sie zunächst mit der nötigen Ordnerhierarchie für unser Beispiel an: Fangen Sie zunächst mit der nötigen Ordnerhierarchie für unser Beispiel an:
 <code bash> <code bash>
-mkdir -p ~/generic_module/etc/ +mkdir -p ~/gen_modul/etc/ 
-cd ~/generic_module/etc/+cd ~/gen_modul/etc/
 </code> </code>
  
Zeile 24: Zeile 24:
 Wechseln Sie dann in das von Ihnen angelegte Verzeichnis ~/generic_module: Wechseln Sie dann in das von Ihnen angelegte Verzeichnis ~/generic_module:
 <code bash> <code bash>
-cd ~/generic_module+cd ~/gen_modul
 </code> </code>
  
Zeile 40: Zeile 40:
 ++++So sollte das Archiv aussehen (Ausklappen)| ++++So sollte das Archiv aussehen (Ausklappen)|
 <code bash> <code bash>
-[student ~/generic_module]$ tar tvf beispiel.tgz+[student ~/gen_modul]$ tar tvf beispiel.tgz
 drwxr-xr-x student/users     0 2016-08-12 16:51 etc/ drwxr-xr-x student/users     0 2016-08-12 16:51 etc/
 -rw-r--r-- student/users    26 2016-08-12 16:51 etc/beispiel.conf -rw-r--r-- student/users    26 2016-08-12 16:51 etc/beispiel.conf
Zeile 49: Zeile 49:
  
 <note important>Das Archiv wird im MiniLinux über das Rootverzeichnis entpackt. Achten Sie darauf, dass Sie für Ihre Ordner und Dateien korrekte Berechtigungen setzen.</note> <note important>Das Archiv wird im MiniLinux über das Rootverzeichnis entpackt. Achten Sie darauf, dass Sie für Ihre Ordner und Dateien korrekte Berechtigungen setzen.</note>
 +
 +
 +=== Automatischer Programmstart ===
 +
 +Sollten Sie in Ihrem generischen Modul ein Programm((Achtung: Im Falle von Skripten müssen Sie prüfen, on der passende Interpreter vorhanden ist, im Falle von Binaries müssen ggf. dynamisch gelinkte Bibliotheken eingeschlossen werden. Vergessen Sie auch nicht, ggf. das executable-Bit zu setzen.)) abgelegt haben, das automatisch gestartet werden soll, müssen Sie weitere Vorkehrungen treffen. Der empfohlene Weg geht über einen systemd-Service, der zur Erreichung eines bestimmten systemd-Ziels („target“) gestartet wird. Gewöhnliche Optionen sind hier etwa graphical.target, multi-user.target, network-online.target usw.; unten genanntes Beispiel arbeitet mit multi-user.target.
 +
 +Erzeugen Sie zuerst die nötigen Unterverzeichnisse, wie oben auf Ihr Arbeitsverzeichnis gen_modul bezogen:
 +<code bash>
 +mkdir -p etc/systemd/system/multi-user.target
 +</code>
 +
 +... und legen eine Datei etc/systemd/system/programmstart.service folgenden Inhalts an:
 +
 +<code>
 +[Unit]
 +Description=Mein Programm XYZ
 +
 +[Service]
 +Type=oneshot
 +ExecStart=/Pfad/zu/Ihrem/Programm
 +
 +[Install]
 +WantedBy=multi-user.target
 +</code>
 +
 +Abschließend müssen Sie noch ein Link im target-Unterverzeichnis anlegen:
 +
 +<code bash>
 +cd etc/systemd/system/multi-user.target
 +ln -s ../programmstart.service
 +cd -
 +</code>
 +
 +Das Packen und Prüfen der tgz-Datei erfolgt analog zum obigen Beispiel.
 +
  
 ===== 2. Neues Modul hochladen ===== ===== 2. Neues Modul hochladen =====
Drucken/exportieren