====== Les distributions illumos basées sur un SVR4 open source ======
Logo de **illumos** : {{ :wiki:os:illumos_logo.png?nolink&300 |}}
===== Présentation du projet illumos =====
Le **projet illumos** se veut un fork d'**OpenSolaris** qui est une version ''libre'' de **Sun Solaris** créée par **Sun Microsystems**, principalement sous **licence CDDL** (**//Common Development and Distribution License//**), basé sur [[wiki:histoire_informatique:at_t-unix#unix_system_v_release_4_svr4|UNIX System V Release 4]] (**//SVR4//**), la permière version de Sun Solaris est sortie en Juin 1992 et la première version d'OpenSolaris est sortie le 5 mai 2008 et la dernière version le 1er juin 2009.
Le projet illumos a été annoncé en 2010, après l'acquisition de Sun Microsystems par **Oracle Corporation** le 20 août 2009 et par l'annonce d'Oracle Corporation de ne pas continuer le développement d'OpenSolaris en août 2010. C'est le 3 août 2010 que le projet illumos a été annoncé pour poursuivre le développement d'OpenSolaris.
Des tous les OS basé sur SVR4, Sun Solaris est certainement le plus populaire et innovant. Pour être franc, suite à la prise de position d'**Oracle** vis à vis de l'**UNIX®** Solaris, Oracle veut clairement mettre fin à Solaris malgré que ce ne soit pas annoncé officiellement, et c'est la raison même de la naissance d'illumos.
Sun Microsystems est sans conteste l'une des entreprises qui a le plus apportée à l'**open source** et il aurait été triste que cela se termine à cause du rachat de Sun par Oracle mais le projet illumos est là pour la continuité d'OpenSolaris et de ce fait de Solaris. Les distributions illumos ne sont pas au point mort mais on ne peut pas en dire autant d'Oracle Solaris ! Malgré tout illumos n'est pas d'un très grand intérêt pour la communauté open source et c'est dommage.
Sun Microsystems est une entreprise qui c'est énormément consacrée à l'open source par le biais d'énormément de projets qui étaient propriétaires à la base mais qui sont très vite devenus des projets open source comme le célèbre système de fichiers en réseau **NFS** (**//Network File System//**) qui est devenu un standard de facto et que l'on retrouve encore à l'heure actuelle sur tous les **serveurs NAS** et tout type de système Unix et qui a fini par mettre la totalité de son OS Sun Solaris en open source, enfin bref, un grand respect pour cette défunte entreprise, Sun Microsystems, sans qui beaucoup de projet open source n'aurait jamais vu le jour !
Le projet illumos a migré du compilateur propre à Solaris du nom de **Studio** à **GNU GCC** en 2012. Le code source d'illumos s'articule autour des **gates** qui sont toutes intégrées dans **illumos-gate**. Les gates sont un peu l'équivalent des **sets** sous **BSD**. Le mot illumos a une signification, illum signifie lumière et os operating system donc système d'exploitation.
Les distributions illumos et Solaris n'utilisent pas forcément **sudo** pour l'administration avec un compte normal mais la commande **pfexec** par défaut, qui s’appuie sur les profils **RBAC** (**//Role-Based Access Control//**).
L'un des principaux problèmes de illumos et les distributions qui en découlent est la prise en charge matériel qui est bien moins bonne que Linux et même FreeBSD. Si vous souhaitez voir le matériel compatible, rendez-vous [[https://illumos.org/hcl/|ici]]. Sur OpenIndiana vous avez la possibilité de tester en live USB.
Parmi les nombreuses contribution de Sun Microsystems à l'open source, on peut citer :
* **NFS**, le système de fichiers en réseau propre aux système UNIX.
* **Java**, le langage de programmation basé sur la syntaxe du langage C++ et sa machine virtuelle du nom de **JVM** (**//Java Virtual Machine//**).
* **OpenOffice** , une suite bureautique libre qui a donné naissance à **LibreOffice** et **Apache OpenOffice**. OpenOffice provient à l'origine de la suite bureautique ''propriétaire'' **StarOffice**.
* **VirtualBox**, l'un des logiciels (hyperviseur) les plus ''populaires''.
* **MySQL**, l'une des base de données les plus utilisé sur les serveurs Web qui a été forké sous le nom de **MariaDB** (à cause d'Oracle).
* **Java Desktop System**, un environnement de bureau basé sur **GNOME2**, désormais abandonné.
Parmi les logiciels provenant de OpenSolaris et qui ont étés repris par le projet illumos figurent :
* **Dtrace** est un générateur de traces conçu par Sun Microsystems, qui permet de détecter des problèmes potentiels sur son système que ce soit au niveau du noyau ou des applications. DTrace a été inclus dans de nombreux OS Unix mais aussi sous [[wiki:os:windows|Windows]].
* **ZFS** est un système de fichiers créé par Sun Microsystems pour le projet OpenSolaris, c'est un système de fichiers de nouvelle génération, il prend nativement en charge le **RAID**, les instantanées (snapshots), une quantité de stockage inégalée, il permet la gestion de sous-volumes que l'on appelle des **zpool**, en gros cela permet d'avoir sur une seule partition avec plusieurs partitions logiques, il a une structure de données de type **B-tree**. ZFS a des particularités communes avec **BtrFS** en plus poussées, il est massivement utilisé sur les ordinateurs Unix.
* **Crossbow** procure un environnement pour la mise en réseau virtualisée et le contrôle des ressources de bande passante, il créé des cartes réseau virtuelles appelées **VNICs**, cela permet une meilleure isolation du réseau et de ses ressources.
* **SMF** (**//Service Management Facility//**) qui permet la gestion des services (daemons) sous illumos et Solaris, d'une certaine mesure cette technologie se rapproche de //systemd//.
* **IPS** (**//Image Packaging System//**) est le gestionnaire de paquet par défaut d'illumos et de nombreuses distributions illumos et bien sûr de Solaris.
* **Solaris Zones** est une virtualisation au niveau du système d'exploitation, qui sont des conteneurs qui permettent l'installation de plusieurs systèmes de type Solaris ''isolés'' les uns des autres au sein du même système d'exploitation ''hôte''. Les Zones Solaris sont semblables à **LXC** de Linux mais se rapprochent davantage aux **Jails BSD**, propre à [[wiki:os:bsd_unix:freebsd|FreeBSD]], car elles permettent également d'installer des [[wiki:os:gnu_linux|systèmes Linux]] à l'intérieur de l'OS de type Solaris ''hôte'', les conteneurs Linux s'appellent des **LX-branded Zone**.
* **Noyau** (**kernel** en anglais) d'OpenSolaris nommé **OS/Net** qui est le ''coeur'' de l'OS.
Logiciels qui ont été rajoutés plus récemment :
* Les outils réseau tel que **ipadm** provenant à l'origine de **Solaris 11** qui est l'équivalent de **ifconfig** et gère la couche de niveau 3 du **modèle OSI** de **TCP/IP** et l'outil **dladm** équivalent de **ndd** provenant pour sa part d'OpenSolaris et gère la couche de niveau 2 du //modèle OSI// qui permet de lister les interfaces réseau détectées, créer des **VLANs**, des **VNICs**...etc.
Quand je pense qu'Oracle a dénoncé la politique de **Red Hat** par rapport à leur prise de position sur le système Linux **Centos**, je trouve ça aberrant et mal placé étant donné qu'Oracle a tué la majeure partie des logiciels open source de Sun Microsystems et a mis fin de son propre gré à OpenSolaris...je suis entièrement d'accord sur le fond mais venant d'Oracle...
===== Liste de distributions illumos =====
* [[wiki:os:illumos:OpenIndiana]] est une distribution illumos généraliste qui peut aussi bien être utilisée sur un poste de travail qu'un serveur, elle utilise un peu près tous les composants de illumos, donc de Solaris. Elle utilise le gestionnaire de paquets **IPS** (**//Image Packaging System//**) propre à Solaris et l'environnement de bureau **MATE**. OpenIndiana publie 2 supports d'installation (''ISO'' et ''IMG'') par an mais est une //rolling-release// mais qui reste tout de même relativement stable.
* [[wiki:os:illumos:OmniOS]]**ce** pour **OmniOS Community Edition** est une distribution illumos qui utilise tous les éléments de illumos et a donc comme gestionnaire de paquets par défaut //IPS//, ce système est utilisé uniquement comme serveur contrairement à OpenIndiana mais dispose de 3 branches différentes, une version **stable**, une version **LTS** et **Bloody** une version à publication continue (roling-release) non recommandée pour la production.
* [[wiki:os:illumos:OmniOSce] est une distribution dédiée aux serveurs qui utilise également tous les éléments de illumos, elle n'est par défaut pas dédiée pour poste de travail. Son gestionnaire de paquets est IPS. Elle a 3 branches, une branche stable, une LTS (Support à Long Terme) et **Bloody** la branche instable qui inclut les applications les plus récente donc idéale pour les développeurs.
* [[wiki:os:illumos:SmartOS]] est une distro illumos de l'entreprise **Joyent**, elle utilise **pkgsrc** de [[wiki:os:bsd_unix:netbsd|NetBSD]] comme gestionnaire de paquets en lieu et place de IPS. Cette distribution s'utilise sur serveur plus précisément pour le cloud, elle a la fonction d'hyperviseur KVM et la gestion des Zones Solaris.
* [[wiki:os:illumos:NexentaStor]] utilise le gestionnaire de paquets **APT** de [[wiki:os:gnu_linux:debian|Debian]] et sa suite d'outils, cette distro est avant tout destiné au serveur NAS et SAN (//Storage Area Network//) donc elle est en quelque sorte en concurrence avec **TrueNAS**.
* [[wiki:os:illumos:Tribblix]] tout comme OpenIndiana se veut généraliste et donc utilisable aussi bien sur serveur que poste de travail à architecture de processeur x86_64 ou SPARC, cette distrib utilise par défaut l'environnement de bureau **Xfce** mais il est également possible d'installer **MATE** ou **Enlightenment**. C'est un système qui est volontairement old school et moderne à la fois, les paquets logiciels sont de type [[wiki:histoire_informatique:at_t-unix#unix_system_v_release_4_svr4|SVR4]] et son gestionnaire de paquets est **zap** qui installe des overlays (groupe de paquets avec dépendances). Tribblix est relativement économe en ressources, c'est même l'une des distributions illumos la plus légère.
* [[wiki:os:illumos:v9os]] est dédié uniquement aux serveurs SPARC et utilise le gestionnaire de paquets IPS.
* [[wiki:os:illumos:Danube Cloud]] est une distribution de l'entreprise **ERRI**, elle se base sur SmartOS et de ce fait utilise également pkgsrc pour ses paquets, elle vise les mêmes domaines que sa grande soeur.
* [[wiki:os:illumos:XStreamOS]] est à la base une distribution illumos pour serveur mais il existe une version pour poste bureautique du nom de **XStreamDesktop**, c'est OS a été créé par l'entreprise **Sonicle**. Bien que Sonicle n'est fait aucune annonce, la dernière version desktop date de 2017 et la version serveur de 2021 donc cette distro me paraît morte et c'est dommage car cette distro était très intéressante. XStreamOS reprend tous les éléments de illumos.
Il existe encore d'autres distributions illumos, j'ai cité celle qui me paraissent les plus intéressantes.
===== Documentation complémentaire sur illumos =====
Les [[wiki:os:illumos:tutos|tutoriels sur illumos]].
==== Sites en rapport à illumos ====
**Sites** ''officiels'' de **illumos** :
* [[https://illumos.org/|Site officiel illumos]]
* [[https://github.com/illumos/|GitHub illumos]]
* [[https://github.com/illumos/illumos-gate|GitHub illumos-gate]]
* [[https://code.illumos.org/plugins/gitiles/illumos-gate|Code source illumos]]
* [[https://illumos.org/docs/about/distro/|Distributions illumos]]
* [[https://illumos.org/docs/|Documentation illumos]]
* [[https://illumos.org/man|Pages de manuel illumos]]
* [[https://illumos.org/hcl/|Compatibilité matérielle]]
=== Sites de différentes distributions illumos ===
* [[https://www.openindiana.org/|OpenIndiana]]
* [[https://omnios.org/|OmniOSce]]
* [[https://www.tritondatacenter.com/smartos|SmartOS]]
* [[https://nexenta.com/community|NexentaStor]]
* [[http://www.tribblix.org/|Tribblix]]
* [[http://www.milax.fi/v9os.html|v9os]]
* [[https://danube.cloud/|Danube Cloud]]
* [[https://www.sonicle.com/xstreamos/?lang=en|XStreamOS]]