Alterar modo de inicialização do Linux - continuação - usando Systemd
Autor: Thiago Trancoso De Morais | Publicado: 2013-04-18T10:25:00-03:00


Fala pessoal,

Resolvi fazer outro post sobre este assunto. O fedora (a partir da versão 15) vem utilizando um sistema de chamado Systemd.

Para saber mais sobre o Systemd acesse aqui. (site em inglês) 

No post anterior eu havia falado sobre o arquivo "/etc/inittab". Nas versões e distribuições Linux que adotam o systemd, este arquivo não serve mais para controlar os runlevels.

Ao abrir o arquivo "/etc/inittab" vemos a seguinte texto:


# inittab is no longer used when using systemd.
#
# ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM
## Ctrl-Alt-Delete is handled by /etc/systemd/system/ctrl-alt-del.target

#

# systemd uses 'targets' instead of runlevels. By default, there are two main targets:&nbsp;

#

# multi-user.target: analogous to runlevel 3&nbsp;

#&nbsp;graphical.target: analogous to runlevel 5

#
# To set a default target, run:
#
# ln -s /lib/systemd/system/.target /etc/systemd/system/default.target#


Em outras palavras, o texto diz que o "inittab" não é mais utilizando quando o systemd é usado. Colocar e/ou alterar configurações neste arquivo "/etc/inittab" não terá nenhum efeito no sistema.

Então como é que agente vai fazer para alterar o modo de inicialização do sistema? O&nbsp;próprio&nbsp;arquivo informa como devemos fazer isso, mas é bom, sempre bom, fazer uma pesquisa no famoso google para ter certeza.

Esta pagina explica como fazer.

Antes de tudo, parece idiota, mas você precisa abrir o arquivo "/etc/inittab" para ter certeza de que o systemd esta instalado. Outra maneira de saber é verificando se existe os pacotes do systemd instalados no seu sistema.

# rpm -qa | grep systemd
systemd-libs-195-15.fc18.i686
systemd-195-15.fc18.i686
systemd-sysv-195-15.fc18.i686

Se o arquivo "/etc/inittab" apresentar o texto parecido com o texto que eu coloquei acima, e o comando rpm apresentar estes pacotes, então provavelmente seu sistema usa do systemd.

O systemd funciona através de "targets" (ou destinos) e, segundo o site de referencia, é um substituto bem mais flexivel para runlevels no sysvinit.


O runlevel 3 (modo texto) é emulado pelo arquivo "multi-user.target" e o runlevel 5 (modo gráfico) é emulado pelo arquivo "graphical.target".&nbsp;Existem links&nbsp;simbólicos&nbsp;para facilitar as coisas:


runlevel3.target é um link&nbsp;simbólico&nbsp;para&nbsp;multi-user.target
runlevel5.target é um link&nbsp;simbólico&nbsp;para&nbsp;graphical.target



Se você quer apenas "alterar" o runlevel atual digite os seguintes comandos (testados no fedora 18)



Para runlevel 3 (modo texto):

# systemctl isolate multi-user.target

(ou)

# systemctl isolate runlevel3.target&nbsp;

Para runlevel 5 (modo gráfico):


# systemctl isolate graphical.target 
(ou)
# systemctl isolate runlevel5.target



Se você quer alterar o modo padrão de inicialização, faça assim:

systemd usa links simbólicos apontando para o runlevel padrão. É preciso apagar o links simbólico existente antes de criar um novo link.

Para apagar execute o seguinte comando:
# rm /etc/systemd/system/default.target


Para usar o runlevel 3 (modo texto) como padrão, crie o seguinte link:
# ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target

Para usar o runlevel 5 (modo gráfico) como padrão, o comando é este:
# ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target 


Para verificar se tudo esta correto verifique o link criado:
# ls -la /etc/systemd/system/default.target

A saída deste comando deve mostrar para qual arquivo o link esta apontando:

...../etc/systemd/system/default.target -&gt;&nbsp;ln -sf /lib/systemd/system/multi-user.target
ou
...../etc/systemd/system/default.target -&gt;&nbsp;ln -sf /lib/systemd/system/graphical.target

Agora basta reiniciar o computador e pronto, o modo de inicialização padrão definido pela criação do link simbólico estará funcionando.

Qualquer duvida é só comentar,
Valeu,
Mad2ogs