systemd: vdr.service

  • Da ich im Forum noch nichts gefunden habe, hier meine vdr.service Datei um vdr unter systemd starten zu lassen:


    Danach ein reload und es sollte laufen:

    Zitat

    [root@htpc system]# systemctl --system daemon-reload && systemctl start vdr.service

    Anmerkungen:

    • zwischen -P und Plugin-Name muss ein Leerzeichen, da systemd sonst nicht gruppiert. Alternativ ginge auch das Anfuehrungszeichen vorzuziehen, z.B. '-Pepgsearch --bla'
    • "ExecStartPost=/usr/local/bin/svdrpsend.pl remo off" brauche ich, da ich MMS gleichzeitig starte und VDR ueber ein Frontend bediene
    • um VDR beim booten zu starten genuegt ein "systemctl enable vdr.service"
  • Meine vdr.service in /etc/systemd/system für openSuSE12.1 sieht so aus:



    Gruß hanshorst

  • hi


    ich boykottiere so eine mist wie systemd


    klassisch sysv init reicht voll kommen und ist nicht langsamer beim booten als der


    mist von Lennart Poettering insbesondere wegen seiner aroganz das linux das einzigst wahre ist.


    holger

    VDR1 : core2duo 3.2 Ghz , 1GB Ram , 2x TT 1501 DVB-C 1 GB HD , Asus EN 210 Silent , Debian Squeeze 64bit + e-tobi Pakete
    VDR2 : 1.2 Ghz P3 , Digitainer 768 MB Ram , yavdr 0.3a 32 bit

  • mark05: Och komm, der Thread hatte doch jede Menge Potential - wer hat die schönste, wer die längste, wer die kompakteste VDR-Startdatei für systemd :mua

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Moin!


    ich boykottiere so eine mist wie systemd


    Es steht dir natürlich frei, systemd zu boykottieren, aber warum enthälst du dich dann nicht einfach? Hier schreiben Leute, die sich für systemd interessieren, außerdem wird es mittlerweile von Suse, Fedora und ein paar anderen Distributionen benutzt.
    Dementsprechend lohnt es sich durchaus, sich damit auseinander zu setzen.
    Und wenn es Mist wäre, würden die großen Distris es nicht benutzen.


    Ich habe Lennart Poettering nie kennengelernt, habe also keine Ahnung, wie er ist. Wenn du ihn nicht magst, ist das auch deine Entscheidung, die niemanden in diesem Thread interessiert.


    Ich finde den Bootprozess äußerst spannend und freue mich, dass nach jahrelangem Stillstand mit upstart und systemd mal wieder was passiert. Konkurrenz belebt das Geschäft und die Entwicklung.


    @loswillos:
    Wenn du anmerkst, dass zwischen "-P" und dem Plugin ein Leerzeichen sein muss, dann passt das mit deiner geposteten vdr.service nicht so richtig zusammen. Oder bezieht sich das nur auf Plugins mit Parametern?


    Lars.

  • warum ich mich nicht enthalte ....... ganz einfach
    man sollte seine energie in dinge investieren die zukunft haben und nicht in einem daemon der jetzt schon wieder bei den entwicklern in frage steht ......
    und keinen vorteil gegen ueber den klassischen sysv init hat.


    holger

    VDR1 : core2duo 3.2 Ghz , 1GB Ram , 2x TT 1501 DVB-C 1 GB HD , Asus EN 210 Silent , Debian Squeeze 64bit + e-tobi Pakete
    VDR2 : 1.2 Ghz P3 , Digitainer 768 MB Ram , yavdr 0.3a 32 bit

  • Zitat

    Es steht dir natürlich frei, systemd zu boykottieren, aber warum
    enthälst du dich dann nicht einfach? Hier schreiben Leute, die sich für
    systemd interessieren, außerdem wird es mittlerweile von Suse, Fedora
    und ein paar anderen Distributionen benutzt.


    Dementsprechend lohnt es sich durchaus, sich damit auseinander zu setzen.


    Und wenn es Mist wäre, würden die großen Distris es nicht benutzen.

    full ack!
    btw. hab ich mir mal die mühe gemacht und mich mit der "idee dahinter" beschäftigt http://0pointer.de/blog/projects/systemd.html ! na gut, hab vielleicht nich alles gelesen/verstanden :D finde den ansatz aber ziemlich genial.


    aber wie lars ja schon gesagt hat, um das für und wider solls doch in dem beitrag hier nicht gehn...


    just my 2 cents, und weg :versteck
    lars

    Asus H170 PRO GAMING, Intel Core i7-6700T, 16GB RAM, GeForce GTX 1050 2GB, Samsung SSD 860 EVO 1TB SSD + 3TB WD Red, Mystique SaTiX-S2 Dual, Archlinux -> VDR4Arch


    "Freunde sind Menschen, die dich mögen obwohl sie dich kennen"

  • warum ich mich nicht enthalte ....... ganz einfach
    man sollte seine energie in dinge investieren die zukunft haben und nicht in einem daemon der jetzt schon wieder bei den entwicklern in frage steht ......


    Völlig anderer Meinung. Man sollte seiner Energie in Dinge investieren die einem Spaß machen. Wenn das ganze keine Zukunft hat, oder man der Einzige ist, der darin einen Sinn sieht, dann ist das vollkommen schnurz.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • Moin!


    man sollte seine energie in dinge investieren die zukunft haben und nicht in einem daemon der jetzt schon wieder bei den entwicklern in frage steht ......


    Die Entwickler von systemd stellen ihr Projekt in Frage? Hast du eine Quelle dafür? Das würde mich interessieren.


    @die anderen:
    Wäre es nicht auch sinnvoll, das vdr-Frontend in einem eigenen Service zu starten? Dann kann es bei Absturz automatisch neu gestartet werden, ohne dass der vdr betroffen ist. Jeder Service bekommt ja seine eigene cgroup, wenn ich mich richtig erinnere.
    Ich bin an der Stelle des vdr allerdings noch nicht so gefestigt, wie was wo in den verschiedenen Kombinationen (xine/xineliboutput/xmbc/vdr-sxfe usw.) gestartet wird.


    Auch sowas wie ein Frontend-Neustart usw. ließe sich dann besser durchführen und über irexec oder was auch immer auslösen. Sehe ich das richtig?


    Lars.

  • Wenn man von unseren upstart Erfahrungen ausgeht - sollte vdr und das frontend definitiv 2 seperate Dienste sein. - Aber sicher Geschmackssache - so wie mir scheint sind das ja eher vdr.service files für die ganz persönliche Installation. Ein Großteil der Logik aus unserem upstart Job dürfte dementsprechend in der runvdr liegen.


    Was mir auffällt: Heißt der Dienst lirc oder lircd ? Gibt es einen eine Abstraktion für "das was /var/run/lirc/lircd oder /run/lirc/lircd zur Verfügung stellt" ? Was ist mit Netzwerk, alsa etc pp ?


    Ob ich systemd mag oder nicht interessiert nicht. Das es Alternativen zu SysV geben muss steht ausser Frage - aber auch das ist OT hier. Wenn man das diskutieren will muss man einen eigenen Thread aufmachen.

    VDR User: 87 - LaScala LC14B - LG/Phillipps 6,4" VGA Display | Asrock H61/U3S3 | G630T | 1x 16GB Mobi Mtron 3035 1x WD 750GB 2,5" |1x L4m DVB-S2 Version 5.4

  • Meine vdr.service in /etc/systemd/system für openSuSE12.1 sieht so aus:


    Damit startest du nur das bash-script, also im Prinzip nichts anderes als im klassischen System V auch. Die Vorteile von systemd wie z.B. job-control und restart-on-fail erhältst du damit nicht. Ich denke das interessante daran ist ja, dass man (oder ich zumindest) auf das Shellscript verzichten kann und stattdessen ein natives .service File hat - welches den Daemon mittels Abhängigkeiten, frischen Umgebungsvariablen, ExecStartPre/ExecStartPost, etc sauber aufsetzen und kontrollieren kann.

  • Wenn man von unseren upstart Erfahrungen ausgeht - sollte vdr und das frontend definitiv 2 seperate Dienste sein. - Aber sicher Geschmackssache - so wie mir scheint sind das ja eher vdr.service files für die ganz persönliche Installation. Ein Großteil der Logik aus unserem upstart Job dürfte dementsprechend in der runvdr liegen.

    Sobald du mittels Skripten deine Kommandozeilenparameter zusammenflickst wird das ganze doch sehr anfällig? Das ist leider der Nachteil am VDR, sehr viel wird über Parameter gelöst.


    Was mir auffällt: Heißt der Dienst lirc oder lircd ? Gibt es einen eine Abstraktion für "das was /var/run/lirc/lircd oder /run/lirc/lircd zur Verfügung stellt" ? Was ist mit Netzwerk, alsa etc pp ?

    Hier heißt der Dienst lircd, also lircd.service. Netzwerk, Sound, etc werden von anderen .service Dateien zur Verfügung gestellt, z.B. NetworkManager.service, alsa-[store,restore].service

  • Sobald du mittels Skripten deine Kommandozeilenparameter zusammenflickst wird das ganze doch sehr anfällig?


    Theoretisch ja, praktisch nicht. Diese Skripte werden bei Ubuntu und Debian schon sehr lange benutzt und haben sich als robust, praxistauglich und ausgereift präsentiert.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • Ich denke das interessante daran ist ja, dass man (oder ich zumindest) auf das Shellscript verzichten kann und stattdessen ein natives .service File hat


    Ein Shellscript hat man immer, ob nun /usr/local/bin/runvdr oder /etc/inti.d/vdr.


    Und für nen praxistauglichen Betrieb braucht der VDR ne Menge Sanity Checks, mit nem einfachen Starten des VDR mit psssenden Parametern ist es nicht getan.
    Zumindest muss man den Exit Code prüfen und entsprechend handeln, ferner brauchts nen harten Kill nach nem (längeren) Timeout. Ohne das kann man den VDR IMHO nicht alleine lassen.
    Also mit der Variante aus dem ersten Post würde ich den VDR nicht alleine lassen wollen ;) Im Zweifel verbringt er dann die zwei Wochen Urlaub mit nem Dauerneustart ;)


    cu

  • Ein Shellscript hat man immer, ob nun /usr/local/bin/runvdr oder /etc/inti.d/vdr.

    Nein, mit systemd und einer .service Datei hat man kein Shellscript mehr.

    Und für nen praxistauglichen Betrieb braucht der VDR ne Menge Sanity Checks, mit nem einfachen Starten des VDR mit psssenden Parametern ist es nicht getan.

    Das war bei mir noch nie nötig. Was prüfst du denn ab?

    Zumindest muss man den Exit Code prüfen und entsprechend handeln, ferner brauchts nen harten Kill nach nem (längeren) Timeout. Ohne das kann man den VDR IMHO nicht alleine lassen.

    Die Exitcodes werden von systemd abgefangen und behandelt. Und falls man einen längeren Timeout benötigt kann man den Parameter "RestartSec=" einsetzen, siehe http://0pointer.de/public/systemd-man/systemd.service.html

    Also mit der Variante aus dem ersten Post würde ich den VDR nicht alleine lassen wollen Im Zweifel verbringt er dann die zwei Wochen Urlaub mit nem Dauerneustart

    Das kann dir mit einem Shellscript ebenso passieren. Und der Dauerneustart wird AFAIK von systemd abgefangen und der service dann in den Zustand "failed" versetzt.

  • Hi Alle,


    ich versuche gerade bei meinem neuaufgesetzten Suse 12.1 die runvdr mit systemd zu starten, bricht leider jedesmal ab. Hat jemand vielleicht ne Idee ??




    Code
    Coruscant:/etc/systemd/system # systemctl status vdr.service
    vdr.service - Video Disk Recorder
          	Loaded: loaded (/etc/systemd/system/vdr.service; disabled)
          	Active: failed since Mon, 14 May 2012 18:42:23 +0200; 35s ago
         	Process: 8748 ExecStart=/usr/local/bin/runvdr (code=exited, status=1/FAILURE)
          	CGroup: name=systemd:/system/vdr.service


    Syslog spuckt folgendes aus:

  • Hmmm, also wenn ich es normal per shell aufrufe, dann geht's einwandfrei....
    und softhddevice wird ja mit -s gestartet, also im Suspendmodus, will also kein X-Window aufmachen

  • Moin!


    Ich bin mir nicht ganz sicher, aber "suspended" hat schon ein X-Window, "detached (-D)" hat keine Verbindung zum X-Server.


    Lars.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!