Come modificare delle configurazioni con systemctl

Ciao a tutti, al fine di modificare un parametro che riguarda il servizio “ccpd.service”, stavo provando con il comando:

systemctl edit ccpd.service

Si apre un editor e vado a modificare il parametro TimeoutStopSec, al fine di ridurre il tempo di attesa di chiusura del processo (ora impostato a 5min) quando faccio uno shutdown del computer.

Ma non riesco a capire come si salva! Mi chiede di un file di override ma non capisco…
Io gli dico ok e l’editor si chiude. Allora faccio anche un “systemctl daemon-reload” e un “systemctl ccpd restart”, ma quando verifico con “systemctl show ccpd.service -p TimeoutStopUSec” ottengo sempre TimeoutStopUSec=5min. E infatti quando spengo il computer nulla è cambiato.

Come faccio a fargli vedere la modifica?

Grazie!

Proverei ad usare nel comando l’opzione --force.
Facci sapere.
Ciao.

A leggere il commento che vien fuori, mi sa che non puoi modificare solo quel parametro, ma devi riportare anche altro. Per esempio, se TimeoutStopUSec è nella stanza (non so se è la terminologia corretta) [Service], va riportato anche quello

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

[Service]
TimeoutStopUSec=1min

### Lines below this comment will be discarded

Per il resto (edit, salva, file override) a patto che tu stia usando sudo, va tutto bene.

Comunque, ci faccia vedere il risultato di
systemctl cat ccpd.service

Ciao! Se intendi dire “systemctl edit ccpd.service --force” non è cambiato niente…

Ciao! Allora, procedo così:

sudo systemctl edit ccpd.service

decommento [Service] e TimeoutSec=5min e modifico quest’ultimo impostando TimeoutSec=1min.
Aggiungo anche “TimeoutStopUSec=1min”
Poi ^O per salvare e appare “Nome del file in cui salvare: /etc/systemd/system/ccpd.service.d/.#override.confbcc0bcde08252352” e faccio invio. E mi dice “[ Scritte 30 righe ]”
A quel punto esco con ^X. A terminale appare “Editing “/etc/systemd/system/ccpd.service.d/override.conf” canceled: temporary file is empty.”
Poi “sudo systemctl daemon-reload”
Poi “sudo systemctl restart ccpd”

Ma se riapro con “sudo systemctl edit ccpd.service” non è cambiato niente, tutte le righe sono commentate, comprese quelle che avevo decommentato. E la riga aggiunta non c’è.

Se faccio

[[email protected] ~]$ sudo systemctl show ccpd.service -p TimeoutStopUSec

TimeoutStopUSec=5min (che non so dov’è perché lo aggiunta io ma mettendo 1min!)
Mentre sudo systemctl show ccpd.service -p TimeoutSec non restituisce nulla…

Per quanto riguarda:

[[email protected] ~]$ sudo systemctl cat ccpd.service
# /run/systemd/generator.late/ccpd.service
# Automatically generated by systemd-sysv-generator

[Unit]
Documentation=man:systemd-sysv-generator(8)
SourcePath=/etc/rc.d/init.d/ccpd
Description=SYSV: Some description
Before=multi-user.target
Before=graphical.target
Before=livesys-late.service
After=livesys.service

[Service]
Type=forking
Restart=no
TimeoutSec=5min
IgnoreSIGPIPE=no
KillMode=process
GuessMainPID=no
RemainAfterExit=yes
ExecStart=/etc/rc.d/init.d/ccpd start
ExecStop=/etc/rc.d/init.d/ccpd stop

Boh?

Mmm, no.
Se li decommenti, secondo me rientri in questo caso:

### Lines below this comment will be discarded

Devi riportare [Service] e TimeoutSec=5min ecc. fra le due linee di commento come nell’esempio che ti ho fatto nell’altro post.

Hai ragione! Ho inserito:

[Service]
TimeoutSec=1min
TimeoutStopUSec=1min

prima della linea ### Lines below this comment will be discarded.

Ora ottengo:

[[email protected] ~]$ sudo systemctl cat ccpd.service
# /run/systemd/generator.late/ccpd.service
# Automatically generated by systemd-sysv-generator

[Unit]
Documentation=man:systemd-sysv-generator(8)
SourcePath=/etc/rc.d/init.d/ccpd
Description=SYSV: Some description
Before=multi-user.target
Before=graphical.target
Before=livesys-late.service
After=livesys.service

[Service]
Type=forking
Restart=no
TimeoutSec=5min
IgnoreSIGPIPE=no
KillMode=process
GuessMainPID=no
RemainAfterExit=yes
ExecStart=/etc/rc.d/init.d/ccpd start
ExecStop=/etc/rc.d/init.d/ccpd stop

# /etc/systemd/system/ccpd.service.d/override.conf
[Service]
TimeoutSec=1min
TimeoutStopUSec=1min

E funziona anche lo spegnimento del PC! Grazie!

1 Mi Piace