Start and stop services and configure services to start automatically at boot:

Em capítulos anteriores já abordamos e explicamos brevemente o utilitário systemctl para conseguirmos gerir o default target da nossa máquina, contudo, este utilitário é bem capaz de fazer muito mais, pois tal como foi anteriormente explicado, este serve para gerir todos os serviços que estão ativos ou inativos no sistema, podendo obter informações sobre os mesmos e configurar estes para serem executados mal o computador é arrancado. Note-se contudo que o systemctl é apenas o utilitário que acaba por interagir com o Systemd.

Para obtermos uma listagem de todos os serviços disponíveis no nosso sistema juntamente com o seu estado atual podemos usar o seguinte comando:

# systemctl list-unit-files

Todos os serviços aqui listados podem ser controlados pelo administrador do sistema através do systemctl.

Temos de perceber que o Systemd funciona através de uma lógica de encadeamentos, pois cada serviço é executado após um outro, etc, sendo que estas ligações são efetuadas através de links simbólicos. Este método é utilizado para garantir uma execução faseada de serviços de modo a limitar problemas que possam ocorrer devido a incompatibilidades entre estes.

Podemos perceber esta árvore de ligações com o seguinte comando:

# systemctl list-dependencies [Nome].service

Então, para conseguirmos manusear individualmente cada serviço de modo a iniciar ou parar um destes devemos saber o seu nome e respeitar o seguinte sintaxe:

# systemctl start [Nome].service
# systemctl stop [Nome].service

Note-se que o “.service” pode ser omitido.

Sendo que caso queiramos apenas saber o seu estado atual podemos questionar ao systemctl do seguinte modo:

# systemctl status [Nome].service ou # systemctl is-active [Nome].service

Sendo que no primeiro caso vamos obter um pouco de mais informação do que apenas o seu estado, tal como uma breve descrição do serviço, e os mais recentes logs reportados pelo mesmo.

Imaginemos agora que pretendemos que sempre que o nosso sistema inicie, este deve executar logo um determinado serviço, para isso, fazemos o seguinte:

# systemctl enable [Nome].service

E para desativar este comportamento:

# systemctl disable [Nome].service

Se quisermos apenas sabes se este serviço irá arrancar logo após o Boot da máquina, usamos o seguinte codigo:

# systemctl is-enabled [Nome].service

Contudo podemos executar ainda mais uma ação sobre os diferentes serviços que ainda não foi aqui abordada, sendo essa a opção de “mascarar” os serviços, ou masking. Mascarar um serviço é o mesmo que criarmos um link simbólico do mesmo para /dev/null (um diretório especial em sistemas de base UNIX que simplesmente “aponta” para nada. Todos os dados para aqui enviados serão perdidos. ). Ativando esta opção em um determinado serviço, impedirá o mesmo de futuramente ser executado a não ser que seja “ desmascarado”. Para fazermos estas alterações devemos fazer o seguinte:

# systemctl mask [Nome].service
# systemctl unmask [Nome].service

Last updated

Was this helpful?