Lançamento do conjunto minimalista de utilitários de sistema BusyBox 1.34

Foi lançado o pacote BusyBox 1.34 com a implementação de um conjunto de utilitários padrão do UNIX, organizados em um único arquivo executável e otimizados para o mínimo consumo de recursos do sistema, com um tamanho total de menos de 1 MB. O primeiro lançamento da nova versão 1.34 é posicionado como instável, com a estabilização completa prevista para a versão 1.34.1, que é esperada em aproximadamente um mês. O código do projeto é distribuído sob a licença GPLv2.

O caráter modular do BusyBox permite formar um único arquivo executável unificado, contendo um conjunto arbitrário de utilitários implementados no pacote (cada utilitário está disponível na forma de um link simbólico para este arquivo). O tamanho, a composição e a funcionalidade da coleção de utilitários podem ser variados dependendo das necessidades e capacidades da plataforma incorporada para a qual está sendo construída. O pacote é autossuficiente; com a construção estática usando uclibc, para criar um sistema funcional sobre o kernel Linux, é necessário apenas criar alguns arquivos de dispositivo no diretório /dev e preparar os arquivos de configuração. Em comparação com a versão anterior 1.33, o consumo de memória RAM pela construção típica do BusyBox 1.34 aumentou em 9620 bytes (de 1032724 para 1042344 bytes).

O BusyBox é uma ferramenta principal na luta contra a violação da GPL em firmware. As organizações Software Freedom Conservancy (SFC) e Software Freedom Law Center (SFLC), em nome dos desenvolvedores do BusyBox, têm impactado com sucesso empresas que não fornecem acesso ao código-fonte de programas GPL, tanto por meio de ações judiciais quanto por meio de acordos extrajudiciais. Ao mesmo tempo, o autor do BusyBox é contra essa proteção, acreditando que ela prejudica seu negócio.

Na versão BusyBox 1.34, destacam-se as seguintes mudanças:

  • Adicionada nova utilidade ascii com uma tabela interativa de nomes de caracteres ASCII.
  • Adicionada nova utilidade crc32 para cálculo de somas de verificação.
  • No servidor http embutido, foi implementado suporte aos métodos DELETE, PUT e OPTIONS.
  • No udhcpc, foi fornecida a possibilidade de alterar o nome da interface de rede padrão.
  • Na implementação dos protocolos TLS, foi adicionado suporte a curvas elípticas secp256r1 (P256).
  • Continuou o desenvolvimento dos shells de comando ash e hush. Em hush, o tratamento do comando ^D foi alinhado ao comportamento de ash e bash, uma construção específica do bash, $’str’, foi implementada, e otimizações nas operações de substituição ${var/pattern/repl} foram realizadas.
  • Foi feita uma grande quantidade de correções e melhorias na implementação da ferramenta awk.
  • Nas ferramentas base32 e base64, foi adicionada a opção "-i" para ignorar caracteres inválidos.
  • Nas ferramentas bc e dc, o tratamento das variáveis de ambiente BC_LINE_LENGTH e DC_LINE_LENGTH foi aproximado às ferramentas GNU.
  • Na ferramenta blockdev, foram adicionadas as opções —getra e —setra.
  • Nas ferramentas chattr e lsattr, foi acrescentada a opção "-p". Em lsattr, o número de flags do sistema de arquivos ext2 suportadas foi ampliado.
  • Na ferramenta cp, foram adicionadas as opções "-n" (proibição de sobrescrição) e "-t DIR" (especificação do diretório de destino).
  • Em cpio, foi ajustado o funcionamento da construção "cpio -d -p A/B/C".
  • Na ferramenta df, foi adicionada a opção "-t TYPE" (limitação da saída a um tipo específico de sistema de arquivos).
  • Na ferramenta du, foi acrescentada a opção -b (equivalente a '—apparent-size —block-size=1').
  • Na ferramenta env, foi adicionada a opção "-0" (finalização de cada linha com um caractere nulo).
  • Na ferramenta free, foi adicionada a opção "-h" (saída em formato legível).
  • Na ferramenta ionice, foi incluída a opção "-t" (ignorar falhas).
  • Na ferramenta login, foi implementado o suporte à variável de ambiente LOGIN_TIMEOUT.
  • Na ferramenta mv, foram adicionadas as opções "-t" (definição do diretório de destino para movimentação) e "-T" (tratamento do segundo argumento como arquivo).
  • Na ferramenta shred, foi adicionada a opção "-s SIZE" (número de bytes a serem apagados).
  • Na ferramenta taskset, foi incluída a opção "-a" (aplicação da vinculação ao CPU para todas as threads do processo).
  • Nas ferramentas timeout, top, watch e ping, foi implementado o suporte a valores não inteiros (NN.N).
  • Na ferramenta uniq, foi adicionada a opção "-z" (uso do caractere nulo como delimitador).
  • Na ferramenta unzip, foi incluída a opção "-t" (verificação do arquivo).
  • No editor vi, foi permitido o uso de expressões regulares no comando ':s'. Foi adicionado o parâmetro expandtab. As implementações de movimentação entre parágrafos, seleção de intervalos e desfazer alterações foram aprimoradas.
  • Na ferramenta xxd, foram implementadas as opções -i (saída em estilo C) e "-o DISPLAYOFFSET".
  • Na ferramenta wget, foi permitida a manipulação dos códigos HTTP 307/308 para redirecionamentos. A opção FEATURE_WGET_FTP foi adicionada para ativar/desativar o suporte a FTP.
  • Na ferramenta dd, foi acrescentada a opção "iflag=count_bytes".
  • Na ferramenta cut, foram implementadas opções compatíveis com as ferramentas toybox, "-O OUTSEP", "-D" e "-F LIST".

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