busybox
le favori des systèmes Linux embarqués.
BusyBox combine de petites versions 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 d'options 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 en tenant compte de l'optimisation de la taille et des ressources limitées. Il est également extrêmement modulaire, ce qui vous permet d'inclure ou d'exclure facilement 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 fonctionnel, ajoutez simplement quelques nœuds de périphérique dans /dev, quelques fichiers de configuration dans /etc et un noyau Linux.
Vous pouvez à peu près faire de n'importe quel nom coreutil un lien vers le binaire busybox et cela fonctionnera. vous pouvez également exécuter busybox <command>
et ça marchera. Exemple :si vous êtes sur Gentoo et que vous n'avez pas installé votre vi
pourtant, vous pouvez exécuter busybox vi filename
et vous serez en vi. C'est
-
Arch Linux - communauté/busybox
-
Gentoo Linux - sys-apps/busybox
-
Alpine Linux - basé sur BusyBox et uClibc, voici un aperçu
C'est un sujet plus ancien, je me rends compte. Cependant, cette solution n'a jamais été mentionnée et apparaît relativement élevée sur google pour "Linux avec espace utilisateur bsd".
Il existe une autre solution :l'héritage. Je sais que cela fonctionne sur Arch, et c'est empaqueté dans l'AUR (regardez gnu2sysv, par exemple). Cela remplacera le package coreutils d'Arch et fournira les équivalents hérités. Vous pouvez lire tout sur le wiki d'arch :https://wiki.archlinux.org/index.php/Base2heirloom
Découvrez uutils.
Il s'agit d'une implémentation multiplateforme des coreutils GNU écrite en Rust. Il est sous licence MIT. Au moment de la rédaction de cette réponse, il n'est pas complet à 100 ℅ (il en manque quelques-uns cruciaux comme ls
et cp
), mais beaucoup d'autres sont terminés.