Como evitar que este serviço seja iniciado na inicialização

0

This question is different from the possible candidate since here I am asking how to remove the service at startup

Estou usando uma placa Seeed ReSpeaker Core v2.0 . Eu gostaria de usar a interface UART para fazer essa placa se comunicar com outra. Mas a porta UART / dev / ttyS2 está vinculada ao console. Eu identifiquei um serviço vinculado à placa e gostaria de desativá-lo para evitar que ele seja iniciado na inicialização:

userk@glutamate:~$ sudo systemctl status | grep ttyS2
           │ │ ├─[email protected]
           │ │ │ └─1078 /sbin/agetty --keep-baud 115200,38400,9600 ttyS2 vt220
               │ ├─1093 grep ttyS2

Não há informações relacionadas ao bootloader na página oficial. Eu já fiz uma pergunta em seu fórum.

EDIT 0

o serviço está ativado estaticamente

userk@glutamate:~$ systemctl list-dependencies --reverse serial-getty@ttyS2
[email protected]
● └─getty.target
●   └─multi-user.target
●     └─graphical.target

Quando eu paro e desabilito, a situação parece bem:

userk@glutamate:~$ sudo systemctl stop [email protected] 
userk@glutamate:~$ sudo systemctl disable [email protected] 
userk@glutamate:~$ sudo systemctl status | grep ttyS2
               │ ├─1135 grep ttyS2

Mas quando eu reinicio o sistema, ele aparece novamente.

EDIT 1

  • Eu estou trabalhando com o Debian 9 (extensão). Eu usei uma imagem feita pelo SeedStudio.
  • Eu fiz outra pergunta relacionada a este serviço aqui . Como @JdeBP afirmou em sua resposta

The fundamental configuration item that drives this is the console setting that one gives on the command line to the kernel via the boot loader. It's that that tells the generator what serial console services to start. It is that that tells the kernel where to send kernel console output. It is that that tells the kernel where to send /dev/console output. If you do not want your serial device to be a console, it is that that you need to adjust.

EDIT 2

Não consigo encontrar o [email protected] na pasta / lib / systemd / system. Eu estou usando grep -rl [email protected] /lib/systemd/system .

    
por UserK 06.11.2018 / 15:09

1 resposta

3

Após EDIT2 , esta resposta é obsoleta.

Note que você não deve gravar uma configuração assim para /lib/ . Espero que você (ou outro administrador) o tenha criado por engano e não haja um problema mais complexo. Nesse caso, você pode simplesmente revertê-lo, ou seja,

rm /lib/systemd/system/getty.target.wants/[email protected]

Então você pode reiniciar. (Ou execute systemctl daemon-reload e verifique novamente para ver se o serviço foi desativado corretamente).

Antes de excluir o arquivo, posso verificar novamente se o link indesejado não é fornecido por um pacote

dpkg-query -S /lib/systemd/system/getty.target.wants/[email protected]

e que, de fato, é um link simbólico

ls -l /lib/systemd/system/getty.target.wants/[email protected]

Você também pode verificar se há outros arquivos que foram colocados de forma imprópria por um administrador. Instale o pacote Debian cruft e execute cruft -d "/lib/systemd/system" .

    
por 06.11.2018 / 15:42