Ein paar erweiterte Fragen um erstellen eigener SPK´s

Status
Für weitere Antworten geschlossen.

tAntChen

Benutzer
Mitglied seit
12. Sep 2011
Beiträge
151
Punkte für Reaktionen
19
Punkte
18
Hallo Freunde,

Ich bin gerade dabei mir einen eigene SPK zu erstellen die mit php,python,nail und unrar arbeitet. Das funktioniert auch alles schon sehr gut, ich hab mir ein kleines Script geschrieben dass mit die SPK schnell erstellt,die abhängigen Pakete werden gegeben falls via IPKG installiert.

Kurz gesagt es läuft schon sehr gut. Aber ich hab da noch Fragen...

  1. Wie funktioniert das Errorhändling der Scripte postinst,preinst usw? Also wie kann man eine Rückmeldung geben wenn was nicht klappt z.B es fehlen Pakete und IPKG ist nicht installiert.
  2. Wie kann ich das Protokoll füttern welches gegeben falls Fehler oder Infos enthalten sollte.
  3. Wie kann ich vor der Installation vom User Optionen abfragen z. B. ob gleich ein Cronjob installiert werden soll oder bei der Deinstallation was alles entfernt werden soll (Konfigurationen usw)
  4. Kann man die SPK auch auf der Konsole installieren, über die GUI ist das immer sehr mühselig ? Oder kann man vor der Installation eine Deinstallation durchführen.
  5. Kann ich meine App auch unter einem anderen User laufen lassen? Ich sehe da einfach Sicherheitsprobleme wenn da mit root rumhantiert gerade was den PHP-Prozess angeht.

Update:

Frage 2 hat sich erledigt das habe ich gerade rausgefunden
 
Zuletzt bearbeitet:

gigon

Benutzer
Mitglied seit
20. Mai 2011
Beiträge
51
Punkte für Reaktionen
0
Punkte
0
Die ersten Fragen lassen sich mit dem Synology Developers Guide beantworten
1. Musst du von hand schreiben und in SYNOPKG_TEMP_LOGFILE schreiben. (Seite 30)
bei exit != 0 wird das script abgebrochen bei exit 0 wird weitergemacht, Nachrichten im SYNOPKG_TEMP_LOGFILE werden in beiden Fällen angezeigt...
2. genau so wie eins nur, dass du im start-stop-startus scribt den dateinamen eingeben musst (Seite 31 oben)
3. mit hilfe von WIZARD_UIFILES (Seite 26ff). Funktioniert in etwa so: jedes File ist für eine bestimmte Situation (install, upgrade, uninstall) und stellt die darin definierten Variablen während des jeweiligen Vorgangs global zur Verfügung.
4. Soweit ich weiß nicht.
5. Ja, indem du beim starten den user festlegst, ich erstelle z.B. immer einen eigenen user für meine Pakete du kannst ihn mit synouser --add erstellen mehr dazu hier. Ich erstelle darin mitt dem passgen perl script immer ein individuelles Passwort um den User zu sichern. meine fertige line sieht dann z.B. so aus:
synouser --add subsonic `${SYNOPKG_PKGDEST}/passgen 1 20` "Subsonic daemon user" 0 "" ""
echo "$(date +%d.%m.%y_%H:%M:%S): create subsonic daemon user" >> ${SYNOPKG_PKGDEST}/subsonic_package.log
in der 2. Zeile wird dann ein Zeitstempel und ein logeintrag ins package log namens "subsonic_package.log" geschreiben.

Ich hoffe, ich konnte dir helfen =)
 
Zuletzt bearbeitet:

tAntChen

Benutzer
Mitglied seit
12. Sep 2011
Beiträge
151
Punkte für Reaktionen
19
Punkte
18
Danke gigion,

das hat mir in der Tat sehr geholfen. Danke :)
 

gigon

Benutzer
Mitglied seit
20. Mai 2011
Beiträge
51
Punkte für Reaktionen
0
Punkte
0
ach zu 5. du musst dann im start-stop-status script dein prgramm natürlich als dein erstellter user starten:
in meinem fall stertet das programm durch das ausführen eines shell scripts folgendermaßen
su - subsonic -s /bin/sh -c /usr/syno/synoman/webman/3rdparty/Subsonic/subsonic.sh
wobei du dann natürlich usernamen, pfad und namen der auszuführenden datei ändern musst...

su ändert den user
-s ändert die shell
-c ist der Befehl, der ausgeführt werden soll
 

QTip

Super-Moderator
Teammitglied
Mitglied seit
04. Sep 2008
Beiträge
2.341
Punkte für Reaktionen
14
Punkte
84
Kann man die SPK auch auf der Konsole installieren, über die GUI ist das immer sehr mühselig ? Oder kann man vor der Installation eine Deinstallation durchführen.
Wenn ein Script preupgrade und postupgrade existiert, werden diese Scripte am Anfang (zum Sichern der Dateien) und am Ende (zum Wiederherstellen der zuvor gesicherten Dateien) ausgeführt. Ohne diese Scripte hindert dich das Paketzentrum am upgrade des Paketes.

Reihenfolge der Scripte:
  1. preupgrade (optional für Upgrade)
  2. preuninst
  3. postuninst
  4. preinst
  5. postinst
  6. postupgrade (optional für Upgrade)
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat