Questão de Sistemas Operacionais — Conceitos Básicos em Sistemas Operacionais — Quadrix 2024
- Código
- qg354492
- Banca
- Quadrix
- Órgão
- NOVACAP
- Ano
- 2024
- Nível
- Superior
- Cargo
- Analista de Sistemas - Infraestrutura
- CCerto
- EErrado
GabaritoC — Certo
Gabarito: ✅ CERTO. O Manifest no Puppet é, de fato, o arquivo que descreve o estado desejado dos recursos em um nó, especificando como eles devem ser configurados. Essa é a definição central do modelo de gerenciamento de configuração declarativo do Puppet, que se contrapõe ao modelo imperativo de ferramentas como Ansible e Chef.
O Puppet é uma ferramenta de automação de configuração que segue o paradigma declarativo (ou desired state). Isso significa que o administrador não escreve uma sequência de passos para chegar a um resultado, mas sim descreve como o sistema deve ficar — o estado final desejado. O Manifest é o arquivo (com extensão .pp) que contém essa descrição, escrita na linguagem própria do Puppet (a Puppet DSL). Dentro dele, são declarados recursos (como pacotes, serviços, arquivos, usuários) e, para cada um, o estado desejado (por exemplo, um pacote instalado, um serviço em execução, um arquivo com determinado conteúdo e permissões). O Puppet então compara o estado atual do nó com o estado desejado e aplica as mudanças necessárias para convergir o sistema ao que foi declarado.
Para entender a importância do Manifest, é preciso contrastar com o modelo imperativo. No Ansible, por exemplo, os playbooks descrevem uma sequência de tarefas a serem executadas (instale o pacote, depois copie o arquivo, depois reinicie o serviço). No Puppet, o Manifest apenas declara o resultado: "o pacote X deve estar instalado", "o serviço Y deve estar rodando". O Puppet decide, sozinho, a ordem e os passos para alcançar esse estado. Essa é a essência da Infraestrutura como Código (IaC) no Puppet: o Manifest é o código-fonte que define a configuração desejada da infraestrutura.
Na prática, um Manifest pode ser algo como: declarar que o pacote nginx deve estar presente, que o serviço nginx deve estar habilitado e rodando, e que o arquivo de configuração /etc/nginx/nginx.conf deve ter um conteúdo específico. O Puppet, ao executar esse Manifest em um nó, verifica cada recurso: se o pacote não está instalado, instala; se o serviço não está rodando, inicia; se o arquivo não corresponde ao conteúdo declarado, reescreve. Tudo isso a partir da declaração do estado desejado, não de uma lista de comandos.
A pegadinha que a banca poderia explorar é confundir o Manifest com outras ferramentas ou conceitos. Por exemplo, no Ansible o equivalente ao Manifest é o Playbook; no Chef, é a Recipe; no Terraform, é o arquivo de configuração .tf. Mas a questão é direta: ela afirma exatamente o que o Manifest faz, sem inverter termos. A distinção crucial que o candidato deve guardar é entre o modelo declarativo (Puppet, Terraform — você declara o estado final) e o modelo imperativo (Ansible, Chef em alguns usos — você descreve os passos). O Manifest é a materialização do modelo declarativo no Puppet.
A banca poderia tentar confundir o candidato trocando o papel do Manifest pelo de outras ferramentas de automação. No Ansible, o arquivo que define a configuração é o Playbook; no Chef, é a Recipe. Mas o enunciado fala especificamente de "Manifest no Puppet", e a definição apresentada é exatamente a correta: descrever o estado desejado dos recursos. Fique atento a essa troca de ferramentas em outras questões — é uma pegadinha clássica em provas de automação.
✅ CERTO. O Manifest no Puppet é o arquivo que define o estado desejado dos recursos em um nó, especificando como eles devem ser configurados. A afirmação está correta e reflete o modelo declarativo de gerenciamento de configuração do Puppet.
Gabarito: ✅ CERTO
Link permanente: /questoes/qg354492