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 ).