quinta-feira, 18 de abril de 2013

Alterar modo de inicialização do Linux - continuação - usando Systemd


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: 
#
# multi-user.target: analogous to runlevel 3 
# 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 próprio 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". Existem links simbólicos para facilitar as coisas:
  • runlevel3.target é um link simbólico para multi-user.target
  • runlevel5.target é um link simbólico para 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 
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 -> ln -sf /lib/systemd/system/multi-user.target
ou
...../etc/systemd/system/default.target -> 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









Um comentário: