Sortie d'un ensemble minimaliste d'utilitaires système BusyBox 1.34

La version du package BusyBox 1.34 est présentée avec la mise en œuvre d'un ensemble d'utilitaires UNIX standard, conçus comme un fichier exécutable unique et optimisé pour une consommation minimale de ressources système avec une taille définie inférieure à 1 Mo. La première version de la nouvelle branche 1.34 se positionne comme instable ; une stabilisation complète sera assurée dans la version 1.34.1, attendue dans environ un mois. Le code du projet est distribué sous licence GPLv2.

La nature modulaire de BusyBox permet de créer un fichier exécutable unifié contenant un ensemble arbitraire d'utilitaires implémentés dans le package (chaque utilitaire est disponible sous la forme d'un lien symbolique vers ce fichier). La taille, la composition et la fonctionnalité de l'ensemble d'utilitaires peuvent varier en fonction des besoins et des capacités de la plate-forme embarquée pour laquelle l'assemblage est effectué. Le package est autonome ; lorsqu'il est construit de manière statique avec uclibc, pour créer un système fonctionnel au-dessus du noyau Linux, il vous suffit de créer plusieurs fichiers de périphérique dans le répertoire /dev et de préparer les fichiers de configuration. Par rapport à la version précédente 1.33, la consommation de RAM de l'assemblage typique de BusyBox 1.34 a augmenté de 9620 1032724 octets (de 1042344 XNUMX XNUMX à XNUMX XNUMX XNUMX octets).

BusyBox est le principal outil de lutte contre les violations de la GPL dans le firmware. Le Software Freedom Conservancy (SFC) et le Software Freedom Law Center (SFLC), au nom des développeurs de BusyBox, ont réussi à influencer à plusieurs reprises les entreprises qui ne donnent pas accès au code source des programmes GPL, tant devant les tribunaux qu'à l'extérieur. -les accords judiciaires. Dans le même temps, l'auteur de BusyBox s'oppose fermement à une telle protection, estimant qu'elle ruine son entreprise.

Les changements suivants sont mis en évidence dans BusyBox 1.34 :

  • Ajout d'un nouvel utilitaire ascii avec un tableau interactif des noms de caractères ASCII.
  • Ajout d'un nouvel utilitaire crc32 pour calculer les sommes de contrôle.
  • Le serveur http intégré prend en charge les méthodes DELETE, PUT et OPTIONS.
  • Udhcpc offre la possibilité de modifier le nom de l'interface réseau par défaut.
  • L'implémentation des protocoles TLS prend désormais en charge les courbes elliptiques secp256r1 (P256)
  • Le développement des obus de commande Ash et Hush s'est poursuivi. En silence, la gestion de la commande ^D a été alignée sur le comportement de ash et bash, la construction $'str' spécifique à bash a été implémentée et les opérations de remplacement ${var/pattern/repl} ont été optimisé.
  • Une grande partie des corrections et améliorations ont été apportées à l'implémentation de l'utilitaire awk.
  • Ajout de l'option "-i" aux utilitaires base32 et base64 pour ignorer les caractères non valides.
  • Dans les utilitaires bc et dc, la gestion des variables d'environnement BC_LINE_LENGTH et DC_LINE_LENGTH est proche de celle des utilitaires GNU.
  • Ajout des options --getra et --setra à l'utilitaire blockdev.
  • L'option "-p" a été ajoutée aux utilitaires chattr et lsattr. lsattr a augmenté le nombre d'indicateurs FS ext2 pris en charge.
  • Les options « -n » (désactiver l'écrasement) et « -t DIR » (spécifier le répertoire cible) ont été ajoutées à l'utilitaire cp.
  • Dans cpio, la construction « cpio -d -p A/B/C » a été ajustée.
  • L'option « -t TYPE » a été ajoutée à l'utilitaire df (limitant la sortie à un type de fichier spécifique).
  • Ajout de l'option -b à l'utilitaire du (équivalent à '—apparent-size —block-size=1').
  • Ajout de l'option « -0 » à l'utilitaire env (terminant chaque ligne par un caractère avec le code zéro).
  • L'option «-h» (sortie lisible) a été ajoutée à l'utilitaire gratuit.
  • Ajout de l'option "-t" (ignorer les échecs) à l'utilitaire ionice.
  • L'utilitaire de connexion prend désormais en charge la variable d'environnement LOGIN_TIMEOUT.
  • Ajout des options "-t" (spécifiez le répertoire cible à déplacer) et "-T" (traitez le deuxième argument comme un fichier) à l'utilitaire mv.
  • L'option "-s SIZE" (nombre d'octets à effacer) a été ajoutée à l'utilitaire shred.
  • L'option "-a" a été ajoutée à l'utilitaire tâches (appliquer l'affinité CPU pour tous les threads de processus).
  • Les utilitaires timeout, top, watch et ping prennent désormais en charge les valeurs non entières (NN.N).
  • L'option "-z" a été ajoutée à l'utilitaire uniq (utilisez le caractère codé zéro comme délimiteur).
  • L'option «-t» (vérification d'archive) a été ajoutée à l'utilitaire de décompression.
  • L'éditeur vi permet l'utilisation d'expressions régulières dans la commande ':s'. Ajout de l’option expandtab. Implémentations améliorées pour se déplacer entre les paragraphes, sélectionner des plages et annuler les modifications.
  • L'utilitaire xxd implémente les options -i (sortie de style C) et -o DISPLAYOFFSET.
  • L'utilitaire wget permet de traiter les codes HTTP 307/308 pour les redirections. Ajout de l'option FEATURE_WGET_FTP pour activer/désactiver la prise en charge FTP.
  • Ajout de l'option "iflag=count_bytes" à l'utilitaire dd.
  • L'utilitaire cut implémente les options compatibles avec la toybox « -O OUTSEP », « -D » et « -F LIST ».

Source: opennet.ru

Ajouter un commentaire