BusyBox 1.35 já foi lançado e essas são suas novidades

O lançamento da nova versão do BusyBox 1.35 foi anunciado que é uma implementação de um conjunto de utilitários padrão do UNIX, projetado na forma de um único arquivo executável e otimizado para um consumo mínimo de recursos do sistema com um tamanho de pacote inferior a 1 MB.

A primeira versão do novo ramo 1.35 está posicionado como instável, a estabilização completa será fornecida na versão 1.35.1, que é esperada em cerca de um mês.

Principais novidades do BusyBox 1.35

Nesta nova versão o utilitário de pesquisa implementa a opção "-samefile name" para verificar usando o mesmo inode no arquivo que o arquivo com o nome especificado, além disso, um código de comparação de horário unificado e as opções adicionadas "-amin", "-atime", "-cmin" e "-ctime" também são implementados para verificar os horários de acesso e criação de arquivos.

a opção "–Tmpdir" foi adicionado ao utilitário mktemp para especificar o diretório base em relação ao qual os caminhos associados aos arquivos temporários são calculados.

Adicionadas opções "–ignore-devno" ao utilitário cpio para ignorar o número real do dispositivo (sempre escreva 0) e "–renumber-inodes" para renumerar o inode antes de arquivar.

Outra mudança que se destaca nesta nova versão do BusyBox 1.5 é que um grande lote de correções em shells Ash e Hush para melhorar a compatibilidade com outros shells, já que o Ash adiciona suporte para ERR trap semelhante ao bash, set -E e $ FUNCNAME, além de acelerar a recuperação de strings usando a expressão "$ {s:}". Acelere as operações "$ {x // \ * / |}".

Também podemos descobrir que nos utilitários date e touch eles permitem especificar o deslocamento do fuso horário nas datas, além de adicionar suporte para o arquivo ~ /.exrc no editor vi, o tratamento de "-c" foi alterado e EXINIT.

Adicionado suporte para a opção "-k KILL_SECS" para o utilitário de tempo limite para enviar um sinal SIGKILL se o comando não for concluído dentro de KILL_SECS segundos adicionais.

No ed, a saída dos comandos de leitura/gravação foi alinhada com a especificação POSIX-1.2008. Adicionado suporte para a opção "-p".

Wget implementa a opção "–post-file" para postar o arquivosy permite a personalização do cabeçalho Content-Type para as opções "–post-data" e "–post-file".

O utilitário de nome base implementa as opções "-a" para passar vários nomes em uma única chamada e "-s SUFFIX" para remover os caracteres SUFFIX à direita.

Do outras mudanças que se destacam nesta nova versão:

  • Adicionada opção "-f" (forçar) ao utilitário blkdiscard.
  • Cerca de uma dúzia de mudanças foram adicionadas à biblioteca libbb.
  • Compatibilidade aprimorada do realpath com sua contraparte coreutils.
  • O utilitário awk melhorou a expressão "printf %%".
  • Httpd parou de enviar cabeçalhos Last-Modified / ETag / Content-Length para páginas de erro.
  • Httpd e telnetd fornecem a capacidade de alterar a porta de rede padrão.
  • Uma vulnerabilidade no tar que desperdiça toda a memória disponível ao processar arquivos com nomes de arquivo muito longos.
  • O código TLS reformulou a implementação de P256 e x25519.
  • Adicionado suporte para configurar o parâmetro netns para dispositivos no utilitário ip.
  • O utilitário cal implementa a opção "-m" para exibir o mês especificado.
  • Adicionada a opção "-n N" ao utilitário cmp para limitar a comparação a N bytes.

Além disso, alguns dias atrás foi lançado o Toybox 0.8.6, um análogo do BusyBox desenvolvido pelo antigo mantenedor do BusyBox e distribuído sob a licença 0BSD. O principal objetivo da Toybox é fornecer aos fabricantes o capacidade de usar um conjunto minimalista de utilitários padrão sem abrir o código fonte dos componentes modificados. Em termos de capacidades, o Toybox ainda fica atrás do BusyBox, mas já foram implementados 296 comandos básicos (217 na íntegra e 83 parcialmente) dos 374 planejados.

Por fim, se você tiver interesse em saber mais sobre esta nova versão, pode consultar os detalhes no link a seguir.