web-dev-qa-db-fra.com

Toute option de remplacement GNU corutils sur Linux?

J'ai envisagé d'interrompre l'utilisation de GNU Coreutils sur mes systèmes Linux, mais pour être honnête, contrairement à de nombreux autres GNU Composants, je ne peux pas Pensez à toutes les alternatives (sur Linux) . Quelles alternatives sont là à GNU corutils? Aurai-je besoin de plus d'un Emballage? Les liens vers le projet sont un point indispensable, des points bonus pour nommer des packages de distribution.

Veuillez également ne pas suggérer des choses à moins que vous sait connaître Ils fonctionnent sous Linux et peuvent faire référence à des instructions. Je doute que je vais bientôt changer les noyaux, et je suis beaucoup trop paresseux pour tout ce qui nuit au-delà d'une ligne directe ./configure; make; make install. Je ne vais certainement pas pirater c pour cela.

( AVERTISSEMENT: Si votre distribution utilise des coreutils les supprimer pourrait briser la façon dont vos fonctions de distribution . Cependant ne pas les avoir d'être d'abord dans votre $PATH ne devrait pas casser les choses, car la plupart des scripts devraient utiliser des chemins absolus.

21
xenoterracide

busybox le favori des systèmes Linux embarqués.

Busybox combine des versions minuscules de nombreux utilitaires UNIX communs en une seule petite exécutable. Il fournit des remplacements pour la plupart des utilitaires que vous trouvez généralement dans GNU FileTutils, shillutils, etc. Les utilitaires dans Bupérybox ont généralement moins d'options que leur intégralité GNU Les cousins; Cependant, les options incluses fournissent la fonctionnalité attendue et se comportent beaucoup comme leur GNU Contreparts. Bupéra-Busybox fournit un environnement assez complet pour tout système petit ou intégré.
Busybox a été écrit avec une optimisation de la taille et des ressources limitées à l'esprit. Il est également extrêmement modulaire afin que vous puissiez facilement inclure ou exclure des commandes (ou des fonctionnalités) au moment de la compilation. Cela facilite la personnalisation de vos systèmes embarqués. Pour créer un système de travail, ajoutez simplement des nœuds de périphérique dans/dev, quelques fichiers de configuration dans/etc. et un noyau Linux.

Vous pouvez plutôt faire un nom de Coreutil un lien vers le binaire binaire et cela fonctionnera. Vous pouvez également courir busybox <command> et cela fonctionnera. Exemple: si vous êtes sur Gentoo et que vous n'avez pas encore installé votre vi pour le moment, vous pouvez exécuter busybox vi filename Et vous serez dans VI. C'est

16
xenoterracide

C'est un sujet plus âgé, je me rends compte. Cependant, cette solution n'a jamais été mentionnée et se présente relativement élevée sur Google pour "Linux avec BSD Userland".

Il y a une autre solution: héritage. Je sais que cela fonctionne sur la voûte, et il est emballé dans l'Aur (regardez GNU2SYSV, par exemple). Cela remplacera le package Coreutils d'Arch et fournira les équivalents d'héritage. Vous pouvez lire sur le tout sur le wiki de l'arc: https://wiki.archlinux.org/index.php/base2heirloom

5
bbenne10

Vérifiez tils .

Il s'agit d'une mise en oeuvre de la plate-forme croisée du GNU CARUTILILS qui est écrite dans la rouille. C'est MIT = licencié. Au moment de la rédaction de cette réponse, il n'est pas 100 ℅ Complet (manquant certains cruciaux comme ls et cp), mais de nombreux autres sont terminés.

2
Russ

Habituellement, lorsque quelqu'un demande de s'éloigner de quelque chose qui est à usage généralisé, bien testé, vérifié sur de nombreuses plateformes, c'est une expression extérieure d'un problème sous-jacent appelé "odeur de code" et l'accumulation incontrôlée de "dette technique" ou " dette". Le GNU archive avait construit une quantité de dette de code assez importante au fil des ans et, lorsqu'un codeBase n'est pas correctement maintenu, cela peut atteindre un point de rupture (code hérité et même le code hérité morbide) .

Normalement, on procéderait à un processus de réingénierie et de refactorisation à des intervalles pour le maintenir sous contrôle. Donc, la vraie question qui est posée ici est de savoir si une version refouturée de Coreutils a été développée. Ceci, bien sûr, inclut la possibilité d'un remplacement totalement (comme cas particulier) - un peu comme Wayland est en train d'être lancé pour être pour X ... Bon nombre de ses développeurs venaient tout droit hors du camp X.

Ma suggestion est d'aller réellement entrer et refacteur Coreutils. Quelqu'un doit le faire. Et quiconque soulève la question du remplacement de Coreutils - votre idée de votre projet.

À cette fin, profitez de toute l'automatisation que vous pouvez trouver: les moteurs de refactorisation, tels que CSCout, ou tout ce qui applique des méthodes d'analyse/de synthèse plus avancées (par exemple, des treillis conceptuels formels). Mais une analyse approfondie est toujours une zone de recherche active relativement nouvelle et ouverte - et traverse une intelligence artificielle. (Un ingénieur logiciel de robot.)

La plupart des utilitaires devraient déjà avoir des suites de test en place. La validation peut donc être effectuée avec des modifications progressives étape par étape + des étapes de test de régression automatisées; qui peut aller assez vite (par exemple 10 ou plusieurs mises à jour de révision/jour). Une complication à ce processus se produit s'il existe des dépendances logicielles matérielles ou de bas niveau n'importe où dans la suite logicielle; Depuis cela implique une validation sur plusieurs plates-formes. Je ne sais pas une grande partie de cela, il y a dans Coreutils; Il devrait y avoir une sorte de séparation à partir des couches logicielles matérielles ou de bas niveau (par exemple, le nombre d'endroits où Cartutils sait quoi type du système de fichiers qu'il est activé ou mieux, zéro. ) Les émulateurs et les machines virtuelles, mise à profit à des fins de test multi-plateformes, ont des limites. Par exemple, Mac OS X est spécifiquement conçu de manière à gêner la capacité d'émuler ou VM IT.

0
Rock Brentwood

Je suppose que vous auriez eu du mal à vous débarrasser de GNU Coreutils, cependant, il y a toujours les outils BSD équivalents, bien qu'ils ne présentent pas de remplaçants pour le GNU Outils.

0
jsbillings