Esse problema tem a ver com systemd usa arquivos.
Conforme documentado em man file-hierarchy , o diretório /lib é para arquivos somente leitura fornecidos pelo fornecedor, enquanto /etc é para "configuração específica do sistema", que pode substituir os arquivos padrão fornecidos pelo fornecedor em /lib .
O local correto para colocar suas modificações está em /etc/sytemd/system .
Você pode substituir completamente o arquivo em questão por um arquivo em /etc/ ou usar um modelo "drop-in" para substituir somente parte do arquivo.
Pesquise man systemd.unit para "Drop-in" para os detalhes.
Os arquivos em /lib continuarão sendo sobrescritos durante os upgrades de pacotes, enquanto as alterações em /etc/ serão preservadas.
O conselho sobre / lib vs / etc aplica-se geralmente, não apenas a systemd .
exemplo de unidade drop-in do systemd
Em /etc/systemd/system/docker.service.d/10-fix-execstart.conf :
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -g "/mnt/var/lib/docker" -H fd://
Assim, você está seguindo um padrão para criar um arquivo em um diretório com o nome do serviço que deseja substituir, declarando apenas a seção específica e a diretiva que você deseja substituir.
De man systemd.service :
If the empty string is assigned to this option, the list of commands to start is reset, prior assignments of this option will have no effect.