staging.inyokaproject.org

systemd/Units

Status: Ungelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |
Dieses Thema ist die Diskussion des Artikels systemd/Units.

linux_joy

Anmeldungsdatum:
6. Februar 2008

Beiträge: Zähle...

Hallo ChickenLipsRfun2eat,

vvielen Dank für Deine Klarstellung. 👍 Deren Inhalt sollte m.E. mit in systemd/systemctl (Abschnitt „Bearbeiten-von-Unit-Dateien“) aufgenommen werden.

Außerdem fehlt jetzt noch die Antwort darauf:

... aber es sollte, wie oben dargelegt, eben vorher geklärt werden, wann, wie und wo genau das mit dem Auto-Öffnen durch den System-Standardeditor und dem Auto-Reload der Unit funktioniert, dito der Gebrauch der weiteren Option --force!

pegu

Anmeldungsdatum:
2. September 2020

Beiträge: Zähle...

Hallo zusammen,

ich bin ein absoluter Frischling was Linux angeht.

In diesem Thema beschäftige ich mich gerade mit systemd und den Units.

https://forum.ubuntuusers.de/topic/script-zeit-gesteuert-starten/2/#post-9193062

Ich wolte gemäß diesem Wiki ein Unit vom Typ .timer erstellen wollen und mich an diese Anleitung gehalten:

Neue Unit anlegen Mit dem Befehl

sudo systemctl edit --force --full NAME_DER_UNIT_DATEI

wird eine neue Unit-Datei im Verzeichnis /etc/systemd/system angelegt.

Leider war für mich nicht ersichtlich, dass wenn ich eine Unit vom Typ .timer anlegen will, ich den Befehl wie folgt hätte eingeben müssen (Tipp wurde in meinem Betrag gegeben):

sudo systemctl edit --force --full NAME_DER_UNIT_DATEI.timer

Vielleicht könnte dies im Wiki noch ergänzt werden?

Liebe Grüße

pegu

noisefloor Team-Icon

Ehemaliger
Avatar von noisefloor

Anmeldungsdatum:
6. Juni 2006

Beiträge: 28316

Hallo,

der Artikel ist ein übergeordneter Artikel für alle Units, deshalb ist da keine Dateiendung genannt. Der Artikel systemd/Timer Units geht gezielt auf Timer Units ein.

Gruß, noisefloor

pegu

Anmeldungsdatum:
2. September 2020

Beiträge: 53

Guten Morgen,

ja da hast Du recht.

Ich hätte statt .timer .TYP schreiben sollen ....

Grüße

pegu

BillMaier Team-Icon

Supporter
(Themenstarter)

Anmeldungsdatum:
4. Dezember 2008

Beiträge: 6389

Hallo,

ich suche gerade nach einem Artikel, wie ich ein Skript auf einem Server nach Systemstart starten kann. Aktueller Anwendungsfall ist ein dedizierter Backup-Rechner, der nach Systemstart einmalig das Backup durchführt und danach wieder beendet.

Eine systemd-Unit scheint mir dazu der richtige Weg zu sein.

Leider macht der Artikel teilweise Andeutungen, die nicht näher definiert sind.

Konkret:

Der Ausführungszeitpunkt wird über die Angaben im Abschnitt [Unit] gesteuert.

Hier (oder alternativ verlinkt in systemd/Units wünschte ich mir ein Beispiel, was damit konkret gemeint ist.

Gruß BillMaier

Moderiert von noisefloor:

Abgetrennt von der Diskussion zu rc.local und an den passenden Thread zum passenden Wikiartikel gehängt.

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 7816

BillMaier schrieb:

[…] Leider macht der Artikel teilweise Andeutungen, die nicht näher definiert sind.

Konkret:

Der Ausführungszeitpunkt wird über die Angaben im Abschnitt [Unit] gesteuert.

Was ist in diesem Fall nach Deiner Meinung nur angedeutet? Der Satz bezieht sich auf das vor ihm stehende konkrete Beispiel, in dem natürlich an leicht erratbarer Stelle noch der konkrete individuelle Startbefehl für Deinen Backup-Lauf eingefügt werden muss, und konkret auf die in diesem Beispiel verwendeten Systemd-Schlüsselworte After und Wants, deren Semantik der Anwender natürlich kennen oder in der verlinkten Dokumentation von systemd nachschlagen muss. "After" bewirkt z.B., dass diese Unit zeitlich nach der in der Direktive genannten anderen Unit gestartet wird, aber das ist leicht zu erraten oder im Zweifel einfach nachzuschlagen.

Hier (oder alternativ verlinkt in systemd/Units wünschte ich mir ein Beispiel, was damit konkret gemeint ist.

Noch konkreter als das bereits vorhandene Beispiel geht doch gar nicht! Natürlich wird erwartet, dass der Anwender Kenntnisse von systemd hat oder sich erwirbt und es wird auch erwartet, dass man etwas mitdenkt und statt STARTBEFEHL etwas gemäß eigener Aufgabe passendes einsetzt.

noisefloor Team-Icon

Ehemaliger
Avatar von noisefloor

Anmeldungsdatum:
6. Juni 2006

Beiträge: 28316

Hallo,

sehe ich auch ähnlich... die Optionen zum Startzeitpunkt beim Bootvorgang sind auch in der Tabelle im Artikel erklärt. Wenn das Skript #ausgründen erst X Minuten nach dem Systemstart laufen soll brauchst du eine Timer Unit, die die Service Unit startet.

Da systemd ein weites Feld ist macht es ansonsten auch Sinn, bei konkreten Fragen zu deinem Anwendungsfall eine Thread im Supportforum zu starten.

Gruß, noisefloor

BillMaier Team-Icon

Supporter
(Themenstarter)

Anmeldungsdatum:
4. Dezember 2008

Beiträge: 6389

Hello,

ich habe wohl den Begriff "Ausführungszeitpunkt" im Artikel rc.local falsch verstanden, weil ich da an einen Zeitpunkt (mit Zeitangabe) gedacht habe, eben

noisefloor schrieb:

erst X Minuten nach dem Systemstart

oder sowas. Aber das ist ja hier gar nicht gemeint. Der Begriff "Ausführungszeitpunkt" kommt auch sonst in den Artikeln nicht vor. Finden wir da einen anderen Begriff?

Da systemd ein weites Feld ist macht es ansonsten auch Sinn, bei konkreten Fragen zu deinem Anwendungsfall eine Thread im Supportforum zu starten.

Ich weiß ☺

Ich habe ganz vorbildlich erstmal eine Suchmaschine bemüht und bin bei rc.local gelandet. Und bei Verständnisthemen zum Artikel melde ich mich gerne in der Diskussion zum Artikel - ich sehe das als Feedbackschleife zum Artikel. Das gibt es ja aus dem Supportforum eher nicht.

Auch in diesem Fall habe ich darüber hinaus erstmal keine weitere konkrete Frage. ☺

Gruß BillMaier

Newubunti

Anmeldungsdatum:
16. Februar 2008

Beiträge: 4768

BillMaier schrieb:

...Finden wir da einen anderen Begriff?

"Verarbeitungsreihenfolge"?

LG, Newubunti

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 7816

Da „Ausführungszeitpunkt“ missverstanden wurde, neue Formulierung:

Die Angaben im Abschnitt [Unit] bestimmen die Position dieser Unit in der Reihenfolge aller zu startenden Units.

Moderiert von noisefloor:

An den passenden Thread dran gehängt.

BillMaier Team-Icon

Supporter
(Themenstarter)

Anmeldungsdatum:
4. Dezember 2008

Beiträge: 6389

👍

Newubunti

Anmeldungsdatum:
16. Februar 2008

Beiträge: 4768

Hallo,

Zum Editieren einer bestehenden Datei:

Wenn ich zumindest ab Ubuntu 20.04 eine bestehende Service-Unit editiere - ohne Verwendung von --full - so ist das Verhalten so, dass systemd,

  • ein Verzeichnis der Art /etc/systemd/system/NAME_DER_UNIT_DATEI.service.d anlegt

  • und darin eine override.conf erstellt und diese in nano zur Bearbeitung öffnet.

Dabei ist es in 20.04 so, dass eine vollständig leere Datei in nano erscheint. In Ubuntu 22.04 ist es so, dass in nano der Inhalt der Original-Datei mit angezeigt und sich am Anfang dieser Datei in nano der folgende Abschnitt befindet:

### Editing /etc/systemd/system/NAME_DER_UNIT_DATEI.service.d/override.conf
### Anything between here and the comment below will become the new contents of the file



### Lines below this comment will be discarded

### Unterhalb dieses Abschnitts wird der original Inhalt angezeigt.

Diese Anzeige in 22.04 ist aber nur eine Hilfsweise, in der override.conf steht dann, so wie in 20.04 nur die Änderung die man vorgenommen hat.

Frage: Weiß jemand wie das Verhalten unter 18.04 ist?

Denn ich würde das gerne ergänzen wollen.

Danke!

LG, Newubunti

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 7816

Newubunti schrieb:

[…] Dabei ist es in 20.04 so, dass eine vollständig leere Datei in nano erscheint. In Ubuntu 22.04 ist es so, dass in nano der Inhalt der Original-Datei mit angezeigt […] Weiß jemand wie das Verhalten unter 18.04 ist?

Ubuntu 18.04 verwendet systemd in der Version 237, welches sich hinsichtlich systemctl edit genauso verhält wie systemd in der Version 245, welches Ubuntu 20.04 verwendet.

Welche systemd-Version verwendet Ubuntu 22.04?

noisefloor Team-Icon

Ehemaliger
Avatar von noisefloor

Anmeldungsdatum:
6. Juni 2006

Beiträge: 28316

Hallo,

Welche systemd-Version verwendet Ubuntu 22.04?

249

Gruß, noisefloor

Newubunti

Anmeldungsdatum:
16. Februar 2008

Beiträge: 4768

Mir fällt gerade auf, dass das im Prinzip schon in systemd/systemctl steht - mal abgesehen von der Neuerung bezüglich Jammy. Ich hatte jetzt auch erst mal nicht auf den entsprechenden Link geklickt.

Ich finde es ungünstig, dass die Bearbeitung einer Unit-Datei damit über zwei Artikel verteilt steht.

IMO sollte das Bearbeiten an sich mit dem Befehl systemctl auch in erster Linie im dortigen Artikel stehen. Hier aus Units oder anderen Artikeln würde ich dann zwecks Bearbeitung mit dem Befehl systemctl auf eben diesen Artikel schlicht mittels Link verweisen.

Meinungen?

LG, Newubunti