Categories
por

Como gerir serviços de sistema num sistema linux

Embora o systemd resolva muitos problemas com a gestão do sistema, por vezes é também confuso.

Mesmo uma tarefa simples como a listagem de serviços systemd poderia fazer-lhe pensar.

Neste artigo, vou mostrar-lhe como listar serviços de systemd. Explicarei também o resultado para que seja mais fácil para si compreender os diferentes estados dos serviços.

Presumo que tenha algum conhecimento de systemd, mas mesmo que não tenha, deve ser bom.

Como listar serviços activos em systemd

os serviços systemd são geridos pelo comando systemctl. Se executar systemctl sem quaisquer argumentos, invoca o sub-comando padrão de unidades de lista e lista vários tipos de unidades de sistema como serviços, tomadas, alvos, etc.

Mas o seu objectivo é listar os serviços de modo a especificar o tipo de unidade co m-type flag como este:

Reparou que eu não especifiquei o sub-comando das unidades da lista porque é o padrão? Se quiser seguir a convenção, pode especificar isso também. Prefiro assim e vou seguir esta convenção no resto do tutorial.

Em ambos os casos, o resultado será o mesmo. Por defeito, este comando mostra apenas serviços carregados e activos em ordem alfabética:

Deixe-me explicar o resultado:

  • UNIT : nome da unidade systemd.
  • LOAD : se o ficheiro de configuração da unidade foi analisado pelo systemd.
  • ACTIVO : estado de alto nível da unidade.
  • SUB : estado de baixo nível da unidade. Uma unidade activa pode estar no estado de funcionamento ou no estado de saída. Este valor depende do tipo de serviço.

Como pode ver, pode listar os serviços carregados no seu sistema Linux. Mas um serviço activo do sistema pode estar em execução ou pode ser abandonado (depois de executado com sucesso).

Listar todos os serviços do sistema em execução

O estado activo também pode ter um substatus como correr, sair, etc. Pode usar a mesma bandeir a-estado com o sub-estado.

Para listar os serviços do sistema em execução, use a bandeir a-state=running como esta:

Aqui está um exemplo de saída para o meu sistema mostrando alguns dos serviços do sistema em execução:

Listar todos os serviços de systemd carregados, incluindo os inactivos

Por defeito, o comando systemctl mostra apenas as unidades carregadas e activas.

Se quiser listar todos os serviços carregados, incluindo os inactivos, utilize a bandeir a-all:

Pode agora ver até os serviços inactivos:

Liste todos os serviços inactivos do systemd

Se quiser ver apenas os serviços inactivos, pode combinar várias bandeiras com o-tudo e-estado como esta:

Como pode ver na saída, mostra todos os serviços inactivos do sistema:

Lista todos os serviços do sistema instalados (mesmo que não estejam carregados)

Cada unidade do sistema, seja serviço ou tomada ou qualquer outra unidade, tem um ficheiro de unidade que

Aqui está o que deve ver:

Explicar cada tipo de estado será demasiado longo e não está no âmbito deste artigo. Talvez eu escreva sobre isso no futuro.

Listar todos os serviços de sistema que serão executados automaticamente em cada arranque

Para ver todos os serviços do sistema que funcionarão automaticamente todas as vezes

Suponha que tenha instalado um novo programa XYZ. Este XYZ tem um serviço de sistema chamado xyz. service com o fornecedor pré-definido activado. Isto significa que depois de instalar o programa, quando arrancar o sistema, este xyz. service será activado automaticamente no momento do arranque.

Se a pré-configuração do fornecedor estiver desactivada, terá de a configurar manualmente para a activar. Uma vez activado, ele inicia automaticamente cada arranque.

Mostrar o estado de um determinado serviço do sistema

Até agora, tem visto várias formas de listar serviços. Mas nada se centra num único serviço.

Pode obter informações detalhadas sobre um serviço systemd usando o sub-comando de status do systemctl. O preenchimento do separador funciona com este comando.

Aqui está um exemplo com o serviço de gestão de rede:

Pode ver que fornece muita informação útil como o estado do serviço, página de homem do serviço, memória que consome, id de processo, etc. Também mostra os últimos registos de diário do serviço.

Se quiser verificar se um serviço está activo ou não num script shell, pode usar o sub-comando is-active. A saída é 0 para activo.

Da mesma forma, se quiser verificar se um serviço está activado (definido para iniciar automaticamente no momento do arranque), pode usar o sub-comando is-activa. A saída é 0 para o serviço activado.

Conclusão

Penso que tem agora um melhor entendimento sobre a listagem de serviços de sistema. Espero que tenha aprendido algumas coisas novas sobre o comando systemd e systemctl.

Não hesite em fornecer o seu feedback, perguntas ou sugestões na secção de comentários.

Nos últimos anos, a maioria das distribuições Linux mudaram a forma como se iniciam. Anteriormente, o sysvinit estilo UNIX governava o poleiro à parte de alguns outliers, como o Ubuntu que fazia uso do Upstart para os seus sistemas operativos. Recentemente, muitas distribuições de Linux passaram para o novo processo systemd para gerir o arranque e o encerramento do sistema.

Como trabalhar com Systemd para a gestão de serviços num servidor

Para começar, para aqueles que não estão familiarizados, vamos dar uma olhadela rápida sobre como um sistema Linux arranca. Para isso, a BIOS carregará primeiro o carregador de arranque, que na maioria dos sistemas Linux modernos é o GRUB 2. O trabalho do carregador de arranque é encontrar e iniciar o Kernel Linux que actua como interface entre o seu software e o hardware no computador. Depois de ter iniciado, o Kernel procura e inicia o sistema de inicialização que é então responsável pela inicialização dos vários serviços e software no sistema. Ao trabalhar com o sistema sysvinit, está provavelmente familiarizado com a utilização dos scripts em /etc/init. d para iniciar e parar serviços em conjunto com o comando de serviço. O Systemd substitui inteiramente isto e tem o seu próprio comando e sintaxe para iniciar e parar os serviços. Para a maioria do trabalho que vai fazer com systemd, vai usar o comando systemctl. Portanto, vamos usar alguns exemplos para explicar como o systemctl funciona. Especificamente, vamos utilizar o serviço Apache2, mas pode obviamente substituir o Apache2 pelo nome do serviço que deseja gerir. Note aqui que systemctl precisa de ser chamado como utilizador root ou usando sudo de uma conta de utilizador com as devidas permissões sudo. systemctl start apache2 – Começando com um simples aqui, o comando acima inicia o serviço Apache2. systemctl stop apache2 – Como acima descrito, isto pára o serviço Apache2 em execução. systemctl enable apache2 – Este comando permite que o serviço Apache2 inicie automaticamente no arranque. systemctl desactivar apache2 – Tal como antes deste comando desactiva o serviço Apache2 de iniciar automaticamente quando o sistema arranca. systemctl status – Este comando mostra-lhe um estado geral do sistema incluindo uma árvore de processos mostrando os serviços iniciados pelo systemd. systemctl status apache2 – Este comando mostra-lhe informação mais detalhada sobre o estado do Apache2 incluindo se está a correr ou não, bem como alguma saída de ficheiro de registo truncado da última vez que foi iniciado. Isto pode ser útil para ver a razão pela qual um serviço pode ter falhado em iniciar o estado systemct l-l apache2 – Este comando fornece praticamente a mesma saída que acima, mas também fornece a saída de registo completa para ajudar a diagnosticar problemas. systemctl reload apache2 – Este comando recarregaria os ficheiros de configuração para o Apache2 sem o reiniciar. Note que nem todos os serviços são capazes de recarregar a sua configuração sem reiniciar, pelo que esta pode não ser uma opção para alguns serviços. systemctl restart apache2 – Este comando pararia o Apache2 e depois recomeçaria depois. systemctl mask apache2 – A opção máscara é usada para informar o systemctl de que não deve ser capaz de iniciar o serviço. Assim, mesmo as tentativas de iniciar manualmente serão bloqueadas. systemctl unmask apache2 – Como provavelmente pode adivinhar, a opção unmask inverte a função da opção máscara. systemctl list-unit-files – Este comando lista quaisquer ficheiros de unidades que o systemd possa encontrar. Os ficheiros de unidades são os ficheiros de instruções que dizem ao systemd o que precisa de fazer para iniciar/pararar um serviço. Estes ficheiros são listados juntamente com o seu estado: “activado” para serviços que serão iniciados no arranque, “desactivado” para serviços que não o serão, “mascarado” para serviços que tenha mascarado e “estático” para ficheiros que o systemd não consiga activar. Isto é útil para descobrir o nome correcto para um serviço, a fim de o gerir.

systemctl list-units – Este é um companheiro do comando anterior na medida em que lista quaisquer unidades carregadas e um pouco de informação sobre elas. systemctl poweroff – Este comando desliga o computador. systemctl reboot – Este comando reinicia o computador. Isto termina a nossa visita às várias funções do comando systemctl do systemd e à forma como o utilizaria para gerir serviços em execução no seu sistema. Como com a maioria dos comandos, há mais informação a ser encontrada na página man do systemctl do que a que incluímos aqui. Por isso, vale a pena verificá-la para ver o que mais pode fazer.

Chris Hoffman é editor-chefe de How-To Geek. Ele escreveu sobre tecnologia durante mais de uma década e foi colunista da PCWorld durante dois anos. Chris escreveu para o The New York Times e Reader’s Digest , foi entrevistado como perito em tecnologia em estações de televisão como a NBC 6 de Miami, e teve o seu trabalho coberto por noticiários como a BBC. Desde 2011, Chris já escreveu mais de 2.000 artigos que já foram lidos quase um bilião de vezes – e isso é só aqui no How-To Geek. Leia mais.

Systemd é agora usado por defeito na maioria das distribuições Linux, desde Fedora e Red Hat ao Ubuntu, Debian, openSUSE, e Arch. O comando systemctl permite-lhe obter informação sobre o estado do systemd e controlar os serviços em execução.

Apesar da controvérsia, isto pelo menos introduz alguma padronização em todas as distribuições de Linux. Os mesmos comandos permitir-lhe-ão gerir serviços da mesma forma em qualquer distribuição Linux utilizando o systemd.

Nota : Para modificar a configuração do seu sistema na distribuição Linux como Ubuntu que usa sudo, terá de prefixar aqui os comandos com sudo . Em outras distribuições Linux, terá de se tornar o utilizador root com o comando sudo primeiro.

Verifique se o seu sistema Linux está a utilizar o Systemd

Se não tiver a certeza se a sua distribuição Linux está a utilizar o systemd, abra uma janela Terminal e execute o seguinte comando. Isto mostra-lhe o número da versão do systemd no seu sistema Linux, se tiver o systemd instalado:

Analisar o Processo de Arranque

O comando system-analyze permite-lhe visualizar informações sobre o seu processo de arranque, tais como quanto tempo levou e quais os serviços (e outros processos) que acrescentaram mais tempo ao processo de arranque.

Para ver informações sobre o processo de arranque em geral, execute este comando:

Para ver quanto tempo cada processo demorou a arrancar, execute este comando:

Ver Unidades

Systemd utiliza “unidades”, que podem ser serviços (.serviço), pontos de montagem (.montar), dispositivos (.dispositivo), ou tomadas (.socket). O mesmo comando systemctl gere todos estes tipos de unidades.

Para ver todos os ficheiros de unidades disponíveis no seu sistema:

Para listar todas as unidades em execução:

Para listar todas as unidades falhadas:

Gerir serviços

Para ver uma lista de serviços activados e desactivados, usa o mesmo comando systemctl que acima, mas diga-lhe para listar apenas serviços:

systemctl list-unit-file s-type=service

O comando systemctl permite-lhe iniciar, parar, ou reiniciar um serviço. Também pode dizer a um serviço para “recarregar” a sua configuração.

O comando status é a única acção aqui que imprimirá e produzirá no terminal. Os outros comandos entrarão em vigor silenciosamente.

systemctl stop name. service

systemctl restart name. service

systemctl reload name. service

systemctl status name. service

Utilize o comando systemctl para que o systemd inicie automaticamente um serviço (ou outro tipo de unidade) no arranque. O comando systemctl desactivar desactiva um serviço e impede-o de iniciar automaticamente com o seu computador.

systemctl desactiva o name. service

Pode “mascarar” um serviço ou outra unidade para impedir o seu arranque. Terá de o desmascarar antes de poder começar no futuro:

systemctl desmascarar nome. serviço

Há muito mais a sistematizar e os seus vários comandos do que isto, é claro. O Systemd oferece uma variedade de comandos de gestão de energia para desligar, reiniciar, hibernar, e de outra forma controlar o estado de energia do sistema. Pode escrever os seus próprios ficheiros de unidade para criar serviços e pontos de montagem ou editar os ficheiros de unidade existentes.

Systemd também oferece “alvos”, que são semelhantes a runlevels, mas diferentes. em vez de um número, os alvos têm nomes – é possível que o systemd esteja em múltiplos estados-alvo ao mesmo tempo. Systemd também oferece o seu próprio jornal do sistema, que pode ser acedido com o comando journalctl. Por defeito, armazena os registos do sistema em formato binário – mas pode mudar para registos em formato texto simples, se preferir.

O Arch Linux wiki tem informação mais aprofundada sobre o systemd, e a maior parte da informação que lá se aplica ao systemd em todas as distribuições Linux. Deve também verificar a documentação da sua própria distribuição Linux systemd para mais informações.

Já leu tudo sobre systemd , o novo daemon de init Linux. Sabe o que ele faz, e porquê. Agora é altura de escavar e aprender como fazê-lo sentar-se e implorar – ou pelo menos começar, parar, e obter informações sobre os serviços.

Iniciar e Parar Serviços

A minha peça anterior, “Here We Go Again, Another Linux Init”: Intro to systemd” discute os conceitos por detrás do systemd e o que é suposto ele fazer. Agora é tempo de aprender a usá-lo para controlar os serviços nos nossos sistemas. systemd é compatível com o sysvinit e Upstart, por isso pode experimentá-lo instalando-o em qualquer Linux que use sysvinit ou Upstart sem muito trabalho extra. Arch Linux, Debian, e OpenSUSE incluem o systemd nos seus repositórios de software.

Uma omissão conspícua das distros que suportam systemd é Ubuntu. Há várias razões dadas para isto, e não me importo porque estou cansado de lutas de totós e só quero continuar com as coisas. Outra forma é ir buscar a si próprio uma cópia do Fedora 15 ou 16, que gere o systemd por defeito.

systemadm é um bom gestor gráfico do systemd (figura 1). Ainda é um bebé, por isso pode falhar ou algo assim, mas pode experimentá-lo instalando o pacote systemd-gtk no Fedora, o pacote systemd no Arch, ou o systemd-gui para Debian. Não, claro que a distros não pode usar nomes de pacotes consistentes, porque isso é contra as regras.

Por muito bonito que seja o systemadm, vamos passar à linha de comando para o resto deste artigo. Observe os avisos nos exemplos para ver quais os que requerem privilégios de raiz. Pode ver o estado de tudo o que o systemd controla executando systemctl sem opções:

Como se vêem apenas os serviços disponíveis, em execução ou não?

Estes irão cuspir uma grande quantidade de resultados, provavelmente uma centena de linhas ou mais. Quer ver apenas os serviços activos?

$ systemctl list-unit s-t serviço

Pode verificar o estado de qualquer serviço individual, tal como o cman. service, w

Estes estão em vigor apenas para a sessão actual, portanto, se quiser que um serviço comece no arranque, faça-o:

# systemctl activar sshd. service

E isso é tudo. Sem aborrecimentos com scripts de arranque. Isto desactiva-o a partir do arranque:

# systemctl desactiva o sshd. service

Pode verificar se um serviço já está a funcionar; 0 significa que está actualmente a funcionar e 1 significa que não está:

Pode usar systemctl halt, poweroff , ou reiniciar para desligar ou reiniciar o sistema. Todos os três enviam uma mensagem de parede aos utilizadores avisando que o sistema está a ser desligado.

Processos, cgroups, e Killing

systemd organiza processos com cgroups, e pode ver isto com o comando ps, que foi actualizado para mostrar os cgroups. Execute este comando para ver que serviço possui que processos:

Os cgroups foram introduzidos no kernel Linux há alguns anos atrás, e são um mecanismo interessante para atribuir e limitar os recursos do kernel. No systemd, os cgroups são utilizados para encurralar e gerir processos. Quando novos processos são gerados, tornam-se membros do cgroup dos pais. O cgroup é nomeado pelo serviço a que pertence, e os serviços não podem escapar aos seus cgroups, pelo que se sabe sempre a que serviço pertencem. Quando se precisa de matar um serviço, pode-se matar o cgroup, e apanhar todos os seus processos de uma só vez, em vez de se jogar ao processo “find-the-fork-or-renamed”. Outra forma de ver a hierarquia do processo é com o comando system-cgls, como mostrado na Figura 2.

Há o meu velho amigo Avahi daemon. Assim, em vez de caçar e matar os dois processos Avahi à moda antiga, systemd deixa-me fazê-lo num só comando:

# systemctl matar avahi-daemon. service

Lennart Poettering, o autor principal de systemd, escreveu uma série de artigos para sysadmins. Eles não estão indexados, por isso aqui estão links para sua conveniência. Estes cobrem serviços de inicialização personalizados, runlevels, gettys, e tudo o que precisa de saber para controlar o systemd

O Systemctl é um utilitário de sistema que é responsável por controlar o sistema e o gestor de serviços do sistema. Systemd é uma colecção de daemons de gestão do sistema, utilitários e bibliotecas que serve como substituto do daemon de inicialização do Sistema V. Systemd funciona como plataforma central de gestão e configuração do sistema UNIX.

No Linux, Ecosystem Systemd foi implementado na maioria da distribuição padrão do Linux, com algumas excepções. Systemd é o processo pai de todos os outros daemons frequentemente, mas nem sempre.

Gerir os serviços Linux utilizando Systemctl

Este artigo visa lançar luz sobre “Como controlar Sistema e Serviços” num sistema em funcionamento.

Começando com Systemtd e Systemctl Basics

1. Primeiro, verifique se o systemd está ou não instalado no seu sistema, e qual é a versão do Systemd actualmente instalado?

É claro, pelo exemplo acima, que temos instalado a versão do systemd 215.

2. Verifique onde estão instalados os binários e bibliotecas do systemd e do systemctl.

3. Verifique se o systemd está a funcionar ou não.

Nota : systemd está a correr como daemon pai ( PID=1 ). No comando ps acima com ( – e ) seleccionar todos os Processos, ( – a ) seleccionar todos os processos excepto os líderes de sessão e ( – f ) para a listagem em formato completo (i. e. – eaf ).

Tenha também em atenção os parênteses rectos no exemplo acima e o resto dos exemplos a seguir. A expressão de parênteses rectos faz parte da correspondência de padrões de classes de caracteres do grep.

4. Analisar o processo de inicialização do sistema.

5. Analisar o tempo gasto por cada processo no arranque.

6. Analisar a cadeia crítica no momento do arranque.

Importante : Systemctl aceita serviços (.service ), ponto de montagem (.mount ), tomadas (.socket ) e dispositivos (.device ) como unidades.

7. Listar todas as unidades disponíveis.

8. Liste todas as unidades em funcionamento.

9. Listar todas as unidades falhadas.

10. Verificar se uma Unidade ( cron. service ) está activada ou não?…

11. Verificar se uma Unidade ou Serviço está a funcionar ou não?…

Controlar e Gerir Serviços Utilizando o Systemctl

12. Enumerar todos os serviços (incluindo activados e desactivados).

13. Como iniciar, reiniciar, parar, recarregar e verificar o estado de um serviço ( httpd. service ) no Linux.

Nota: Quando usamos comandos como iniciar, reiniciar, parar e recarregar com systemctl, não obteremos qualquer saída no terminal, o único comando de estado irá imprimir a saída.

14. Como activar um serviço e activar ou desactivar um serviço no momento do arranque (autostart service no arranque do sistema).

15. Como mascarar (tornando impossível o arranque) ou desmascarar um serviço ( httpd. service ).

16. Como matar um serviço usando o comando systemctl.

Controlar e Gerir Pontos de Montagem usando o Systemctl

17. Listar todos os pontos de montagem do sistema.

18 . Como montar, desmontar, voltar a montar, recarregar pontos de montagem do sistema e também verificar o estado dos pontos de montagem no sistema?

19. Como activar, activar ou desactivar um ponto de montagem no momento do arranque (montagem automática no arranque do sistema).

20. Como mascarar (tornando impossível o arranque) ou desmascarar um ponto de montagem no Linux.

Como controlar e gerir tomadas usando Systemctl

21. Listar todas as tomadas de sistema disponíveis.

22. Como iniciar, reiniciar, parar, recarregar e verificar o estado de uma tomada (exemplo: cups. socket ) no Linux.

23. Como activar uma tomada e activar ou desactivar no momento do arranque (tomada de auto-arranque no arranque do sistema).

24. Como mascarar (tornando impossível iniciar) ou desmascarar um soquete (cups. socket).

Se aprecia o que fazemos aqui na TecMint, deve considerar:

TecMint é o site comunitário de maior crescimento e maior confiança para qualquer tipo de Artigos, Guias e Livros Linux na web. Milhões de pessoas visitam TecMint! para pesquisar ou navegar nos milhares de artigos publicados disponíveis GRATUITAMENTE para todos.

Se gostar do que está a ler, por favor considere comprar-nos um café ( ou 2 ) como um sinal de apreço.

Estamos gratos pelo vosso apoio sem fim.

Uma das competências mais importantes que qualquer recém-chegado ao Systemd pode aprender é como gerir os serviços do seu computador. Para os fins deste artigo discutiremos o básico: iniciar, parar, habilitar e desactivar serviços a partir da linha de comando do Linux.

Estas tarefas não são difíceis de dominar, mas tornam-se uma necessidade inegável quando se é obrigado a parar um programa fora de controlo ou quando se pretende instalar uma nova aplicação.

O que é o Systemd?

É provável que o seu computador Linux corra actualmente Systemd. Muitas distribuições, incluindo Arch Linux, Debian, Fedora, Red Hat, e Ubuntu, utilizam-no por defeito. Algumas distribuições seriam difíceis ou impossíveis de executar sem a sua instalação.

Systemd funciona sobretudo como um substituto robusto do antigo projecto init SysV que as distros UNIX utilizavam desde os anos 80. O programador principal Lennart Poettering declarou também que Systemd vai além das tarefas init e pode também funcionar como uma plataforma de desenvolvimento e uma ligação entre aplicações individuais e o kernel Linux.

Isto tem causado muita indignação na plataforma de Poettering como um todo, principalmente porque a sua natureza monolítica parece agir contra o “caminho UNIX” do código simples e modular.

Seja qual for o lado que escolher no debate sobre a legitimidade de Systemd, poderá ainda cair sob a sua asa neste segundo. Portanto, terá de saber como utilizá-lo, e não há melhor maneira de começar do que instalar um novo programa.

Unidades de Arranque e Paragem

Systemd arranca, pára, activa, e desactiva “unidades”. As unidades são compostas pelos serviços, pontos de montagem, dispositivos e tomadas no seu computador. Nestas instruções, estará a trabalhar com serviços (.ficheiros de serviços), os ficheiros que representam programas no seu computador que aguardam para serem acedidos para uma tarefa específica.

Várias distros Linux têm acesso a Hddtemp , um pequeno utilitário que verifica a temperatura de um disco rígido. Hddtemp tem um ficheiro. service e pode correr como um daemon, para que possa iniciá-lo manualmente e habilitá-lo a iniciar no arranque. É pequeno e não invasivo; pode descarregá-lo, experimentá-lo em conjunto com o Systemd, e apagá-lo mais tarde se não o quiser por perto.

Systemctl é um utilitário systemd que é responsável por controlar o sistema systemd e o gestor de serviços. Systemd é uma colecção de daemons de gestão do sistema, utilitários e bibliotecas que serve como substituto do daemon de inicialização do Sistema V. Systemd funciona como plataforma central de gestão e configuração do sistema UNIX.

No Linux, Ecosystem Systemd foi implementado na maioria da distribuição padrão do Linux, com algumas excepções. Systemd é o processo pai de todos os outros daemons frequentemente, mas nem sempre.

Gerir os serviços Linux utilizando Systemctl

Este artigo visa lançar luz sobre “Como controlar Sistema e Serviços” num sistema em funcionamento.

Começando com Systemtd e Systemctl Basics

1. Primeiro, verifique se o systemd está ou não instalado no seu sistema, e qual é a versão do Systemd actualmente instalado?

É claro, pelo exemplo acima, que temos instalado a versão do systemd 215.

2. Verifique onde estão instalados os binários e bibliotecas do systemd e do systemctl.

3. Verifique se o systemd está a funcionar ou não.

Nota : systemd está a correr como daemon pai ( PID=1 ). No comando ps acima com ( – e ) seleccionar todos os Processos, ( – a ) seleccionar todos os processos excepto os líderes de sessão e ( – f ) para a listagem em formato completo (i. e. – eaf ).

Tenha também em atenção os parênteses rectos no exemplo acima e o resto dos exemplos a seguir. A expressão de parênteses rectos faz parte da correspondência de padrões de classes de caracteres do grep.

4. Analisar o processo de inicialização do sistema.

5. Analisar o tempo gasto por cada processo no arranque.

6. Analisar a cadeia crítica no momento do arranque.

Importante : Systemctl aceita serviços (.service ), ponto de montagem (.mount ), tomadas (.socket ) e dispositivos (.device ) como unidades.

7. Listar todas as unidades disponíveis.

8. Liste todas as unidades em funcionamento.

9. Listar todas as unidades falhadas.

10. Verificar se uma Unidade ( cron. service ) está activada ou não?…

11. Verificar se uma Unidade ou Serviço está a funcionar ou não?…

Controlar e Gerir Serviços Utilizando o Systemctl

12. Enumerar todos os serviços (incluindo activados e desactivados).

13. Como iniciar, reiniciar, parar, recarregar e verificar o estado de um serviço ( httpd. service ) no Linux.

Nota: Quando usamos comandos como iniciar, reiniciar, parar e recarregar com systemctl, não obteremos qualquer saída no terminal, o único comando de estado irá imprimir a saída.

14. Como activar um serviço e activar ou desactivar um serviço no momento do arranque (autostart service no arranque do sistema).

15. Como mascarar (tornando impossível o arranque) ou desmascarar um serviço ( httpd. service ).

16. Como matar um serviço usando o comando systemctl.

Controlar e Gerir Pontos de Montagem usando o Systemctl

17. Listar todos os pontos de montagem do sistema.

18 . Como montar, desmontar, voltar a montar, recarregar pontos de montagem do sistema e também verificar o estado dos pontos de montagem no sistema?

19. Como activar, activar ou desactivar um ponto de montagem no momento do arranque (montagem automática no arranque do sistema).

20. Como mascarar (tornando impossível o arranque) ou desmascarar um ponto de montagem no Linux.

Como controlar e gerir tomadas usando Systemctl

21. Listar todas as tomadas de sistema disponíveis.

22. Como iniciar, reiniciar, parar, recarregar e verificar o estado de uma tomada (exemplo: cups. socket ) no Linux.

23. Como activar uma tomada e activar ou desactivar no momento do arranque (tomada de auto-arranque no arranque do sistema).

24. Como mascarar (tornando impossível iniciar) ou desmascarar um soquete (cups. socket).

Se aprecia o que fazemos aqui na TecMint, deve considerar:

TecMint é o site comunitário de maior crescimento e maior confiança para qualquer tipo de Artigos, Guias e Livros Linux na web. Milhões de pessoas visitam TecMint! para pesquisar ou navegar nos milhares de artigos publicados disponíveis GRATUITAMENTE para todos.

Se gostar do que está a ler, por favor considere comprar-nos um café ( ou 2 ) como um sinal de apreço.

Estamos gratos pelo vosso apoio sem fim.

Uma das competências mais importantes que qualquer recém-chegado ao Systemd pode aprender é como gerir os serviços do seu computador. Para os fins deste artigo discutiremos o básico: iniciar, parar, habilitar e desactivar serviços a partir da linha de comando do Linux.

Estas tarefas não são difíceis de dominar, mas tornam-se uma necessidade inegável quando se é obrigado a parar um programa fora de controlo ou quando se pretende instalar uma nova aplicação.

O que é o Systemd?

É provável que o seu computador Linux corra actualmente Systemd. Muitas distribuições, incluindo Arch Linux, Debian, Fedora, Red Hat, e Ubuntu, utilizam-no por defeito. Algumas distribuições seriam difíceis ou impossíveis de executar sem a sua instalação.

Systemd funciona sobretudo como um substituto robusto do antigo projecto init SysV que as distros UNIX utilizavam desde os anos 80. O programador principal Lennart Poettering declarou também que Systemd vai além das tarefas init e pode também funcionar como uma plataforma de desenvolvimento e uma ligação entre aplicações individuais e o kernel Linux.

Isto tem causado muita indignação na plataforma de Poettering como um todo, principalmente porque a sua natureza monolítica parece agir contra o “caminho UNIX” do código simples e modular.

Seja qual for o lado que escolher no debate sobre a legitimidade de Systemd, poderá ainda cair sob a sua asa neste segundo. Portanto, terá de saber como utilizá-lo, e não há melhor maneira de começar do que instalar um novo programa.

Unidades de Arranque e Paragem

O comando para gerir unidades systemd é systemctl .

Serviços de Arranque e Paragem

Para iniciar um serviço systemd, use o comando systemctl start:

Pode deixar o sufixo. service. Por exemplo, para iniciar o servidor apache no Ubuntu:

Para parar um serviço em execução:

$ sudo systemctl stop name. service

Assim, para parar o servidor apache no Ubuntu:

Serviços de reinicialização e recarregamento

Para reiniciar um serviço em execução, use o comando restart:

systemadm é um bom gestor gráfico do systemd (figura 1). Ainda é um bebé, por isso pode falhar ou algo assim, mas pode experimentá-lo instalando o pacote systemd-gtk no Fedora, o pacote systemd no Arch, ou o systemd-gui para Debian. Não, claro que a distros não pode usar nomes de pacotes consistentes, porque isso é contra as regras.

Serviços de Habilitação e Desabilitação

Se quiser que um serviço comece automaticamente no arranque do sistema, utilize o comando enable:

Para desactivar um serviço a partir do arranque do sistema:

Desactivar não pára um serviço em execução.

Ver o estado do serviço

Para ver informações sobre um serviço:

Isto mostrar-lhe-á o estado do serviço e as primeiras linhas do ficheiro de registo. Assim, enquanto o serviço está a decorrer, o resultado de

Para verificar se um serviço está activo:

$ sudo systemctl is-active name. service

Assim, enquanto o serviço apache2 é

Estático : Isto significa que a unidade não pode ser activada, realiza uma acção única, ou é uma dependência de outra unidade e não pode ser gerida por si só.

Mascarada: Uma unidade listada como mascarada significa que é completamente inamovível, uma vez que está ligada a /dev/null . A isto chama-se mascarar a unidade. Isto impede que o serviço seja iniciado, manual ou automaticamente.

Listar todos os serviços instalados

O comando systemctl list-unit-files com filtr o-t o u-type service mostra apenas o estado dos serviços instalados.

Para ver todas as unidades de serviço activas, utilizar unidades listadas com filtro de serviç o-t

A saída tem as seguintes colunas :

UNIT : O nome da unidade de serviço do sistema

CARREGAR : Mostra se a definição da unidade foi lida e carregada correctamente

ACTIVO : Descreve se a unidade está activa.

SUB : Estado de activação de baixo nível da unidade, dando informações mais detalhadas sobre a unidade. Isto varia de acordo com o tipo de unidade.

DESCRIÇÃO : A descrição da unidade de serviço.

Conclusão

Espero que isto lhe dê uma ideia sobre a utilização do systemctl para gerir serviços no Linux. Se estiver interessado em aprender mais, pode consultar este curso de domínio de Linux.

Uma das competências mais importantes que qualquer recém-chegado ao Systemd pode aprender é como gerir os serviços do seu computador. Para efeitos deste artigo discutiremos o básico: iniciar, parar, activar e desactivar serviços a partir da linha de comando do Linux.

Estas tarefas não são difíceis de dominar, mas tornam-se uma necessidade inegável quando se é obrigado a parar um programa fora de controlo ou quando se pretende instalar uma nova aplicação.

  • O que é o Systemd?
  • É provável que o seu computador Linux corra actualmente Systemd. Muitas distribuições, incluindo Arch Linux, Debian, Fedora, Red Hat, e Ubuntu, utilizam-no por defeito. Algumas distribuições seriam difíceis ou impossíveis de executar sem a sua instalação.

Systemd funciona sobretudo como um substituto robusto do antigo projecto init SysV que as distros UNIX utilizavam desde os anos 80. O programador principal Lennart Poettering declarou também que Systemd vai além das tarefas init e pode também funcionar como uma plataforma de desenvolvimento e uma ligação entre aplicações individuais e o kernel Linux.

Isto tem causado muita indignação na plataforma de Poettering como um todo, principalmente porque a sua natureza monolítica parece agir contra o “caminho UNIX” do código simples e modular.

Seja qual for o lado que escolher no debate sobre a legitimidade de Systemd, poderá ainda cair sob a sua asa neste segundo. Portanto, precisará de saber como utilizá-lo, e não há melhor maneira de começar do que instalar um novo programa.

Unidades de Arranque e Paragem

  • Systemd arranca, pára, activa, e desactiva “unidades”. As unidades são compostas pelos serviços, pontos de montagem, dispositivos e tomadas no seu computador. Nestas instruções, estará a trabalhar com serviços (.ficheiros de serviços), os ficheiros que representam programas no seu computador que aguardam para serem acedidos para uma tarefa específica.
  • Várias distros Linux têm acesso a Hddtemp , um pequeno utilitário que verifica a temperatura de um disco rígido. Hddtemp tem um ficheiro. service e pode correr como um d
  • Systemd não é apenas um gestor de serviços, mas também um gestor de sistemas para Linux. Foi concebido para ser retrocompatível com SysV init scripts e utilizado por muitas distribuições Linux populares como Debian 8+, Ubuntu 15.04+, Fedora, Redhat 7+ /CentOS 7+, Arch Linux, OpenSUSE. Portanto, será muito útil saber como utilizar o systemd.
  • Este tutorial mostra-lhe alguns comandos básicos que serão úteis para gerir serviços, níveis de execução, e registos. Primeiro, poderá querer conhecer a versão systemd na sua distribuição Linux, correr
  • Serviços de Gestão

Como trabalhar com Systemd para a gestão de serviços num servidor

Para listar serviços de systemd activos, execute

Systemd arranca, pára, activa, e desactiva “unidades”. As unidades são compostas pelos serviços, pontos de montagem, dispositivos e tomadas no seu computador. Nestas instruções, estará a trabalhar com serviços (.ficheiros de serviços), os ficheiros que representam programas no seu computador que aguardam para serem acedidos para uma tarefa específica.

Várias distros Linux têm acesso a Hddtemp , um pequeno utilitário que verifica a temperatura de um disco rígido. Hddtemp tem um ficheiro. service e pode correr como um daemon, para que possa iniciá-lo manualmente e habilitá-lo a iniciar no arranque. É pequeno e não invasivo; pode descarregá-lo, experimentá-lo em conjunto com o Systemd, e apagá-lo mais tarde se não o quiser por perto.

Systemctl é um utilitário systemd que é responsável por controlar o sistema systemd e o gestor de serviços. Systemd é uma colecção de daemons de gestão do sistema, utilitários e bibliotecas que serve como substituto do daemon de inicialização do Sistema V. Systemd funciona como plataforma central de gestão e configuração do sistema UNIX.

No Linux, Ecosystem Systemd foi implementado na maioria da distribuição padrão do Linux, com algumas excepções. Systemd é o processo pai de todos os outros daemons frequentemente, mas nem sempre.

Gerir os serviços Linux utilizando Systemctl

Este artigo visa lançar luz sobre “Como controlar Sistema e Serviços” num sistema em funcionamento.

Começando com Systemtd e Systemctl Basics

1. Primeiro, verifique se o systemd está ou não instalado no seu sistema, e qual é a versão do Systemd actualmente instalado?

É claro, pelo exemplo acima, que temos instalado a versão do systemd 215.

2. Verifique onde estão instalados os binários e bibliotecas do systemd e do systemctl.

Gerir os níveis de execução

O conceito de níveis de corrida é substituído por alvos em sistemad. O multi-user. target é equivalente a correr nível 3 e o graphical. target é equivalente a correr nível 5. Pode ainda usar o comando runlevel para mostrar o nível de execução actual.

Use o seguinte comando para verificar o estado do alvo padrão, que por defeito é normalmente o alvo gráfico (nível de execução 5).

Utiliza o comando systemctl isolate para alterar o alvo. Por exemplo, mudar para o alvo multi-utilizador. target (executar nível 3):

E para mudar de volta ao alvo gráfico (executar nível 5):

Para definir o alvo multi-utilizador. target como o alvo por defeito, use o seguinte comando:

Este comando cria uma ligação simbólica.

Se reiniciar agora, será levado ao alvo multi-utilizador. target.

Para listar alvos activos, corra

Gestão de Registos

O conjunto de software systemd inclui um utilitário journalctl que pode ser utilizado para gerir os registos no Linux. O Linux guarda tradicionalmente os registos em /var/log/directório. Numa distribuição Linux com systemd, pode não ser possível encontrar logs como os logs do correio postal postfix ( /var/log/mail. log ) nesse directório.

Pode ver os registos recentes com o seguinte comando. Pode premir a tecla F para saltar para a página seguinte e premir a tecla B para voltar para a página anterior. Premir Q para sair.

Utilize o grep para procurar registos relacionados com o seu termo de pesquisa

Ver registos desde o arranque actual

Ver registos desde o arranque anterior

Aqui está um pequeno truque para mostrar os registos a serem gerados em tempo real.

Mostrar logs de uma unidade, por exemplo, a unidade de serviço ssh.

Para ver os registos Postfix, executar

Alguns pacotes podem ainda ser configurados para guardar registos em ficheiros simples, como os ficheiros de registo Postfix no Ubuntu ( /var/log/mail. log ), para que possa usar um editor de texto de linha de comando para ler os registos. Por vezes um serviço systemd pode parar de produzir mensagens de registo, pode tentar reiniciar o rsyslog para resolver este problema.

Serviços Conflituosos

Eu posso editar o serviço transmission-daemon. service .

Acrescentar a seguinte linha na secção [Unidade].

Guardar e fechar o ficheiro. Em seguida, recarregar o sistema para que as alterações tenham efeito.

openconnect. service é o serviço que inicia a ligação VPN no meu computador. Agora se eu iniciar o transmission-daemon. service , o openconnect. service será automaticamente desligado, e vice-versa.

Quer

Se quiser que o serviço B comece quando o serviço A começar, pode usar o parâmetro Wants para o fazer acontecer. Na secção [Unidade] de um ficheiro. service systemd, adicione uma linha como esta:

Também pode usar Antes = ou Depois = para especificar a ordem.

Por vezes, pode querer que o serviço B aguarde que o serviço A seja concluído antes de se iniciar a si próprio. Depois pode adicionar as seguintes linhas na secção [Serviço] do ficheiro b. service.

Isto diz a b. service para esperar 20 segundos.

Lembre-se de recarregar o sistema para que as alterações entrem em vigor.

Executar /etc/rc. local Scripts

Se estiver a correr uma distro Linux que utiliza Systemd, poderá descobrir que os seus comandos no ficheiro /etc/rc. local não correriam na hora de arranque do sistema. O seguinte tutorial explica como activar o script /etc/rc. local para correr no arranque do sistema.

Contabilidade

Systemd permite-lhe verificar quanta CPU e memória é utilizada por um serviço e quantas tarefas estão a ser executadas pelo serviço. Se estiver a utilizar uma distro Linux recente como Ubuntu 20.04 , Debian 10 , RHEL 8 , a contabilidade é activada por defeito. Em distribuições Linux antigas como o Ubuntu 18.04, é necessário activar manualmente a contabilidade. Digamos que quer activar a contabilização do Nginx no Ubuntu 18.04, depois siga as instruções abaixo.

Primeiro, fazemos um directório para armazenar configurações de sistema personalizadas para o Nginx.

Crie o ficheiro de configuração personalizado sob este directório. A extensão do nome do ficheiro deve ser. conf .

Em seguida, adicionar as seguintes linhas neste ficheiro.

Guardar e fechar o ficheiro. Em seguida, recarregar systemd.

Não há necessidade de reiniciar o Nginx. Agora pode verificar o estado do Nginx com:

Configuração personalizada para o serviço Systemd Template

Poderá ter visto um serviço de sistema modelo que contém o símbolo @ como o serviço Syncthing.

Este tipo de serviço permite-lhe executar múltiplas instâncias. Por exemplo, pode executar o Syncthing para dois utilizadores com:

Se desejar adicionar configuração personalizada a este tipo de serviço, é necessário criar uma pasta para cada um destes serviços.

Depois pode criar o ficheiro de configuração personalizado.

Depois de guardar as suas alterações. Recarregar sistemad.

Temporizadores Systemd

E se não quiser que um serviço de sistema comece automaticamente na hora de arranque do sistema, mas que o faça funcionar numa hora específica? Pode criar um temporizador systemd para o serviço systemd. Por exemplo, criei um serviço systemd ( /etc/systemd/systemd/system/iris. service) para o software de protecção ocular Iris.

Claro que posso fazê-lo começar automaticamente no momento do arranque:

E se eu quiser que ele comece apenas à noite? Preciso de criar um temporizador systemd.

Adicione as seguintes linhas a este ficheiro. Este temporizador systemd iniciará o iris. service às 18:00:00 todos os dias.

Guarde e feche o ficheiro. Depois activar este temporizador systemd.

Verifique o estado deste temporizador.

Envolvimento

É isso mesmo! Subscreva a nossa newsletter gratuita para receber os últimos tutoriais Linux. Pode também seguir-nos no Twitter ou gostar da nossa página no Facebook.

Em t

systemctl list-units – Este é um companheiro do comando anterior na medida em que lista quaisquer unidades carregadas e um pouco de informação sobre elas. systemctl poweroff – Este comando desliga o computador. systemctl reboot – Este comando reinicia o computador. Isto termina a nossa visita às várias funções do comando systemctl do systemd e a forma como o utilizaria para gerir serviços em execução no seu sistema. Como com a maioria dos comandos, há mais informação a ser encontrada na página man do systemctl do que a que incluímos aqui. Por isso, vale a pena verificá-la para ver o que mais pode fazer.

Um sistema Linux fornece uma variedade de serviços de sistema (tais como gestão de processos, login, syslog, cron, etc.) e serviços de rede (tais como login remoto, e-mail, impressoras, alojamento web, armazenamento de dados, transferência de ficheiros, resolução de nomes de domínio (usando DNS), atribuição dinâmica de endereços IP (usando DHCP), e muito mais).

Tecnicamente, um serviço é um processo ou grupo de processos (vulgarmente conhecidos como daemons ) que corre continuamente em segundo plano, à espera de pedidos (especialmente dos clientes).

O Linux suporta diferentes formas de gerir (iniciar, parar, reiniciar, permitir o arranque automático no arranque do sistema, etc.) serviços, tipicamente através de um processo ou gestor de serviços. A maioria se não todas as distribuições Linux modernas utilizam agora o mesmo gestor de processos: systemd .

Systemd é um gestor de sistemas e serviços para Linux; um substituto drop-in para o processo init, que é compatível com os scripts init SysV e LSB e o comando systemctl é a ferramenta principal para gerir o systemd .

Neste guia, iremos demonstrar como listar todos os serviços em execução sob systemd no Linux.

Listagem de serviços em execução sob SystemD em Linux

Quando executar o comando systemctl sem quaisquer argumentos, exibirá uma lista de todas as unidades systemd carregadas (leia a documentação systemd para mais informações sobre unidades systemd), incluindo serviços, mostrando o seu estado (quer esteja activo ou não).

Para listar todos os serviços carregados no seu sistema (quer estejam activos; em execução, abandonados ou falhados, utilize o sub-comando list-units e-type switch com um valor de serviço.

Listar todos os serviços no sistemad

E para listar todos os serviços carregados mas activos, tanto em funcionamento como os que saíram, pode adicionar a opçã o-estado com um valor de activo , como se segue.

Listar todos os serviços activos em execução no Systemd

Mas para ter uma visão rápida de todos os serviços em funcionamento (ou seja, todos os serviços carregados e em funcionamento activo), execute o seguinte comando.

Listar Serviços em Execução no Systemd

Chris Hoffman é editor-chefe de How-To Geek. Ele escreveu sobre tecnologia durante mais de uma década e foi colunista da PCWorld durante dois anos. Chris escreveu para o The New York Times e Reader’s Digest , foi entrevistado como perito em tecnologia em estações de televisão como a NBC 6 de Miami, e teve o seu trabalho coberto por noticiários como a BBC. Desde 2011, Chris já escreveu mais de 2.000 artigos que já foram lidos quase um bilião de vezes – e isso é só aqui no How-To Geek. Leia mais.

Systemd é agora usado por defeito na maioria das distribuições Linux, desde Fedora e Red Hat ao Ubuntu, Debian, openSUSE, e Arch. O comando systemctl permite-lhe obter informação sobre o estado do systemd e controlar os serviços em execução.

Apesar da controvérsia, isto pelo menos introduz alguma padronização em todas as distribuições de Linux. Os mesmos comandos permitir-lhe-ão gerir serviços da mesma forma em qualquer distribuição Linux utilizando o systemd.

Criar um pseudónimo para Long Command

Guardar as alterações no ficheiro e fechá-lo. E a partir de agora, utilize o comando ” running_services ” para ver uma lista de todos os serviços carregados, executando activamente no seu servidor.

Ver todos os serviços em execução

Além disso, um aspecto importante dos serviços é o porto que eles utilizam. Para determinar o

Além disso, se o seu servidor tiver um serviço de firewall em execução, que controla como bloquear ou permitir tráfego de ou para determinados serviços ou portas, pode listar serviços ou portas que foram abertos na firewall, utilizando o comando firewall-cmd ou ufw (dependendo das distribuições Linux que estiver a utilizar), conforme mostrado.

Listar Serviços e Portas Abertas na Firewall

É tudo por agora! Neste guia, demonstrámos como visualizar os serviços em execução sob systemd no Linux. Também abordámos como verificar a porta em que um serviço está a ouvir e como visualizar serviços ou portas abertas na firewall do sistema. Tem algum aditamento a fazer ou perguntas a fazer? Em caso afirmativo, contacte-nos utilizando o formulário de comentários abaixo.

Se aprecia o que fazemos aqui na TecMint, deve considerar:

TecMint é o site comunitário de maior crescimento e maior confiança para qualquer tipo de Artigos, Guias e Livros Linux na web. Milhões de pessoas visitam TecMint! para pesquisar ou navegar nos milhares de artigos publicados disponíveis GRATUITAMENTE para todos.

Se gostar do que está a ler, por favor considere comprar-nos um café ( ou 2 ) como um sinal de apreço.

Estamos gratos pelo vosso apoio sem fim.

openconnect. service é o serviço que inicia a ligação VPN no meu computador. Agora se eu iniciar a transmissão-daemon. service , o openconnect. service será automaticamente desligado, e vice-versa.

Quer

Se quiser que o serviço B comece quando o serviço A começar, pode usar o parâmetro Wants para o fazer acontecer. Na secção [Unidade] de um ficheiro. service systemd, adicione uma linha como esta:

Também pode usar Antes = ou Depois = para especificar a ordem.

Por vezes, pode querer que o serviço B aguarde que o serviço A seja concluído antes de se iniciar a si próprio. Depois pode adicionar as seguintes linhas na secção [Serviço] do ficheiro b. service.

Isto diz a b. service para esperar 20 segundos.

Lembre-se de recarregar o sistema para que as alterações entrem em vigor.

Executar /etc/rc. local Scripts

Se estiver a correr uma distro Linux que utiliza Systemd, poderá descobrir que os seus comandos no ficheiro /etc/rc. local não correriam na hora de arranque do sistema. O seguinte tutorial explica como activar o script /etc/rc. local para correr no arranque do sistema.

Contabilidade

Systemd permite-lhe verificar quanta CPU e memória é utilizada por um serviço e quantas tarefas estão a ser executadas pelo serviço. Se estiver a utilizar uma distro Linux recente como Ubuntu 20.04 , Debian 10 , RHEL 8 , a contabilidade é activada por defeito. Em distribuições Linux antigas como o Ubuntu 18.04, é necessário activar manualmente a contabilidade. Digamos que quer activar a contabilização do Nginx no Ubuntu 18.04, depois siga as instruções abaixo.

Primeiro, fazemos um directório para armazenar configurações de sistema personalizadas para o Nginx.

Crie o ficheiro de configuração personalizado sob este directório. A extensão do nome do ficheiro deve ser. conf .

Em seguida, adicionar as seguintes linhas neste ficheiro.

Guardar e fechar o ficheiro. Em seguida, recarregar systemd.

Systemd funciona sobretudo como um substituto robusto do antigo projecto init SysV que as distros UNIX utilizavam desde os anos 80. O programador principal Lennart Poettering declarou também que Systemd vai além das tarefas init e pode também funcionar como uma plataforma de desenvolvimento e uma ligação entre aplicações individuais e o kernel Linux.

Isto tem causado muita indignação na plataforma de Poettering como um todo, principalmente porque a sua natureza monolítica parece agir contra o “caminho UNIX” do código simples e modular.

Seja qual for o lado que escolher no debate sobre a legitimidade de Systemd, poderá ainda cair sob a sua asa neste segundo. Portanto, terá de saber como utilizá-lo, e não há melhor maneira de começar do que instalar um novo programa.

Unidades de Arranque e Paragem

Gerir os níveis de execução

O conceito de níveis de corrida é substituído por alvos em sistemad. O multi-user. target é equivalente a correr nível 3 e o graphical. target é equivalente a correr nível 5. Pode ainda usar o comando runlevel para mostrar o nível de execução actual.

Use o seguinte comando para verificar o estado do alvo padrão, que por defeito é normalmente o alvo gráfico (nível de execução 5).

Utiliza o comando systemctl isolate para alterar o alvo. Por exemplo, mudar para o alvo multi-utilizador. target (executar nível 3):

E para mudar de volta ao alvo gráfico (executar nível 5):

Para definir o alvo multi-utilizador. target como o alvo por defeito, use o seguinte comando:

Este comando cria uma ligação simbólica.

Se reiniciar agora, será levado ao alvo multi-utilizador. target.

Para listar alvos activos, corra

Gestão de Registos

O conjunto de software systemd inclui um utilitário journalctl que pode ser utilizado para gerir os registos no Linux. O Linux guarda tradicionalmente os registos em /var/log/directório. Numa distribuição Linux com systemd, pode não ser possível encontrar logs como os logs do correio postal postfix ( /var/log/mail. log ) nesse directório.

Pode ver os registos recentes com o seguinte comando. Pode premir a tecla F para saltar para a página seguinte e premir a tecla B para voltar para a página anterior. Premir Q para sair.

Utilize o grep para procurar registos relacionados com o seu termo de pesquisa

Ver registos desde o arranque actual

Ver registos desde o arranque anterior

Aqui está um pequeno truque para mostrar os registos a serem gerados em tempo real.

Mostrar logs de uma unidade, por exemplo, a unidade de serviço ssh.

Para ver os registos Postfix, executar

Alguns pacotes podem ainda ser configurados para guardar registos em ficheiros simples, como os ficheiros de registo Postfix no Ubuntu ( /var/log/mail. log ), para que possa usar um editor de texto de linha de comando para ler os registos. Por vezes um serviço systemd pode parar de produzir mensagens de registo, pode tentar reiniciar o rsyslog para resolver este problema.

Serviços Conflituosos

Eu posso editar o serviço transmission-daemon. service .

Acrescentar a seguinte linha na secção [Unidade].

Guardar e fechar o ficheiro. Em seguida, recarregar o sistema para que as alterações tenham efeito.

openconnect. service é o serviço que inicia a ligação VPN no meu computador. Agora se eu iniciar o transmission-daemon. service , o openconnect. service será automaticamente desligado, e vice-versa.

Quer

Se quiser que o serviço B comece quando o serviço A começar, pode usar o parâmetro Wants para o fazer acontecer. Na secção [Unidade] de um ficheiro. service systemd, adicione uma linha como esta:

Também pode usar Antes = ou Depois = para especificar a ordem.

Por vezes, pode querer que o serviço B aguarde que o serviço A seja concluído antes de se iniciar a si próprio. Depois pode adicionar as seguintes linhas na secção [Serviço] do ficheiro b. service.

Isto diz a b. service para esperar 20 segundos.

Lembre-se de recarregar o sistema para que as alterações entrem em vigor.

Executar /etc/rc. local Scripts

Se estiver a correr uma distro Linux que utiliza Systemd, poderá descobrir que os seus comandos no ficheiro /etc/rc. local não correriam na hora de arranque do sistema. O seguinte tutorial explica como activar o script /etc/rc. local para correr no arranque do sistema.

Contabilidade

Systemd permite-lhe verificar quanta CPU e memória é utilizada por um serviço e quantas tarefas estão a ser executadas pelo serviço. Se estiver a utilizar uma distro Linux recente como Ubuntu 20.04 , Debian 10 , RHEL 8 , a contabilidade é activada por defeito. Em distribuições Linux antigas como o Ubuntu 18.04, é necessário activar manualmente a contabilidade. Digamos que quer activar a contabilização do Nginx no Ubuntu 18.04, depois siga as instruções abaixo.

Primeiro, fazemos um directório para armazenar configurações de sistema personalizadas para o Nginx.

Crie o ficheiro de configuração personalizado sob este directório. A extensão do nome do ficheiro deve ser. conf .

Em seguida, adicionar as seguintes linhas neste ficheiro.

Guardar e fechar o ficheiro. Em seguida, recarregar systemd.

Não há necessidade de reiniciar o Nginx. Agora pode verificar o estado do Nginx com:

Configuração personalizada para o serviço Systemd Template

Poderá ter visto um serviço de sistema modelo que contém o símbolo @ como o serviço Syncthing.

Este tipo de serviço permite-lhe executar múltiplas instâncias. Por exemplo, pode executar o Syncthing para dois utilizadores com:

Se desejar adicionar configuração personalizada a este tipo de serviço, é necessário criar uma pasta para cada um destes serviços.

Depois pode criar o ficheiro de configuração personalizado.

Depois de guardar as suas alterações. Recarregar sistemad.

Temporizadores Systemd

E se não quiser que um serviço de sistema comece automaticamente na hora de arranque do sistema, mas que o faça funcionar numa hora específica? Pode criar um temporizador systemd para o serviço systemd. Por exemplo, criei um serviço systemd ( /etc/systemd/systemd/system/iris. service) para o software de protecção ocular Iris.

Claro que posso fazê-lo começar automaticamente no momento do arranque:

E se eu quiser que ele comece apenas à noite? Preciso de criar um temporizador systemd.

Adicione as seguintes linhas a este ficheiro. Este temporizador systemd iniciará o iris. service às 18:00:00 todos os dias.

Guarde e feche o ficheiro. Depois activar este temporizador systemd.

Verifique o estado deste temporizador.

Envolvimento

É isso mesmo! Subscreva a nossa newsletter gratuita para receber os últimos tutoriais Linux. Pode também seguir-nos no Twitter ou gostar da nossa página no Facebook.

Em t

systemctl list-units – Este é um companheiro do comando anterior na medida em que lista quaisquer unidades carregadas e um pouco de informação sobre elas. systemctl poweroff – Este comando desliga o computador. systemctl reboot – Este comando reinicia o computador. Isto termina a nossa visita às várias funções do comando systemctl do systemd e a forma como o utilizaria para gerir serviços em execução no seu sistema. Como com a maioria dos comandos, há mais informação a ser encontrada na página man do systemctl do que a que incluímos aqui. Por isso, vale a pena verificá-la para ver o que mais pode fazer.

Um sistema Linux fornece uma variedade de serviços de sistema (tais como gestão de processos, login, syslog, cron, etc.) e serviços de rede (tais como login remoto, e-mail, impressoras, alojamento web, armazenamento de dados, transferência de ficheiros, resolução de nomes de domínio (usando DNS), atribuição dinâmica de endereços IP (usando DHCP), e muito mais).

Tecnicamente, um serviço é um processo ou grupo de processos (vulgarmente conhecidos como daemons ) que corre continuamente em segundo plano, à espera de pedidos (especialmente dos clientes).

O Linux suporta diferentes formas de gerir (iniciar, parar, reiniciar, permitir o arranque automático no arranque do sistema, etc.) serviços, tipicamente através de um processo ou gestor de serviços. A maioria se não todas as distribuições Linux modernas utilizam agora o mesmo gestor de processos: systemd .

Systemd é um gestor de sistemas e serviços para Linux; um substituto drop-in para o processo init, que é compatível com os scripts init SysV e LSB e o comando systemctl é a ferramenta principal para gerir o systemd .

Neste guia, iremos demonstrar como listar todos os serviços em execução sob systemd no Linux.

Listagem de serviços em execução sob SystemD em Linux

Quando executar o comando systemctl sem quaisquer argumentos, exibirá uma lista de todas as unidades systemd carregadas (leia a documentação systemd para mais informações sobre unidades systemd), incluindo serviços, mostrando o seu estado (quer esteja activo ou não).

Para listar todos os serviços carregados no seu sistema (quer estejam activos; em execução, abandonados ou falhados, utilize o sub-comando list-units e-type switch com um valor de serviço.

Listar todos os serviços no sistemad

E para listar todos os serviços carregados mas activos, tanto em funcionamento como os que saíram, pode adicionar a opçã o-estado com um valor de activo , como se segue.

Listar todos os serviços activos em execução no Systemd

Mas para ter uma visão rápida de todos os serviços em funcionamento (ou seja, todos os serviços carregados e em funcionamento activo), execute o seguinte comando.

Listar Serviços em Execução no Systemd