Sortie du jeu d'outils système minimalistes BusyBox 1.34

La version 1.34 de BusyBox a été publiée, contenant un ensemble d'outils UNIX standard, regroupés dans un fichier exécutable unique et optimisés pour une consommation minimale des ressources système, avec une taille inférieure à 1 Mo. La première version de la nouvelle branche 1.34 est positionnée comme instable, la stabilisation complète sera assurée dans la version 1.34.1, qui est 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 fichier exécutable unifié contenant un ensemble aléatoire d'outils disponibles dans le paquet (chaque outil est accessible sous forme de lien symbolique vers ce fichier). La taille, la composition et la fonctionnalité de la collection d'outils peuvent varier en fonction des besoins et des capacités de la plateforme embarquée pour laquelle la compilation est réalisée. Le paquet est autonome ; lors d'une compilation statique avec uclibc, il suffit de créer quelques fichiers périphériques dans le répertoire /dev et de préparer les fichiers de configuration pour créer un système fonctionnel au-dessus du noyau Linux. Par rapport à la version précédente 1.33, la consommation de mémoire vive d'une compilation typique de BusyBox 1.34 a augmenté de 9620 octets (passant de 1032724 à 1042344 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 dans la version 1.34 de BusyBox sont les suivants :

  • Ajout d'un nouvel outil ascii avec une table interactive des noms des caractères ASCII.
  • Ajout d'un nouvel outil crc32 pour le calcul des sommes de contrôle.
  • Le serveur http intégré prend en charge les méthodes DELETE, PUT et OPTIONS.
  • Dans udhcpc, il est désormais possible de changer le nom de l'interface réseau par défaut.
  • Le support des courbes elliptiques secp256r1 (P256) a été ajouté à l'implémentation des protocoles TLS.
  • Le développement des shells ash et hush a été poursuivi. Dans hush, le traitement de la commande ^D a été aligné sur le comportement d'ash et bash, et la construction spécifique à bash $’str’ a été mise en œuvre, optimisant ainsi les opérations de remplacement ${var/pattern/repl}.
  • Un grand nombre de correctifs et d'améliorations ont été apportés à l'implémentation de l'outil awk.
  • Les outils base32 et base64 ont été dotés de l'option « -i » pour ignorer les caractères incorrects.
  • Dans les outils bc et dc, le traitement des variables d'environnement BC_LINE_LENGTH et DC_LINE_LENGTH a été rapproché des outils GNU.
  • Des options —getra et —setra ont été ajoutées à l'outil blockdev.
  • Les outils chattr et lsattr ont reçu l'option « -p ». Dans lsattr, le nombre de drapeaux pris en charge pour le système de fichiers ext2 a été étendu.
  • Des options « -n » (interdiction d'écraser) et « -t DIR » (définition du répertoire cible) ont été ajoutées à l'outil cp.
  • La construction « cpio -d -p A/B/C » a été mise en œuvre dans cpio.
  • Une option « -t TYPE » (limitation de la sortie à un type de système de fichiers spécifique) a été ajoutée à l'outil df.
  • Une option -b (équivalent de ‘—apparent-size —block-size=1’) a été ajoutée à l'outil du.
  • Une option « -0 » (terminaison de chaque ligne par un caractère nul) a été ajoutée à l'outil env.
  • Une option « -h » (sortie au format lisible) a été ajoutée à l'outil free.
  • Une option « -t » (ignorer les échecs) a été ajoutée à l'outil ionice.
  • La prise en charge de la variable d'environnement LOGIN_TIMEOUT a été implémentée dans l'outil login.
  • Des options « -t » (définition du répertoire cible pour le déplacement) et « -T » (traitement du deuxième argument comme un fichier) ont été ajoutées à l'outil mv.
  • Une option « -s SIZE » (nombre de bytes à effacer) a été ajoutée à l'outil shred.
  • Une option « -a » (application de l'affinité CPU à tous les threads du processus) a été ajoutée à l'outil taskset.
  • Les outils timeout, top, watch et ping prennent désormais en charge les valeurs non entières (NN.N).
  • Une option « -z » (utilisation du caractère nul comme délimiteur) a été ajoutée à l'outil uniq.
  • Une option « -t » (vérification de l'archive) a été ajoutée à l'outil unzip.
  • L'utilisation des expressions régulières dans la commande ‘:s’ est désormais autorisée dans l'éditeur vi. Un paramètre expandtab a été ajouté. Les implémentations de déplacement entre paragraphes, de sélection de plages et de retour en arrière ont été améliorées.
  • Les options -i (sortie en style C) et « -o DISPLAYOFFSET » ont été mises en œuvre dans l'outil xxd.
  • L'outil wget a été mis à jour pour gérer les codes HTTP 307/308 pour les redirections. Une option FEATURE_WGET_FTP a été ajoutée pour activer/désactiver la prise en charge FTP.
  • Une option « iflag=count_bytes » a été ajoutée à l'outil dd.
  • Des options « -O OUTSEP », « -D » et « -F LIST », compatibles avec l'outil toybox, ont été mises en œuvre dans l'outil cut.

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