Lançamento do gerenciador de sistema systemd 255

Após quatro meses de desenvolvimento, foi lançado o gerenciador de sistema systemd 255. Entre as melhorias mais importantes estão: suporte à exportação de dispositivos via NVMe-TCP, componente systemd-bsod para exibição em tela cheia de mensagens de erro, utilitário systemd-vmspawn para execução de máquinas virtuais, utilitário varlinkctl para gerenciar serviços Varlink, utilitário systemd-pcrlock para análise de registros TPM2 PCR e geração de regras de acesso, módulo de autenticação pam_systemd_loadkey.so.

Mudanças principais na nova versão:

  • Adicionado o componente "systemd-storagetm", que possibilita a exportação automática de todos os dispositivos de bloco locais por meio do driver NVMe-TCP (NVMe over TCP), permitindo o acesso a dispositivos NVMe pela rede (NVM Express over Fabrics), utilizando o protocolo TCP. O novo módulo "storage-target-mode.target" é responsável pelo acesso em modo NVMe over TCP, podendo ser habilitado durante a inicialização, especificando na linha de comando do kernel "rd.systemd.unit=storage-target-mode.target", por exemplo, em casos que necessitem de acesso remoto ao dispositivo para fins de diagnóstico.
  • Adicionado o componente "systemd-bsod" com implementação de um análogo da "tela azul da morte", que permite, na fase de inicialização, exibir mensagens sobre erros críticos (LOG_EMERG) em forma de notificação em tela cheia.
  • Adicionada a utilidade "systemd-vmspawn", que representa um análogo da utilidade systemd-nspawn para iniciar uma imagem de sistema operacional em uma máquina virtual (a utilidade systemd-nspawn é destinada ao início de contêineres, enquanto a systemd-vmspawn fornece uma interface similar para máquinas virtuais). Atualmente, apenas o backend baseado em QEMU está disponível para iniciar máquinas virtuais.
  • Adicionada a utilidade "varlinkctl" para chamada e introspecção de serviços que utilizam o protocolo Varlink.
  • Foi adicionada a ferramenta «systemd-pcrlock» para analisar e prever os estados dos registros TPM2 PCR (Registro de Configuração da Plataforma) e formar regras de acesso armazenadas no índice TPM2 NV que permitem o acesso a objetos TPM2, como chaves de criptografia de disco, apenas a partir de componentes autenticados por assinatura digital, que são carregados durante a fase de inicialização verificada. Os dados de entrada para análise podem incluir o resultado da consulta de estado PCR no TPM2, fornecido pelo firmware UEFI, o log de eventos da inicialização atual (\/sys\/kernel\/security\/tpm0\/binary_bios_measurements) ou um log TPM2 salvo localmente (\/run\/log\/systemd\/tpm2-measure.log). O suporte para regras de acesso armazenadas foi adicionado ao systemd-cryptsetup, systemd-cryptenroll e systemd-repart.
  • Foi adicionado o módulo PAM pam_systemd_loadkey.so, destinado à extração automática da frase secreta do armazenamento de chaves no kernel (keyring), usada no cryptsetup para desbloquear o sistema de arquivos raiz criptografado, e definir essa frase secreta como um token de autenticação (PAM authtok). O módulo pode ser usado, por exemplo, para configurar o desbloqueio automático do GNOME Keyring e do KDE Wallet ao ativar o login automático.
  • Foi adicionada a capacidade de hibernação, preservando o conteúdo da memória em arquivos de swap armazenados no sistema de arquivos Btrfs.
  • As unidades receberam as propriedades MemoryPeak, MemorySwapPeak, MemorySwapCurrent e MemoryZSwapCurrent, correspondentes às propriedades disponíveis através do cgroup v2 memory.peak, memory.swap.peak, memory.swap.current e memory.zswap.current. Informações sobre estas propriedades foram incluídas na saída do «systemctl status».
  • O modo de inicialização de serviços foi reformulado para utilizar a chamada posix_spawn com opções CLONE_VM e CLONE_VFORK para iniciar o processo e a aplicação de um executável separado systemd-executor para configurar o processo iniciado. Anteriormente, os processos eram criados com a função fork, copiando a memória do processo controlador em modo copy-on-write e realizando as configurações necessárias (montagem de namespaces e configuração de CGroup) antes de iniciar o executável desejado por meio da chamada exec, o que causava problemas devido à impossibilidade de acessar algumas APIs Glibc entre a execução das funções fork e exec.
  • O código para rastreamento de processos internos foi alterado para usar PIDFD em vez de PID em ambientes com núcleo que suportam PIDFD (PIDFD está vinculado a um processo específico e não muda, enquanto PID pode estar vinculado a outro processo após a conclusão do processo atual associado a esse PID). A capacidade de criar unidades de escopo usando PIDFD em vez de PID para selecionar processos foi implementada.
  • O suporte a hierarquias de diretórios separados foi encerrado (quando /usr é montado separadamente do root ou os diretórios /bin e /usr/bin, /lib e /usr/lib são separados). No futuro, também foi decidido encerrar o suporte para cgroups v1, scripts de serviços System V e variáveis EFI do SystemdOptions.
  • O comando 'systemctl switch-root' é restrito para uso apenas em initrd. Para substituir o sistema de arquivos raiz em um ambiente normal, deve-se usar 'systemctl soft-reboot'.
  • Os parâmetros SuspendMode, HybridSleepMode, HibernateStat e HybridSleepState na seção '[Sleep]' do arquivo systemd-sleep.conf foram depreciados. Esses parâmetros agora são ignorados e podem aceitar apenas valores padrão.
  • Uma opção SurviveFinalKillSignal foi adicionada às unidades, permitindo ignorar o sinal final SIGTERM/SIGKILL emitido durante o desligamento, o que pode ser útil para manter a unidade em execução durante uma reinicialização suave do sistema no modo soft-reboot.
  • Uma configuração NFTSet foi adicionada, permitindo usar identificadores cgroup para alternar a lógica nas regras do firewall.
  • Uma opção ConditionSecurity=measured-uki foi adicionada, garantindo que a unidade só possa ser iniciada em um sistema carregado a partir de uma imagem de kernel verificada no formato UKI.
  • Novas teclas de atalho 'B' e 'O' foram adicionadas ao systemd-boot para reiniciar e desligar o sistema a partir do menu de inicialização. Uma configuração 'menu-disabled' foi adicionada para desativar a exibição do menu de inicialização.
  • Novas opções foram adicionadas à ferramenta systemd-repart: '--copy-from' para obter descrições de partições a partir da imagem de FS especificada, '--copy-source' para especificar o diretório base para o parâmetro CopyFiles, '--make-ddi=confext', '--make-ddi=sysext' e '--make-ddi=portable' para gerar diferentes tipos de DDI, e '--tpm2-device-key' para vincular o disco a uma chave pública específica do TPM2.
  • Na ferramenta journalctl, o parâmetro '--lines' agora inclui o valor '+N' para exibir as N entradas mais antigas.
  • Um sinalizador '--json' foi adicionado ao udevadm para output em formato JSON.
  • Na ferramenta systemd-analyze, systemd-tmpfiles, systemd-sysusers, systemd-sysctl e systemd-binfmt foi adicionada a opção «—tldr» para exibir apenas os parâmetros de configuração reais, sem espaços e comentários.
  • O subsistema seccomp agora suporta a arquitetura LoongArch64. A utilização de seccomp para filtrar chamadas de sistema em serviços que não estão sendo executados sob o usuário root é permitida, sem a necessidade de ativar a configuração NoNewPrivileges=yes.
  • Na ferramenta systemd-mount, foi adicionada a opção «—tmpfs» para montar uma nova instância de ‘tmpfs’.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster