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

Introduit version du paquet Occupé Box 1.32 avec la mise en œuvre d'un ensemble d'utilitaires UNIX standards, 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.32 se positionne comme instable, une stabilisation complète sera assurée dans la version 1.32.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.31, la consommation de RAM de l'assemblage typique de BusyBox 1.32 a augmenté de 3590 1011750 octets (de 1015340 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, tous deux par l'intermédiaire de суд, et de cette façon des conclusions les accords à l'amiable ont réussi à influencer à plusieurs reprises les entreprises qui ne donnent pas accès au code source des programmes GPL. Parallèlement, l'auteur de BusyBox fait de son mieux pour objets contre une telle protection - estimant que cela ruine son entreprise.

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

  • Nouvelle commande ajoutée moi pour exécuter des skippts à partir d'un Mimfile donné (qui rappelle un peu un utilitaire make simplifié) ;
  • L'utilitaire de recherche a ajouté l'option « -empty » pour rechercher les fichiers vides ;
  • Dans l'utilitaire wget, la limite du nombre de redirections a été étendue et la prise en charge de la vérification des certificats TLS avec ENABLE_FEATURE_WGET_OPENSSL a été implémentée ;
  • Ajout du support correct pour une liste de modèles (pattern_list) à grep et ajout de l'option « -R » (traitement récursif du contenu du répertoire) ;
  • Résolution des problèmes survenus lors de la construction dans Clang 9 et élimination des avertissements du compilateur ;
  • Un grand nombre de correctifs ont été proposés pour les shells de commande ash et hush, visant à améliorer la compatibilité avec d'autres shells. La possibilité de compléter automatiquement les commandes intégrées avec des onglets a été ajoutée à Ash and Hush. Les nouvelles commandes intégrées ont été stabilisées dans les cendres.
  • L'utilitaire fdisk prend désormais en charge les partitions HFS et HFS+ ;
  • init a amélioré la gestion des conditions de course lorsque les signaux sont reçus ;
  • Vers l'utilitaire de surveillance visuelle des paramètres du système nmètre ajout du format de sortie "%NT" (temps aligné sur les zéros) ;
  • La possibilité de traiter et d'afficher une liste de processeurs a été ajoutée à l'ensemble de tâches (option « -c ») ;
  • Dans tar, le comportement de l'option "-a" a été modifié, qui, au lieu d'activer la compression "lzma", est désormais associée à la détection automatique par extension de fichier ;
  • Udhcpc6 a ajouté la prise en charge du "apatride» pour DHCPv6 (le serveur envoie uniquement des paramètres réseau, sans attribuer d'adresse) ;
  • nslookup prend désormais en charge le traitement des réponses sans enregistrements RR et ajoute la prise en charge des enregistrements SRV ;
  • De nouvelles commandes « showmacs » et « showstp » ont été ajoutées à brctl ;
  • Ajout de la prise en charge du paramètre « serveur relais » pour DHCP ;
  • Ajout d'un paramètre à syslogd pour afficher l'heure avec une précision à la milliseconde ;
  • Dans httpd, lors de l'exécution en mode NOMMU, la définition d'un répertoire personnel différent est autorisée et l'option « -h » fonctionne lors de l'exécution d'un processus en arrière-plan ;
  • xargs a amélioré la gestion des arguments entre guillemets et a assuré le comportement correct de l'option « -n » ;
  • Correction de bugs dans les utilitaires grep, top, dc, gzip, awk, bc, ntpd, pidof, stat, telnet, tftp, whois, unzip, chgrp, httpd, vi, route.

Aussi, le mois dernier a eu lieu libération Coffre à jouets 0.8.3, un analogue de BusyBox, développé par l'ancien mainteneur de BusyBox et distribué sous licence BSD. L'objectif principal de Toybox est de fournir aux fabricants la possibilité d'utiliser un ensemble minimaliste d'utilitaires standards sans ouvrir le code source des composants modifiés. Selon les capacités de Toybox jusqu'à présent en retard de BusyBox, mais 272 commandes de base ont déjà été implémentées (204 complètement et 68 partiellement) sur 343 prévues.

Parmi les innovations de Toybox 0.8.3 on peut noter :

  • Ajout de nouvelles commandes rtcwake, blkdiscard, getopt et readelf ;
  • « make root » offre la possibilité de créer un environnement de démarrage fonctionnel basé uniquement sur le noyau Linux et les utilitaires Toybox, qui peuvent être chargés à l'aide de son propre script d'initialisation ;
  • Ajout de la prise en charge initiale des modules avec des implémentations distinctes d'utilitaires qui ne sont pas inclus dans la ToyBox principale ;
  • L'interpréteur de commandes toysh est prêt à 80 % (il n'y a pas encore de support pour les fonctions, l'historique, la gestion des terminaux, les travaux, $((math)), les modèles) ;
  • Ajout de la prise en charge d'options supplémentaires pour divers utilitaires, notamment patch, cal, cp, mv, lsattr, chattr, ls, id, netcat et setsid.

Source: opennet.ru

Ajouter un commentaire