a opção --now do `systemctl`

12

Conforme indicado na página de manual ,

systemctl --now enable servicename

deve ativar e iniciar o serviço.

Mas isso nunca funciona para mim, sob muitas distribuições diferentes.

Enquanto a saída de:

systemctl is-enabled voltas ativadas,

systemctl is-active ainda está inativo para o serviço.

Para que serve essa opção?

Eu tentei outras combinações, como:

systemctl enable --now servicename

e:

systemctl enable servicename --now

mas continua o mesmo; Eu tenho que manualmente systemctl start servicenametoda vez, mesmo que o comando anterior (ou seja, a enableparte) seja executado com sucesso .

É que o implentation do aplicativo do serviço systemd do aplicativo deve apoiá-lo na implementação do recurso em algum lugar nos arquivos da unidade; o que muitos serviços conhecidos não seguem, que me fizeram pensar em sua troca totalmente inútil; Eu assumo pensar sobre isso.

Restabelecer Monica - M. Schröder
fonte
1
Todas as "combinações" funcionam bem aqui (archlinux).
31517 Don_crissti

Respostas:

11

Eu também achei isso irritante.

Parece que o --nowswitch foi adicionado na versão 220 (veja esta linha no changelog) e o CentOS 7 está atualmente na versão 219. Esperemos que em breve!

Você pode verificar sua versão do systemd com systemctl --version.

David Birks
fonte
2
Para sua informação, estou no CentOS 7 e # systemctl --versionme diz que estou usando, systemd 219mas verifiquei que a --nowbandeira realmente inicia um serviço parado. Talvez o back-end do RHEL / CentOS?
Pzkpfw 06/03/19
1
Oi @pzkpfw mesmo para mim, até eu estou com 219 e - agora funciona para mim.
Prashant Lakhera