Mageia 6 est sortie et Sebastien C, ceinture noire de troll et de changement de distribution nous livre un avis assez acide. Très peu d'évolutions sur cette version, une distribution qui se veut à la hauteur de debian sans en avoir les moyens, de trop nombreux bureaux, etc.
Je suis assez d'accord, car si on regarde Mageia quelle est sa force ? Sa communauté, son accessibilité et son centre de configuration. Concernant la communauté, je n'ai pas grand chose à en dire car je n'en fais pas partie mais je ne peux que supposer qu'elle se limite au desktop. En effet je n'ai jamais vu de Mandriva, Mandrake ou Mageia sur les serveurs, c'est 90% de debian/ubuntu et 10% de centos/rhel, le reste est anecdotique. Et si on parle de taille de communauté rien ne battra jamais celle de ubuntu/debian car on trouve énormément de ressources sur le web : forums, mailinglist, stackexchange, wiki, irc...
Concernant l'accessibilité aux débutants je suis assez réservé. Je n'ai jamais compris pourquoi Mageia continue de proposer son propre outil de gestion du réseau au lieu d'utiliser Network-manager comme tout le monde d'autant que ce dernier est bien meilleur pour ce qui touche par exemple au wifi ou aux VPNs. Ensuite je note souvent des comportements pouvant dérouter les débutants, par exemple cette manie du gestionnaire de paquet de vous demander de choisir parmi plusieurs dépendances disponibles lorsque vous souhaitez installer un paquet. Je rajoute qu'à chaque fois que j'ai testé cette distribution dans Virtualbox, après la première mise à jour il devient impossible de booter ce qui est quand même problématique.
Le centre de contrôle, je garde le meilleur pour la fin. Sur papier, c'est l'équivalent du Panneau de configuration de Windows, en pratique c'est totalement obsolète. La configuration du matériel n'est plus nécessaire car automatique (par exemple le pilote vidéo), la configuration des imprimantes fait doublon avec cups ou les interfaces proposées par KDE/Gnome, etc. Au final à part le gestionnaire de paquets il n'y a rien de pertinent en 2017. Pourquoi vouloir tripatouiller un centre de contrôle alors qu'à côté un simple Live CD de ubuntu fonctionne out-the-box ?
Si j'étais utilisateur de Mandriva, à sa mort j'aurai plutôt migré sur debian, opensuse ou fedora qui sont des distributions vivantes, actives avec beaucoup de moyens. Mageia me semble plus proche de l'acharnement thérapeutique, une volonté de conserver des outils et modes fonctionnements qui sont là pour rassurer les utilisateurs sans vraiment avoir une utilité ou une pertinence réelle. Les retards à répétition et l'absence de communication pour la 6e version ont d'ailleurs bien failli confirmer mes dires.
Note : c'est mon avis, il ne constitue pas une vérité absolue mais je l'assume. Vous pouvez m'insulter dans les commentaires si vous le souhaitez.
J'ai fait cette semaine un voyage à vélo et je devais passer de Saint-Malo à Dinard, et pour cela il faut franchir la Rance. Étant donné que c'est un fleuve très large, il n'y a pas 36 solutions : il faut passer par le barrage. Le problème c'est qu'il faut emprunter la D168, et je vous laisse juger :
On a donc là une 2x2 voies, limitée en théorie à 70 km/h mais les automobilistes ont tendance à aller beaucoup plus vite sur ce type de route. Pas de piste cyclable, quasiment pas de bande d'arrêt d'urgence. J'ai d'abord refusé de m'engager sur cette route, mais en fait il n'y a pas le choix. Pire, c'est même l'itinéraire touristique du Tour de Manche :
Je ne sais pas quelle commune est responsable, mais c'est du gros foutage de gueule, c'est de la merde, j'avais l'impression de rouler sur une autoroute à vélo et je n'étais "pas rassuré" comme dirait l'autre. Et encore moi ça va car avec le vélo de route je trace, mais imaginez une famille avec des gamins au comportement imprévisible, steak hachés assurés !
J'ai presque envie d'applaudir avec mes deux mains et mes deux couilles cet exploit, une région touristique qui met à ce point en danger les cyclistes ça mérite un award de la pire route de France pour cyclistes.
EDIT : après une petite recherche il s'avère qu'on peut traverser par bateau, c'est bon à savoir mais ça ne change rien à mon coup de gueule, d'autant que si on en croit les commentaires des gens, la traversée est payante.
Les tablettes c'est de la merde, ce sont des gadgets complètement fermés impossibles à bidouiller, le fabriquant n'assure jamais les mises à jour, c'est jetable, et d'ailleurs les gens l'ont compris puisque le marché se casse la figure. Il suffit d'aller sur des sites d'actualité Android pour voir qu'on y parle surtout de smartphones et que les comparatifs de tablette remontent à 2016. Néanmoins c'est bien pratique pour voyager, c'est ultra fin et surtout très léger. Si cela me permet d'économiser 3kg sur le dos alors je veux bien essayer.
J'ai sauté sur la Fire HD 8, 125€ en version 16GB avec l'espoir qu'elle soit maintenue à jour vu que c'est quand même Amazon derrière. Alors oui de base on a un Android modifié sans les logiciels Google (donc pas de Play store) mais il est possible de les installer. Notez que sur la fiche Amazon on a le choix entre "Avec offres spéciales" et "Sans offres spéciales" (+25€). Dans le genre bulshit marketing on est à niveau élevé puisqu'il s'agit ni plus ni moins de publicités sur l'écran de veille. Je ne suis pas à 25€ près, donc j'ai pris sans.
Après l'avoir pris en main, que penser de cette tablette ? Pour donner un avis général : elle fait ce à quoi on peut s'attendre dans cette gamme de prix très faible. L'écran n'est pas top car les noirs ne sont pas tout à fait noir, le son n'est pas très bon non et se révèle soit trop fort soit trop faible, pas de puce GPS, pas de port USB-C, appareil photo de 2Mpixel seulement. On est très loin du haut de gamme mais au final est-ce gênant ? L'autonomie est correcte et Google Play accepte plutôt bien la tablette, aucune application n'est réticente à s'installer, aucun plantage.
Au final c'est une tablette d'appoint qui fait son boulot de manière correcte pour un prix plus que raisonnable, et rien ne m'empêche de la recommander sauf si vous cherchez un bijou haut de gamme, auquel cas la Google Pixel C me semble plus intéressante.
Juste un petit billet pour indiquer que le blog tourne à nouveau sous Docker. Cette fois-ci je n'utilise plus un unique container apache, mais 3 containers orchestrés par docker-compose :
Et il y a toujours un nginx "en dur" en frontal qui fait reverse proxy et centralise les logs.
Le serveur est désormais un Scaleway VC1S aux pays-bas sur lequel tourne une distribution Debian Stretch. Pour les containers j'ai choisi d'utiliser au maximum des images alpine en raison de leur légèreté et de la simplicité du système. Et pour le moment, ça marche plutôt bien.
J'ai essayé d'utiliser un serveur ARM Scaleway, mais outre le fait qu'il est compliqué d'installer Docker (il faut utiliser Ubuntu-server ou alors compiler) les images du Dockerhub ne semblent pas disponibles pour cette architecture. Je me suis donc rabattu sur un VC1S qui n'est rien d'autre qu'une machine virtuelle x86_64.
Si vous êtes familier avec l'écosystème des distributions Linux, vous avez probablement levé un sourcil (comme Teal'c) en lisant ce titre car vous les connaissez toutes, vous avez touché à tous les gestionnaires de paquet, vous avez utilisé debian et gentoo, en bref vous avez fait le tour et plus rien ne nous surprend.
Et pourtant, bien que NixOS soit une distribution assez ancienne (2003) elle dispose de nombreux atouts inédits passés plutôt inaperçus jusqu'à présent.
La configuration déclarative centralisée
Ce que je trouve le plus intéressant dans NixOS, c'est la configuration centralisée dans un unique fichier. En effet si vous avez déjà travaillé sur des routeurs ou diverses appliances, vous avez remarqué que l'on peut souvent importer et exporter la configuration sous forme de texte assez facilement, cela rend la maintenance très facile. Sous NixOS c'est le même principe, mais en plus puissant puisqu'on peut rollback voire booter sur une ancienne configuration depuis grub. Exemple de configuration d'un serveur MariaDB :
/etc/nixos/configuration.nix
{ config, pkgs, ... }:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
];
# Use the systemd-boot EFI boot loader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
networking = {
hostName = "mariadb";
nameservers = [ "192.168.0.31" ];
defaultGateway = "192.168.0.254";
interfaces.enp0s3.ip4 = [
{
address = "192.168.0.41";
prefixLength = 24;
}
];
};
# Select internationalisation properties.
i18n = {
consoleFont = "Lat2-Terminus16";
consoleKeyMap = "fr";
defaultLocale = "fr_FR.UTF-8";
};
# Set your time zone.
time.timeZone = "Europe/Paris";
# List packages installed in system profile. To search by name, run:
# $ nix-env -qaP | grep wget
environment.systemPackages = with pkgs; [
git
htop
sudo
tree
vim
];
# Services
services = {
openssh = {
enable = true;
permitRootLogin = "yes";
};
mysql = {
enable = true;
package = pkgs.mysql;
extraOptions = ''bind-address=0.0.0.0'';
};
};
# Open ports in the firewall.
networking.firewall.allowedTCPPorts = [ 22 3306 ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Define a user account. Don't forget to set a password with ‘passwd’.
users.extraUsers = {
utux = {
isNormalUser = true;
extraGroups = [ "wheel" ];
};
};
# The NixOS release to be compatible with for stateful data such as databases.
system.stateVersion = "17.03";
}
/etc/nixos/hardware-configuration.nix
# Do not modify this file! It was generated by ‘nixos-generate-config’
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, ... }:
{
imports = [ ];
boot.initrd.availableKernelModules = [ "virtio_pci" "ahci" "xhci_pci" "sr_mod" "virtio_blk" ];
boot.kernelModules = [ ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/78634ba0-11d1-4f91-85ae-ac2ee247c387";
fsType = "xfs";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/019A-1A05";
fsType = "vfat";
};
swapDevices =
[ { device = "/dev/disk/by-uuid/075a27eb-5656-4b57-b186-73a6d86e5e5c"; }
];
nix.maxJobs = lib.mkDefault 1;
}
Comme vous le voyez, le fichier configuration.nix contient toute la configuration, incluant les services tiers tels que mariadb dans notre cas. Cela va donc encore plus loin que le /etc/rc.conf sur FreeBSD/NetBSD/OpenBSD qui centralise déjà pas mal de choses. Le fichier hardware-configuration.nix lui est généré automatiquement il n'y a pas besoin d'y toucher et il est plus ou moins unique par serveur.
Pour générer et appliquer la configuration :
nixos-rebuild switch
Pour mettre à jour le système :
nixos-rebuild switch --upgrade
Puis un petit mysql_secure_installation la première fois pour préparer notre SGBD.
Ce qu'il reste à faire en dehors du configuration.nix, c'est la définition des mots de passe, avec passwd et bien sûr la gestion des données persistantes (les bases de données pour mariadb par exemple).
Nix, gestionnaire de paquets fonctionnel
Je vais être un peu plus prudent sur ce point, car étant encore en phase de découverte de NixOS, je ne connais pas encore très bien le gestionnaire de paquets Nix. Cependant, à la différence des gestionnaires classiques tels que apt, yum ou pacman, il ne se contente pas d'aller chercher des paquets pour les décompresser. Chaque version de chaque paquet est installé dans une arborescence /nix/store/{identifiant unique}, du coup plusieurs versions peuvent cohabiter ensemble et les mises à jour n'écrasent rien. Il est possible également pour les utilisateurs d'installer des paquets pour leur environnement (non-root) uniquement.
Mon avis
J'ai mis un serveur NixOS en test et il est trop tôt pour en tirer des conclusions. Mais j'aime l'idée de configuration centralisée déclarative, car la configuration classique des systèmes Linux n'est pas toujours simple à maintenir : Docker, Ansible, NixOS : le savoir (re)faire.
Si je dois citer deux inconvénients à NixOS : elle prend de la place (1,6GB à l'installation avec MariaDB) et elle nécessite au moins 1GB de RAM pour s'installer sous peine de voir oomkiller tuer nixos-install... elle peut cependant tourner avec 256MB par la suite.
NixOS nous montre qu'une distribution Linux ce n'est pas seulement un éinième fork de Ubuntu avec un wallpaper personalisé, ou encore une guerre de gestionnaire de paquets (dnf/apt), il existe encore de l'innovation et rien que pour cela elle mérite le coup d’œil.