systemd

Como listar serviço com systemd

Como listar serviço com systemd
Este artigo pode ter um comando curto, mas a impressão resultante é muito longa.

O comando dump

Se alguém lhe pedir para mostrar toda a configuração do seu sistema, use o comando dump.

$ systemd --dump-configuration-items

O arquivo cobre todas as unidades que você tem no sistema. Assim que um desenvolvedor tiver esse arquivo disponível, a pessoa irá repassar o que você tem e tentar encontrar os problemas que você está enfrentando. Terminado. No entanto, você não estaria lendo este artigo se deixasse outra pessoa fazer tudo. Deixe-nos ver o que você pode fazer com um serviço por vez e aprender alguns truques para filtrar seus resultados.

A hierarquia do systemd

Para se tornar eficiente, você precisa perceber que, dentro do systemd, você tem hierarquia e pode definir cada serviço para depender e / ou esperar por outros serviços. As diferentes maneiras de fazer isso são evidentes nos arquivos de serviço. As diferentes afirmações que você tem são 'Deseja', 'Obrigatório', 'Antes' e 'Depois'. Para uma análise eficaz, você pode usá-los para ver se sua unidade está inativa por causa de dependências. Você pode então rastrear onde está o problema subjacente. Aqui está um exemplo disso.

$ systemctl list-dependencies --before xpra.serviço

A impressão mostra as outras unidades que xpra.serviço depende de. Neste caso, as outras unidades estão ativas, então precisamos nos concentrar em por que a própria unidade está quebrada. O exemplo estava sem um arquivo de certificado.

O uso mais importante disso é investigar se seu serviço está faltando dependências, use o comando desta forma.

$ systemctl list-dependencies xringd

O resultado é uma longa lista, convenientemente organizada em uma árvore e mostrando todos os serviços como verdes ou vermelhos se algo estiver errado. Você também pode ver as dependências no arquivo de serviços. Abra o arquivo usando seu editor favorito ou use systemctl, que irá abrir o arquivo com o editor padrão.

Listagem de serviços ativos

Quando você quiser investigar um sistema, você precisará saber como as unidades se encaixam. Para fazer isso, você tem várias opções para imprimir os detalhes. Você pode listar quais sistemas estão ocupados, falharam e assim por diante. Mais importante, você pode listar como eles são montados, qual unidade, serviço, etc. a unidade atual depende de. O principal comando para fazer isso é systemctl, as opções são úteis para restringir seu problema específico.

Para obter o uso adequado do systemctl, observe cuidadosamente as opções do comando. Existem opções para escolher exatamente o que você precisa, especialmente em relação ao estado de quaisquer serviços. Procuramos aqui serviços com problemas.

$ systemctl list-unit-files --type = service

Esta lista também é longa e você deve percorrer todos os serviços para encontrar o que procura. Com mais alguns parâmetros, você pode filtrar por um específico ou aqueles que estão desativados. O comando abaixo irá encontrar todas as unidades que estão mascaradas.

$ systemctl list-unit-files --type = service --state = masked

Os serviços mascarados são bloqueados para que outros serviços não possam iniciá-los, mesmo se o outro serviço precisar deles. Isso pode ser usado para garantir que você não tenha serviços conflitantes em execução. Normalmente, muitos serviços são mascarados pelo seu gerenciador de pacotes quando você remove o pacote. Você pode remover o arquivo de serviço completamente se desejar depois de remover um serviço. Também é possível que ele destrua muitos serviços que você deseja, então certifique-se de saber se você precisa dos serviços mascarados.

Alguns serviços são mascarados por processos e você nem sempre pretende que o serviço seja mascarado. Quando isso acontecer com seu sistema, a primeira ação a tomar é desmascarar usando systemctl. No entanto, isso nem sempre é possível, então você precisa remover o link no diretório apropriado. Na maioria dos sistemas, isso será lib / systemd / system. Antes de fazer isso, verifique se o arquivo é realmente um link para / dev / null.

$ ls -l lib / systemd / system> | grep null

Quando tiver certeza de que deseja remover este link, remova-o com rm ou desvincule.

$ rm / lib / systemd / system / udisks2.serviço

Agora que você já sabe como fazer, ouça este aviso: muitas vezes é preciso ter esse link aí. Tome o lvm2 como exemplo, ele é mascarado de operação para não interferir com o novo sistema, onde o lvm2 vem como muitos pequenos serviços. Veja o resultado de:

$ systemctl status lvm2 *

Remover o link pode causar estragos no seu sistema porque o próprio lvm2 precisa dele desligado para evitar conflitos. Este é apenas um exemplo, então fique atento antes de prosseguir.

Conclusão

Quando você deseja listar serviços no systemd, você deve primeiro refletir sobre o que está procurando em sua busca. Você está procurando um serviço de que precisa ou vê que tem muitos serviços?. De qualquer forma, você precisa adaptar sua consulta às suas necessidades específicas. O Systemd parece confuso no início, mas quando você olha mais de perto, ele usa uma maneira direta de unificar a inicialização para que os serviços possam iniciar em paralelo onde o sistema precisar, enquanto cada serviço espera pelo serviço específico do qual dependem.

Como capturar e transmitir sua sessão de jogo no Linux
No passado, jogar era considerado apenas um hobby, mas com o tempo a indústria de jogos viu um grande crescimento em termos de tecnologia e número de ...
Melhores jogos para jogar com rastreamento manual
Oculus Quest introduziu recentemente a grande ideia de rastreamento manual sem controladores. Com um número cada vez maior de jogos e atividades que e...
Como mostrar a sobreposição de OSD em aplicativos e jogos Linux em tela cheia
Jogar jogos em tela cheia ou usar aplicativos em modo de tela cheia sem distração pode cortar você das informações relevantes do sistema visíveis em u...