Autor Tópico: Como achar o script de runlevel no ubuntu para edita - lo?  (Lida 284 vezes)

Offline bugged

  • Usuário Ubuntu
  • *
  • Mensagens: 2
    • Ver perfil
Como achar o script de runlevel no ubuntu para edita - lo?
« Online: 17 de Setembro de 2017, 00:42 »
vi algumas fontes ensinado como mudar o runlevel no debian por exemplo , editando " inittab " mas nao tem no ubuntu e em outras fontes dizia q o ubuntu nao ultiliza mais o inittab

Offline druidaobelix

  • Usuário Ubuntu
  • *
  • Mensagens: 5.232
    • Ver perfil
Re:Como achar o script de runlevel no ubuntu para edita - lo?
« Resposta #1 Online: 17 de Setembro de 2017, 18:47 »
vi algumas fontes ensinado como mudar o runlevel no debian por exemplo , editando " inittab " mas nao tem no ubuntu e em outras fontes dizia q o ubuntu nao ultiliza mais o inittab

De fato, editar env DEFAULT_RUNLEVEL= no arquivo /etc/init/rc-sysinit.conf não funciona mais, isso valia para o upstart, não mais para o systemd

Mostrar runlevel atual ainda basta fazer no terminal:

Código: [Selecionar]
runlevel
Igualmente ainda vai funcionar se fizer:

Código: [Selecionar]
telinit N
onde N é o runlevel que se queira:

telinit 1 irá levar ao prompt que nada mais é que o prompt do Recovery Mode.

Também ainda funciona se editar:

Código: [Selecionar]
gksudo gedit /etc/default/grub
alterando a linha:

Citar
GRUB_CMDLINE_LINUX=""

colocando entre as aspas o suposto runlevel que se queira, como exemplo:

GRUB_CMDLINE_LINUX="1"

em seguida atualizando o grub fazendo:

Código: [Selecionar]
sudo update-grub
novamente irá levar ao prompt do Recovery Mode.

Porém de uma forma mais atual runlevel é exposto através de "targets units', pelo que deverá ser feito:

Código: [Selecionar]
sudo systemctl isolate runlevelN.target
one o N novamente é o runlevel desejado, como no exemplo:

sudo systemctl isolate runlevel1.target

Note, entretanto, que essa ideia de runlevel está obsoleta, não faz mais sentido no império do systemd, além do que é absolutamente inútil para qualquer finalidade realmente prática.

Num desktop comum não faz sentido levar o sistema para um runlevel 1 ou 3.
Qual a finalidade disso? Qual a razão para fazer uma coisa dessa?

Por outro lado, num servidor faz menos sentido ainda.
O modo seguro de fazer se não quer que determinado serviço seja oferecido é não habilitar o serviço, pois serviço inexistente não pode ser vazado.

Em todo caso, no systemd quando se quer atingir:

Código: [Selecionar]
sudo systemctl isolate runlevel5.target
então se faz na nova concepção:

Código: [Selecionar]
sudo systemctl isolate graphical.target
Veja uma lista fazendo:

Código: [Selecionar]
systemctl list-units --type=target
« Última modificação: 17 de Setembro de 2017, 18:55 por druidaobelix »
www.arredondar.org.br
Vencedor Desafio de Impacto Social Google 2016!
Você também pode participar e fazer a diferença.