A história por trás de 'Init' e 'Systemd' Why 'init' precisava ser substituída por 'Systemd' no Linux
- 623
- 42
- Randal Kuhlman
Estou inscrito em várias listas de discussão relacionadas a várias distribuições e aplicativos Linux apenas para me manter atualizado com o que está acontecendo onde. Quais são os novos bugs? Quais são os patches lançados? O que é esperado no próximo lançamento? E muitas outras coisas. Atualmente, a lista de discussão é fortemente povoada com “Escolha o seu lado no Linux Divide”, principalmente na lista de discussão Debian junto com alguns outros.
Systemd substitui o initO que “Escolha o seu lado no Linux Divide” é tudo sobre?
O iniciar Daemon vai ser substituído por daemon Systemd Em algumas das distribuições Linux, enquanto muitas delas já o implementaram. Isso é/estará criando uma enorme lacuna entre o tradicional Unix/Linux Guard e o New Linux Guard - programadores e administradores do sistema.
Neste artigo, discutiremos e resolveremos seguindo todas as consultas uma a uma.
- O que é init?
- O que é Systemd?
- Por que o init precisava ser substituído?
- O que os recursos do Systemd terão.
O que é init?
Em Linux, iniciar é uma abreviação de inicialização. O iniciar é um processo daemon que começa assim que o computador começa e continua funcionando até, é desligado. Init in-FACT é o primeiro processo que começa quando um computador botas, tornando-o pai de todos os outros processos de execução direta ou indiretamente e, portanto, normalmente é atribuído “pid = 1““.
Se de alguma forma iniciar Daemon não pôde começar, nenhum processo será iniciado e o sistema chegará a um estágio chamado “Pânico do kernel““. init é mais comumente referido como Sistema V Init. O sistema V é o primeiro sistema operacional comercial do Unix projetado e os usos do init na maior parte da distribuição do Linux de hoje é idêntico a Sistema V OS Com algumas exceções, como o Slackware usando o estilo BSD e o Gentoo usando init personalizado.
A necessidade de substituir o init por algo mais perfeita foi sentida por muito tempo e várias alternativas foram desenvolvidas de tempos em tempos, algumas das quais se tornaram a substituição nativa do início da distribuição, algumas das quais são:
- Subir na vida - Um daemon de substituição iniciante implementado no Ubuntu GNU/Linux e projetado para iniciar o processo de forma assíncrona.
- Época - Um daemon de substituição inicial construído em torno da simplicidade e gerenciamento de serviços, projetado para iniciar o processo de thread único.
- Mudar - Um daemon de substituição inicial escrito em Python, implementado no Pardus gnu/linux e projetado para iniciar o processo de forma assíncrona.
- Systemd - Um daemon de substituição inicial projetado para iniciar o processo em paralelo, implementado em várias distribuição padrão - fedora, openSuse, arch, rhel, centos, etc.
O que é Systemd?
A Systemd é um daemon de gerenciamento de sistema nomeado com a convenção do Unix para adicionar 'd'No final do daemon. Para que eles possam ser facilmente reconhecidos. Inicialmente, foi divulgado sob licença pública geral da GNU, mas agora os lançamentos são feitos sob licenças públicas gerais da GNU. Semelhante ao init, o Systemd é o pai de todos os outros processos direta ou indiretamente e é o primeiro processo que começa na inicialização, portanto, normalmente atribuiu um “pid = 1““.
A Systemd, pode se referir a todos os pacotes, serviços públicos e bibliotecas ao redor daemon. Foi projetado para superar as deficiências do init. Ele próprio é um processo de fundo projetado para iniciar processos em paralelo, reduzindo assim o tempo de inicialização e a sobrecarga computacional. Tem muitos outros recursos como em comparação com o init.
Por que havia uma necessidade de substituir o init?
Um processo init começa em série I.e., Uma tarefa começa somente após a última startup de tarefas ter sido bem -sucedida e foi carregada na memória. Isso geralmente resultou em tempo de inicialização atrasado e longo. No entanto, o Systemd não foi projetado para velocidade, mas para fazer as coisas ordenadamente, o que, por sua vez.
Recursos do Systemd
- Design limpo, estadual e eficiente.
- Processo de inicialização mais simples.
- Processamento simultâneo e paralelo na inicialização.
- Melhor API.
- Sintaxe da unidade simples.
- Capacidade de remover componentes opcionais.
- Pegadas de baixa memória.
- Técnica aprimorada para expressar dependências.
- Instrução de inicialização escrita no arquivo de configuração e não no script de shell.
- Utilize o soquete de domínio Unix.
- Agenda de empregos usando os temporizadores do calendário Systemd.
- Registro de eventos com Journald.
- Escolha de eventos do sistema de registro com Systemd e Syslog.
- Os logs são armazenados no arquivo binário.
- O estado de Systemd pode ser preservado para ser chamado mais adiante no futuro.
- Rastrear o processo usando o cgroup do kernel e não o PID.
- Usuários Login gerenciado pelo Systemd-Logind.
- Melhor integração com o GNOME para interoperabilidade.
Gargnecks Systemd
- Tudo em um só lugar.
- Não Posix padrão.
Integração Systemd e Distro
Distribuição Linux | Integração |
Fedora | Sim, primeiro distro a adotar o Systemd |
Arco | Sim |
Chapéu vermelho | Sim |
CENTOS | Sim |
Debian | Sim, Debian 8 Codename Jessie terá Systemd por padrão |
Gentoo | Sim, mas precisa ser baixado, instalado e configurar o lado com init personalizado |
OpenSuse | Sim |
Folga | Não (embora não tenha sido adotado até agora em Slackware, Patric Volkerding não mostrou nenhuma indicação se será adotada ou não) |
Ubuntu | Sim, precisa ser instalado e configurado com upstream. |
Controvérsia
Linus Torvalds, arquiteto -chefe do Linux Kernel, sente a atitude do desenvolvedor -chave do Systemd em relação aos usuários e relatórios de bugs não parece ok. Também foi relatado que a filosofia do Systemd é estranha e uma maneira estrangeira de controlar os processos do sistema. O mesmo foi registrado em Patric Volkerding e outros usuários e desenvolvedores notáveis do Linux, bem como no fórum online, no momento a tempo.
Systemd vs init
Características | iniciar | Systemd |
DBUS Dependência - obrigatória | Não | Sim |
Ativação baseada em dispositivo | Não | Sim |
Configuração de dependência do dispositivo com udev | Não | Sim |
Ativação baseada no timer | CRON/AT | Proprietário |
Gerenciamento de cotas | Não | Sim |
Manipulação automática de dependência de serviço | Não | Sim |
Mata os usuários do processo no logout | Não | Sim |
Gerenciamento de troca | Não | Sim |
Integração do Selinux | Não | Sim |
Suporte para HDD criptografado | Não | Sim |
Carregamento do módulo de kernle estático | Não | Sim |
GUI | Não | Sim |
Liste todos os processos filhos | Não | Sim |
SYSV Compatível | Sim | Sim |
Inicialização interativa | Não | Sim |
Portátil para não x86 | Sim | Não |
Adotado em | Várias distro | Várias distro |
Startup de serviço paralelo | Não | Sim |
Limite de recursos por serviço | Não | Sim |
Script de inicialização extensível fácil | Sim | Não |
Código e arquivo de configuração separados | Sim | Não |
Cálculo de dependência automática | Não | Sim |
Debug verboso | Sim | Não |
Versão | N / D | V44+ |
Tamanho | 560 KB | N / D |
Número de arquivos | 75 arquivos | 900 arquivos + glib + dbus |
Linhas de código - loc | 15000 (aprox) | 224000 (aprox) (códigos incr, comentários e espaço em branco) 125000 (aprox) (código acumulado) |
Conclusão
Qualquer coisa que executa como pid = 1 não deve quebrar, não deve estar bagunçada e deve ser controlada pelos usuários de maneira eficaz e eficiente. Muitos usuários acreditam que substituir o init por Systemd nada mais é do que reinventar a roda toda vez como um efeito colateral do Linux. Mas esta é a natureza diversificada do Linux. Isso ocorre porque o Linux é muito poderoso. A mudança é boa e devemos apreciá -la se for por um bom motivo.
É tudo por agora. Estarei aqui novamente com outro artigo interessante que vocês gostarão de ler. Até então, fique atento e conectado ao Tecmint. Não se esqueça de nos fornecer seu valioso feedback nos comentários abaixo.
- « RHCSA Series Process Management no RHEL 7 Boot, desligamento e tudo mais - Parte 5
- 25 Apache útil '.Os truques da Htaccess para proteger e personalizar sites »