URL: https://linuxfr.org/users/ecolbus/journaux/annonce-manux-0-0-1 Title: Annonce : Manux 0.0.1 Authors: Emmanuel Colbus Date: 2013年08月15日T10:58:44+02:00 Tags: manux_os, système_d'exploitation, sécurité et chroot Score: 72 Bonjour tout le monde! Je voudrais profiter de ce journal pour vous présenter mon projet personnel : [Manux](http://www.manux.info) version 0.0.1. Il s'agit d'un système d'exploitation, pour l'instant très limité, conçu pour encaisser les exploits jour zéro en espace utilisateur, et renforcé face aux exploits noyau. Son noyau, ainsi que les éléments du cœur du système (comme le système de paquetages), ont été entièrement écrits de zéro par mes soins. Son architecture est très différente de celle des autres systèmes d'exploitation (forcément, à chrooter la totalité des processus...); malgré cela, il est en compatibilité binaire native avec Linux. De plus, cette architecture lui permet des opérations spéciales. Par exemple, il n'a aucun problème à faire cohabiter deux versions distinctes et théoriquement incompatibles de la libc (puisque tout le monde est chrooté!), ou d'autres bibliothèques ou logiciels qui ne devraient normalement pas pouvoir fonctionner sur la même machine. Avantage induit au passage, normalement, si un logiciel fonctionne sous une distribution Manux, il fonctionnera sous toutes les distributions Manux existantes. Cela signifie qu'il constituera toujours une plateforme unifiée, ce qui facilitera le travail des développeurs. Autre point : le noyau est intégralement patchable dynamiquement. Ce n'est pas pour faire des concours d'uptime (d'ailleurs, il arrivera vraisemblablement que des modifications incompatibles lui soient appliquées dans l'avenir, obligeant au redémarrage), mais pour éviter aux utilisateurs d'avoir à faire des compromis entre la disponibilité du service et la sécurité. Accessoirement, l'architecture du noyau permet de l'étudier et de le reconfigurer dynamiquement. De la sorte, les considérations habituelles qui justifiaient le placement du serveur graphique en espace utilisateur ne s'y appliquent pas. Je l'ai placé sous une licence libre, mais différente de celles qui existent actuellement. En plus d'être récursive comme la GPL, elle est conçue pour permettre sa commercialisation sous le modèle du "logiciel comme un produit", mais en restant libre. Ceci est expliqué plus en détails sur [cette page](http://www.manux.info/fr/docs/licensing/) . Mais bon, ça, ce sera *si* le logiciel a du succès :-) . Du point de vue utilisation, comme je le disais, il est actuellement très limité : mode texte uniquement, pile réseau non fonctionnelle, pas d'USB (mais certains claviers USB marchent quand même, je suppose que certains matériels font la traduction USB=>PS/2), privilèges non implémentés(1), etc... Cela dit, il est déjà auto-hébergé, ne nécessitant Linux que pour sa réinstallation. A titre d'exemple, je tape cette annonce sous Manux, dans vim (mais je vais la poster avec Linux, évidemment). Autre mauvaise nouvelle : il n'est pas entièrement compatible avec Linux. En effet, il est bien compatible *binairement*, mais pas *architecturalement*, ce qui signifie qu'il ne sera jamais possible de porter une distribution Linux sous Manux (ou d'utiliser son noyau en remplacement d'un noyau Linux). De plus, comme je refuse de porter X.org (pour des raisons détaillées dans la page de manuel x11.9 des sources), ni Gnome, ni KDE, ni XFCE, ni même Twm ne pourront jamais être portés dessus; et s'il se dote un jour d'une interface graphique, je compte faire en sorte qu'il n'en ait qu'une seule, unifiée, pour faciliter la vie des utilisateurs du mode graphique. Enfin, les distributions (s'il s'en crée) n'auront jamais la même indépendance que sous Linux; c'est indispensable pour conserver l'unicité de la plateforme. A titre d'exemple, il ne sera jamais possible d'utiliser un autre format de paquetage que celui prévu. Bref, fondamentalement, il s'agit d'un système d'exploitation et d'une philosophie très différents de ceux de Linux. Ce qui n'entrave pas la compatibilité, d'ailleurs, tous les logiciels externes que j'y utilise (bash, vim, gcc, les coreutils, etc...) sont des logiciels Linux non recompilés. S'il vous intéresse, essayez-le! Vous n'avez besoin que de télécharger l'installeur, de l'exécuter, et de configurer Grub ou Grub2 comme indiqué dans son répertoire doc/. Il vous faudra un ordinateur x86, un disque dur compatible ide (ATA/ATAPI/SATA, pas de SCSI), et une partition libre. Au premier démarrage, le système s'auto-installe; chez moi, cela prend 15 à 25 minutes selon le matériel. Cette phase est indispensable pour établir les liens matériels vers les répertoires et les liens racines que l'installeur Linux ne peut pas créer, puisque Linux ignore ces notions; ensuite, chaque démarrage prend quelques secondes. Voilà! Si vous avez des questions auxquelles la documentation du site ne répond pas, vous pouvez me les poser ici, ou me contacter comme indiqué sur [cette page](http://www.manux.info/fr/perso/contact/) . Emmanuel (1) Oui, je sais, j'aurais pu implémenter les privilèges, mais j'ai estimé que ce n'était pas une chose très importante, et que ça ne valait pas le coup de repousser sa publication pour ça. Ce n'est qu'une version 0.0.1, ne l'oublions pas! Ah, en bonus, voici les commandes que je tape pour l'installer, et un exemple de session : ``` ecolbus@linux:~$ tar -xzf installer.tar.gz ecolbus@linux:~$ su - root@linux:~# ~ecolbus/installer/installer --device /dev/sda3 --username ecolbus --hostname orion [Préinstallation...] # A présent, pour une première installation, appliquer les instructions de # ./docs/fr/grub2 (ou ./docs/fr/grub1).) # Ne pas oublier de regénérer la configuration de grub, avec update-grub ... root@linux:~# init 0 # Surtout pas init 6 : le redémarrage _doit_ être électrique; sinon, # le clavier se blo # Reboot sur la nouvelle entrée grub... # Préinstallation, environ 20 minutes... orion tty1 login: ecolbus Your password has expired. Choose a new password. Changing password for ecolbus Enter the new password (minimum of 5 characters) Please use a combination of upper and lower case letters and numbers. New password: Re-enter new password: passwd: password changed. No mail. -bash: cannot set terminal process group (-1): Inappropriate ioctl for device -bash: no job control in this shell readline: warning: turning off output flushing readline: warning: turning off output flushing ecolbus@orion:~$ # A présent que le système est installé, voici un exemple de session : # Bien sûr, les deux commandes qui suivent, je n'ai pas à les # retaper à chaque fois. ecolbus@orion:~$ mknod hd0,5 b 0 0 # Mon /home Linux est sur /dev/sda6 ecolbus@orion:~$ mkdir mnt5 ecolbus@orion:~$ admin ecolbus@orion:~# smount -t ext2 hd0,5 mnt5 ecolbus@orion:~# unadmin ecolbus@orion:~$ cd mnt5/ecolbus # Là, je suis dans mon homedir Linux. ecolbus@orion:[]$ cd manux+std/manux ecolbus@orion:[]$ ls docs libsys make noyau scripts tmp éphémodules Licences Makefile outils scripts_ld usr inclus lnc man packages tests ecolbus@orion:[]$ ./make [Autorecompilation du noyau et des principaux binaires...] ecolbus@orion:[]$ admin ecolbus@orion:[]# ./scripts/maj_noyau.sh [Mise à jour dynamique du noyau] ecolbus@orion:[]# unadmin ecolbus@orion:[]$ vim ./noyau/ext2/main.c ecolbus@orion:[]$ ./make ext2 [Recompilation d'ext2...] ecolbus@orion:[]$ ./make éphémodules/divers/hw # Juste pour la démonstration ecolbus@orion:[]$ admin ecolbus@orion:[]# patch_kernel ext2 ecolbus@orion:[]# patch_kernel éphémodules/divers/hw ecolbus@orion:[]# test_sys Hello World! 0 # A la fin, pour éteindre la machine : ecolbus@orion:~$ admin ecolbus@orion:~# init 0 ; exit ``` Voilà! Si vous avez des questions, n'hésitez pas; et si vous avez des insultes, sachez que même /dev/null est fonctionnel! (Ah, et j'y songe, quand vous l'utilisez, pensez à faire des "sync" réguliers. Je n'ai pas implémenté l'écriture sur disque au bout de quelques secondes, et le noyau comporte malheureusement encore des bogues... Honte sur moi et ma descendance jusqu'à la zéroïème génération (non incluse - pas folle, la guêpe).)

AltStyle によって変換されたページ (->オリジナル) /