Systemd
| 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 | |
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 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 [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:
- Debian GNU/Linux versão 8 e superior
- RHEL versão 7 e superior [14]
- CentOS versão 7 e superior
- Ubuntu versão 15.10 e superior
- Fedora versão 15 e posterior [15]
- Magia 2 [16]
- Mandriva 2011 [17]
- Rosa
- openSUSE 12.1 e posterior [18]
- Arch Linux 12.11 [19] [20] [21] (fornece a capacidade de usar um sistema de inicialização auto-escrito (não mais suportado [22] ), ou qualquer outro (também sem suporte oficial da distribuição))
- Sábado 13.08 [23]
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 2 README - systemd/systemd - System and Session Manager
- ↑ Lançamento systemd v252
- ↑ systemd/systemd - Gerenciador de Sistema e Sessão
- ↑ O projeto de código aberto systemd no Open Hub: Página de Idiomas - 2006.
- ↑ README - systemd/systemd - System and Session Manager
- ↑ README - systemd/systemd - System and Session Manager
- ↑ 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
- ↑ 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
- ↑ 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.
- ↑ 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
- ↑ 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
- ↑ 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.
- ↑ 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
- ↑ 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
- ↑ 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.
- ↑ 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
- ↑ 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.
- ↑ 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
- ↑ 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
- ↑ systemd agora é o padrão em novas instalações , 2012-10-13 , Arquivado em 18 de outubro de 2012 do ano.
- ↑ 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
- ↑ 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
- ↑ 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
- ↑ sys-apps/systemd , Gentoo Packages , < https://packages.gentoo.org/packages/sys-apps/systemd > Arquivado em 3 de junho de 2016 no Wayback Machine
- ↑ , < 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
- ↑ 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.
- ↑ 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
- Denis Kolisnichenko . 11.4 systemd init system // A linha de comando do Linux e automatizando tarefas de rotina . - 2ª edição. - BHV-Petersburgo, 2014. - S. 195-203. — 369 p. — ISBN 9785977533195 .
- Bob Moss. Que tipo de coisa... SystemD? // formato linux. - 2010. - Novembro ( Nº 11 (137) ). - S. 48-49 .
- Chris Brown. Reformas do processo de inicialização // LinuxFormat. - 2011. - Abril ( Nº 4 (143) ). - S. 48-49 .
- Batalha pelo futuro: Fedora vs. Ubuntu § Upstart e SystemD // LinuxFormat. - 2010. - Dezembro ( nº 12 (138) ). - S. 24 .
- João Lei. Systemd: Inicialize mais rápido // LinuxFormat. - 2013. - Fevereiro ( Nº 2 (167) ). - S. 84-87 .
- Neil Botwick. Systemd: indo para a transição // LinuxFormat. - 2014. - Junho ( Nº 6 (184) ). - S. 76-79 .
- Neil Botwick. systemd. Links estão sendo estabelecidos // LinuxFormat. - 2014. - Outubro ( nº 10 (188) ). - S. 62-63 .
- Sean Conway. Journald: Logs para Systemd // LinuxFormat. - 2015. - Janeiro ( Nº 1 (191-192) ). - S. 66-67 .
- Neil Botwick. Systemd: Vamos mergulhar no journalctl // LinuxFormat. - 2015. - Julho ( Nº 7 (198) ). - S. 64-65 .
- Johnny Bidwell. systemd // formato linux. — 2015. — Agosto ( Nº 8 (199) ). - S. 54-57 .
Links
- Página inicial do Systemd .
- systemd , 0pointer , < http://0pointer.de/blog/projects/systemd.html >
- projeto systemd , Fedora , < http://fedoraproject.org/wiki/Features/systemd >
- O caminho a seguir para systemd , LWN , < http://lwn.net/Articles/389149/ >
- cgit , freedesktop , < http://cgit.freedesktop.org/systemd/ >
- Oponentes do uso e suas razões (inglês)