Lançamento do FreeBSD 15.1

Após seis meses de desenvolvimento, foi lançada a versão FreeBSD 15.1. As imagens de instalação foram preparadas para as arquiteturas amd64, aarch64, armv7, powerpc64, powerpc64le e riscv64. Além disso, estão disponíveis imagens para sistemas de virtualização (QCOW2, VHD, VMDK, raw) e ambientes de nuvem Amazon EC2, Google Compute Engine e Vagrant. O lançamento do FreeBSD 15.1 será suportado até abril de 2027, e atualizações para a série 15.x serão lançadas até 31 de dezembro de 2029.

Principais mudanças:

  • Os drivers de dispositivos sem fio rtw88 (Realtek 802.11n/ac), rtw89 (Realtek 802.11ax) e iwlwifi (Intel 02.11a/b/g/n/ac/ax/be) foram sincronizados com o núcleo Linux 7.0.
  • O núcleo implementou uma estrutura para seleção do escalonador de tarefas. Na configuração do núcleo em sistemas amd64, além do escalonador padrão SCHED_ULE, foi ativada a versão clássica do escalonador SCHED_4BSD. Para selecionar o escalonador de tarefas durante a inicialização, foi adicionado o parâmetro sysctl kern.sched.
  • Foi feito trabalho para garantir o suporte ao padrão C23 na base de código para compilações em modo C23. O suporte completo ao C23 é esperado na série FreeBSD 16. O novo padrão introduziu constantes nullptr, o tipo _BitInt(n) e as palavras-chave bool, true e false, que poderiam conflitar com identificadores já existentes no código antigo. O suporte ao C23 permitirá utilizar novos recursos da linguagem no código FreeBSD, como o arquivo de cabeçalho stdbit.h, a função memalignment(), e os limites atualizados limits.h e stdint.h com o macro _WIDTH e o tipo char8_t.
  • No filtro de pacotes ipfw, foi implementada a possibilidade de definir máscaras arbitrárias em tabelas (lookup table), permitindo ignorar quaisquer combinações de bits nas chaves e elementos da tabela; por exemplo, é possível usar máscaras não sequenciais, como «lookup src-ip4:255.255.253.255». O código para compatibilidade com versões do filtro de pacotes ipfw anteriores ao lançamento do FreeBSD 8 foi removido. endereços IPFoi permitido o direcionamento de pacotes IPv6 para sockets divert, onde anteriormente era permitida apenas a operação com IPv4. O comando ifconfig recebeu a flag ‘stableaddr’ para gerar endereços IPv6 estáveis, que não mudam para cada sub-rede (Stateless Address Autoconfiguration, RFC 7217).
  • O shell padrão para os usuários «root» e «freebsd» foi substituído de csh para sh.
  • Foi adicionada a utilidade setaudit para gerenciar políticas de auditoria do sistema.
  • Na utilidade find, foram adicionadas as opções «-xattr» e «-xattrname» para busca de arquivos considerando atributos estendidos de arquivos.
  • O utilitário find recebeu as opções «-xattr» e «-xattrname» para procurar arquivos levando em conta os atributos estendidos dos arquivos.
  • A utilidade newfs ganhou a opção "-u" para desativar o mecanismo de soft updates e o registro de log para UFS2.
  • A utilidade ipfs, utilizada para salvar e restaurar tabelas de tradução de endereços, foi removida por padrão, e a funcionalidade necessária para seu funcionamento no kernel foi desativada (pode ser reativada nas configurações de compilação).
  • O script bsdinstall agora instala por padrão o pkgbase com os componentes especificados na variável COMPONENTS. O antigo método de instalação baseado em distset permanece disponível se a variável DISTRIBUTIONS for definida.
  • Funções tdestroy adicionadas às bibliotecas padrão,
    strdupa,
    strndupa,
    posix_spawnattr_getexecfd_np,
    posix_spawnattr_setexecfd_np,
    pthread_tryjoin_np.
    As funções memcpy, memmove e memset para sistemas AArch64 utilizaram otimizações baseadas em instruções MOPS (Memory Operations).
  • Adicionada a biblioteca libuvmem com implementações do mecanismo de alocação de memória vmem, que opera no espaço do usuário e oferece uma API compatível com vmem para aplicações.
  • Imagens para máquinas virtuais e sistemas em nuvem incluíram o gerenciador de pacotes pkg e implementaram suporte para atualização atômica do pacote com o sistema básico durante a primeira inicialização.
  • O driver virtio_scsi foi adicionado à configuração do kernel MINIMAL, permitindo a inicialização do sistema em máquinas virtuais sistemas baseados em qemu/kvm.
  • Chamadas de sistema pdwait e pdfork foram implementadas para o novo mecanismo de criação e término de processos, que utiliza descritores de processos.
  • Foi adicionado o fcntl F_DUPFD_QUERY na camada de compatibilidade com Linux, que utiliza kcmp KCMP_FILE para verificar o descritor de arquivo em contêineres Linux.
  • A construção do driver iwx para adaptadores sem fio Intel AX210/AX211/AX411 com suporte a Wi-Fi 6E e Wi-Fi 7 foi ativada.
  • Drivers atualizados. Suporte adicionado para adaptadores de rede Intel E835-XXV-4 e Intel E835 Ethernet, controladores RAID utilizados em servidores Fujitsu PRIMERGY, bem como unidades NVMe usadas no Google Compute Engine C4. Melhorado o suporte para placas Raspberry Pi. Adicionado suporte para contadores de monitoramento de desempenho (hwpmc) fornecidos na CPU Intel Alder Lake, Alder Lake-N e Emerald Rapids.
  • O driver hid foi configurado para permitir acesso aos usuários do grupo game, permitindo a interação com controladores de jogos sem elevação de privilégios, usando bibliotecas como libsdl.
  • A utilidade mt foi adequadamente configurada para ser compatível com unidades de fita que suportam os padrões LTO-10 e LTO-10P (Linear Tape-Open Generation 10).
  • O comando «zpool prefetch» agora suporta metadados BRT (Block Reference Table), que melhoram o desempenho de clonagem e liberação de blocos.
  • O cliente NFS agora suporta a exportação de sistemas de arquivos via NFS que não diferencia maiúsculas de minúsculas em nomes de arquivos e diretórios.
    Com a inicialização sem disco via NFSv4, foi implementado o suporte para montar a partição NFS como o sistema de arquivos raiz e mapear nomes ou identificadores de usuários através do nfsuserd. Foi adicionada o suporte inicial à extensão NFSv4.2 com POSIX ACL. servidor E o cliente NFSv4 agora suporta o atributo de arquivamento (UF_ARCHIVE), utilizado no cliente NFS do Windows.
  • A interface splash agora permite definir uma tela de apresentação no formato PNG, exibida ao encerrar o sistema.
  • Adicionado sysctl net.inet.ipf.jail_allowed, que permite vincular um conjunto próprio de configurações e regras do filtro de pacotes ipfilter ao ambiente Jail.
  • Adicionado sysctl allow.vmm_ppt para permitir o acesso a dispositivos PCI em ambientes isolados baseados no hipervisor bhyve.
  • No driver GPU baseado em virtio, foi adicionada a suporte a ambientes virtuais baseados em Parallels Desktop.
  • Foi adicionada a suporte aos registradores FGT (Fine-Grained Trap), ao mecanismo Extended Destination ID e às instruções MOPS (Memory Operations), ampliando as capacidades de virtualização e melhorando o desempenho em sistemas ARM64. A extensão ARM64 LASS (Linear Address Space Separation) foi adicionada para reforçar a separação entre o núcleo e o espaço do usuário.
  • Na implementação do framebuffer do hipervisor bhyve, foi adicionada a suporte a sockets UNIX, permitindo encaminhar o console gráfico para Jails sem rede.
  • As versões foram atualizadas: OpenZFS 2.4.2, OpenSSL 3.5.6, NSS 3.123.1, xz 5.8.3, tcpdump 4.99.6, zlib 1.3.2, zstd 1.5.7, blocklistd 2026-02-07, ncurses 6.6, bsddialog 1.0.5, bmake 20251111, SQLite 3.50.4, unbound 1.25.1, MIT Kerberos 1.22.2, Heimdal Kerberos 1.22.2.
  • A fonte de console spleen foi atualizada para a versão 2.2.0 e ampliada com símbolos adicionais (travessão longo, travessão curto, hífen, colchetes, quadrado branco, cruz e cruz dupla). O alinhamento dos símbolos foi melhorado em telas com alta densidade de pixels. As tabelas de símbolos Unicode foram atualizadas para a versão 17.0.0, que incluiu 4803 símbolos.
  • O subsistema blacklist foi renomeado para blocklist com o processo em segundo plano blocklistd. As configurações antigas nos scripts rc e nas regras do filtro de pacotes continuam válidas, mas geram um aviso.
  • O conjunto de ferramentas OpenPAM foi movido para o novo pacote FreeBSD-pam, e a biblioteca Zstandard e a ferramenta zstd para o pacote FreeBSD-zstd.
  • Em sistemas instalados através dos pacotes freebsd-base, a chamada para os scripts de instalação installworld e installkernel foi bloqueada para evitar a descoordenação do estado do sistema com os pacotes.
  • A criação de builds no formato OCI (Oracle Cloud Infrastructure) foi descontinuada.
  • As ferramentas fdisk, bsdlabel, lpr, lpd, lpc, lpq, lprm, lp, pac, lptest e chkprintcap foram declaradas obsoletas e serão removidas na versão FreeBSD 16. Para trabalhar com partições de disco, recomenda-se usar gpart ou bsdinstall em vez de fdisk e bsdlabel, e para gerenciar impressão, deve-se utilizar o porto print/cups ou sysutils/LPRng. Na FreeBSD 16, também se pretende remover os sysctls hw.ata.rotating e hw.ata.unmapped_io, bem como os drivers hifn (aceleradores criptográficos Hifn 7751/7951/7811/7955/7956), safe (aceleradores criptográficos SafeNet SafeXcel 1141/1741), le (AMD Am7900 LANCE e Am79C9xx ILACC/PCnet Ethernet), fdc (controlador de disco flexível) e agp (Accelerated Graphics Port).

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