2u1c1d3
Goto Top

Anwendung unter Ubuntu systemweit ausführen lassen

Hallo zusammen!

Da ich weder im Ubuntu-Forum, noch im Herstellerforum von Synology eine Antwort bekomme: Vielleicht ist einer von euch in der Lage mir bei meinem Problem unter die Arme zu greifen!?

Ich habe zwei Rechner mit Ubuntu 16.04.2 LTS, 64-bit als Multiuserumgebung am Start. Bei beiden Rechnern synchronisiere ich einen Ordner im Wurzelverzeichnis über Synology Cloud Station Drive in der Version 4.2.5, Build 4396. Folgender Aufbau des Systems:
  • Client 1: Benutzer Admin und die User 1-5, ein Ordner "/daten" <-> Synchronisation zur Synology DS via Cloud Station Drive.
  • Client 2: Benutzer Admin und die User 1-14, ein Ordner "daten" <-> Synchronisation zur Synology DS via Cloud Station Drive.

Das Paket Cloud Station Drive wurde logischer Weise vom Admin installiert, der Ordner /daten mit den entsprechenden Rechten für die User versorgt.
Bei der Installation wird im /home-Verzeichnis des Admins ein Ordner /.CloudStation angelegt. In diesem Ordner befinden sich sämtliche Konfigurationen und auch die Protokolldateien.
Das eigentliche Problem: Die Synchronisation des Ordners /daten findet nur statt, wenn der User angemeldet ist unter dem das Paket Cloud Station Drive eingerichtet wurde. Wenn sich ein anderer User anmeldet, dann müsste dieser den Service erst wieder neu einrichten. Der erste Gedanke von mir war, die Konfigurationsdateien in den Ordner /etc/skel mit einzubinden. So würde jeder neu angelegte User automatisch die Konfiguration ins Profil gelegt bekommen. Das funktioniert aber nicht, da sonst zum Einen jeder User einen anderen Stand der Logdateien hat und zum Anderen jeder User aufgrund der Datenbankeinträge in den Konfigdateien sich seine eigene Datenbankversion schaffen würde...

Daraus resultiert die konkrete Frage:
Wenn ich den Ordner /.CloudStation global zugängig machen würde, bzw. aus dem /home des Admins heraus nehme damit jeder User eine einheitliche Datenbankversion präsentiert bekommt, wie bekomme ich die Anwendung Cloud Station Drive systemweit gestartet, egal welcher User sich anmeldet, besser noch, bevor sich ein User anmeldet?
Würde das mit dieser Anwendung überhaupt funktionieren da es sich ja um eine Datenbank (sqlite) handelt?

Ich hab hier einfach mal den Inhalt der config hinterlassen, vielleicht hilft das ja weiter

cert_path="/home/stefan/.CloudStation/data/certs.pem"  
config_path="/home/stefan/.CloudStation/data/config/client.conf"  
db_path="/home/stefan/.CloudStation/data/db"  
filter_db_path="/home/stefan/.CloudStation/data/db/filter.sqlite"  
fstat_db_path="/home/stefan/.CloudStation/data/db/file-status.sqlite"  
log_file_path="/home/stefan/.CloudStation/log/daemon.log"  
log_level_file_path="/home/stefan/.CloudStation/CloudStation.app/log_template/syncfolder_c.debug"  
log_path="/home/stefan/.CloudStation/log"  
pid_file_path="/home/stefan/.CloudStation/daemon.pid"  
punchd_port="1025"  
support_snapshot="false"  
system_filter_path="/home/stefan/.CloudStation/CloudStation.app/conf/filter"  
ui_port="1024"  

Grüße
Stefan

Content-ID: 364132

Url: https://administrator.de/contentid/364132

Ausgedruckt am: 23.11.2024 um 02:11 Uhr

Sheogorath
Sheogorath 08.02.2018 um 22:14:32 Uhr
Goto Top
Moin,

einfach ein service file schreben, was die Software (die hoffentlich einen headless mode hat), als systemd service aufrufen.

Dazu kannst du den passenden "User" parameter aufrufen. Wenn du noch einen system.timer hinzufügst, kannst du die Software auf regemäßig neu aufrufen lassen.

Schau am besten mal, ob die Software das nicht vielleicht sogar selbstständig tut.

Gruß
Chris
2U1C1D3
2U1C1D3 08.02.2018 um 23:27:39 Uhr
Goto Top
Hallo Chris!

Die Software muss über eine grafische Oberfläche eingerichtet, bzw. administriert werden. Ich gehe davon aus, dass sie somit nicht headless läuft face-sad Ich gehe davon aus, dass die Software einfach von Win via Wine an Ubuntu angepasst wurde. Schaut mir auf jeden Fall von der Optik so aus.
Wie ist das gemeint mit den User-Parameter? Der erste Gedanke von mir war in Richtung Berechtigungen. Das wirst Du aber wohl nicht meinen...

Einen automatischen Aufruf der Software bräuchte ich nur beim Start. Sobald der Service im Hintergrund läuft "beobachtet" er die Ordner. Oder würde sich das bei einem Aufruf via serv-file ändern?
Sheogorath
Sheogorath 09.02.2018 aktualisiert um 00:14:21 Uhr
Goto Top
Moin,

Naja, probiere es doch einfach mal aus:

erzeuge ein Service file in `/etc/systemd/system/` mit dem Namen "CloudStation.service"

Folgender Inhalt:

[Unit]
Description=Run CloudStation
After=network.target

[Service]
WorkingDirectory=/home/YOURUSER/
User=YOURUSER
ExecStart=/path/to/program --parameter 1

Sobald das gespeichert ist, einmal `systemctl daemon-reload` eingeben und dann mal mit `systemctl start CloudStation.service` schauen was passiert.

Im besten Fall geht's, das kannst du mit `systemctl status CloudStation.service` überprüfen.

Wenn nicht, probiere die Anwendung erstmal über die Konsole zu starten. und zwar so, dass sie sich nicht wegforkt., Falls sie das tut, füge mal `Type=forking` ein und definiere die Location vom PID-File.

Gruß
Chris

PS: Ich würde übrigens mal drüber nachdenken, ob es nicht einfacherer ist, einfach einen rsync job einzurichten ;)