gerenciador de sistema systemd versão 257

Após seis meses de desenvolvimento, foi apresentado o lançamento do gerenciador de sistema systemd 257. Principais mudanças: novos utilitários systemd-sbsign e systemd-keyutil, suporte para MPTCP quando ativado por soquete, suporte inicial para construção com a biblioteca Musl C, o. Utilitário updatectl para gerenciar a instalação de atualizações via systemd-sysupdate, a capacidade de iniciar serviços em namespaces PID separados, proteção contra exclusão acidental de arquivos ao usar “systemd-tmpfiles —purge”.

Entre as mudanças no novo lançamento:

  • Uma nova ferramenta, systemd-sbsign, foi adicionada para assinatura digital de arquivos executáveis ​​no formato PE (Portable Executable) destinados ao uso na inicialização em modo EFI Secure Boot. Mecanismos e provedores da biblioteca OpenSSL podem ser usados ​​para a geração de assinaturas. O systemd-sbsign pode ser usado como uma alternativa aos aplicativos sbsigntool e pesign do utilitário ukify na geração de imagens universais do kernel (UKIs), que combinam um carregador de inicialização UEFI (stub de inicialização UEFI) e uma imagem do kernel em um único arquivo. Linux e o ambiente de sistema initrd carregado na memória.
  • Foi adicionado um novo utilitário, systemd-keyutil, que implementa várias operações em chaves privadas e certificados X.509. Por exemplo, systemd-keyutil pode ser usado para testar a capacidade de carregar chaves privadas e certificados e extrair chaves públicas deles no formato PEM.
  • Nas unidades ".socket" usadas para garantir o funcionamento do mecanismo de ativação de sockets (processos de inicialização ao tentar estabelecer uma conexão de rede), há suporte implementado para MPTCP (Multipath TCP), uma extensão do protocolo TCP para organizar a operação de uma conexão TCP com a entrega simultânea de pacotes por diversas rotas através de diferentes interfaces de rede vinculadas a diferentes servidores. endereços IP.
  • Inclui alterações necessárias para construir usando a biblioteca Musl C padrão.
  • Vários componentes do systemd que exibem indicadores de progresso (por exemplo, systemd-repart, systemd-sysupdate/updatectl e importctl) agora suportam o uso de sequências ANSI para animar as exibições de progresso. Essas sequências são atualmente suportadas apenas em Windows Terminal (espera-se que, com o tempo, um recurso semelhante seja transferido para emuladores de terminal para Linux).
  • Os recursos do componente systemd-sysupdate foram expandidos, usados ​​para detectar, baixar e instalar atualizações automaticamente usando um mecanismo atômico para substituir partições, arquivos ou diretórios (são usadas duas partições/arquivos/diretórios independentes, um dos quais contém o trabalho atual recurso, e o outro instala a próxima atualização, após a qual as seções/arquivos/diretórios são trocados). Na prática, o systemd-sysupdate já é usado no sistema operacional GNOME.

    Além do processo systemd-sysupdate, foi adicionado um serviço de mesmo nome que permite que o D-Bus seja usado para gerenciar atualizações do sistema por um usuário sem privilégios. Para gerenciar o serviço, um novo utilitário updatectl também está incluído. Adicionado sinalizador “--offline” ao systemd-sysupdate para desabilitar o download de metadados pela rede e usar apenas versões já baixadas no sistema local. Adicionado suporte para saída no formato JSON para todos os comandos.

  • Uma nova propriedade “PrivatePIDs” foi implementada para serviços, com a qual você pode organizar o lançamento de processos com PID 1 (processo init) em um espaço identificador de processo separado (namespace PID). No ambiente criado para o processo iniciado, apenas os processos do namespace criado para ele ficarão visíveis.
  • Adicionado suporte para correspondências que não diferenciam maiúsculas de minúsculas nas regras do udev (por exemplo, 'ATTR{foo}==i»abcd»'). Usando o udev, é possível fornecer aos usuários locais sem privilégios acesso (“uaccess”) ao dispositivo /dev/udmabuf, que é necessário para trabalhar com câmeras IPMI via libcamera. O udev fornece reconhecimento de várias carteiras criptográficas de hardware com uma interface USB e configuração da propriedade ID_HARDWARE_WALLET para elas, o que permite aplicar o modo “uaccess” a elas para acesso por usuários sem privilégios.
  • Novos campos RELEASE_TYPE, EXPERIMENT e EXPERIMENT_URL foram adicionados ao arquivo /etc/os-release. "RELEASE_TYPE" pode assumir os valores "experimental", "development", "stable" e "lts" para separar versões estáveis ​​de desenvolvimento e compilações experimentais. Os parâmetros EXPERIMENT e EXPERIMENT_URL pretendem explicar a essência da construção experimental.
  • O utilitário run0, desenvolvido como um substituto para o programa sudo, adicionou a opção “--shell-prompt-prefix”, que especifica a string de prefixo para o prompt do shell de comando. Por padrão, o emoji “🦸” é exibido como prefixo para destacar visualmente uma sessão elevada.
  • Em systemd-tmpfiles, para evitar a exclusão acidental de arquivos errados, a opção "--purge" agora se aplica apenas às configurações em tmpfiles.d/ que possuem o sinalizador "$" definido explicitamente. A operação "--purge" agora também requer a especificação de pelo menos um arquivo do diretório tmpfiles.d/. Para strings do tipo 'L', foi adicionado o sinalizador '?', quando especificado, um link simbólico será criado apenas se o arquivo de destino existir.
  • No gerenciador de serviços e utilitários relacionados, o código de rastreamento do processo continua a ser convertido para usar PIDFD em vez de PID. Um PIDFD está associado a um processo específico e não muda, enquanto um PID pode ser associado a outro processo após o término do processo atual associado a esse PID.
  • Para serviços, agora é possível especificar o valor “debug” no parâmetro “RestartMode”, no qual o serviço que falhou será reiniciado com o modo debug habilitado (a variável de ambiente DEBUG_INVOCATION=1 está definida), e o valor LogLevelMax será temporariamente elevado para o nível de depuração.
  • O manipulador PID 1 tem a capacidade de carregar regras para o módulo LSM IPE (Integrity Policy Enforcement), que definem a política de integridade para todo o sistema (quais operações são permitidas e como a autenticidade dos componentes deve ser verificada).
  • A opção “DeferReactivation” foi adicionada aos arquivos da unidade “.timer”, o que permite pular a próxima ativação do timer caso o serviço ainda não tenha concluído sua execução desde a última ativação.
  • No parâmetro do arquivo unitário PrivateUsers, agora é possível especificar o valor “identidade” para permitir o mapeamento de IDs de usuário ao criar um namespace de usuário.
  • Adicionado suporte para o valor “desconectado” ao parâmetro de arquivo de unidade PrivateTmp, que usará instâncias tmpfs separadas para os diretórios /tmp/ e /var/tmp/.
  • O suporte para novos modos “privado” e “estrito” foi adicionado ao parâmetro do arquivo da unidade ProtectControlGroups, quando definido, um novo namespace cgroup é criado para o serviço e o cgroupfs é montado. Quando a opção "strict" é definida, o cgroupfs é montado em modo somente leitura.
  • Os parâmetros StateDirectory, RuntimeDirectory, CacheDirectory, LogsDirectory e ConfigurationDirectory fornecem a capacidade de usar o sinalizador ':ro' para restringir o acesso aos diretórios correspondentes ao modo somente leitura.
  • Adicionado suporte para o valor “firmware” ao parâmetro de linha de comando do kernel “systemd.machine_id”, no qual o identificador do sistema (ID da máquina) será calculado com base no UUID do SMBIOS/DeviceTree.
  • Adicionado suporte para as chamadas de sistema mseal(), listmount() e statmount() introduzidas em versões recentes do kernel. Linux.
  • Os utilitários resolvectl, timedatectl e systemd-inhibit agora suportam autorização interativa usando Polkit.
  • O utilitário systemctl adicionou a capacidade de usar o sinalizador “--now” no comando “reenable”.
  • Adicionada opção "--json" ao utilitário systemd-mount para saída no formato JSON (por exemplo, quando especificado junto com "--list-devices", uma lista de dispositivos será gerada no formato JSON).
  • Adicionadas opções "-l" e "--full" ao utilitário "localectl" para desabilitar o corte de linhas longas durante a saída.
  • A opção HibernateOnACPower foi adicionada ao sleep.conf, o que permite atrasar a mudança para o modo de suspensão até que o dispositivo seja desconectado da fonte de alimentação estacionária.
  • No systemd-sysusers, o suporte para o modificador “!” foi adicionado às linhas “u”, com o qual você pode criar contas de usuário completamente bloqueadas (anteriormente, a configuração de uma senha incorreta era usada para bloquear um usuário, o que, por exemplo, não levou ao bloqueio durante a autenticação da chave no SSH).
  • Systemd-coredump adiciona uma opção "EnterNamespace" que permite acesso ao espaço do ponto de montagem de qualquer processo travado para obter seus símbolos de depuração. Na prática, a opção pode ser útil para organizar o backtrace de arquivos principais de aplicativos executados em contêineres isolados.
  • systemd-logind inclui o processamento da combinação Ctrl-Alt-Shift-Esc para enviar o sinal org.freedesktop.login1.SecureAttentionKey aos componentes do ambiente do usuário com uma solicitação para exibir uma caixa de diálogo de login segura. Implementada a configuração “DesignatedMaintenanceTime” para agendar automaticamente a conclusão do trabalho em um horário especificado. Por analogia com o suporte para dispositivos DRM e evdev, foi adicionado suporte para configurar o acesso de usuários não privilegiados a dispositivos hidraw (controladores de jogos e joysticks).
  • O systemd-machined agora suporta logins de clientes sem privilégios. máquinas virtuais e contêineres. O acesso à funcionalidade systemd-machined é fornecido através da API Varlink, além do D-Bus.
  • Uma nova seção “[IPv6AddressLabel]” foi adicionada ao arquivo de configuração networkd.conf para configurar rótulos e prefixos para endereços IPv6
  • Adicionada a opção "--stdin" ao comando 'networkctl edit' para obter o conteúdo do arquivo do fluxo padrão. Adicionado suporte para edição e exibição de arquivos .netdev especificando uma interface de rede para os comandos 'networkctl edit' e 'networkctl cat'. Adicionada opção "--no-ask-password" para desativar a autorização interativa.
  • Adicionada uma opção "--certificate-source" aos utilitários ukify, bootctl, systemd-keyutil, systemd-measure, systemd-repart e systemd-sbsign para carregar um certificado X.509 por meio do provedor OpenSSL em vez de carregar diretamente de um arquivo.
  • systemd-boot adiciona a capacidade de usar os botões de volume para subir e descer no menu de inicialização, o que pode ser útil em dispositivos como smartphones. O suporte para instalação do banco de dados UEFI Secure Boot no formato ESL(db/dbx/…) para systemd-boot foi adicionado ao utilitário bootctl.
  • Adicionada a opção "--list-invocation" ao journalctl para mostrar uma lista de chamadas de unidade e a opção "--invocation" ("-I") para mostrar logs associados apenas a uma chamada específica.
  • systemd-nspawn adiciona suporte para uso sem privilégios de FUSE (sistema de arquivos no espaço do usuário) em contêineres. Ao usar a opção “--bind-user”, as chaves SSH do usuário necessárias para acesso via SSH são encaminhadas para o contêiner.
  • libsystemd adicionou uma nova interface de programação “sd-json” que usa o formato JSON, bem como uma interface “sd-varlink” que usa IPC Varlink.
  • A versão recomendada do kernel base foi atualizada para a versão 5.4, formada em 2019. No próximo ano eles planejam parar de oferecer suporte a kernels mais antigos e marcar a versão 5.4 como a versão base com suporte mínimo.
  • O suporte para cgroups v1 foi descontinuado e desabilitado por padrão (para habilitá-lo, você deve especificar SYSTEMD_CGROUP_ENABLE_LEGACY_FORCE=1 na linha de comando do kernel, além de habilitá-lo nas configurações do systemd). A próxima versão do systemd 258 planeja remover completamente o código relacionado ao cgroups v1. A versão 258 do Systemd também está programada para remover o suporte para scripts de serviço do System V.

Fonte: opennet.ru

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