Por que em alguns serviços de systemd de distribuição linux são habilitados por padrão e em outros não é? [fechadas]

2

Eu notei que após a instalação do pacote via apt-get no Debian o serviço no systemd é habilitado por padrão. No entanto, em outras distribuições, como o Arch Linux, o serviço nesse pacote é desativado por padrão.

Minhas perguntas são:

  1. Sobre o que esse comportamento depende? É alguma configuração no gerenciador de pacotes ou o próprio pacote decide se está habilitado ou não?

Quero dizer, no Debian, parece que systemctl enable docker.service foi executado após a instalação. E no Arch-linux o docker.service está desativado.

  1. Como posso alterá-lo?
por RndGuyFromInternet 13.08.2018 / 12:57

2 respostas

6

Como a declaração predefinida do systemd , essa é uma opção política feita pelos distribuidores:

On Fedora all services stay off by default, so that installing a package will not cause a service to be enabled (with some exceptions). On Debian all services are immediately enabled by default, so that installing a package will cause its service(s) to be enabled right-away.

Em teoria, as distribuições systemd usam o sistema predefinido para decidir se um serviço deve ser ativado após a instalação do pacote, executando systemctl preset em vez de systemctl enable nos scripts de manutenção pós-instalação do pacote; e aplicar suas substituições locais à política de distribuição é tão simples quanto criar suas próprias predefinições de prioridade mais alta em /etc/systemd/system-preset/ . (O Archo doco é bastante enganador, aqui. O caso usual é criar um arquivo de preset local individual que aborda serviços específicos.)

Na prática, algumas distribuições systemd não usam o sistema predefinido para isso, e aplicar suas substituições locais ao systemd é uma questão de empregar os próprios mecanismos das distribuições, se é que elas realmente o possuem.

Leitura adicional

por 13.08.2018 / 17:02
3

1) On what does this behavior depend? Is it some setting in package manager or the package itself decides whether it is enabled or not?

Cada distribuição pode usar diferentes gerenciadores de pacotes como apt no Debian ou pacman no Arch Linux. Isso requer que desenvolvedores de software e / ou mantenedores de pacotes preparem um pacote de várias maneiras (geralmente incoerentes). Essas diferenças podem estar relacionadas às configurações do pacote, mas às vezes o pacote pode ser preparado sem a suposição de que o systemd será usado no sistema de destino.

2) How can I change it?

Descubra como o pacote específico para sua distribuição é preparado e mantido e quem é responsável por ele. Se for código aberto, há uma chance de você conseguir modificar o comportamento sozinho nas fontes de instalação. Você também pode entrar em contato com alguém da comunidade de desenvolvedores de software / mantenedores para sugerir alterações.

    
por 13.08.2018 / 14:55