Desenvolvido por |
Lennart Poettering Freedesktop.org |
---|---|
Primeira versão | 30 de março de 2010 |
Última versão | 248 (30 de março de 2021) |
Depósito | github.com/systemd/systemd |
Status do projeto | Em desenvolvimento |
Escrito em | C , Python |
Sistema operacional | Linux |
Meio Ambiente | GNU / Linux |
Modelo | Sistema de inicialização , daemon |
Política de distribuição | Livre |
Licença | GNU LGPL |
Local na rede Internet | systemd.io |
Cronologia das versões
systemd é um pacote de software que fornece uma variedade de componentes de sistema para sistemas operacionais Linux.
O primeiro componente do systemd é o sistema de inicialização , seu objetivo é fornecer uma estrutura melhor para gerenciar dependências entre serviços, para permitir o carregamento paralelo de serviços na inicialização e para reduzir chamadas a scripts de shell . É uma alternativa ao SysV init . Ele também fornece substitutos para vários daemons e utilitários, incluindo gerenciamento de dispositivo, gerenciamento de conexão de usuário, gerenciamento de conexão de rede e registro de eventos.
O projeto foi lançado por Lennart Poettering em 2010 e lançado sob a licença GNU LGPL versão 2.1. O nome deste programa vem de " daemon do sistema ": o daemon do sistema.
Este projeto tem gerado grande polêmica entre os desenvolvedores GNU / Linux .
Em 2015, a maioria das distribuições GNU / Linux adotou esse sistema de boot .
O Systemd é baseado em algumas dezenas de binários gerenciando todo o sistema de inicialização , deixando assim a filosofia UNIX do KISS .
O Systemd adota um novo sistema de registro denominado " The Journal ", permitindo um registro mais rápido e eficiente das várias fases de inicialização. Os logs são autenticados para reduzir as chances de corrupção durante um hack, são portáteis e a ferramenta inclui gerenciamento de saturação de espaço em disco para melhor gerenciar os rastros. Qualquer serviço gerenciado pelo systemd é conectado automaticamente, a menos que solicite o não login. Por padrão, ele é compatível com um ambiente de rede e pode passar por protocolos padrão, como syslog .
O Systemd inclui uma ferramenta chamada " systemd-analyze ", que permite analisar o tempo de inicialização, rastrear as diferentes etapas e emitir as análises em forma de gráficos simples (formato SVG ), permitindo entender facilmente os gargalos da sequência de inicialização.
O Systemd difere do init do System V em:
Dentro abril de 2012, o código-fonte do udev foi integrado ao systemd. O systemd, portanto, substitui o System V e o udev em suas respectivas funções.
Existe um fork do Debian, chamado Devuan , que evita o uso do systemd.
O Gentoo tem desenvolvido o eudev desde 2013. Este é um fork do udev cujo objetivo é obter melhor suporte para sistemas que não usam o systemd. Para distribuições binárias, sua escolha, emJaneiro de 2014, se resume a se eles desejam suportar o GNOME e, nesse caso, se preferem usar o systemd ou se, no outro caso, preferem lidar com a complexidade adicional de uma instalação do GNOME sem o systemd.
O projeto sofreu muitas críticas e gerou um debate acalorado.
Para alguns desenvolvedores, o systemd se tornou um problema maior do que deveria resolver porque, em vez de fornecer ao administrador os meios para criar políticas de gerenciamento de sistema, ele fornece suas políticas diretamente, a ponto de às vezes se comparar o systemd ao Windows Service Host . Alguns desses detratores, usuários do Debian, até ameaçam fazer um fork de sua distribuição se isso efetivamente forçar o uso do systemd ao invés do sysvinit. Um fork chamado Devuan foi criado por oponentes que não estavam obtendo satisfação, e a primeira versão de Devuan saiu atrasada.Maio de 2017.
Aqui estão alguns comentários:
$ cat / etc / mtab
sysfs / sys sysfs rw, nosuid, nodev, noexec, relatime 0 0
proc / proc proc rw, nosuid, nodev, noexec, relatime 0 0
udev / dev devtmpfs rw, nosuid, relatime, size = 1963456k, nr_inodes = 490864, modo = 755 0 0
devpts / dev / pts devpts rw, nosuid, noexec, relatime, gid = 5, modo = 620, ptmxmode = 000 0 0
tmpfs / run tmpfs rw, nosuid, noexec, relatime, size = 396480k, mode = 755 0 0
/ dev / sdb3 / ext4 rw, relatime, erros = remount-ro, data = encomendado 0 0
securityfs / sys / kernel / security securityfs rw, nosuid, nodev, noexec, relatime 0 0
tmpfs / dev / shm tmpfs rw, nosuid, nodev 0 0
tmpfs / run / lock tmpfs rw, nosuid, nodev, noexec, relatime, size = 5120k 0 0
tmpfs / sys / fs / cgroup tmpfs ro, nosuid, nodev, noexec, modo = 755 0 0
cgroup / sys / fs / cgroup / systemd cgroup rw, nosuid, nodev, noexec, relatime, xattr, release_agent = / lib / systemd / systemd-cgroups-agent, name = systemd 0 0
pstore / sys / fs / pstore pstore rw, nosuid, nodev, noexec, relatime 0 0
efivarfs / sys / firmware / efi / efivars efivarfs rw, nosuid, nodev, noexec, relatime 0 0
cgroup / sys / fs / cgroup / pids cgroup rw, nosuid, n odev, noexec, relatime, pids 0 0
cgroup / sys / fs / cgroup / memory cgroup rw, nosuid, nodev, noexec, relatime, memory 0 0
cgroup / sys / fs / cgroup / cpu, cpuacct cgroup rw, nosuid, nodev, noexec, relatime, cpu, cpuacct 0 0
cgroup / sys / fs / cgroup / freezer cgroup rw, nosuid, nodev, noexec, relatime, freezer 0 0
cgroup / sys / fs / cgroup / perf_event cgroup rw, nosuid, nodev, noexec, relatime, perf_event 0 0
cgroup / sys / fs / cgroup / cpuset cgroup rw, nosuid, nodev, noexec, relatime, cpuset 0 0
cgroup / sys / fs / cgroup / blkio cgroup rw, nosuid, nodev, noexec, relatime, blkio 0 0
cgroup / sys / fs / cgroup / devices cgroup rw, nosuid, nodev, noexec, relatime, devices 0 0
cgroup / sys / fs / cgroup / net_cls, net_prio cgroup rw, nosuid, nodev, noexec, relatime, net_cls, net_prio 0 0
cgroup / sys / fs / cgroup / hugetlb cgroup rw, nosuid, nodev, noexec, relatime, hugetlb 0 0
systemd-1 / proc / sys / fs / binfmt_misc autofs rw, relatime, fd = 22, pgrp = 1, tempo limite = 0, minproto = 5, maxproto = 5, direto 0 0
mqueue / dev / mqueue mqueue rw, relatime 0 0
debugfs / sys / kernel / debug debugfs rw, relatime 0 0
hugetlbfs / dev / largepages hugetlbfs rw, relatime 0 0
fusectl / sys / fs / fuse / connections fusectl rw, relatime 0 0
/ dev / sda2 / boot / efi vfat rw, relatime, fmask = 0077, dmask = 0077, página de códigos = 437, iocharset = iso8859 -1, shortname = mixed, errors = remount-ro 0 0
binfmt_misc / proc / sys / fs / binfmt_misc binfmt_misc rw, relatime 0 0
tmpfs / run / user / 1000 tmpfs rw, nosuid, nodev, relatime, size = 396480k, modo = 700, uid = 1000, gid = 1000 0 0
gvfsd-fuse / run / user / 1000 / gvfs fuse.gvfsd-fuse rw, nosuid, nodev, relatime, user_id = 1000, group_id = 1000 0 0
/ dev / sdb2 / media / fda / Sandisk480-UltraII fuseblk rw, nosuid, nodev, relatime, user_id = 0, group_id = 0, default_permissions, allow_other, blksize = 4096 0 0