Desde 15.04, o init no Ubuntu é systemd. É possível usar o Upstart , mas o padrão é systemd. Por exemplo, /sbin/init
será um link para /lib/systemd/systemd
. /sbin/{shutdown,reboot,telinit,halt,runlevel,poweroff}
são links para /sbin/systemctl
. Mesmo em 16.04, o Upstart foi usado como init de sessão , portanto, você pode ver o Upstart como o processo pai ou um processo ancestral em seu login gráfico (embora parece ter mudado em 16.10 ).
Os outros processos que você vê são componentes do systemd; eles são desenvolvidos e distribuídos junto com o systemd, mas muitos não são essenciais para executar o systemd como init. Muitos componentes podem ser substituídos ou desativados. Para citar a página inicial do systemd :
O systemd é um conjunto de blocos de construção básicos para um sistema Linux. isto fornece um gerenciador de sistemas e serviços que é executado como PID 1 e inicia o resto do sistema. ... Outras partes incluem um daemon de registro, utilitários para controlar a configuração básica do sistema, como o nome do host, data, localidade, manter uma lista de usuários logados e executando contêineres e máquinas virtuais, contas do sistema, diretórios de tempo de execução e configurações e daemons para gerenciar a configuração de rede simples, sincronização de tempo de rede, encaminhamento de log e resolução de nomes.
E esta postagem no blog de um dos criadores do systemd (Lennart Poettering):
Mito: o systemd não permite que você substitua seus componentes.
Não é verdade, você pode desligar e substituir praticamente qualquer parte de systemd, com poucas exceções. E essas exceções (como journald) geralmente permitem que você execute uma alternativa lado a lado para enquanto coopera muito bem com isso.