Lançamento do FreeBSD 15.0.

Após dois anos desde a publicação da versão 14.0, o lançamento do FreeBSD 15.0 foi formado. As imagens de instalação foram preparadas para as arquiteturas amd64, aarch64, armv7, powerpc64, powerpc64le e riscv64. Além disso, estão disponíveis versões para sistemas de virtualização (QCOW2, VHD, VMDK, raw) e ambientes de nuvem como Amazon EC2, Google Compute Engine e Vagrant.

A partir da versão FreeBSD 15, o tempo de suporte para versões principais após a formação do primeiro lançamento (15.0) foi reduzido de 5 para 4 anos, e novas versões principais serão formadas a cada dois anos. Lançamentos intermediários (15.1, 15.2, 15.3) serão desenvolvidos dentro de um ciclo de desenvolvimento fixo, prevendo a publicação de novas versões em uma mesma ramificação aproximadamente a cada 6 meses, em vez de uma vez por ano como era até agora. Considerando o suporte simultâneo a duas versões principais diferentes, um novo lançamento intermediário será publicado a cada 3 meses (15.4, 16.1, 15.5, 16.2, etc.), exceto na preparação para os primeiros lançamentos de novas versões principais, para os quais haverá uma pausa de 6 meses entre os lançamentos (por exemplo, o lançamento 15.3 será formado em junho de 2027, 16.0 em dezembro de 2027, 15.4 em março de 2028, 16.1 em junho de 2028).

As principais mudanças no FreeBSD 15.0 (na nota oficial de lançamento, além das mudanças específicas da versão 15.0, muitas funcionalidades anteriormente adicionadas nas versões 14.1, 14.2 e 14.3 são mencionadas):

  • Foi disponibilizada a possibilidade de usar o gerenciador de pacotes pkg para instalar e atualizar os componentes do sistema base. Os pacotes pkgbase podem ser fornecidos no meio de instalação para instalação offline ou baixados do repositório pkg.freebsd.org. No arquivo de configuração do pkg (/etc/pkg/FreeBSD.conf), o repositório FreeBSD-base não está incluído por padrão. O instalador bsdinstall oferece duas opções de instalação: a tradicional e com o uso de pacotes (pkgbase). O suporte ao método tradicional, no qual o sistema base é considerado um ambiente monolítico atualizado por meio da utilidade freebsd-update, está programado para ser removido na versão FreeBSD 16. O novo método, que implica a instalação do sistema base como um conjunto de pacotes do repositório FreeBSD-base, é proposto por padrão nas compilações para máquinas virtuais e imagens para ambientes de nuvem, mas ainda é considerado experimental para sistemas convencionais.
  • Foi adicionado suporte para a construção do FreeBSD em ambientes não privilegiados, que não requerem direitos de root. Sem direitos de root, também é possível criar imagens ISO de instalação e imagens de sistema para máquinas virtuais. Na fase de construção, os direitos de root eram necessários para criar arquivos de dispositivos, definir permissões de acesso e montar sistemas de arquivos adicionais (por exemplo, ao criar imagens de disco).
  • Foi implementado suporte para construções reproduzíveis, permitindo verificar se os arquivos binários distribuídos foram construídos a partir do código-fonte fornecido e não contêm modificações ocultas. Construções reproduzíveis garantem a identidade dos arquivos binários gerados a partir do código-fonte em diferentes ambientes de construção.
  • A criação de imagens de instalação e pacotes binários para arquiteturas de 32 bits i386, armv6 e powerpc foi interrompida. Dentre as plataformas de 32 bits, apenas armv7 foi mantida. A capacidade de compilar programas de 32 bits e utilizar o modo COMPAT_FREEBSD32 para executar arquivos executáveis de 32 bits em um ambiente baseado em um núcleo de 64 bits permanecerá disponível pelo menos até o final do ciclo de vida da versão FreeBSD 16.
  • Chamadas de sistema foram adicionadas com a implementação do mecanismo inotify para monitorar alterações em sistemas de arquivos.
  • Foi adicionado suporte para atributos nomeados de arquivos (atributos estendidos no estilo Solaris), que são planejados para serem suportados como um mecanismo alternativo de gerenciamento de atributos estendidos, disponível para ZFS e NFSv4. As diferenças em relação aos métodos tradicionais de FreeBSD e Linux para trabalhar com atributos estendidos se resumem à apresentação dos atributos em um diretório de serviço, não visível no espaço principal do sistema de arquivos e associada ao arquivo. O trabalho com atributos é tratado como arquivos normais; por exemplo, para determinar a lista de atributos, pode-se executar a função readdir().
  • Foi declarado pronto para uso o módulo mac_do, que permite definir políticas que autorizam usuários não privilegiados a alterar credenciais de processos. Para executar comandos como outro usuário, foi preparada a utilidade mdo, semelhante à utilidade su, mas que não requer suid root.
  • O estado dos drivers DRM i915 e amdgpu foi sincronizado com o núcleo Linux 6.9. 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 6.17.
  • A implementação do protocolo TLS no lado do núcleo (KTLS) está habilitada por padrão.
  • Foi adicionada a utilidade sndctl para gerenciar as configurações das placas de som.
  • Foi adicionada a utilidade mididump para despejar eventos MIDI 1.0 em tempo real.
  • Um novo backend de rede 'slirp' foi adicionado ao hypervisor bhyve, utilizando a biblioteca libslirp com a implementação da pilha de rede no espaço do usuário. O backend 'slirp' permite o acesso à rede do sistema convidado a partir do ambiente do host sem configuração de rede adicional no lado do host.
  • A implementação do Kerberos no núcleo do FreeBSD foi substituída de Heimdal Kerberos para MIT Kerberos. Para retornar ao Heimdal Kerberos durante a construção, pode-se usar a flag WITHOUT_MITKRB5. No FreeBSD 16, o suporte à construção do Heimdal Kerberos será removido.
  • O comportamento das chamadas de sistema setgroups, getgroups e initgroups no tratamento de grupos de usuários foi aproximado ao de outras plataformas (a diferença na implementação no FreeBSD se resumia ao armazenamento do identificador de grupo efetivo do processo no primeiro elemento do array com a lista de grupos).
  • Nas configurações do gerenciador de pacotes pkg, um novo repositório FreeBSD-kmods foi habilitado por padrão, onde estão disponíveis pacotes com módulos do núcleo construídos para branches específicas de lançamento 15.x-RELEASE, em vez da branch 15-STABLE que é constantemente atualizada. O repositório FreeBSD-kmods resolve o problema da instalação de drivers que dependem de interfaces instáveis do núcleo (por exemplo, drivers gráficos). Os repositórios 'FreeBSD' e 'FreeBSD-kmods' que estavam anteriormente em /etc/pkg/FreeBSD.conf foram renomeados para 'FreeBSD-ports' e 'FreeBSD-ports-kmods'.
  • No NFS, foi adicionada a suporte à operação CLONE, definida na especificação NFSv4.2, permitindo a rápida cópia de arquivos através do clonagem de blocos no servidor. O modo atualmente funciona apenas na exportação de partições ZFS via NFS.
  • Nos sistemas amd64, foi adicionada a capacidade de usar mais de 4TB de RAM.
  • Foi adicionado o driver ufshci para suportar controladores de sistemas de armazenamento com a interface UFSHCI (Universal Flash Storage Host Controller Interface).
  • O sysctl net.link.bridge.member_ifaddrs está definido como 0 por padrão, ou seja, é possível adicionar interfaces às pontes de rede sem restrições. endereços IP.
  • A confiabilidade de funcionamento das partições do sistema de arquivos UFS foi aumentada, suportando mais de 2.000.000.000 inodes. Na implementação do sistema de arquivos UFS1, foi resolvido o problema do ano 2038 (é possível usar datas até o ano de 2106).
  • Adicionada a opção de soquete de rede SO_SPLICE para agrupar conexões TCP (semelhante a um proxy que opera sem copiar dados para o espaço do usuário).
  • Na utilidade grep, o rastreamento de links simbólicos está desabilitado por padrão durante a busca recursiva.
  • Adicionado o módulo do kernel nvmft para suporte a controladores NVMe over Fabric e a utilidade nvmecontrol para conexão a um controlador externo NVMe over Fabric.
  • Na utilidade date, foi adicionada a capacidade de exibir o tempo com precisão em nanossegundos; por exemplo, 'date -Ins' exibirá '2024-04-22T12:20:28,763742224+02:00'.
  • Na jail, foi adicionada a opção zfs.dataset para incluir na jail isolada uma partição, snapshot ou clone ZFS. O comando jail agora suporta os parâmetros 'meta' e 'env', permitindo anexar metadados ou passar variáveis de ambiente. Também foi adicionada a capacidade de endereçar ambientes jail por descritores de jail, com funções propostas jail_set e jail_get, além das chamadas de sistema jail_attach_jd e jail_remove_jd. Foi adicionada a possibilidade de usar filtros kevent para monitorar operações de criação, deleção, modificação e anexação de Jail.
  • Na utilidade newsyslog, foi implementado um parâmetro para definir o método de compressão padrão (bzip2, xz, zstd, gzip), eliminando a necessidade de especificar bandeiras separadas (J, X, Y, Z) em cada linha do newsyslog.conf.
  • Na biblioteca padrão C, muitas funções para manipulação de strings e memória usam otimizações baseadas em instruções SIMD.
  • Na fonte Gallant, utilizada em terminais virtuais, foram adicionados mais de 4.300 novos glifos, incluindo glifos com caracteres cirílicos e sinais matemáticos.
  • No tty, a bandeira IUTF8 está ativada por padrão, permitindo a exclusão correta de caracteres UTF-8 ao pressionar Backspace.
  • A utilidade dialog, utilizada no configurador bsdconfig e no instalador bsdinstall, foi substituída por bsddialog.
  • No utilitário adduser, utilizado no bsdinstall, foi garantida a criação de um dataset ZFS separado (partição, snapshot ou clone) para o diretório home do usuário, caso um dataset ZFS já esteja em uso para o diretório pai. Também foi adicionado um recurso para utilizar a criptografia dos diretórios home usando ZFS. Para gerenciar a ativação dessas funcionalidades, foram adicionados os parâmetros "Zcreate" e "Zencrypt" no adduser.conf.
  • Foi garantida a formação de imagens de contêineres compatíveis com OCI e imagens de sistema para Oracle Cloud.
  • Adicionado um novo tipo de imagens "small" para ambientes de nuvem compatíveis com AWS EC2. Ao contrário das imagens básicas, foram excluídos dados de depuração, testes, bibliotecas de 32 bits, o depurador LLDB, Amazon SSM Agent e AWS CLI. O tempo de carregamento das imagens "base" para EC2 foi acelerado em 76%.
  • Por padrão, a configuração net.inet.tcp.nolocaltimewait foi desativada e considerada obsoleta, ou seja, a criação de registros TIME_WAIT para conexões TCP que são encerradas pelo sistema local foi restaurada como padrão. Para ajustar o tempo em que a conexão permanece no estado TIME_WAIT, foi adicionado um novo sysctl net.inet.tcp.msl_local.
  • Por padrão, o suporte à criação de conexões de rede para localhost com INADDR_ANY foi desativado. Para restaurar o suporte, pode-se definir o sysctl net.inet.ip.connect_inaddr_wild como 1.
  • O gerenciador de volumes lógicos gvinum, que era usado para RAID de software, foi removido. O desenvolvimento do Gvinum foi interrompido há cerca de 15 anos, e o código contém uma série de problemas conhecidos que nunca foram corrigidos. Em vez do gvinum, recomenda-se o uso do gconcat, gmirror, gstripe, graid ou zfs.
  • Está previsto para remoção no FreeBSD 16 o driver agp (Accelerated Graphics Port), necessário para o funcionamento de muitos drivers de placas de vídeo antigas. Também foram declarados obsoletos e programados para remoção os drivers: fdc (Controlador de Disco Floppy IBM PC), firewire (Barramento Serial IEEE1394), le (Ethernet AMD Am7900 LANCE e Am79C9xx) e upgt (USB 802.11g).
  • A função readdir_r foi declarada obsoleta.
  • No servidor SNMP bsnmpd, o suporte ao transporte UDP foi descontinuado.
  • A geração de chaves de host RSA para SSH e EC2 AMI foi descontinuada. O suporte a DSA foi removido do OpenSSH. O banco de dados publickey, vinculado ao algoritmo DES, foi eliminado.
  • Os ftpd e shar foram removidos do sistema base, devendo ser utilizados os ports ftp/freebsd-ftpd e sysutils/freebsd-shar em seu lugar.
  • A utilidade fdisk foi declarada obsoleta, devendo-se utilizar o gpart.
  • Na categoria dos obsoletos foi transferido o driver syscons, que não é compatível com UEFI, não suporta UTF-8 e está vinculado ao bloqueio global.
  • Atualizações para as versões LLVM 19.1.7, OpenSSH 10.0p2, OpenSSL 3.5.4, OpenZFS 2.4.0rc4, Lua 5.4.8, jemalloc 5.3.0, Awk 20250804 (com suporte a UTF-8), bc 7.1.0, unicode 16.0.0, ncurses 6.5, libarchive 3.8.2, tcpdump 4.99.5, unbound 1.24.1, less 679, file 5.46, GoogleTest 1.15.2.

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