Como posso verificar se os cgroups estão disponíveis no meu host Linux?

2

Existe um comando para verificar se os serviços de contêiner estão sendo executados em um sistema Linux? Alguém sugeriu unshare , mas não tenho certeza se essa é a melhor maneira de fazer isso.

    
por codeforester 28.02.2018 / 23:27

1 resposta

2

ATUALIZAÇÃO: Ao reler sua pergunta, percebi que havia respondido a uma pergunta um pouco diferente. Você quer saber se um serviço está sendo executado e eu tinha originalmente respondido como saber se um pacote estava instalado. Para responder a sua pergunta real, isso depende do seu sistema de inicialização.

  1. systemd - o comando básico é systemctl , que listará todos os serviços e seus estados, para que você possa procurar manualmente manualmente ou enviá-lo por meio de um comando grep , assim: systemctl | grep -e cgmanager -e cgproxy -e cgroupfs-mount . Ou, como o usuário muru sugere nos comentários, simplesmente systemctl status 'cg*' .

  2. sysVinit - o comando básico é service --status-all e o comando grep seria service --status-all 2>&1 | grep -e cgmanager -e cgproxy -e cgroupfs-mount . Observe que, nesse caso, os serviços em execução são denotados com um símbolo de prefixo [+] . Observe também que, para o grep funcionar, o redirecionamento 2>&1 deve ser feito para o comando service .

RESPOSTA ORIGINAL:

  1. Talvez a coisa mais simples a fazer seja tentar man cgroups . Se isso abrir uma página de documentação, seu host terá o pacote instalado. No entanto, algumas instalações são "mesquinhas" e não instalam man páginas.

  2. Você pode tentar cgm e ver se isso produz saída. A maioria das instalações de cgroups incluirá esse comando, mas não necessariamente.

  3. Você pode procurar a lista de pacotes de sua distribuição de host. Em derivados do Debian, isso seria dpkg -l |grep cgroup , mas ocasionalmente um sistema restringiria o acesso a root ou sudo para dpkg .

Haverá muitas outras maneiras.

    
por 01.03.2018 / 00:10