Não é possível usar o comando 'start' em 15.04

4

Eu costumava ser capaz de iniciar e interromper processos no Terminal com sudo start ou sudo stop

Exemplo: sudo start ttyS0 Isso iniciaria um getty para que eu pudesse efetuar login a partir de um terminal serial. Não funciona no Ubuntu 15.04. Existe uma maneira alternativa de iniciar e interromper processos em 15.04?

    
por TomL12953 08.05.2015 / 15:43

2 respostas

5

O sistema de gerenciamento de serviços mudou.

Todo conjunto de ferramentas de gerenciamento de sistemas possui utilitários próprios. Os utilitários com os quais você está acostumado são aqueles que vêm com o upstart, que são calços triviais para initctl start e initctl stop . Mas esta é a versão 15. do Ubuntu. Você não está mais usando o upstart.

Você está usando o systemd e os comandos de controle de serviço são subcomandos de systemctl em vez de initctl . Assim, os serviços são iniciados com systemctl start , interrompidos com systemctl stop , ativados com systemctl enable , desativados com systemctl disable e consultados com systemctl status .

A configuração de serviços e serviços foi alterada.

Você presumivelmente seguiu instruções como o Como fazer para o Serial Console para transformar o /etc/init/tty1.conf fornecido em /etc/init/ttyS0.conf . Este é um arquivo de configuração iniciante e simplesmente será ignorado pelo systemd. Nada do que você aprendeu de lá se aplica ao systemd, nem mesmo o conceito de níveis de execução, que é "obsoleto" no mundo do systemd.

O arquivo de configuração do systemd para um getty em um dispositivo de terminal real é /lib/systemd/system/[email protected] . Esta é uma unidade de modelo , parametrizada no nome do arquivo do dispositivo serial. Portanto, o nome real do serviço a ser usado será [email protected] . Você acabou de ativar / desativar / iniciar / parar como qualquer outro serviço.

Se você quer um console serial real, ao invés de apenas um terminal serial comum, então você nem faz isso. O systemd tem um mecanismo que instancia automaticamente [email protected] sempre que o kernel é avisado para não ter seu console em um terminal virtual.

Leitura adicional

por JdeBP 08.05.2015 / 20:39
0

Se você não precisa iniciar / parar o serviço tty em tempo de execução e só precisa ser iniciado durante a fase de inicialização, então você não precisa se preocupar com o aprendizado complicado systemd e systemctl coisas.

Você pode simplesmente iniciar uma porta ttyS0, por exemplo, adicionando linhas abaixo no GRUB2 (ou outro carregador de inicialização).

 GRUB_CMDLINE_LINUX="console=tty0 console=ttyS0,115200n8"

 #Uncomment to disable graphical terminal (grub-pc only)
 GRUB_TERMINAL=serial
 GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no -->
 stop=1"

Eu fiz isso no servidor do Ubuntu 15.10 rodando em um env do VirtualBox.

[  OK  ] Started Serial Getty on ttyS0. -- started by GRUB2
[  OK  ] Started Getty on tty1. -- started by systemd
[  OK  ] Reached target Login Prompts.
...
Ubuntu 15.10 server1 ttyS0  -- redirect console to ttyS0, if necessary
    
por baofeng 15.10.2016 / 23:44