3. Visão Geral do Upstart

O Upstart foi desenvolvido pela Canonical, sendo a implementação de init no Ubuntu por um tempo; no entanto, nas instalações modernas do Ubuntu, o systemd é agora utilizado. O Upstart foi criado para melhorar os problemas do SysV, como processos de inicialização rígidos, bloqueio de tarefas, etc. O modelo orientado a eventos e jobs do Upstart permite que ele responda a eventos à medida que eles ocorrem.

Para descobrir se você está usando o Upstart, se você tiver um diretório /usr/share/upstart, esse é um bom indicador.

Jobs são as ações que o Upstart executa, e eventos são mensagens recebidas de outros processos para acionar jobs. Para ver uma lista de jobs e suas configurações:

pete@icebox:~$ ls /etc/init
acpid.conf                   mountnfs.sh.conf
alsa-restore.conf            mtab.sh.conf
alsa-state.conf              networking.conf
alsa-store.conf              network-interface.conf
anacron.conf                 network-interface-container.conf

Dentro dessas configurações de job, você encontrará informações sobre como e quando iniciar os jobs.

Por exemplo, no arquivo networking.conf, pode estar escrito algo tão simples quanto:

start on runlevel [235]
stop on runlevel [0]

Isso significa que ele começará a configurar a rede no runlevel 2, 3 ou 5 e interromperá a rede no runlevel 0. Existem muitas maneiras de escrever o arquivo de configuração, e você descobrirá isso ao analisar as diferentes configurações de job disponíveis.

A maneira como o Upstart funciona é a seguinte:

  1. Primeiro, ele carrega as configurações de job de /etc/init.
  2. Assim que um evento de inicialização ocorre, ele executa os jobs acionados por esse evento.
  3. Esses jobs gerarão novos eventos, e então esses eventos acionarão mais jobs.
  4. O Upstart continua fazendo isso até completar todos os jobs necessários.

Entre para salvar seu progresso de aprendizado

Entrar

Exercícios

Praticar leva à perfeição! Embora o Upstart seja um sistema init mais antigo, entender como os processos são gerenciados e as tarefas são agendadas é crucial para qualquer administrador Linux. Aqui estão alguns laboratórios práticos para reforçar sua compreensão sobre gerenciamento de processos e automação de tarefas, que são fundamentais para o funcionamento dos sistemas init:

  1. Gerenciar e Monitorar Processos Linux - Pratique interagir com processos em primeiro plano e em segundo plano, inspecionando-os com ps, monitorando recursos com top e terminando-os com kill. Este laboratório ajuda você a entender o ciclo de vida dos processos, que os sistemas init como o Upstart gerenciam.
  2. Agendar Tarefas com at e cron no Linux - Aprenda a agendar jobs únicos com at e tarefas recorrentes com cron. Isso fornece experiência prática com automação de tarefas, uma função central que os sistemas init facilitam para os serviços do sistema.

Estes laboratórios ajudarão você a aplicar os conceitos de controle de processos e automação de tarefas em cenários reais, aumentando a confiança no gerenciamento de um sistema Linux, independentemente do sistema init específico em uso.

Questionário

Qual é a implementação de init que é usada pelo Ubuntu?