Jai pensé à arrêter lutilisation de GNU Coreutils sur mes systèmes Linux, mais pour être honnête, contrairement à de nombreux autres composants GNU, je ne peux pas « t pensez à toutes les alternatives (sous Linux) . Quelles alternatives existe-t-il aux coreutils GNU? aurai-je besoin de plus dun colis? Les liens vers le projet sont indispensables, des points bonus pour nommer les packages de distribution.
Veuillez également ne pas suggérer de choses à moins que vous ne sachiez qu’elles fonctionnent sous Linux et que vous pouvez référencer des instructions. I Je doute que je « vais bientôt changer de noyau, et je » suis beaucoup trop paresseux pour quoi que ce soit au-delà dun simple ./configure; make; make install
. Je « ne vais certainement pas pirater C pour cela.
avertissement: si votre distribution utilise des coreutils, les supprimer pourrait interrompre le fonctionnement de votre distribution. Cependant, ne pas les avoir en premier dans vos $PATH
ne devrait pas casser les choses, car la plupart des scripts devraient utiliser des chemins absolus.
Commentaires
- Curieusement, pourquoi cherchez-vous des alternatives?
- @xeno » Plus robuste « ? Gardez également à lesprit que votre système (y compris le noyau) est en grande partie construit avec GCC et dépend de GLibC 🙂
- @xeno Debian utilise actuellement EGLIBC , qui est une sorte de fourchette de GLibC. Mais il suit GLibC de près, donc le diff ain ‘ t aussi grand.
- Clang et tcc pourraient (à un moment donné, de toute façon) compiler le noyau Linux.
- Il y a des gens qui travaillent sur un utilisateur GNU sur un noyau BSD , mais je nai ‘ pas entendu parler de linverse. Il serait vraiment plus facile de changer de noyau. Vous pouvez lessayer dabord dans une VM si vous ‘ tu es timide.
Répondez
busybox
le favori de Systèmes Linux embarqués.
BusyBox combine des versions minuscules de nombreux utilitaires UNIX courants en un seul petit exécutable. Il fournit des remplacements pour la plupart des utilitaires que vous trouvez habituellement dans GNU fileutils, shellutils, etc. Les utilitaires de BusyBox ont généralement moins doptions que leurs cousins GNU complets; cependant, les options incluses fournissent les fonctionnalités attendues et se comportent très bien comme leurs homologues GNU. BusyBox fournit un environnement assez complet pour tout petit système ou système embarqué.
BusyBox a été écrit avec loptimisation de la taille et des ressources limitées à lesprit . Il est également extrêmement modulaire afin que vous puissiez facilement inclure ou exclure des commandes (ou fonctionnalités) au moment de la compilation. Cela facilite la personnalisation de vos systèmes embarqués. Pour créer un système opérationnel, ajoutez simplement quelques nœuds de périphériques dans / dev, quelques fichiers de configuration dans / etc et un noyau Linux.
Vous pouvez à peu près faire de nimporte quel nom de coreutil un lien vers le binaire busybox et cela fonctionnera. vous pouvez également exécuter busybox <command>
et cela fonctionnera. Exemple: si vous « êtes sur Gentoo et navez » pas encore installé votre vi
, vous pouvez exécuter busybox vi filename
et vous serez dans vi . Cest
-
Alpine Linux – basé sur BusyBox et uClibc, voici un aperçu
Commentaires
- nhésitez pas à le modifier avec des liens vers votre distribution
- également, cest un favori sur intégré, donc une alternative ‘ ne sera probablement pas suffisante pour remplacer GNU pour mon environnement de bureau / serveur
- Ceci est la seule solution pratique atm, si vous ne voulez pas ‘ pirater C. Et les versions busybox devraient être assez conforme aux normes.
Answe r
Cest un sujet plus ancien, je men rends compte. Cependant, cette solution na jamais été mentionnée et arrive relativement haut sur Google pour « Linux avec bsd userland ».
Il existe une autre solution: héritage. Je sais que cela fonctionne sur Arch, et il est empaqueté dans lAUR (regardez gnu2sysv, par exemple). Cela remplacera le paquet coreutils dArch et fournira les équivalents dhéritage. Vous pouvez en savoir plus sur le wiki de arch: https://wiki.archlinux.org/index.php/Base2heirloom
Réponse
Découvrez uutils .
Il sagit dune implémentation multiplateforme des coreutils GNU qui est écrite en Rust. Cest une licence MIT.Au moment de la rédaction de cette réponse, elle n’est pas complète à 100 ° (il manque des éléments cruciaux comme ls
et cp
), mais beaucoup d’autres sont terminés.
Réponse
Je pense que vous « auriez du mal à vous débarrasser de GNU Coreutils, cependant, il » s toujours les outils BSD équivalents, bien quils ne soient pas des remplaçants pour les outils GNU.
Commentaires
- comment pourrais-je procéder pour installer BSD outils sur une distribution Linux? où les trouver?
- FreeBSD ‘ lensemble du système dexploitation est disponible via CVS freebsd.org/cgi/cvsweb.cgi/src , cependant, faire compiler le userland BSD sous un noyau Linux serait assez difficile. GNU ‘ s userland est probablement plus portable que BSD, puisque la zone utilisateur de GNU ‘ (au moins au début) a été conçue pour être portable entre plusieurs noyaux.
- ea PITA, assurez-vous quil ‘ est raisonnablement possible que quelquun quelque part lait empaqueté au moins une fois pour Linux.
- Solaris (à partir de 140, quelque chose est également disponible) serait également une option. Si vous utilisez une distribution, vous êtes fou. Arrêter maintenant. Si vous utilisez LFS , allez-y! Samuser! Si vous créez une distribution, japplaudis votre bravoure monsieur.
- Oui, je ‘ ne suis pas sûr que ce soit ‘ est même possible. Il ‘ serait probablement plus facile dinstaller simplement FreeBSD et dactiver la compatibilité Linux. Vous pouvez facilement faire fonctionner les coreutils GNU sous FreeBSD, mais pas linverse.
Réponse
Habituellement, quand quelquun demande à séloigner de quelque chose qui « est largement utilisé, bien testé, vérifié sur de nombreuses plates-formes, cest une expression extérieure dun problème sous-jacent appelé » odeur de code « et laccumulation incontrôlée de » dette technique « ou «code de la dette». Larchive GNU avait accumulé une assez grande dette de code au fil des ans, et quand une base de code nest pas correctement maintenue, elle peut atteindre un point de rupture (code hérité, et même code hérité morbide).
Normalement , on effectuerait un processus de réingénierie et de refactoring à intervalles pour garder cela sous contrôle. Donc, la vraie question qui se pose ici est de savoir si une version refactorisée de coreutils a été développée. Ceci, bien sûr, inclut la possibilité dun remplacement pur et simple (en tant que cas particulier) – tout comme Wayland est proposé pour X … beaucoup de ses développeurs sortent tout droit du camp X.
Ma suggestion est d’entrer et de refactoriser les coreutils. Quelquun doit le faire. Et quiconque soulève la question du remplacement des coreutils – votre idée de votre projet.
Pour cela, profitez de toute lautomatisation que vous pouvez trouver: moteurs de refactorisation, comme cscout, ou tout ce qui applique des méthodes danalyse / synthèse plus avancées (par exemple, treillis de concept formel). Mais lanalyse approfondie est encore un domaine relativement nouveau et ouvert de recherche active – et traverse lintelligence artificielle. (Un ingénieur en logiciel de robot.)
La plupart des utilitaires devraient déjà avoir des suites de tests en place, de sorte que la validation peut être effectuée avec un changement progressif par étapes + des étapes de test de régression automatisées; qui peut aller assez vite (par exemple, 10 mises à jour ou plus par jour). Une complication à ce processus se produit sil existe des dépendances matérielles ou logicielles de bas niveau nimporte où dans la suite logicielle; puisque cela implique une validation sur plusieurs plates-formes. Je ne sais pas grand-chose de ce quil y a dans les coreutils; il devrait y avoir une sorte de séparation entre les couches matérielles ou logicielles de bas niveau (par exemple, le nombre dendroits où les coreutils savent quel type de le système de fichiers sur lequel il se trouve doit être minimal ou, mieux, nul.) Les émulateurs et les machines virtuelles, utilisés à des fins de test multi-plateforme, ont des limites. Par exemple, Mac OS X est spécifiquement conçu de manière à empêcher la pour lémuler ou le VM.
Réponse
Solaris (à partir de svn_140-quelque chose) serait également une option.
Si vous utilisez une distribution, vous êtes fou. Arrêtez maintenant. Cherchez une aide psychiatrique.
Si vous utilisez LFS , Amusez-vous bien!
Si vous faites une distribution, japplaudis votre bravoure monsieur.
Commentaires
- this isn ‘ une question sur » quelle distro » puis-je utiliser, elle
s sur le remplacement de coreutils sous Linux. Sauf si vous ‘ faites référence à opensolaris coreutils? est-ce aussi moins un PITA que loption FreeBSD?
- Le code source dOpenSolaris est juste Solaris. Le code source Solaris jusquà svn_14x a été publié par Sun / Oracle sous CDDL. Il existe essentiellement trois héritages principaux pour les utilisateurs dUnix. » Génétique » Unix (Solaris, AIX, True64, etc., qui provient dAT & T et est en grande partie fermé, mais Solaris a été ouvert pendant un certain temps), BSD (qui est finalement resté sur lui ‘ à partir de 4.4-lite) et GNU. Mais je pense que séloigner de GNU sera tout aussi difficile (ou facile) que vous utilisiez BSD ou Solaris. Ou vous pouvez devenir vraiment ambitieux et créer xenocore-utils 😉