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

Introduzido lançamento de pacote Caixa Ocupada 1.32 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.32 está posicionada como instável, a estabilização completa será fornecida na versão 1.32.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, composição e 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 dispositivo no diretório /dev e preparar arquivos de configuração. Comparado com a versão anterior 1.31, o consumo de RAM do conjunto típico do BusyBox 1.32 aumentou em 3590 bytes (de 1011750 para 1015340 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.32:

  • Novo comando adicionado MIM para executar skippts de um determinado Mimfile (um pouco reminiscente de um utilitário make simplificado);
  • O utilitário find adicionou a opção “-empty” para verificar arquivos vazios;
  • No utilitário wget, o limite do número de redirecionamentos foi ampliado e o suporte para verificação de certificados TLS com ENABLE_FEATURE_WGET_OPENSSL foi implementado;
  • Adicionado suporte correto para uma lista de padrões (pattern_list) ao grep e adicionada a opção “-R” (processamento recursivo do conteúdo do diretório);
  • Resolveu problemas que ocorreram durante a construção no Clang 9 e eliminou avisos do compilador;
  • Um grande número de correções foram propostas para os shells de comando ash e hush, com o objetivo de melhorar a compatibilidade com outros shells. A capacidade de preencher automaticamente comandos integrados com guias foi adicionada ao ash e ao silêncio. Novos comandos integrados foram estabilizados em cinzas.
  • O utilitário fdisk agora suporta partições HFS e HFS+;
  • o init melhorou o tratamento das condições de corrida quando os sinais são recebidos;
  • Para o utilitário para monitoramento visual dos parâmetros do sistema nmímetro adicionado formato de saída "%NT" (tempo alinhado com zeros);
  • A capacidade de processar e exibir uma lista de CPUs foi adicionada ao conjunto de tarefas (opção “-c”);
  • No tar, foi alterado o comportamento da opção "-a", que, ao invés de habilitar a compactação "lzma", agora está associada à autodetecção por extensão de arquivo;
  • Udhcpc6 adicionou suporte para o "sem estado» para DHCPv6 (o servidor envia apenas parâmetros de rede, sem atribuir endereço);
  • nslookup agora oferece suporte ao processamento de respostas sem registros RR e adiciona suporte para registros SRV;
  • Novos comandos "showmacs" e "showstp" foram adicionados ao brctl;
  • Adicionado suporte para o parâmetro "relay server" ao dhcpc;
  • Adicionada configuração ao syslogd para exibir a hora com precisão de milissegundos;
  • No httpd, ao executar no modo NOMMU, é permitido definir um diretório inicial diferente e a opção '-h' funciona ao executar um processo em segundo plano;
  • xargs melhorou o tratamento de argumentos entre aspas e garantiu o comportamento correto da opção “-n”;
  • Bugs corrigidos nos utilitários grep, top, dc, gzip, awk, bc, ntpd, pidof, stat, telnet, tftp, whois, unzip, chgrp, httpd, vi, route.

Além disso, no mês passado aconteceu liberar Caixa de brinquedos 0.8.3, 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 272 comandos básicos já foram implementados (204 completamente e 68 parcialmente) dos 343 planejados.

Dentre as novidades do Toybox 0.8.3 podemos destacar:

  • Adicionados novos comandos rtcwake, blkdiscard, getopt e readelf;
  • “make root” fornece a capacidade de criar um ambiente de inicialização funcional baseado apenas no kernel Linux e nos utilitários Toybox, que podem ser carregados usando seu próprio script de inicialização;
  • Adicionado suporte inicial para módulos com implementações separadas de utilitários que não estão incluídos no ToyBox principal;
  • O interpretador de comandos Toysh está 80% pronto (ainda não há suporte para funções, histórico, gerenciamento de terminal, jobs, $((math)), templates);
  • Adicionado suporte para opções adicionais para vários utilitários, incluindo patch, cal, cp, mv, lsattr, chattr, ls, id, netcat e setsid.

Fonte: opennet.ru

Adicionar um comentário