# NuTyX

NuTyX est une distribution GNU/Linux d'origine suisse créée par Thierry Nuttens destinée à des utilisateurs avancés ou motivés. Des connaissances sur les systèmes GNU/Linux sont conseillées.
Elle est inspirée de la documentation du projet Linux From Scratch. Elle utilise son propre gestionnaire de paquets appelé CARDS.
NuTyX a été officiellement créée le 28 novembre 2007. Les versions étaient au départ numérotées suivant l'année de parution. Depuis le 17 septembre 2010, NuTyX porte un nom de code de version, en l'occurrence « houaphan » qui est le nom d'une province du nord du Laos.

## Historique

Après 1 année de développement, la première version stable NuTyX 2007 sort le 22 février 2008. Elle propose le noyau 2.6.24, la bibliothèque standard C glibc 2.5.1, le compilateur gcc 4.1.2, les interfaces graphiques KDE version 3.5.9, KDE 4.1.0, GNOME 2.18.3, Xfce 4.4.2. Le serveur graphique proposé est Xorg-server 1.4.2. Lors de sa sortie, seul un script d'installation était proposé. Il fallait impérativement passer par une autre distribution Linux pour installer la NuTyX 2007.
La version 2008 sort le 15 août 2009. Elle propose le noyau 2.6.31, la bibliothèque standard C glibc 2.8.3, le compilateur gcc 4.3.2, les interfaces graphiques E17, KDE 4.3.0, KDE 3.5.10, GNOME 2.24.0, Xfce 4.6.1 et LXDE 0.3.2
La version 2009.4 sort le 30 mai 2010. Elle propose le noyau 2.6.34.2, la bibliothèque standard C glibc 2.10.1, le compilateur gcc 4.4.6, les interfaces graphiques E17 0.16.999.063, KDE 4.4.3 et Xfce 4.6.2. Le navigateur Firefox est disponible en version 3.6.3
La version attapu.1 sort le 6 décembre 2010. Elle propose le noyau 2.6.36.4, la bibliothèque standard C glibc 2.11.2, le compilateur gcc 4.5.0, les interfaces graphique KDE 4.5.5, GNOME 2.30.0 et Xfce 4.6.2. La version de Firefox est la 3.6.17
La version pakxe.4 sort le 22 juin 2012. C'est la première version de NuTyX disponible pour les platformes 64 bits. Elle propose le noyau 3.4.4, la bibliothèque standard C glibc 2.13, le compilateur gcc 4.6.3, les interfaces graphique KDE 4.8.4, XFCE 4.10.0. La version de Firefox est la 13.0.1. La version de Chromium est la 17.0.963.56. La version de Libreoffice est la 3.5.2.2.
La version sekong.5 sort le 9 octobre 2013. Elle propose le noyau 3.4.105, la bibliothèque standard C glibc 2.16.0, le compilateur gcc 4.7.4, les interfaces graphique KDE 4.11.2, Xfce 4.10.1. La version de Firefox est la 35.0. La version de Libreoffice est la 4.1.0.4.
La version saravane-15.05 sort le 15 mai 2015. Elle introduit la notion de collections expliqué plus bas. Elle propose une réécriture complète en C++ de son gestionnaire de paquets qui s'appelle désormais CARDS pour Create Add Remove Download System. CARDS permet de télécharger et d'installer directement un paquet ou un ensemble de paquets ou une collection complète. La version de Firefox est la 39.0. Elle propose le noyau 3.18.14, la bibliothèque standard C glibc 2.21, le compilateur gcc 4.9.2, les interfaces graphique KDE 4.14.3, Xfce 4.10.1.
La première version 8 (nom de code: houaphan) sort le 14 octobre 2015. Le nombre de collections passe de 3 à 25 et les collections déjà existantes sous saravane sont renommées. Elle propose le noyau 3.18.27, la bibliothèque standard C glibc 2.22, le compilateur gcc 5.3.0 , La version de Firefox est la 45.0.1. Les interfaces graphique kf5 5.19.0, GNOME 3.18.3 , Xfce 4.10.1. La version de Chromium est la 48.0.2564.109. La version de Libreoffice est la 5.1.0.3.
La version 9.1 (nom de code inchangé: houaphan) sort le 24 septembre 2017. Le nombre de collections passe de 14 à 13. Elle propose le noyau 4.9.23, la bibliothèque standard C glibc 2.25, le compilateur gcc 6.3.0 . La version de Firefox est la 54.0.1. Les interfaces graphique kf5 5.32.0, GNOME 3.22.2 , Xfce 4.12.3 et MATE 1.18.0.
La version 10.0 (nom de code inchangé: houaphan) sort le 17 janvier 2018. Le nombre de collections dont le code source est disponible passe de 13 à 17. En plus des 17, une nouvelle collection est proposée, la nos (pour Non Open Source) propose des recettes dont le code source n'est pas disponible. La version 10.0 propose le noyau 4.14.13, la bibliothèque standard C glibc 2.26, le compilateur gcc 7.2.0 . La version de Firefox est la 57.0.4. La version de Chromium est la 61.0.3163.100. Libreoffice est proposé en version 5.4.4.2. Les interfaces graphique kf5 5.41.0, GNOME 3.26.2, Xfce 4.12.3, LXDE 0.99.2, LXQT 0.12.2 et MATE 1.18.0.

## Différences entre NuTyX et la documentation Linux From Scratch

Voici un tableau récapitulant les principales différences entre les 2 projets.
| Fonctionnalité | Sous NuTyX | Sous LFS/BLFS |
| Nombre de paquets/recettes dans le système de base | 74 paquets (11.0) kernel inclus, paquets de développement et locales exclus | 77 recettes kernel exclus |
| Nombre totale de paquets/recettes | 1874 paquets de base (22.02) | 839 recettes (LFS/BLFS 8.2) |
| Système d'initialisation proposé | Sys V, Runyx (fork de runit) ou systemd | Sys V ou systemd |
| Version du kernel disponible | versions LTS 4.14, 4.19, 5.4, 5.10, 5.15, 6.1 et la dernière version stable en date | La dernière version stable en date |
| Paquets binaires prêts à être installés | oui | non car c'est son but: expliquer pas à pas comment construire une distribution |
| Paquets multiples assemblés en une seule recette | aucun | xorg-proto, xorg-fonts, xorg-libs, xorg-apps, qt (version5), kde5 Framework5, kde5 Plasma |
| Gestionnaire de paquets | CARDS / FLCARDS | en option mais pas inclus dans la documentation officielle: gestion via utilisateur dédié, gestion via dossier, gestion par lien symboliques |
| Images ISO prête à installer | oui | non |
| LIVE CD pour tester la distribution | oui | oui |
| Notion de collections de paquets | oui | non |
| Notion de jeux de paquets | oui | non |
| Notion de groupes de paquets | oui | non |
| Gestionnaire de connexion graphique | xdm, lxdm, lightdm, slim, gdm et sddm | lxdm, lightdm, sddm et gdm |
| Interfaces graphiques proposées | cde, blackox, budgie, bspwm, cinnamon, enlightenment, fluxbox, flwm, i3, IceWM, jwm, lumina, lxde, lxqt, mate, openbox, ratpoison, wmaker, wmfs, Xfce4, gnome et plasma kde5 | fluxbox, IceWM, openbox, sawfish, Xfce4, lxde, gnome et plasma kde5 |

## Caractéristiques
### Mode d'installation
#### Images ISO téléchargeables

Une première image iso disponible en téléchargement contient un système de base. Sa taille reste en dessous des 800 Moctets
D'autre images iso plus grande en taille sont disponibles en téléchargement, elles contiennent le système de base + le serveur Xorg + le gestionnaire de paquets graphique flcards, l'environnement de bureau MATE ou KDE5 ou Gnome, etc. Leurs tailles varient entre 1.4 et 1.8 Goctets

#### Script d'installation

Un script d'installation disponible en téléchargement permet à NuTyX d'être installée depuis une autre distribution GNU/Linux disposant d’un shell compatible. Le script installera un système de base.

### Mode d'utilisation

Une fois le système de base installé par l'un des choix précités, l'utilisateur peut choisir d'utiliser NuTyX comme une distribution sources ou une distribution binaire.
NuTyX se veut également respectueuse des standards du Filesystem Hierarchy Standard.
NuTyX utilise les scripts de démarrage de Linux From Scratch

### Branches

NuTyX comporte deux branches :
* Une branche Testing mise à jour continue avec les paquets les plus récents.
* Une branche Rolling actualisée environ tous les 1 à 2 mois.
En fonction de la branche choisie, NuTyX est une distribution de type « testing » (si branche testing) ou de type « rolling release » (si branche rolling).
Les recettes de construction sont rangées dans diverses collections. Toutes les recettes de ces collections sont disponibles en paquets binaires. La plupart des recettes disponibles sont inspirées de la documentation en ligne de Linux From Scratch.
NuTyX dispose de son propre gestionnaire de paquets CARDS (pour Create Add Remove Downloads System).

### Collections

Les paquets disponibles depuis le serveur de dépôt sont répartis dans plusieurs collections.
Une collection fournit un ensemble de fonctionnalités. Les collections sont hiérarchisées et interdépendantes.
La collection « base » est indispensable au fonctionnement de la distribution, les paquets installés en provenance de la collection « base » ne doivent jamais être supprimés.
Les collections « cli » et « cli-extra » sont utilisées pour une installation en mode non graphique.
Les collections « gui » et « gui-extra » sont utilisées pour une installation d'un environnement graphique.
Les bureaux lxde, xfce4, mate, lxqt, gnome, kde5, etc sont rangés dans la collection gui-extra.
| Nom de la collection | Fonctionnalitées | Dépendant des collections: | Contenu/ Commentaires | Nombre de paquets (approx) |
| base | Système de base indispensable | Aucune | glibc, gcc, binutils, util-linux, etc. Ne peux pas être supprimée | 180 |
| cli | Bibliothèques et applications non graphiques | base | python, glib, libcards, etc | 520 |
| gui | Bibliothèques et applications graphiques | base, cli | flcards, cups, xorg, twm, dbus, lxdm, ffmpeg, fltk, gtk2, gtk3, qt5, etc | 620 |
| cli-extra | Applications non graphiques | base, cli | mc, irssi, fcon, etc | 120 |
| gui-extra | Applications et interfaces graphiques | base, cli, gui | firefox, thunderbird,chromium, libreoffice, midori, transmission, xfce4, gnome, etc | 550 |

## Le gestionnaire de paquets CARDS

Le gestionnaire de paquets de NuTyX s'appelle CARDS et est spécialement développé pour la distribution NuTyX.
Il se décline également en version graphique sous le nom de flcards. flcards permet l'installation, la suppression de paquet(s) et de collection. C'est également un moyen simplifié pour la recherche de paquets pour un utilisateur.
Pour les utilisateurs familiers avec le gestionnaire de paquet APT et dpkg de Debian, voici une liste de commandes et les équivalences sous CARDS.
| Action | Commande apt | Commande cards |
| Rafraîchir les informations concernant la liste des paquets disponibles | apt-get update | cards sync |
| Mettre à jour tous les paquets installés | apt-get upgrade | cards upgrade |
| Installer un nouveau paquet depuis les dépôts distants | apt-get install foo | cards install foo |
| Installer un paquet depuis un fichier local | dpkg -i foo.deb | cards install foo1234567890x86_64.cards.tar.xz ou pkgadd foo1234567890x86_64.cards.tar.xz |
| Retirer un paquet | apt-get remove foo | cards remove foo ou pkgrm foo |
| Rechercher dans la liste des paquets disponibles | apt-cache search foo | cards search foo |
| Afficher la liste des paquets installés | dpkg -l | cards list ou pkginfo -i |
| Afficher la liste des fichiers d'un paquet installé | dpkg -L foo | pkginfo -l foo ou cards files foo |
| Afficher les informations détaillés d'un paquet | apt-cache show foo | cards info foo ou pkginfo -d foo |
| Nettoyer le cache des paquets | apt-get clean | cards purge |