Sortie de la version minimaliste du paquet d'outils système BusyBox 1.35

La version 1.35 de BusyBox a été lancée, comprenant un ensemble d'utilitaires UNIX standard, regroupés dans un unique fichier exécutable et optimisés pour un minimum de consommation de ressources système, le tout avec une taille inférieure à 1 Mo. La première sortie de la nouvelle branche 1.35 est présentée comme instable, la stabilisation complète sera assurée dans la version 1.35.1, attendue dans environ un mois. Le code du projet est distribué sous la licence GPLv2.

La nature modulaire de BusyBox permet de créer un unique fichier exécutable, contenant un ensemble arbitraire d'utilitaires présents dans le package (chaque utilitaire étant accessible sous forme de lien symbolique vers ce fichier). La taille, la composition et la fonctionnalité de la collection d'utilitaires peuvent varier en fonction des besoins et des capacités de la plateforme embarquée pour laquelle la compilation est réalisée. Le package est autonome ; pour une compilation statique avec uclibc, il suffit de créer quelques fichiers de périphérique dans le répertoire /dev et de préparer des fichiers de configuration pour créer un système opérationnel au-dessus du noyau Linux. Comparé à la version précédente 1.34, la consommation de mémoire vive d'une compilation standard de BusyBox 1.35 a augmenté de 1726 octets (de 1042344 à 1044070 octets).

BusyBox est un outil principal dans la lutte contre les violations de la GPL dans les firmwares. Les organisations Software Freedom Conservancy (SFC) et Software Freedom Law Center (SFLC) ont, au nom des développeurs de BusyBox, à plusieurs reprises exercé des pressions réussies sur les entreprises qui ne fournissent pas d'accès au code source des programmes sous GPL, que ce soit par voie judiciaire ou par des accords extrajudiciaires. En même temps, l'auteur de BusyBox s'oppose vivement à cette protection, considérant qu'elle nuit à son entreprise.

Les changements suivants sont mis en évidence dans la version 1.35 de BusyBox :

  • Dans l'utilitaire find, l'option « -samefile nom » a été implémentée pour vérifier si un fichier utilise le même inode que celui du fichier spécifié. Le code pour la comparaison des temps a été unifié et des options « -amin », « -atime », « -cmin » et « -ctime » ont été ajoutées pour vérifier les temps d'accès et de création de fichier.
  • L'utilitaire mktemp a ajouté l'option « —tmpdir » pour spécifier le répertoire de base à partir duquel les chemins relatifs aux fichiers temporaires sont calculés.
  • L'utilitaire cpio a ajouté les options « —ignore-devno » pour ignorer le numéro de périphérique réel (enregistré sous 0) et « —renumber-inodes » pour renuméroter les inodes avant de les placer dans l'archive.
  • Dans l'utilitaire awk, le fonctionnement de l'expression « printf %% » a été stabilisé.
  • Environ une dizaine de modifications ont été apportées à la bibliothèque libbb. La compatibilité de realpath a été améliorée avec l'analogue du package coreutils.
  • Une grande série de corrections a été proposée pour les interprètes de commandes ash et hush, visant à améliorer la compatibilité avec d'autres interprètes. Dans ash, la prise en charge des traps ERR de style bash, de set -E et de $FUNCNAME a été ajoutée, et l'extraction de chaînes a été accélérée par l'utilisation de l'expression «${s:}». Dans ash et hush, l'exécution des opérations «${x///*/|}» a été accélérée.
  • Dans l'outil basename, des options «-a» pour passer plusieurs noms en une seule invocation et «-s SUFFIX» pour supprimer les caractères de suffixe «SUFFIX» ont été mises en œuvre.
  • L'outil blkdiscard a ajouté l'option «-f» (force).
  • Dans httpd, l'envoi des en-têtes Last-Modified / ETag / Content-Length pour les pages d'erreur a été arrêté.
  • Dans httpd et telnetd, la possibilité de modifier le port réseau par défaut a été fournie.
  • Dans tar, une vulnérabilité entraînant l'utilisation de toute la mémoire disponible lors du traitement d'archives avec des noms de fichiers très longs a été corrigée.
  • Le code TLS a refait l'implémentation de P256 et x25519.
  • Dans l'outil wget, l'option «—post-file» a été mise en œuvre pour envoyer des fichiers et il est désormais possible de configurer le contenu de l'en-tête Content-Type pour les options «—post-data» et «—post-file».
  • L'outil timeout a ajouté la prise en charge de l'option «-k KILL_SECS» pour envoyer le signal SIGKILL si la commande ne se termine pas dans les KILL_SECS supplémentaires.
  • L'outil ip a ajouté la prise en charge du paramètre netns pour les dispositifs.
  • Dans l'outil cal, l'option «-m» a été mise en œuvre pour afficher le mois spécifié.
  • Dans les outils date et touch, il est désormais possible d'indiquer le décalage horaire dans les dates.
  • Dans l'éditeur vi, la prise en charge du fichier ~/ .exrc a été ajoutée, avec un changement dans le traitement de «-c» et EXINIT.
  • Dans l'outil ed, le résultat des commandes read/write a été mis en conformité avec la spécification POSIX-1.2008. L'option «-p» a été ajoutée.
  • Dans l'outil cmp, l'option «-n N» a été ajoutée pour limiter la comparaison à N octets.

De plus, il y a quelques jours, la version 0.8.6 de Toybox, un équivalent de BusyBox, a été publiée. Développé par un ancien mainteneur de BusyBox et distribué sous licence 0BSD, Toybox a pour objectif principal de permettre aux fabricants d'utiliser un ensemble minimaliste d'outils standard sans ouvrir les sources des composants modifiés. En termes de fonctionnalités, Toybox est encore à la traîne par rapport à BusyBox, mais compte déjà 296 commandes de base (217 entièrement et 83 partiellement) sur 374 prévues.

Parmi les nouveautés de Toybox 0.8.6, on peut noter l'amélioration des scripts pour la création d'images système, l'ajout des commandes sha256sum, sha224sum, sha384sum, sha512sum, linux32, strace et hexdump. Des options telles que « date -s », « pmap -p », « tail -F -s », « kill -0″, reboot/halt/poweroff -d », « tail —bytes —lines », « i2cdetect -q », « find -quit -lname -ilname -d », « cut -d $’\n' », « cut -nb », « cpio —ignore-devno —renumber-inodes », « tar —selinux », « split -n », « grep -L » ont été mises en œuvre.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster