ich wollte mal fragen ob es einen bestimmten Grund für die Verzeichnisstruktur unter Linux gibt. Diese sieht für mich extrem chaotisch aus und nicht den üblichen Standards entsprechend. Warum hat man nicht wie unter Windows alles zusammen in einem Ordner unter /opt/symcon gepackt. Alternativ wäre natürlich eine saubere Aufteilung nach FHS gut.
Könnte man übrigens auch das Startscript um einen Respawn ergänzen? Das ist meiner Meinung nach für einen solchen Dienst sinnvoll, vor allem jetzt wo der Dienst noch so instabil läuft und regelmäßig abkachelt.
Ich würde lieber die Frage beantworten, warum wir das so schlecht in Windows aufgetrennt haben. Zur Zeit von IP-Symcon 1.x war der gute ProgramData Ordner noch kein verbreitetes Konzept, sodass wir alles direkt im Programmordner belassen haben. Meine Wunschvorstellung wäre, dass wir in Zukunft auch unter Windows die Programdateien und die Benutzerdaten (=Konfiguration) trennen.
Du hast unter Linux eine sehr klare Auftrennung.
/etc/symcon/* beinhaltet alle Dateien die wir installieren und ihr nicht anfassen solltest.
/usr/share/symcon/* beinhaltet alle Dateien, die IP-Symcon im Zuge der Konfiguration erstellt hast und die du in dein Backup tun solltest.
Oohhh nö. Diesbezüglich ist IPS vielleicht nicht modern aber eines der angenehmsten Programme.
Ganzen Ordner sichern / ganzen Ordner rücksichern -> alles läuft kein Problem.
Egal was du suchst du findest ALLES im IPSymcon Ordner.
Diese Mode Programmteile über die ganze Festplatte - und womöglich auch noch in unendlich vielen Regestryzweigen zu verteilen ist ekelhaft. Wennst da was suchst kriegst regelmäßig die Kriese. Von den Zickereien wegen mit Benutzerrechten mal ganz abgesehen.
Ich hasse das.
/etc/symcon/* beinhaltet alle Dateien die wir installieren und ihr nicht anfassen solltest.
/usr/share/symcon/* beinhaltet alle Dateien, die IP-Symcon im Zuge der Konfiguration erstellt hast und die du in dein Backup tun solltest.
Aber das ist ja das war mich wundert. Normalerweise liegt eben unter etc das was der User konfigurieren darf und unter /usr/share das was der Benutzer eben nicht anfassen soll. Das könnte euch irgendwann auf die Füße fallen, da da Debian diesen /etc ordern mit Logik versehen hat, so das z.B. bei einem update ggf. eine Diff-Abfrage kommen kann. Außerdem sollten einige Daten die vom Dienst erstellt und gepflegt werden unter /var/lib/symcon liegen (z.B. die prebuild-php file).
Meiner persönlichen Meinung nach sehe ich das wie bbernhard, mir wäre ein gemeinsamer /opt Ordner lieber, was natürlich Geschmacksache ist. Aber als ehemaliger Paketverwalter für eine Distribution finde ich das sehr erschreckend wie die Ordnerstruktur jetzt ist.
EDIT:
Ich kann euch nur mal diesen Artikel empfehlen:
Das ist zwar nur ein Ausschnitt aus dem FHS, aber daran kann man sich gut orientieren. Ich hoffe Ihr überdenkt nochmal euer vorgehen, wäre doch blöd wenn ihr später feststellt, dass es mit der falschen Struktur irgendwann richtig Probleme gibt und ihr dann korrigieren müsstet. Jetzt ist es noch Beta.
Da muss ich meinem Vorschreiber Recht geben, die Verzeichnissstruktur unter Unix/Linux ist vorgegeben und man sollte sich als Softwareentwickler da auch dran halten. Software hat unter /etc nichts zu suchen.
Bei mir läuft auch schon mehr als 15 Jahre Linux.
Die Filesystem-Struktur ist nicht gerade in Stein gemeiselt.
Aber als ich das erstemal IPS unter Linux installiert hab, war ich auch erstaunt über das /usr/share als Datenverzeichnis.
Als ich die Userdaten bzw. Scripte gesucht habe, hab ich auch zuerst in /etc/symcon und dann nach /var/lib/symcon gesucht.
Das Verzeichnis /usr/share/symcon ist zumindest ungewöhnlich.
Wenn man Daten und Anwendung nah beieinander halten will, dann ist /opt unter Linux eigentlich die beste Wahl.
Vergleichbare Software wie fhem oder openhab werden standardmässig zumindest unter /opt abgelegt.
Bei mir läuft symcon in einem Docker-Container. Daher ist es mir persönlich egal. Viele werden es aber auf einem Raspi am laufen haben und da denke ich auch, dass /opt hier die bessere Wahl ist.
Nach einer sehr netten Telefonkonferenz mit traxanos werden wir noch vor dem Release die Pfade anpassen, um mehr der FSH von Linux zu entsprechen. Beim Update werden somit demnächst eure Daten verschoben. Ich werde die Änderungen dann auch entsprechend im Changelog rot vermerken:
/usr/bin/symcon - Executable
/usr/share/symcon/ - Static Data (ehemals /etc/symcon/)
/var/lib/symcon/ - Variable Data (ehemals /usr/share/symcon/)
/var/log/symcon/ - Log Files