Lançamento do FreeBSD 14.0

Após dois anos e meio desde a publicação da série 13.0, foi formado o lançamento do FreeBSD 14.0. As imagens de instalação foram preparadas para as arquiteturas amd64, i386, powerpc, powerpc64, powerpc64le, powerpcspe, armv7, aarch64 e riscv64. Além disso, foram preparadas compilações para sistemas de virtualização (QCOW2, VHD, VMDK, raw) e ambientes em nuvem Amazon EC2, Google Compute Engine e Vagrant. A série FreeBSD 14 será a última a oferecer suporte a plataformas de 32 bits. No FreeBSD 15, permanecerá apenas o suporte para sistemas de 64 bits, mas será mantida a possibilidade de compilar programas de 32 bits e usar o modo COMPAT_FREEBSD32 para executar arquivos executáveis de 32 bits em um ambiente de 64 bits.

Principais mudanças:

  • O interpretador de comandos padrão para o usuário root é o /bin/sh.
  • Para dispositivos NVME, o driver nda é utilizado por padrão em todas as plataformas. Para retornar ao driver antigo nvd, há uma configuração no loader.conf chamada "hw.nvme.use_nvd=1".
  • Foi adicionada uma nova utilidade "fwget", que identifica o hardware que necessita de firmware e instala os pacotes correspondentes. No momento, apenas dispositivos PCI e firmwares para GPUs Intel e AMD são suportados.
  • Foi adicionada a nova utilidade base64 para codificação e decodificação de dados no formato base64.
  • Foi adicionada a utilidade tcpsso, que permite definir opções de soquete para conexões TCP existentes (por exemplo, é possível alterar o módulo de controle de congestionamento ou a pilha TCP).
  • Como agente de entrega de e-mail por padrão, em vez do sendmail, é utilizado o dma (DragonFly Mail Agent). O sendmail foi mantido na instalação básica e atualizado para a versão 8.17.1.
  • No KTLS, implementação do protocolo TLS que opera no nível do núcleo do FreeBSD, foi adicionada a suporte para aceleração de hardware TLS 1.3 no lado de recebimento. A aceleração é realizada através do descarregamento para o adaptador de rede de algumas operações relacionadas ao tratamento de pacotes criptografados.
  • No arquivo de configuração jail.conf, foi adicionada a diretiva ".include", que permite incluir arquivos adicionais durante o carregamento da configuração, com máscaras permitidas nos caminhos. O parâmetro sysctl security.bsd.see_jail_proc foi expandido, permitindo que usuários não autorizados em um ambiente jail separado possam agora ser impedidos de forçar o término, alterar a prioridade e depurar processos.
  • Os programas pw e bsdinstall agora criam usuários por padrão no diretório "/home", em vez de "/usr/home". O link simbólico para "/home", apontando para "/usr/home", não é mais criado.
  • A configuração de montagem PROFILE está desativada por padrão - versões profiladas das bibliotecas do sistema não são mais fornecidas, devendo-se usar ferramentas de perfilagem de hardware (hwpmc).
  • A compilação de arquivos executáveis para arquiteturas de 64 bits está habilitada no modo PIE (Executable Independente de Posição).
  • O hipervisor Bhyve ganhou suporte para acesso ao TPM (Trusted Platform Module) e GPU (em ambientes virtuais para chips AMD e Intel).
  • A implementação do sistema de arquivos ZFS foi atualizada para a versão OpenZFS 2.2. O utilitário makefs agora suporta o sistema de arquivos ZFS. Foi adicionada a capacidade de criar um pool ZFS associado a um único disco virtual vdev.
  • O número de núcleos de CPU suportados (parâmetro MAXCPU) em sistemas baseados na arquitetura amd64 e arm64 foi aumentado de 256 para 1024.
  • No UFS para configurações em que o journaling (atualizações suaves) está habilitado, a verificação em segundo plano do sistema de arquivos agora é permitida, usando snapshots do UFS. Foram adicionadas verificações adicionais de hash aos superblocos, mapas de grupos de cilindros e inodes para detectar danos.
  • Foi adicionada a filesystem tarfs, que pode ser usada com arquivos tar compactados com zstd.
  • Foi adicionado o conjunto de ferramentas boottrace para rastrear eventos que ocorrem durante a inicialização e encerramento do sistema.
  • Adicionada a configuração do kernel FIRECRACKER para permitir a execução do FreeBSD em um sistema de virtualização Firecracker, projetado para executar máquinas virtuais com sobrecarga mínima. O tempo de inicialização do kernel FreeBSD 14 sob Firecracker foi reduzido para 25 milissegundos, permitindo iniciar ambientes FreeBSD conforme necessário para a implementação de infraestrutura de computação sem servidor.
  • No carregador escrito em Lua, foi implementado o suporte para execução de arquivos lua, localizados no diretório loader_conf_files, em um ambiente de sandbox especial.
  • Apoio ao NFS foi expandido. Uma nova opção de montagem "syskrb5" foi adicionada para suportar Kerberos no NFSv 4.1/4.2, e a operação ExchangeID foi implementada. A capacidade de executar nfsd, nfsuserd, mountd, gssd e rpc.tlsservd em um ambiente de rede isolado vnet também foi implementada.
  • O script growfs implementou a possibilidade de alocar uma partição de swap no final da área expansível do disco.
  • Foi adicionado um novo provedor DTrace kinst (dtrace_kinst), permitindo a rastreabilidade de estruturas do núcleo.
  • O subsistema de criptografia do núcleo agora suporta o algoritmo de criptografia XChaCha20-Poly1035 AEAD, além de ter uma API para utilizar a curva elíptica curve25519 (para o WireGuard).
  • O tempo de reinicialização foi reduzido. Foi adicionado um parâmetro sysctl kern.reboot_wait_time, que permite alterar o atraso antes da reinicialização efetiva após a saída de todas as mensagens de diagnóstico no console. Por padrão, o atraso foi removido.
  • Um novo subsistema timerfd foi adicionado ao núcleo, facilitando a portabilidade de programas do Linux.
  • Foi adicionado o sysctl machdep.mitigations.zenbleed.enable para bloquear a vulnerabilidade Zenbleed em processadores AMD Zen2.
  • O wpa_supplicant e o hostapd agora suportam Wi-Fi 6. O driver iwlwifi é compatível com chips Intel que suportam Wi-Fi 6E AX411/AX211/AX210.
  • Para o núcleo em sistemas amd64, foi garantido suporte para as ferramentas AddressSanitizer e MemorySanitizer do projeto LLVM.
  • Nos scripts rc.d, o uso do método status é permitido, mesmo que o nome do programa (procname) e o arquivo PID não estejam definidos no script.
  • A velocidade de transmissão de dados através da porta serial no núcleo, carregadores de inicialização e espaço do usuário foi aumentada de 9600 para 115200 bps por padrão. O tom do sinal sonoro foi definido para 800Hz por padrão. A integração com o devd foi garantida para emitir o sinal sonoro através da placa de som. Para o console vt, o sinal sonoro está desativado por padrão (para ativá-lo, é necessário executar os comandos "sysctl kern.vt.enable_bell=1" e "kbdcontrol -b normal").
  • O suporte para a arquitetura de aceleração de operações de rede NXP DPAA2 (Data Path Acceleration Architecture Gen2) foi aprimorado.
  • Foi adicionado o driver igc para controladores Ethernet Intel I225, suportando velocidades de 2.5 Gbps.
  • Por padrão, a configuração net.inet.tcp.nolocaltimewait está ativada, desativando a criação de registros timewait para conexões TCP encerradas no lado do sistema local.
  • O suporte ao protocolo de comunicação Netlink (RFC 3549) foi ampliado e ativado por padrão, utilizado no Linux para organizar a interação do núcleo com processos no espaço do usuário. Algumas utilidades de rede foram convertidas para usar o Netlink.
  • O filtro de pacotes pf é compatível com a sintaxe e o comportamento das operações de normalização de pacotes (scrubbing) da versão pf do OpenBSD. O pfsync implementou a possibilidade de usar o transporte IPv6. O formato dos pacotes pfsync foi ampliado para suportar filas, normalização de pacotes e regras route-to.
  • Adicionada a interface de rede if_stf (IPv6 sobre IPv4) suporte a IPv6 Implantação Rápida (RFC 5969). O modo de nodeinfo IPv6 (RFC 4620) está desativado por padrão.
  • O parâmetro sysctl net.inet.tcp.nolocaltimewait está ativado por padrão, desabilitando a criação de registros no estado timewait para conexões TCP interrompidas localmente.
  • Por padrão, o mecanismo de controle de congestionamento de rede CUBIC está ativo para TCP, em vez do NewReno, permitindo uma maior utilização da largura de banda disponível.
  • No IPv4, o envio de pacotes de broadcast para o endereço zero da sub-rede está desativado, a menos que tal endereço tenha sido explicitamente declarado como broadcast. Esta mudança permite o uso de endereços terminados em ".0" para hosts.
  • Configurações do OpenSSH foram alteradas: o scp utiliza o protocolo SFTP por padrão em vez de scp/rcp, o suporte para assinaturas RSA/SHA-1 foi desativado, as opções VerifyHostKeyDNS e X11Forwarding estão definidas como "não", a diretiva VersionAddendum foi removida, e o suporte para configurações HPN foi eliminado.
  • Adicionada à ferramenta date a opção "-z" para a conversão de fusos horários.
  • Adicionada à ferramenta diff a opção "—color" para uma visualização colorida das mudanças.
  • Adicionada à ferramenta sleep o suporte a unidades de medida diferentes de segundos (por exemplo, pode-se especificar "sleep 1h 30m").
  • Adicionadas às ferramentas head e tail o suporte para as opções "-q" e "-h", além da possibilidade de especificar valores com sufixos do Sistema Internacional de Unidades (SI). A ferramenta head removeu a limitação de um número máximo de linhas de 2^31.
  • Adicionada à ferramenta systat o comando "iolat" para exibir informações sobre latências de entrada/saída, calculadas pelo escalonador CAM.
  • A biblioteca libncursesw foi dividida em duas bibliotecas: libtinfow e libncursesw. Adicionado suporte para o uso, no ncurses, da base terminfo, em vez de apenas termcap.
  • Para a arquitetura aarch64 (arm64), foi implementada e ativada por padrão a opção de compilação COMPAT_LIB32, permitindo a compilação de bibliotecas de 32 bits para sistemas ARM64, que possibilitam a execução de arquivos executáveis compilados para a plataforma armv7.
  • Suporte aprimorado para sistemas em nuvem. Para AWS EC2, foram adicionadas builds experimentais com sistema de arquivos raiz ZFS e cloud-init. Para Azure, são fornecidas imagens para arquiteturas arm64 e amd64, com opção de UFS ou ZFS. Adicionado driver para adaptador de rede virtual gve (Google Virtual NIC).
  • O sistema ACPI agora suporta o valor de limite _CR3, que permite definir uma temperatura, ao alcançar a qual o sistema será colocado em modo de suspensão (S3).
  • As versões dos aplicativos e bibliotecas de terceiros incluídas no sistema base foram atualizadas: OpenSSH 9.5p1, OpenSSL 3.0.12 (anteriormente utilizada a versão 1.1.1), awk 2021072, bc 6.6.0, libbsdxml 2.4.7, libfido2 1.13.0, tcpdump 4.99.4, libpcap 1.10.4, xz 5.4.3, zlib 1.3, zstd 1.5.2. A implementação do utilitário objdump foi substituída por llvm-objdump. O compilador Clang foi atualizado para a versão 16.
  • Foi realizada uma limpeza de sistemas obsoletos:
    • O suporte a senhas de uso único OPIE foi removido do sistema base (para restaurar o uso, é possível instalar o pacote security/opie).
    • Drivers para placas de som com interface ISA foram removidos.
    • As utilidades fmtree e minigzip foram removidas.
    • Os componentes ATM no netgraph (NgATM) foram removidos.
    • O processo em segundo plano telnetd foi removido (é possível usar o pacote net/freebsd-telnetd).
    • A classe VINUM no geom foi removida.
    • Drivers obsoletos amr, iscsi_initiator, iir, mn, mly, nlmrsa e twa foram removidos.
    • O parâmetro VESA foi removido dos kernels GENERIC e MINIMAL.
    • O suporte a operações criptográficas assimétricas foi removido do framework criptográfico OCF (Open Cryptographic Framework) que opera no nível do kernel.
    • O utilitário mergemaster foi declarado obsoleto; deve-se utilizar o etcupdate em seu lugar.
    • O utilitário portsnap foi removido (para extrair ports, deve-se usar "git clone https://git.FreeBSD.org/ports.git /usr/ports").
    • A formação de builds para a arquitetura armv6 foi descontinuada.
    • O suporte para a arquitetura MIPS foi removido.

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