Sortie d'une collection minimaliste d'outils systĂšme BusyBox 1.31.

PrĂ©sentĂ© publication du paquet BusyBox 1.31 avec la mise en Ɠuvre d'un ensemble d'utilitaires UNIX standard, regroupĂ©s sous la forme d'un seul fichier exĂ©cutable et optimisĂ©s pour une consommation minimale des ressources systĂšme, le tout pour une taille de package infĂ©rieure Ă  1 Mo. La premiĂšre version de la nouvelle branche 1.31 est dĂ©signĂ©e comme instable, la stabilisation complĂšte sera assurĂ©e dans la version 1.31.1, qui est attendue dans environ un mois. Le code du projet est distribuĂ© sous licence GPLv2.

Le caractÚre modulaire de BusyBox permet de créer un seul fichier exécutable unifié, contenant un ensemble arbitraire d'utilitaires implémentés dans le package (chaque utilitaire est disponible 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 effectuée. Le package est autonome ; lors de la compilation statique avec uclibc, il suffit de créer quelques fichiers de périphériques dans le répertoire /dev et de préparer des fichiers de configuration pour générer un systÚme fonctionnel sur le noyau Linux. Par rapport à la version précédente 1.30, la consommation de mémoire vive de la compilation standard de BusyBox 1.31 a diminué de 86 octets (de 1008478 à 1008392 octets).

BusyBox est un outil clĂ© dans la lutte contre les violations de la GPL dans les firmwares. Les organisations Software Freedom Conservancy (SFC) et Software Freedom Law Center (SFLC) agissent au nom des dĂ©veloppeurs de BusyBox tant par le biais des tribunaux, que par le biais d'accords extra-judiciaires, ont de nombreuses fois su avoir un impact sur les entreprises ne fournissant pas l'accĂšs au code source des programmes GPL. En mĂȘme temps, l'auteur de BusyBox s'oppose fermement Ă  cette protection, estimant qu'elle nuit Ă  son activitĂ©. Dans la version BusyBox 1.32, les changements suivants sont notĂ©s :

Les modifications apportées dans BusyBox 1.31 sont les suivantes :

  • Ajout de nouvelles commandes : ts (implĂ©mentation du client et du serveur pour le protocole TSP (Time-Stamp Protocol)) et i2ctransfer (crĂ©ation et envoi de messages I2C);
  • Ajout du support des options DHCP 100 (informations sur le fuseau horaire) et 101 (nom du fuseau horaire dans la base de donnĂ©es TZ) pour IPv6;
  • Ajout de la prise en charge des liaisons statiques des noms d'hĂŽtes aux clients dans udhcpd;
  • Les shells ash et hush prennent en charge les littĂ©raux numĂ©riques « BASE#nnnn ». L'implĂ©mentation de la commande ulimit a Ă©tĂ© mise en conformitĂ© avec bash, y compris l'ajout des options « -i RLIMIT_SIGPENDING » et « -q RLIMIT_MSGQUEUE ». Ajout du support de « wait -n ». Des variables compatibles avec bash ont Ă©tĂ© ajoutĂ©es, telles que EPOCH;
  • Dans le shell hush, la variable « $- » a Ă©tĂ© implĂ©mentĂ©e, dans laquelle sont Ă©numĂ©rĂ©es les options activĂ©es par dĂ©faut du shell;
  • Dans bc, le code a Ă©tĂ© transfĂ©rĂ© depuis upstream pour le passage de valeurs par rĂ©fĂ©rence, ajout du support des fonctions void et possibilitĂ© de travailler avec des valeurs ibase jusqu'Ă  36;
  • Dans brctl, toutes les commandes ont Ă©tĂ© transfĂ©rĂ©es pour fonctionner avec le pseudo-systĂšme de fichiers /sys;
  • Le code des utilitaires fsync et sync a Ă©tĂ© unifiĂ©;
  • ImplĂ©mentation amĂ©liorĂ©e de httpd. Traitement amĂ©liorĂ© des en-tĂȘtes HTTP et fonctionnement en mode proxy. SVG et JavaScript ont Ă©tĂ© ajoutĂ©s Ă  la liste des types MIME ;
  • Dans losetup, une option « -c » (vĂ©rification forcĂ©e de la taille du fichier associĂ© Ă  l'appareil en boucle) a Ă©tĂ© ajoutĂ©e, ainsi qu'une option pour scanner les partitions. Le support de l'utilisation de /dev/loop-control a Ă©tĂ© assurĂ© dans mount et losetup ;
  • Dans ntpd, la valeur SLEW_THRESHOLD a Ă©tĂ© augmentĂ©e de 0.125 Ă  0.5 ;
  • Dans sysctl, la prise en charge de l'attribution de valeurs vides a Ă©tĂ© ajoutĂ©e ;
  • Dans watch, la prise en charge des valeurs fractionnaires dans l'option « -n SEC » a Ă©tĂ© ajoutĂ©e ;
  • Ajout de la possibilitĂ© de lancer mdev en tant que processus en arriĂšre-plan ;
  • Dans l'utilitaire wget, un drapeau « -o » a Ă©tĂ© implĂ©mentĂ© pour spĂ©cifier le fichier de journalisation. Des notifications sur le dĂ©but et la fin des tĂ©lĂ©chargements ont Ă©tĂ© ajoutĂ©es ;
  • Dans telnetd, le support de la commande AYT IAC a Ă©tĂ© ajoutĂ© ;
  • Dans vi, la commande ‘dG’ (suppression du contenu de la ligne actuelle Ă  la fin du fichier) a Ă©tĂ© ajoutĂ©e ;
  • Dans la commande dd, une option ‘oflag=append’ a Ă©tĂ© ajoutĂ©e ;
  • Dans l'utilitaire top, un drapeau ‘-H’ a Ă©tĂ© ajoutĂ© pour activer le mode de balayage des threads individuels.

De plus, il y a deux semaines a eu lieu la sortie Toybox 0.8.1, un analogue de BusyBox, dĂ©veloppĂ© par un ancien mainteneur de BusyBox et distribuĂ© sous licence BSD. La principale vocation de Toybox est de fournir aux fabricants la possibilitĂ© d'utiliser un ensemble minimaliste d'outils standard sans divulguer les codes source des composants modifiĂ©s. En termes de fonctionnalitĂ©s, Toybox reste pour l'instant en retard de BusyBox, mais 188 commandes de base sur les 220 prĂ©vues ont dĂ©jĂ  Ă©tĂ© mises en Ɠuvre.

Parmi les nouveautés de Toybox 0.8.1, on peut noter :

  • Un niveau de fonctionnalitĂ© a Ă©tĂ© atteint, suffisant pour compiler Android dans un environnement basĂ© sur les utilitaires Toybox.
  • De nouvelles commandes mcookie et devmem ont Ă©tĂ© ajoutĂ©es, et les commandes tar, gunzip et zcat réécrites ont Ă©tĂ© transfĂ©rĂ©es Ă  la branche de test.
  • Une nouvelle implĂ©mentation de vi a Ă©tĂ© proposĂ©e pour les tests.
  • Dans la commande find, la prise en charge des options « -wholename/-iwholename » a Ă©tĂ© ajoutĂ©e,
    « -printf » et « -context » ;
  • Dans grep, l'option « —exclude-dir » a Ă©tĂ© ajoutĂ©e ;
  • Dans echo, le support de l'option « -E » a Ă©tĂ© ajoutĂ©.
  • Dans mount, la prise en charge de « UUID » a Ă©tĂ© ajoutĂ©e.
  • Dans la commande date, la prise en compte du fuseau horaire dĂ©fini dans la variable d'environnement TZ a Ă©tĂ© ajoutĂ©e.
  • Dans sed, le support des plages relatives (+N) a Ă©tĂ© ajoutĂ©.
  • AmĂ©lioration de la lisibilitĂ© des sorties ps, top et iotop.

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