Você pode substituir um arquivo de unidade do sistema usando
systemctl edit mysqld.service
Todas as declarações feitas no arquivo de substituição terão prioridade.
Instalei o MySQL no meu servidor Arch Linux. Mudei o diretório de dados para um local em / home, onde meu volume RAID está montado. Notei que o mysqld não irá iniciar nesta configuração por padrão, já que a unidade systemd contém a configuração ProtectHome=true
.
Eu quero sobrescrever apenas essa configuração. Eu não quero re-especificar o ExecStart
ou comandos similares, caso eles mudem quando o pacote for atualizado.
Eu tentei criar um arquivo simples em /etc/systemd/system
chamado mysqld.service
e adicionei apenas estas linhas:
[Service]
ProtectHome=false
Isso não funciona, já que o serviço em / etc substitui , não substitui o serviço do sistema.
Existe uma maneira de substituir as configurações nos arquivos da unidade do systemd dessa forma sem modificar diretamente os arquivos em / usr / lib / systemd / system? (que é o que eu fiz por enquanto como uma correção temporária, embora isso acabe sendo revertido se o pacote for atualizado)
systemctl edit
criará um < um arquivo de href="https://www.freedesktop.org/software/systemd/man/systemd.unit.html"> drop-in onde você pode substituir a maioria das configurações, mas esses arquivos têm alguns detalhes vale a pena mencionar:
Note that for drop-in files, if one wants to remove entries from a setting that is parsed as a list (and is not a dependency), such as
AssertPathExists=
(or e.g.ExecStart=
in service units), one needs to first clear the list before re-adding all entries except the one that is to be removed.#/etc/systemd/system/httpd.service.d/local.conf [Unit] AssertPathExists= AssertPathExists=/srv/www
Dependencies (
After=
, etc.) cannot be reset to an empty list, so dependencies can only be added in drop-ins. If you want to remove dependencies, you have to override the entire unit.
Para substituir a unidade inteira, use systemctl edit --full
, isso fará uma cópia em /etc
, se ainda não houver nenhuma, e permitirá a edição.
Veja também Anulações de exclusão do Systemd
Tags systemd