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, basta

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 particip

A Cesta de Natal

Recebi da empresa uma Cesta de Natal na sexta passada. Sei que nos dias de hoje isso pode soar estranho, mas de fato fiquei muito feliz com a cesta, não sei explicar exatamente porque... Talvez seja alguma lembrança de infância quando era menino e via, do portão de casa, todos os operários da Mercedes carregando felizes suas Cestas de Natal, no fim do ano. Minha família mora em um bairro de São Bernardo do Campo ao lado da Mercedes. Sei lá, mas de qualquer maneira eu gostei do mimo! Em casa, após desembalá-la, fiquei olhando para aquela caixa vazia e resistia a jogá-la no lixo reciclável. Pensei por alguns instantes (como meus pais fazem): “Ah esta caixa pode servir pra guardar alguma coisa...”  Logo depois, achei isso uma bobagem e eu a desmontei pra descarte. Meu filho estava junto, e disse "nossa que legal essa caixa né pai?" Olhei pra ele e tive uma ideia:  pintar um cenário naquele papelão todo para brincar com os carrinhos. Começamos a aventura artística no sábado e