Após um ano de desenvolvimento, o lançamento do FreeBSD 13.1 foi publicado. As imagens de instalação estão disponíveis para as arquiteturas amd64, i386, powerpc, powerpc64, powerpc64le, powerpcspe, armv6, armv7, aarch64 e riscv64. Além disso, foram preparadas compilações para sistemas de virtualização (QCOW2, VHD, VMDK, raw) e ambientes em nuvem como Amazon EC2, Google Compute Engine e Vagrant.
Na nova versão:
- Foi proposto um driver iwlwifi para placas de rede sem fio Intel com suporte a novos chips e ao padrão 802.11ac. O driver é baseado no driver Linux e no código do subsistema net80211 do Linux, cuja operação no FreeBSD é garantida por meio da camada linuxkpi.
- A implementação do sistema de arquivos ZFS foi atualizada para a versão OpenZFS 2.1, com suporte para tecnologia dRAID (Distributed Spare RAID) e otimizações significativas de desempenho.
- Adicionado um novo script rc zfskeys, que permite organizar a descriptografia automática de partições ZFS criptografadas durante a etapa de inicialização.
- No stack de rede, o comportamento para endereços IPv4 com último número zero (x.x.x.0) foi alterado, podendo agora ser utilizado como host, e por padrão não é aplicada a transmissão em modo de broadcast. O comportamento anterior pode ser restaurado com sysctl net.inet.ip.broadcast_lowest.
- Para arquiteturas de 64 bits, a compilação do sistema base está habilitada por padrão usando o modo PIE (Position Independent Executable). Para desativá-lo, há uma configuração disponível chamada WITHOUT_PIE.
- Adicionada a possibilidade de chamar chroot por um processo não privilegiado, para o qual a flag NO_NEW_PRIVS foi ativada. O modo é habilitado com sysctl security.bsd.unprivileged_chroot. A ferramenta chroot recebeu a opção "-n", que atribui a flag NO_NEW_PRIVS ao processo antes de sua isolação.
- No instalador bsdinstall, foi adicionado um modo de edição automatizada de partições de disco, permitindo que scripts de particionamento sejam executados sem a participação do usuário, para diferentes nomes de disco. Esse recurso proposto simplifica a criação de mídias de instalação que funcionam totalmente de forma automática para sistemas e máquinas virtuais com diferentes discos.
- Melhorado o suporte para inicialização em sistemas com UEFI. No carregador de inicialização, foi incluída a configuração automática do parâmetro copy_staging com base nas capacidades do núcleo carregado.
- Realizado trabalho para aumentar o desempenho do carregador de inicialização, nvme, rtsold, inicialização do gerador de números pseudo-aleatórios e calibração do temporizador, resultando em uma redução no tempo de inicialização.
- Adicionada a suporte para NFS sobre um canal de comunicação criptografado baseado em TLS 1.3. A nova implementação utiliza a pilha TLS fornecida pelo núcleo, permitindo o uso de recursos de aceleração de hardware. A montagem dos processos rpc.tlsclntd e rpc.tlsservd com a implementação do cliente e servidor NFS-over-TLS está ativada por padrão para as arquiteturas amd64 e arm64.
- Para NFSv4.1 e 4.2, foi implementada a opção de montagem nconnect, que define o número de conexões TCP estabelecidas. servidor A primeira conexão é utilizada para pequenas mensagens RPC, enquanto as demais são usadas para balancear o tráfego dos dados transmitidos.
- Para o servidor NFS, foi adicionado o sysctl vfs.nfsd.srvmaxio, permitindo modificar o tamanho máximo do bloco de entrada/saída (por padrão 128Kb).
- Melhor suporte a hardware. O driver igc agora suporta o controlador Ethernet Intel I225. Melhorias no suporte a sistemas Big-endian. Adicionado o driver mgb para o controlador Ethernet Microchip devices LAN7430 PCIe Gigabit Ethernet.
- O driver ice, usado para controladores Ethernet Intel E800, foi atualizado para a versão 1.34.2-k, que agora inclui suporte para a gravação no log do sistema de eventos de firmware e uma implementação inicial das extensões do protocolo DCB (Data center bridging).
- Nas imagens para Amazon EC2, o suporte para inicialização usando UEFI em vez de BIOS está ativado por padrão.
- No hipervisor bhyve, os componentes para emular unidades NVMe foram atualizados, garantindo suporte para a especificação NVMe 1.4. Problemas com NVMe iovec durante operações intensivas de entrada/saída foram resolvidos.
- A biblioteca CAM foi alterada para usar a chamada realpath ao processar nomes de dispositivos, permitindo o uso de links simbólicos em utilitários como camcontrol e smartctl. O camcontrol resolveu problemas com o carregamento de firmwares nos dispositivos.
- O utilitário svnlite não está mais sendo compilado no sistema base.
- Adicionados variações do Linux para utilitários de cálculo de somas de verificação (md5sum, sha1sum etc.), implementadas através da chamada dos utilitários BSD existentes (md5, sha1 etc.) com a opção "-r".
- No utilitário mpsutil, foi adicionada a capacidade de gerenciar NCQ e exibir informações sobre o adaptador.
- No /etc/defaults/rc.conf, a aplicação da opção "-i" ao chamar os processos rtsol e rtsold, que são responsáveis pelo envio de mensagens ICMPv6 RS (Router Solicitation), está ativada por padrão. Esta opção desabilita o atraso aleatório antes do envio da mensagem.
- Para as arquiteturas riscv64 e riscv64sf, a construção de bibliotecas com ASAN (address sanitizer), UBSAN (Undefined Behavior Sanitizer), OpenMP e OFED (Open Fabrics Enterprise Distribution) foi incluída.
- Problemas com a determinação dos recursos de aceleração de hardware suportados pelos processadores ARMv7 e ARM64 foram resolvidos, o que permitiu acelerar consideravelmente os algoritmos aes-256-gcm e sha256 em sistemas ARM.
- Para a arquitetura powerpc, o depurador LLDB, desenvolvido pelo projeto LLVM, foi incluído na composição principal.
- A biblioteca OpenSSL foi atualizada para a versão 1.1.1o e aprimorada com otimizações de assembly para as arquiteturas powerpc, powerpc64 e powerpc64le.
- O servidor e o cliente SSH foram atualizados para OpenSSH 8.8p1, desabilitando o suporte a assinaturas digitais rsa-sha e incluindo suporte à autenticação de dois fatores usando dispositivos baseados no protocolo FIDO/U2F. Novos tipos de chaves "ecdsa-sk" e "ed25519-sk" foram adicionados para interação com dispositivos FIDO/U2F, utilizando os algoritmos de assinatura digital ECDSA e Ed25519, combinados com o hash SHA-256.
- As versões dos aplicativos de terceiros que compõem o sistema básico foram atualizadas: awk 20210215 (com patches que desativam o uso de local para intervalos e melhoram a compatibilidade com gawk e mawk), zlib 1.2.12, libarchive 3.6.0.
Fonte: opennet.ru
