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

Introduzido lançamento de pacote Caixa Ocupada 1.31 com a implementação de um conjunto de utilitários padrão UNIX, projetados como um único arquivo executável e otimizados para consumo mínimo de recursos do sistema com tamanho definido inferior a 1 MB. A primeira versão do novo branch 1.31 está posicionada como instável, a estabilização completa será fornecida na versão 1.31.1, que é esperada em cerca de um mês. O código do projeto é distribuído sob a licença GPLv2.

A natureza modular do BusyBox permite criar um único arquivo executável 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 do conjunto de utilitários podem variar dependendo das necessidades e capacidades da plataforma embarcada para a qual a montagem está sendo realizada. O pacote é independente; quando construído estaticamente com uclibc, para criar um sistema funcional sobre o kernel Linux, você só precisa criar vários arquivos de dispositivos no diretório /dev e preparar arquivos de configuração. Em comparação com a versão anterior 1.30, o consumo de RAM do conjunto típico do BusyBox 1.31 diminuiu 86 bytes (de 1008478 para 1008392 bytes).

BusyBox é a principal ferramenta no combate às violações da GPL no firmware. The Software Freedom Conservancy (SFC) e Software Freedom Law Center (SFLC) em nome dos desenvolvedores do BusyBox, ambos por meio tribunal, e desta maneira conclusões acordos extrajudiciais influenciaram repetidamente com sucesso empresas que não fornecem acesso ao código-fonte dos programas GPL. Ao mesmo tempo, o autor do BusyBox faz o possível para objetos para contra tal protecção - acreditando que isso arruína o seu negócio.

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

  • Adicionados novos comandos: ts (implementação de cliente e servidor para o protocolo TSP (Time-Stamp Protocol)) e i2ctransfer (criação e envio de mensagens I2C);
  • Adicionado suporte para opções de DHCP ao udhcp 100 (informações de fuso horário) e 101 (nome do fuso horário no banco de dados TZ) para IPv6;
  • Adicionado suporte para ligações estáticas de nomes de host para clientes em udhcpd;
  • Os shells ash e hush implementam os literais numéricos "BASE#nnnn". A implementação do comando ulimit tornou-se compatível com bash, incluindo as opções “-i RLIMIT_SIGPENDING” e “-q RLIMIT_MSGQUEUE”. Adicionado suporte para "wait -n". Adicionadas variáveis ​​EPOCH compatíveis com bash;
  • O shell silencioso implementa uma variável "$-" que lista as opções do shell habilitadas por padrão;
  • O código para passar valores por referência foi transferido para bc do upstream, foi adicionado suporte para funções void e a capacidade de trabalhar com valores ibase até 36;
  • No brctl, todos os comandos foram convertidos para funcionar usando o pseudo-FS /sys;
  • O código dos utilitários fsync e sync foi mesclado;
  • A implementação do httpd foi melhorada. Processamento aprimorado de cabeçalhos HTTP e trabalho em modo proxy. A lista de tipos MIME inclui SVG e JavaScript;
  • A opção “-c” foi adicionada ao Lostup (verificação dupla forçada do tamanho do arquivo associado ao dispositivo de loop), bem como uma opção para verificar partições. mount e Losetup fornecem suporte para trabalhar usando /dev/loop-control;
  • No ntpd, o valor SLEW_THRESHOLD foi aumentado de 0.125 para 0.5;
  • Adicionado suporte para atribuição de valores nulos ao sysctl;
  • Adicionado suporte para valores fracionários na opção “-n SEC” para assistir;
  • Adicionada a capacidade de executar o mdev como um processo em segundo plano;
  • O utilitário wget implementa o sinalizador “-o” para especificar o arquivo no qual gravar o log. Adicionadas notificações sobre início e conclusão de downloads;
  • Adicionado suporte para o comando AYT IAC para telnetd;
  • Adicionado comando 'dG' ao vi (excluir conteúdo da linha atual até o final do arquivo);
  • Adicionada opção 'oflag=append' ao comando dd;
  • O sinalizador '-H' foi adicionado ao utilitário principal para ativar o modo de varredura para threads individuais.

Além disso, há duas semanas aconteceu liberar Caixa de brinquedos 0.8.1, um análogo do BusyBox, desenvolvido pelo ex-mantenedor do BusyBox e distribuído sob licença BSD. O principal objetivo do Toybox é fornecer aos fabricantes a capacidade de usar um conjunto minimalista de utilitários padrão sem abrir o código-fonte dos componentes modificados. De acordo com as capacidades da Toybox até agora ficando para trás do BusyBox, mas 188 comandos básicos dos 220 planejados já foram implementados.

Dentre as novidades do Toybox 0.8.1 podemos destacar:

  • Foi alcançado um nível de funcionalidade suficiente para construir o Android em um ambiente baseado em utilitários Toybox.
  • Os novos comandos mcookie e devmem estão incluídos, e os comandos tar, gunzip e zcat reescritos são movidos do branch de teste.
  • Uma nova implementação do vi foi proposta para teste.
  • O comando find agora suporta as opções "-wholename/-iwholename".
    "-printf" e "-contexto";

  • Adicionada opção "--exclude-dir" ao grep;
  • Echo agora suporta a opção “-E”.
  • Adicionado suporte "UUID" para montagem.
  • O comando date agora leva em consideração o fuso horário especificado na variável de ambiente TZ.
  • Adicionado suporte para intervalos relativos (+N) ao sed.
  • Legibilidade aprimorada da saída ps, top e iotop.

Fonte: opennet.ru

Adicionar um comentário