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

Apresentado lançamento do pacote BusyBox 1.31 com a implementação de um conjunto de utilitários padrão do UNIX, formatados como um único arquivo executável e otimizados para consumir minimamente os recursos do sistema, com um tamanho total inferior a 1 MB. A primeira versão do novo ramo 1.31 é classificada como instável, a estabilização completa será garantida na versão 1.31.1, que é esperada em aproximadamente um mês. O código do projeto é distribuído sob a licença GPLv2.

A natureza modular do BusyBox permite a formação de um único arquivo executável, contendo um conjunto arbitrário de utilitários implementados no pacote (cada utilitário está disponível como um link simbólico para esse arquivo). O tamanho, a composição e a funcionalidade da coleção de utilitários podem ser variados conforme as necessidades e possibilidades da plataforma embutida para a qual a montagem é realizada. O pacote é autossuficiente, ao ser compilado estaticamente com uclibc, para criar um sistema funcional em cima do núcleo Linux, é necessário apenas criar alguns arquivos de dispositivo no diretório /dev e preparar arquivos de configuração. Em comparação com a versão anterior 1.30, o consumo de memória RAM da montagem padrão do BusyBox 1.31 diminuiu em 86 bytes (de 1008478 para 1008392 bytes).

BusyBox é uma ferramenta fundamental na luta contra a violação da GPL em firmwares. As organizações Software Freedom Conservancy (SFC) e Software Freedom Law Center (SFLC), em nome dos desenvolvedores do BusyBox, têm atuado tanto através de ações judiciais, quanto por meio de acordos extrajudiciais, tendo impactado com sucesso empresas que não fornecem acesso ao código-fonte de softwares GPL. Ao mesmo tempo, o autor do BusyBox é fortemente contra essa proteção — considerando que isso quebra seu modelo de negócios.

As seguintes alterações são destacadas na versão BusyBox 1.31:

  • Novos comandos adicionados: ts (implementação do cliente e servidor para o protocolo TSP (Protocolo de Carimbo de Tempo)) e i2ctransfer (criação e envio de mensagens I2C);
  • Apoio para opções DHCP foi adicionada ao udhcp 100 (informações sobre fuso horário) e 101 (nome do fuso horário no banco de dados TZ) para IPv6;
  • O udhcpd agora suporta vinculações estáticas de nomes de hosts a clientes;
  • Nos shells ash e hush foram implementados literais numéricos «BASE#nnnn». A implementação do comando ulimit foi adaptada para compatibilidade com bash, incluindo as opções «-i RLIMIT_SIGPENDING» e «-q RLIMIT_MSGQUEUE». Suporte adicionado para «wait -n». Variáveis compatíveis com bash EPOCH foram adicionadas;
  • No shell hush, foi implementada a variável «$-«, que lista as opções do shell ativadas por padrão;
  • No bc, o código para passar valores por referência foi transferido do upstream, suporte para funções void foi adicionado e há capacidade para trabalhar com valores de ibase até 36;
  • No brctl, todos os comandos foram convertidos para funcionar com o pseudo-FS /sys;
  • O código das utilitários fsync e sync foi unificado;
  • A implementação do httpd foi aprimorada. O processamento de cabeçalhos HTTP e a operação em modo proxy foram melhorados. SVG e JavaScript foram adicionados à lista de tipos MIME;
  • No losetup, a opção «-c» (verificação forçada do tamanho do arquivo associado ao dispositivo de loop) foi adicionada, assim como uma opção para escanear partições. Suporte para trabalhar com /dev/loop-control foi fornecido em mount e losetup;
  • Em ntpd, o valor de SLEW_THRESHOLD foi aumentado de 0.125 para 0.5;
  • No sysctl, suporte para atribuição de valores vazios foi adicionado;
  • No watch, suporte para valores fracionários na opção «-n SEC» foi adicionado;
  • Foi adicionada a capacidade de iniciar o mdev como um processo em segundo plano;
  • No utilitário wget, foi implementada a flag «-o» para especificar o arquivo para registro de log. Notificações sobre o início e término do download foram adicionadas;
  • No telnetd, suporte para o comando AYT IAC foi adicionado;
  • No vi, foi adicionada o comando ‘dG' (remoção do conteúdo da linha atual até o final do arquivo);
  • No comando dd, foi adicionada a opção ‘oflag=append’;
  • No utilitário top, foi adicionada a flag ‘-H’ para habilitar o modo de escaneamento de threads individuais.

Além disso, há duas semanas ocorreu lançamento Toybox 0.8.1, um análogo do BusyBox, desenvolvido por um antigo mantenedor do BusyBox e distribuído sob a licença BSD. O principal objetivo do Toybox é fornecer aos fabricantes a oportunidade de usar um conjunto minimalista de utilitários padrão sem abrir os códigos-fonte dos componentes modificados. Em termos de funcionalidades, o Toybox ainda está aquém do BusyBox, mas já implementou 188 comandos básicos de 220 planejados.

Entre as novidades do Toybox 0.8.1, pode-se destacar:

  • Foi alcançado um nível de funcionalidade suficiente para compilar o Android em um ambiente baseado nas utilitários Toybox.
  • Novas equipes mcookie e devmem foram incluídas, e os comandos tar, gunzip e zcat reescritos foram transferidos da ramificação de teste.
  • Uma nova implementação do vi foi proposta para testes.
  • O comando find agora suporta as opções "-wholename/-iwholename",
    "-printf" e "-context";
  • No grep, foi adicionada a opção "—exclude-dir";
  • O echo agora possui suporte para a opção "-E".
  • O mount agora suporta "UUID".
  • O comando date agora considera o fuso horário definido na variável de ambiente TZ.
  • O sed agora suporta intervalos relativos (+N).
  • Melhorada a legibilidade da saída do ps, top e iotop.

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