close

Systemd

Ir para a navegação Ir para a pesquisa

systemd
Logo do programa Systemd
Captura de tela do programa Systemd
Tipo de daemon-managing daemon [d]
Desenvolvedor Lennart Pöttering [1] , Sievers, Kay [d] [1] e Heuer, Harald [d]
Escrito em C [3] [4]
Sistema operacional Linux [5]
Primeira edição 30 de março de 2010
última versão
Licença LGPLv2.1+ [d] [6]
Local na rede Internet systemd.io _ 
 Arquivos de mídia no Wikimedia Commons
Image
componentes do systemd

systemd é o subsistema de inicialização e gerenciamento de serviços no Linux , que na verdade suplantou o subsistema init tradicional na década de 2010 . A principal característica é a paralelização intensiva do lançamento de serviços durante o processo de inicialização do sistema, o que pode acelerar significativamente a inicialização do sistema operacional . A principal unidade de controle é um módulo, um dos tipos de módulos são os "serviços" - um análogo dos daemons - conjuntos de processos iniciados e gerenciados por ferramentas de subsistema e isolados por grupos de controle .

Desenvolvido por Lennart Pöttering e Kay Sievers [en] e outros desenvolvedores [7] . Lançado como software livre sob os termos da GNU Lesser General Public License versão 2.1 ou posterior [8] .

Arquitetura

O subsistema opera com módulos de arquivos de configuração especialmente projetados ( unidade ) .  Cada módulo é responsável por um único serviço, ponto de montagem, dispositivo conectável, arquivo de troca, máquina virtual e recursos semelhantes. Existem tipos especiais de módulos que não carregam uma carga funcional, mas permitem que você use recursos adicionais do systemd, incluindo módulos como target, slice, automount e vários outros. A partir de outubro de 2016, o systemd suporta os seguintes tipos de módulos:

  • .target - permite agrupar módulos, incorporando o conceito de runlevels ;
  • .service - responsável por iniciar serviços (serviços), também suporta chamar interpretadores para execução de scripts de usuário;
  • .mount - responsável por montar sistemas de arquivos;
  • .automount - permite adiar a montagem dos sistemas de arquivos até o acesso real ao ponto de montagem;
  • .swap - responsável por conectar um arquivo ou dispositivo de troca;
  • .timer - permite que você execute módulos em uma programação;
  • .socket - fornece serviços com suporte para o mecanismo de ativação de socket;
  • .slice-responsável por criar o container cgroups ;
  • .device - permite responder à conexão de dispositivos;
  • .path - gerencia a hierarquia do sistema de arquivos.

Comparado ao sistema de inicialização tradicional do estilo System V, o systemd oferece as seguintes vantagens:

  • monitorar o estado do serviço, respondendo às mudanças de estado;
  • serviços ativos de soquete e ativos de barramento, que às vezes resultam em melhor paralelização de serviços interdependentes;
  • usando cgroups para acompanhar os processos de serviço, em vez de IDs de processo (PIDs) , isso significa que os daemons não serão perdidos mesmo após a bifurcação em outros processos.

Em abril de 2012, as fontes do gerenciador de dispositivos udev foram incorporadas ao systemd [9] .

O subsistema foi desenvolvido originalmente apenas para Linux e conta com recursos específicos do Linux, como cgroups e fanotify [de] [10] . Por esta razão , o Debian , como uma distribuição que roda em vários kernels (não apenas Linux), não usa totalmente o systemd [11] .

Características

Além de simplesmente iniciar e monitorar serviços, o systemd oferece alguns outros recursos úteis que os administradores de sistema anteriormente precisavam contar com programas daemon adicionais para usar. Entre essas características:

  • serviços de ativação de socket (substitui o inetd);
  • iniciar serviços no horário (substitui cron ) [12] ;
  • trabalhar com watchdog de hardware (substitui watchdog );
  • mudança de raiz (substitui chroot );
  • volumes de automount e recursos de rede (substitui mount e fstab );
  • journalctl - serviço de journaling;
  • systemd-analyze - análise da velocidade de início de serviços;
  • systemd-boot - carregador de inicialização UEFI (substituindo grub ).

Uso

O subsistema foi proposto como uma dependência externa para o GNOME 3.2 pelo autor do projeto [13] ; isso efetivamente exigia que todas as distribuições usando o GNOME usassem o systemd, ou pelo menos o incluíssem como uma opção personalizada. O GNOME versão 3.8 e superior não pode mais ser instalado sem o systemd.

Distribuições que possuem o systemd instalado por padrão:

O Gentoo fornece pacotes systemd na ramificação estável [24] [25] .

A maioria das distribuições deixa outros sistemas init como opcionais e os usuários podem alternar para eles. Parte dos componentes systemd foram usados ​​no Ubuntu 13.04, ou seja, componentes como hostnamed, localed e timenamed [26] . Desde a versão 16.04, o Ubuntu foi movido para o systemd por padrão [27] .

Dos sistemas operacionais móveis, o systemd é usado no Sailfish OS .

O subsistema é consistentemente omitido do Slackware e Void Linux , e as distribuições Less Systemd GNU/Linux e Devuan citam a depreciação do systemd como um recurso importante.

Notas

  1. 1 2 README - systemd/systemd - System and Session  Manager
  2. Lançamento systemd v252
  3. systemd/systemd -  Gerenciador de Sistema e Sessão
  4. O projeto de código aberto systemd no Open Hub: Página de Idiomas - 2006.
  5. README - systemd/systemd - System and Session  Manager
  6. README - systemd/systemd - System and Session  Manager
  7. Lennart Poettering, FAQs , 0pointer , < http://0pointer.de/blog/projects/systemd.html#faqs > . Recuperado em 16 de junho de 2011. Arquivado em 15 de janeiro de 2017 no Wayback Machine 
  8. Lennart Poettering (2012-04-21), Systemd Status Update , < http://0pointer.de/blog/projects/systemd-update-3.html > . Recuperado em 28 de abril de 2012. Arquivado em 27 de agosto de 2015 no Wayback Machine 
  9. Sievers, Kay, Commit importing udev into systemd , < http://cgit.freedesktop.org/systemd/systemd/commit/?id=19c5f19d69bb5f520fa7213239490c55de06d99d > . Recuperado em 25 de maio de 2012. Arquivado do original em 8 de julho de 2012. 
  10. Lennart Poettering (2010-04-30), FAQ do systemd , < http://0pointer.de/blog/projects/systemd.html > . Recuperado em 14 de dezembro de 2011. Arquivado em 15 de janeiro de 2017 no Wayback Machine 
  11. Jake Edge (2011-07-27), Debian debates systemd , < http://lwn.net/Articles/452865/ > . Recuperado em 14 de dezembro de 2011. Arquivado em 15 de maio de 2012 no Wayback Machine 
  12. Tarefas agendadas com systemd.timer | HippoLab-blog sysadmin . www.hippolab.ru Data de acesso: 9 de novembro de 2015. Arquivado a partir do original em 4 de março de 2016.
  13. Lennart Poettering (2011-05-18), systemd como uma dependência externa , GNOME , < http://mail.gnome.org/archives/desktop-devel-list/2011-May/msg00427.html > . Recuperado em 26 de maio de 2011. Arquivado em 10 de outubro de 2014 no Wayback Machine 
  14. O que há de novo no Red Hat Enterprise Linux 7 . > . Recuperado em 15 de julho de 2014. Arquivado em 17 de julho de 2014 no Wayback Machine 
  15. Dj Walker-Morgan (2011-05-24), Lovelock do Fedora 15 lançado , The H , < http://h-online.com/-1249820 > . Recuperado em 26 de maio de 2011. Arquivado do original em 12 de julho de 2012. 
  16. Fabian Scherschel (2012-05-23), Mageia 2 chega com GNOME 3 e systemd , The H , < http://h-online.com/-1582479 > . Recuperado em 26 de maio de 2012. Arquivado em 8 de dezembro de 2013 no Wayback Machine 
  17. Dj Walker-Morgan (2011-08-29), Mandriva 2011 chega com systemd , The H , < http://h-online.com/-1332627 > . Recuperado em 29 de agosto de 2011. Arquivado a partir do original em 9 de julho de 2012. 
  18. Chris von Eitzen (2011-11-16), openSUSE 12.1 chega com systemd e Btrfs , The H , < http://h-online.com/-1380033 > . Recuperado em 16 de novembro de 2011. Arquivado em 20 de abril de 2012 no Wayback Machine 
  19. systemd , Wiki do Archlinux , < https://wiki.archlinux.org/index.php/Systemd > . Recuperado em 9 de março de 2011. Arquivado em 23 de maio de 2011 no Wayback Machine 
  20. systemd agora é o padrão em novas instalações , 2012-10-13 , Arquivado em 18 de outubro de 2012 do ano. 
  21. Arch Linux mudou para systemd , 2012-10-13 , < http://www.opennet.ru/opennews/art.shtml?num=35075 > Arquivado em 17 de outubro de 2012 no Wayback Machine 
  22. Fim do suporte initscripts , 2012-11-04 , < https://www.archlinux.org/news/end-of-initscripts-support/ > Arquivado em 15 de janeiro de 2013 no Wayback Machine 
  23. ↑ Comunicado de imprensa: Sabayon 13.08 , < http://www.sabayon.org/release/press-release-sabayon-1308 > . Recuperado em 12 de agosto de 2013. Arquivado em 7 de janeiro de 2015 no Wayback Machine 
  24. sys-apps/systemd , Gentoo Packages , < https://packages.gentoo.org/packages/sys-apps/systemd > Arquivado em 3 de junho de 2016 no Wayback Machine 
  25. , < http://www.gentoo.org/proj/en/base/systemd/ >. Recuperado em 5 de julho de 2011. Arquivado em 26 de junho de 2011 no Wayback Machine 
  26. 100 áreas, systemd em upstart, atualização de fase e kernel 3.8 no Ubuntu 13.04 . Recuperado em 12 de novembro de 2012. Arquivado do original em 16 de novembro de 2012.
  27. Ubuntu Linux muda para systemd, seguindo Debian . Data de acesso: 14 de fevereiro de 2014. Arquivado a partir do original em 22 de fevereiro de 2014.

Literatura

Livros
formato linux

Links