Pular para o conteúdo principal

Systemd – Algumas questões práticas para Administradores de Sistemas


Há algum tempo para quem usa Fedora ou outras distribuições GNU/Linux consideradas “upstream”, algumas operações de administração de sistema ficaram diferentes, ou ainda, apresentam uma mensagem avisando que aquela maneira de fazer as coisas está “fora de uso”. Sim isto é o Systemd! Ele é um sistema de gerenciamento de serviços para o Linux compatível com System V e Scripts de init. Systemd é o novo sistem de inicialização do Fedora. Foi e ainda é desenvolvido por Lennart Poettering e Kay Sievers. O Systemd já é padrão no Fedora desde a versão 15 e em outras distribuições como OpenSuse, Mandriva, Arch Linux, também está disponível para ser usado no Debian, Ubuntu e Gentoo. Este artigo está longe de querer descrever o Systemd em todas as suas características e funcionalidades, minha ideia aqui é cobrir algumas tarefas corriqueiras de administradores de sistema, e na medida do possível, comparando com a forma System V, do ponto de vista de quem usa Fedora/Red Hat/CentOs e etc.


Serviços e Units


Serviços em sistemas que não utilizam o Systemd são scripts para inicialização de daemons que ficam em “/etc/init.d”, já nos sistemas que usam Systemd, são Units. Uma Unit pode ser um serviço, um socket, uma definição de path, uma configuração de montagem automática, ou seja, o Systemd através de Units padroniza a forma de utilização destes elementos. Utilizaremos como exemplo o serviço que controla o servidor openssh.


Arquivos System V Systemd
Daemon /etc/init.d/sshd (daemon) /usr/lib/systemd/system/sshd.service (Unit)
Configuração /etc/sysconfig/sshd e /etc/ssh/sshd_config /etc/sysconfig/sshd e /etc/ssh/sshd_config
Binário /usr/sbin/sshd /usr/sbin/sshd

No Systemd no lugar do comando service, ou ainda “/etc/init.d/”, o comando utilizado é o systemctl.


Para a sequência de comandos abaixo:

$ service sshd status



$ service sshd start



$ service sshd stop

Com o Systemd fica da seguinte forma:

$ systemctl status sshd.service



$ systemctl start sshd.service



$ systemctl stop sshd.service


Runlevels e Targets


Quando um Fedora Linux era iniciado antes do Systemd ser padrão na distro, esse normalmente inicializava em Runlevel 5, ou seja, em modo gráfico (X11). Como sabemos, existiam basicamente 7 Runlevels, isso era configurado para a inicialização padrão no arquivo /etc/inittab:


...

# 0 - halt (Do NOT set initdefault to this)

# 1 - Single user mode

# 2 - Multiuser, without NFS (The same as 3, if you do not have #networking)

# 3 - Full multiuser mode

# 4 - unused

# 5 - X11

# 6 - reboot (Do NOT set initdefault to this)

id:5:initdefault:
...

Em sistemas com o Systemd essa configuração é realizada com um link simbólico ou com a opção isolate no comando systemctl

Para configurar o sistema para inicializar em modo gráfico (equivalente ao Runlevel 5):


$ln -sf /usr/lib/systemd/system/graphical.target /etc/systemd/system/default.target

Ou

$ systemctl isolate graphical.target

Para configurar o sistema para inicializar em modo multiusuário sem o modo gráfico (equivalente ao Runlevel 3):

$ln -sf /usr/lib/systemd/system/multi-user.target /etc/systemd/system/default.target

Ou

$ systemctl isolate multi-user.target

Uma tabela de “equivalência”:

System V Systemd
Runlevel 0 (Halt)
poweroff.target 
Runlevel 1 (Single User)
rescue.target 
Runlevel 3 (Multiuser)
multi-user.target 
Runlevel 5 (Gráfico)
graphical.target
Runlevel 6 (Reboot)
reboot.target 
Para habilitar o serviço sshd na inicialização do Runlevel atual (System V):

$ chkconfig sshd on

Para habilitar a Unit sshd.service no Target atual (Systemd):

$ systemctl enable sshd.service

Criando uma Unit para montar uma partição de arquivos dentro do home do usuário


Como sempre estou reinstalando meu Linux, e como meu notebook tem mais de um SO, tenho em meu HD uma partição de arquivos. Em um passado não muito distante eu colocaria esta configuração no arquivo /etc/fstab, não que isso não funcione agora, mas a maneira correta e elegante de se fazer essa configuração é criando uma Unit para montagem e outra para o automount.

Criando a Unit home-penasio-Arquivos.mount para montar uma partição /dev/sda6 em /home/penasio/Arquivos:

Em /etc/systemd/system, criar o arquivo home-penasio-Arquivos.mount com o seguinte conteúdo:



[Unit]
Description=Meu diretorio de Arquivos
[Mount]
What=/dev/sda6
Where=/home/penasio/Arquivos
Type=ntfs-3g
Options=defaults

Para o automount, criar também a Unit home-penasio-Arquivos.automount com o seguinte conteúdo:

[Unit]
Description=Automount meu Arquivos
[Automount]
Where=/home/penasio/Arquivos
[Install]
WantedBy=graphical.target


Habilitando o automount na inicialização

$ systemctl enable home-penasio-Arquivos.automount

Bom, basicamente eram estes aspectos do Systemd que eu queria falar, pois são recorrentes pra quem é administrador de sistemas, e este nem sempre tem tempo para vasculhar várias páginas para juntar informações úteis na hora do aperto. Espero ter sido feliz na escolha dos itens descritos.

Referências

https://fedoraproject.org/wiki/Systemd/pt-br
http://en.wikipedia.org/wiki/Lennart_Poettering
http://en.wikipedia.org/wiki/Kay_Sievers
http://0pointer.de/blog/projects/systemd.html
http://www.freedesktop.org/wiki/Software/systemd/TipsAndTricks

Comentários

Rafael Santos disse…
Excelente artigo! muito útil parabéns!!

Postagens mais visitadas deste blog

Problemas com o Módulo de Segurança do Banco do Brasil no Fedora 25 com Firefox 52 em diante

A partir da versão 52 do Firefox, lançada em março de 2017, entre outras novidades no aumento da segurança, o navegador não possui mais suporte a plugins NPAPI (Netscape Plugin API), ou seja, não roda mais Java, Silverlight e Acrobat. Com isso, quem atualizou recentemente o Firefox e usava o Banco do Brasil se deparou com a necessidade da instalação do módulo de Segurança deste aplicativo do banco. Ao se realizar a instalação do módulo, eu detectei dois grandes erros, que até hoje, 30/04, o Banco do Brasil ainda não corrigiu. São eles: Não reconhece a senha de superusuário.  Na autenticação da senha de Superusuário o módulo informa que a senha está incorreta. Isto ocorre porque nesta etapa o aplicativo depende do Xorg, e normalmente quem usa o Fedora 25 está usando o Wayland. Para corrigir esta etapa é até fácil, basta fazer logout e logar novamente no “Gnome sobre Xorg” (clicando na engrenagem na tela de login e escolhendo esta opção). Depois, ba...

FAD na Bandtec em São Paulo

Sandro Melo, Davi Souza, Penasio, Ramilton, Leonardo Vaz, Wolnei e Marcos Sungália No último sábado (09/11), participei do FAD (Fedora Activity Day) realizado na Faculdade Bandtec (http://www.bandtec.com.br) , em São Paulo. Outros participantes deste FAD  foram os quatro embaixadores - Leonardo Vaz ,  Wolnei Junior , Ramilton Costa Gomes Junior e Davi Souza , além do Marcos Sungália , parceiro RedHat, o Sandro Melo e outros professores da Bandtec. No começo fiquei até preocupado, já que, segundo Ramilton (organizador do evento), alguns palestrantes desistiram e a grade que era pequena podia ficar totalmente comprometida. Ainda assim, naquele sábado sai de casa para abraçar a causa e ajudar com o que fosse necessário. Ao chegar na Bandtec fiquei muito surpreso com a boa estrutura do lugar e com o cuidado com que nosso evento estava sendo tratado, até a equipe de seguranças da faculdade estavam recebendo e orientando as pessoas que chegavam lá para...

Primeiro Fedora Activity Day 2013 na RedHat em São Paulo

No último sábado dia 1 de junho participei do FAD - Fedora Activity Day – organizado pelo Leonardo Vaz na sede da RedHat em São Paulo. Foi um sábado pra lá de produtivo, com a presença de 12 membros da comunidade Fedora, contando comigo. Fizemos várias discussões, durante todo o dia, sobre o Fedora e principalmente sobre como ocorrem e qual o nível das colaborações ao projeto no Brasil e na América Latina. Também houve palestras do Leonardo Vaz e do Sergio Durigan, além de um hands on com o Itamar Peixoto sobre empacotamento. Durante essas apresentações, pudemos trocar informações com os palestrantes, propiciando um ambiente muito interessante. Depois das apresentações, discutimos um roadmap dos eventos deste ano e várias formas de colaboração dos embaixadores com o projeto, como realizar apresentações nas faculdades de tecnologia, porque são espaços de formação de novos usuários e potenciais colaboradores para o Fedora. Para isso, vamos iniciar os contatos com essas faculda...