gerenciador de sistema systemd versão 251

Após cinco meses de desenvolvimento, é apresentado o lançamento do gerenciador de sistema systemd 251.

Grandes mudanças:

  • Os requisitos do sistema foram aumentados. A versão mínima suportada do kernel Linux foi aumentada de 3.13 para 4.15. O temporizador CLOCK_BOOTTIME é necessário para operação. Para construir, você precisa de um compilador que suporte o padrão C11 e extensões GNU (o padrão C89 continua a ser usado para arquivos de cabeçalho).
  • Adicionado um utilitário experimental systemd-sysupdate 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 recurso de trabalho atual e o outro instala a próxima atualização, após a qual as seções/arquivos/diretórios serão trocados).
  • Introduzida a nova biblioteca compartilhada interna libsystemd-core- .so, que é instalado no diretório /usr/lib/systemd/system e corresponde à biblioteca libsystemd-shared existente .então. Usando a biblioteca compartilhada libsystemd-core .so permite reduzir o tamanho geral da instalação reutilizando código binário. O número da versão pode ser especificado através do parâmetro 'shared-lib-tag' no sistema de compilação do meson e permite que as distribuições enviem múltiplas versões dessas bibliotecas ao mesmo tempo.
  • Implementada transferência de variáveis ​​de ambiente $MONITOR_SERVICE_RESULT, $MONITOR_EXIT_CODE, $MONITOR_EXIT_STATUS, $MONITOR_INVOCATION_ID e $MONITOR_UNIT de informações sobre a unidade monitorada para os manipuladores OnFailure/OnSuccess.
  • Para unidades, foi implementada a configuração ExtensionDirectories, que pode ser usada para organizar o carregamento de componentes de extensão do sistema a partir de diretórios regulares, em vez de imagens de disco. O conteúdo do diretório de extensão do sistema é sobreposto usando OverlayFS e é usado para expandir a hierarquia dos diretórios /usr/ e /opt/ e adicionar arquivos adicionais em tempo de execução, mesmo se esses diretórios forem montados somente leitura. O comando 'portablectl attachment --extension=' também adicionou suporte para especificar um diretório.
  • Para unidades encerradas forçadamente pelo manipulador systemd-oomd devido à falta de memória no sistema, o atributo 'oom-kill' é transmitido e o número de terminações forçadas é refletido no atributo 'user.oomd_ooms'.
  • Para unidades, novos especificadores de caminho %y/%Y foram adicionados, refletindo o caminho normalizado para a unidade (com a expansão dos links simbólicos). Também foram adicionados os especificadores %q para substituir o valor PRETTY_HOSTNAME e %d para a substituição CREDENTIALS_DIRECTORY.
  • Em serviços sem privilégios iniciados por um usuário normal usando o sinalizador "--user", alterações nas configurações de RootDirectory, MountAPIVFS, ExtensionDirectories, *Capabilities*, ProtectHome, *Directory, TemporaryFileSystem, PrivateTmp, PrivateDevices, PrivateNetwork, NetworkNamespacePath, PrivateIPC, IPCNamespacePath , PrivateUsers, ProtectClock são permitidos, ProtectKernelTunables, ProtectKernelModules, ProtectKernelLogs e MountFlags. Este recurso só está disponível quando os namespaces de usuário estão habilitados no sistema.
  • A configuração LoadCredential permite que um nome de diretório seja especificado como argumento; nesse caso, é feita uma tentativa de carregar credenciais de todos os arquivos no diretório especificado.
  • No systemctl, no parâmetro “—timestamp”, tornou-se possível especificar o sinalizador “unix” para exibir a hora no formato de época (o número de segundos desde 1º de janeiro de 1970).
  • O “systemctl status” implementa o sinalizador “old-kernel”, que é mostrado se o kernel carregado na sessão tiver um número de versão mais antigo que o kernel base disponível no sistema. Também foi adicionado um sinalizador "unmerged-usr" para determinar que o conteúdo dos diretórios /bin/ e /sbin/ não é formado por links simbólicos para /usr.
  • Para geradores iniciados por um processo PID 1, novas variáveis ​​de ambiente são fornecidas: $SYSTEMD_SCOPE (iniciar a partir de um sistema ou serviço de usuário), $SYSTEMD_IN_INITRD (iniciar a partir do ambiente initrd ou host), $SYSTEMD_FIRST_BOOT (primeiro indicador de inicialização), $SYSTEMD_VIRTUALIZATION ( presença de virtualização ou inicialização em um container) e $SYSTEMD_ARCHITECTURE (a arquitetura para a qual o kernel foi construído).
  • O manipulador PID 1 implementa a capacidade de carregar parâmetros de credenciais do sistema a partir da interface QEMU fw_cfg ou especificando o parâmetro systemd.set_credential na linha de comando do kernel. A diretiva LoadCredential fornece pesquisa automática de credenciais nos diretórios /etc/credstore/, /run/credstore/ e /usr/lib/credstore/ se um caminho relativo for especificado como um argumento. Comportamento semelhante se aplica à diretiva LoadCredentialEncrypted, que verifica adicionalmente os diretórios /etc/credstore.encrypted/, /run/credstore.encrypted/ e /usr/lib/credstore.encrypted/.
  • A capacidade de exportar no formato JSON foi estabilizada no systemd-journald. Os comandos "journalctl --list-boots" e "bootctl list" agora suportam saída no formato JSON (o sinalizador "--json").
  • Novos arquivos com bancos de dados hwdb foram adicionados ao udev, contendo informações sobre dispositivos portáteis (PDAs, calculadoras, etc.) e dispositivos usados ​​para criar som e vídeo (consoles de DJ, teclados).
  • Novas opções “--prioritized-subsystem” foram adicionadas ao udevadm para definir a prioridade dos seguintes sistemas (usados ​​em systemd-udev-trigger.service para processar dispositivos de bloco e TPMs primeiro), “-type=all”, “-initialized -match” e “--initialized-nomatch” para selecionar dispositivos inicializados ou não inicializados, “udevadm info -tree” para mostrar uma árvore de objetos na hierarquia /sys/. O udevadm também adiciona novos comandos "wait" e "lock" para aguardar que uma entrada de dispositivo apareça no banco de dados e bloquear um dispositivo de bloco durante a formatação ou gravação de uma tabela de partição.
  • Adicionado um novo conjunto de links simbólicos para dispositivos /dev/disk/by-diskseq/ para identificar dispositivos de bloco por número de série (“diskseq”).
  • Adicionado suporte para o parâmetro “Firmware” para arquivos .link na seção [Match] para combinar o dispositivo por linha com a descrição do firmware.
  • No systemd-networkd, para rotas unicast configuradas por meio da seção [Route], o valor do escopo foi alterado para "link" por padrão para corresponder ao comportamento do comando "ip route". O parâmetro Isolated=true|false foi adicionado à seção [Bridge] para configurar o atributo de mesmo nome para pontes de rede no kernel. Na seção [Túnel] foi adicionado o parâmetro Externo para definir o tipo de túnel como externo (modo de coleta de metadados). Na seção [DHCPServer], foram adicionados os parâmetros BootServerName, BootServerAddress e BootFilename para configurar o endereço do servidor, o nome do servidor e o nome do arquivo de inicialização enviado pelo servidor DHCP ao inicializar no modo PXE. Na seção [Rede], o parâmetro L2TP foi removido, em vez de nos arquivos .netdev você pode usar a nova configuração Local em conexão com a interface L2TP.
  • Adicionada nova unidade "systemd-networkd-wait-online@" .service", que pode ser usado para aguardar o surgimento de uma interface de rede específica.
  • Agora é possível usar arquivos .netdev para criar dispositivos WLAN virtuais, que podem ser configurados na seção [WLAN].
  • Nos arquivos .link/.network, a seção [Match] implementa o parâmetro Kind para correspondência por tipo de dispositivo (“bond”, “bridge”, “gre”, “tun”, “veth”).
  • O Systemd-resolved foi iniciado em um estágio de inicialização anterior, incluindo a inicialização a partir do initrd se o systemd-resolved estiver presente na imagem do initrd.
  • systemd-cryptenroll adiciona a opção --fido2-credential-algorithm para selecionar o algoritmo de criptografia de credencial e a opção --tpm2-with-pin para controlar a entrada do PIN ao desbloquear uma partição usando TPM. Uma opção tpm2-pin semelhante foi adicionada ao /etc/crypttab. Ao desbloquear dispositivos via TPM, as configurações são criptografadas para proteção contra interceptação de chaves de criptografia.
  • systemd-timesyncd adiciona API D-Bus para recuperar informações dinamicamente de um servidor NTP via IPC.
  • Para determinar a necessidade de saída de cores, todos os comandos implementam uma verificação da variável de ambiente COLORTERM além dos verificados anteriormente NO_COLOR, SYSTEMD_COLORS e TERM.
  • O sistema de compilação Meson implementa a opção install_tag para montagem seletiva e instalação dos componentes necessários: pam, nss, devel (pkg-config), systemd-boot, libsystemd, libudev. Adicionada opção de compilação default-compression para selecionar o algoritmo de compactação para systemd-journald e systemd-coredump.
  • Adicionada configuração experimental "reboot-for-bitlocker" ao sd-boot em loader.conf para inicializar o Microsoft Windows com BitLocker TPM.

Fonte: opennet.ru

Adicionar um comentário