Prima che tutti i file di unità fossero in /etc/systemd/system/
ma ora alcuni vengono visualizzati in /usr/lib/systemd/system
(<- su CentOS o /lib/systemd/system
<- su Debian/Ubuntu), qual è la differenza tra queste cartelle?
Risposta accettata:
Questa domanda ha già una risposta in man 7 file-hierarchy
che viene fornito con systemd (c'è anche la versione online):
/etc
System-specific configuration.
(…)
VENDOR-SUPPLIED OPERATING SYSTEM RESOURCES
/usr
Vendor-supplied operating system resources.
Usually read-only, but this is not required. Possibly
shared between multiple hosts. This directory should not
be modified by the administrator, except when installing
or removing vendor-supplied packages.
Fondamentalmente, i file forniti nei pacchetti scaricati dal repository di distribuzione vanno in /usr/lib/systemd/
. Le modifiche apportate dall'amministratore di sistema (utente) vanno in /etc/systemd/system/
.
Le unità specifiche del sistema sostituiscono le unità fornite dai fornitori. Usando i drop-in, puoi sovrascrivere solo parti specifiche dei file unit, lasciando il resto al fornitore (i drop-in sono disponibili fin dall'inizio di systemd, ma sono stati adeguatamente documentati solo nella v219; vedi man systemd.unit
).