Le Blog Utux

HTTP 200 GET /

Exercice de pensée: par quoi remplacer Debian ?

Rédigé par uTux 5 commentaires

Actuellement en panne d'inspiration, je me permets de voler à Frederic Bezies une idée d'article. Ce dernier, utilisateur d'Archlinux depuis 14 ans, se demande vers quelle distribution il se tournerait si le projet venait à fermer. Je vais donc refaire le même exercice de pensée en version Debian car c'est mon système d'exploitation fétiche.

Utilisateur sérieux de Linux depuis 2006, je suis passé à peu près par toutes les grosses distributions : Ubuntu, Debian, Gentoo, Fedora, openSUSE, Arch, Manjaro, et même Mandriva (du temps où elle existait). Et pour les serveurs je pourrais rajouter NixOS. La seule "grosse" distribution que je n'ai jamais testé est Slackware. Et après toutes ces années d'errance, je me suis enfin stabilisé sur Debian.

Je ne dirais pas que Debian est la meilleure distribution Linux du monde car cette notion est très subjective, mais elle est de loin ma préférée. Les raisons ? Elle est simple, versatile, bien documentée avec une grosse communauté derrière. Et surtout elle ne repose pas sur une entreprise, il n'y a aucun risque de la voir rachetée du jour au lendemain par une grosse corporation. Debian est également réputée comme extrêmement stable, ennuyeuse et prévisible, dans le bon sens du terme.

Je sais que de nombreux utilisateurs reprochent à Debian de fournir des versions anciennes voire obsolètes de certains paquets mais personnellement ce n'est pas un problème. Étant utilisateur de MATE, l'environnement évolue peu et se bonifie comme du bon vin au fil des années, il n'y a pas de nouveauté clinquante tous les 6 mois. Idem pour Firefox, la cuvée ESR me convient très bien. Et quant aux logiciels tiers comme GIMP, LibreOffice, VLC, Thunderbird... je n'ai pas besoin de la dernière version. Et dans les rares cas où j'ai besoin d'un truc neuf je peux utiliser les backports, un dépôt tier, appimage, flatpak... il existe de nombreuses solutions.

Tout ça c'est bien joli, mais ça ne répond pas à la question suivante: quelle distribution pour remplacer Debian, si cette dernière venait à s'arrêter ? Je précise que je parts du principe que toutes les dérivées telles que Ubuntu s'arrêteraient aussi, basiquement il n'y aurait plus rien basé sur les paquets .deb.

  • Vous l'aurez compris en lisant cet article, je ne cherche pas de distribution en rolling release, ce qui élimine donc la famille Archlinux.
  • La Red Hat family (Rocky, Alma) semble toute indiquée, malheureusement elle est aux mains d'IBM qui s'est montré hostile vis à vis de la gratuité des distributions. Donc non.
  • openSUSE Leap est un bon choix. Étant synchronisée sur la SLES (la version payante) elle est également stable et ennuyeuse. Les deux seuls problèmes que je vois sont la dépendance à une entreprise (bien que cette dernière ne soit pas hostile à sa communauté) et YaST dont je ne comprends pas l'utilité, à part rassurer les Windowsiens.
  • Alternativement... Mageia. Je dis habituellement beaucoup de mal de cette distribution car elle n'a pas évolué depuis Mandrake, et qu'elle souffre d'un manque flagrant de moyens humains et financiers.

En conclusion, si je devais remplacer Debian, je partirais vers openSUSE ou Mageia. Et vous, que choisiriez-vous ?

J'ai tout migré sous aarch64 (ou presque)

Rédigé par uTux Aucun commentaire

Le blog vient de passer sous un sku cax11 chez Hetzner:

  • 2 vCPU Arm64 Ampere® Altra®.
  • 4 GB RAM.
  • 40 GB SSD.
  • 20 TB trafic.
  • NixOS vanilla.

Soit à peu près le double de la version x86 pour le même prix.

Et oui, j'ai bien mentionné NixOS vanilla, ou upstream. Contrairement à l'immense majorité des "bidules" en ARM qui nécessitent un OS spécialement modifié pour pouvoir booter, on a affaire ici à une machine virtuelle QEMU avec un firmware UEFI Tiano Core, qui permet de faire tourner n'importe quelle distribution Linux compilée en aarch64 ! L'installation a été réalisée avec nixos-infect. Voici le résultat d'un uname -a:

Linux prd-web-1 6.1.57 #1-NixOS SMP Tue Oct 10 20:00:46 UTC 2023 aarch64 GNU/Linux

Si j'en ai le courage, je m'attaquerai à la migration de mon serveur Yunohost actuellement en x86. Cela promet d'être laborieux puisque cela nécessite de copier tous mes e-mail, mais cela en vaut la peine.

Red Hat rime avec cul de sac

Rédigé par uTux 10 commentaires

Il fut une époque où je ne comprenais vraiment pas l'intérêt de Red Hat car j'y voyais une distribution payante avec très peu de logiciels disponibles dans les dépôts (même pas nginx) et des composants encore plus obsolètes que Debian. Et puis à force de voir son clone gratuit - la distribution communautaire CentOS - utilisé partout en entreprise j'ai enfin compris ce qui plaît :

  • Le support de 10 ans (à une époque j'étais naïf, je pensais que les entreprises installaient rapidement les mises à jour et n'aimaient pas se traîner des vieux logiciels... en fait c'est tout l'inverse !)
  • Les correctifs de sécurité backportés, ce qui permet de mettre à jour sans vraiment mettre à jour.
  • L'écosystème logiciel et matériel, c'est rassurant d'avoir un contrôleur SCSI dont le driver est certifié Red Hat.
  • SELinux (rires dans la salle).

Red Hat a toujours eu un modèle économique surprenant car d'un côté ils vendaient leur distribution commerciale (Red Hat Enterprise Linux - ou RHEL) et de l'autre ils sponsorisaient un clone gratuit (CentOS) identique au bug près (1:1 bug). Et pendant très longtemps, cela a permis à beaucoup de gens - particuliers et entreprises - de profiter de l'écosystème Red Hat - sans devoir payer un centime.

Phase 1 : sabordage de CentOS

Suite au rachat surprise de Red Hat par IBM en 2019, cette politique est en train de changer, et le message est clair : ils en ont marre des gens qui ne paient pas, il va falloir passer à la caisse. Ainsi l'ouverture des hostilités a commencé avec un changement de politique de CentOS :

  • CentOS 8, qui devait suivre le cycle de RHEL 8, ne sera finalement pas supportée 10 ans mais à peine un an.
  • CentOS n'a plus vocation à être un clone gratuit de RHEL mais sera un équivalent à "Windows Insider". Vous ne l'utiliserez plus pour profiter de la stabilité de Red Hat, mais pour tester les nouveautés en amont.

Ces changements ont sabordé l'intérêt même de CentOS et il n'a pas fallu longtemps avant de voir fleurir de nouveaux projets alternatifs avec pour objectif de fournir à nouveau un clone de RHEL gratuit : AlmaLinux, Rocky Linux, ou encore Oracle Linux qui existait déjà depuis presque 10 ans, mais en vrai personne n'aime Oracle et personne ne leur fait confiance :)

Phase 2 : blocage de l'accès aux sources

Là encore Red Hat ne voyait pas d'un bon œil la prolifération de clones gratuits de RHEL, ils décidèrent donc de réserver l'accès aux sources à leurs clients. Désormais, les seules sources publiques seront celles de CentOS, qui rappelons-le n'est plus la même chose que Red Hat. Or, les clones ont besoin des sources de RHEL, ce qui pose évidemment un problème.

Ce qui selon moi enfonce le clou, c'est ce communiqué de Red Hat de la part Mike McGrath, "Vice President of Core Platforms Engineering at Red Hat" (pas de traduction pour ne pas dire de bêtise). Le passage croustillant est :

I feel that much of the anger from our recent decision around the downstream sources comes from either those who do not want to pay for the time, effort and resources going into RHEL or those who want to repackage it for their own profit. This demand for RHEL code is disingenuous.

Voilà, les termes sont lâchés, ceux qui se plaignent seraient les gens qui ne paient pas. On est donc pas très loin d'une rhétorique anti open source, un retour 20 ans en arrière quand Linux était vu comme un truc d'illuminés et que l'informatique des gens sérieux c'était vendre des logiciels propriétaires en boite.

Alors oui, c'est leur droit, d'autant que le débat sur la manière de gagner de l'argent avec du logiciel gratuit est sans fin. Mais à partir du moment où Red Hat prend en otage du code source pour obliger les utilisateurs à passer à la caisse, c'est une pratique du monde propriétaire.

Red Hat est dans la légalité, dans son bon droit, mais les utilisateurs doivent comprendre que les choses n'iront pas en s'arrangeant, bien au contraire.

Conclusion

Dans mon article Le drame CentOS 8 je disais qu'il était urgent d'attendre que la situation se clarifie et qu'il ne fallait plus installer de CentOS 8. Aujourd'hui, la situation me paraît suffisamment claire : payez vos licences Red Hat ou partez chez Debian.

Il est illusoire de penser qu'il suffit de passer sous Alma ou Rocky pour résoudre le problème car l'avenir de ces distributions communautaires parait aujourd'hui incertain, d'autant que nous ne sommes pas à l'abri d'une nouvelle surprise de la part de Red Hat.

Faites des choix courageux, ne laissez pas pourrir vos infrastructures juste parce que vous n'avez pas le budget ou le temps pour vous en occuper. Ne prenez pas du CentOS juste pour avoir l'air d'un pro et affirmer fièrement à vos clients que vous travaillez avec du Red Hat. Ne croyez pas que faire les mises à jour dans 10 ans sera moins chiant que de les faire dans 5 ans, bien au contraire.

Si vous voulez rester dans la Red Hat family (CentOS, Rocky, Alma) faites-le pour de bonnes raisons. Ne restez pas volontairement prisonnier d'un écosystème qui ne veut plus de vous.

Liens

OpenBSD + httpd: marrant, mais trop limité

Rédigé par uTux 2 commentaires

J'aime bien OpenBSD. Malgré sa réputation de vieux système Unix implacable sur la sécurité, il est d'une simplicité déconcertante, cohérent, et bien documenté. Un inconvénient tout de même était la difficulté d'installer les mises à jour (il fallait télécharger et décompresser soi-même les sets, ou booter sur un CDROM) mais ce point a enfin été résolu avec syspatch et sysupgrade. Mettre à jour OpenBSD est désormais aussi simple que n'importe quelle distribution Linux !

Sachez qu'il est possible d'installer OpenBSD chez hetzner, car l'hébergeur fournit un accès kvm (même sur les serveurs virtuels à bas prix) et permet de piocher dans une bibliothèque d'ISOs bootables. NixOS, Arch, FreeBSD, ... et OpenBSD. Un gros +1 pour Hetzner qui laisse cette liberté aux utilisateurs (et en plus ils ont un provider Terraform, si ça c'est pas qualitatif...).

J'ai donc installé un petit serveur OpenBSD afin d'héberger 1 ou 2 sites statiques pour un side project. Le but était surtout de m'amuser et utiliser httpd, le serveur web builtin de ce système d'exploitation.

Commençons par parler des points positifs. OpenBSD et httpd sont très simples à configurer, la lecture des manpage est presque suffisante en soit, alors que pour Linux je commence toujours par regarder des exemples, avant d'attaquer la documentation. Un client acme est également intégré dans le système, il n'y a rien besoin d'installer pour se générer des certificats Let's Encrypt. Et... c'est à peu près tout. Je pourrais dire que httpd est léger et sécurisé, mais quand il s'agit de servir des contenus statiques, c'est à peu près toujours le cas.

Passons maintenant aux points négatifs. Tout d'abord, il y a cette blague (pas drôle) des messages d'erreur en Comic Sans MS (et oui) dont on peut heureusement se débarrasser, au prix d'une petite bidouille. Mais ça ce n'est pas grand chose, car le plus gros problème avec httpd selon moi, c'est qu'il ne fait vraiment pas grand chose, à part servir des pages web. Par exemple il n'est pas possible de spécifier de Header set Cache-Control "max-age=604800, public", qui permet d'indiquer aux navigateurs qu'ils doivent mettre en cache les ressources statiques. Et ça se ressent fortement sur le temps de chargement de vos pages.

En fait, httpd a besoin d'être complété par relayd, un reverse-proxy beaucoup plus complet. Le problème est que sa configuration est un poil plus complexe, et que ça m'ennuie un peu d'avoir un reverse-proxy sur la même machine tout ça pour ajouter un simple header dans les réponses. Au final, je suis resté sur du 100% httpd, sans le cache, et mes sites ont du se contenter de performances honorables mais pas optimales.

Aujourd'hui l'expérience est terminée, et j'ai re migré mes sites statiques vers NixOS + Apache.

OpenBSD: get rid of Comic sans ms in httpd error messages

Rédigé par uTux Aucun commentaire

I have been playing with OpenBSD and httpd lately. It's a really simple and fun webserver to use, despite suffering huge limitations, but I quickly stumble across this horror:

No joke. httpd will serve all errors messages with the infamous Comic sans ms font. It's probably a troll from the maintainers, at least I hope so. Comic sans ms sucks, I don't want that on my server. Fortunately, there is a simple way to disable it.

Add this line into your /etc/httpd.conf:

errdocs "/errdocs"

Then create the file /var/www/errdocs/err.html with the following content:

                                                                                                           
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>$RESPONSE_CODE $HTTP_ERROR</title>
<style type="text/css"><!--
body { background-color: white; color: black; }
hr { border: 0; border-bottom: 1px dashed; }
@media (prefers-color-scheme: dark) {
body { background-color: #1E1F21; color: #EEEFF1; }
a { color: #BAD7FF; }
}
--></style>
</head>
<body>
<h1>$RESPONSE_CODE $HTTP_ERROR</h1>
<hr>
<address>$SERVER_SOFTWARE</address>
</body>
</html>

Then restart httpd:

rcctl restart httpd

Explanation: httpd manage says:


A custom error document may contain the following macros that will be expanded at runtime:

$HTTP_ERROR
    The error message text.
$RESPONSE_CODE
    The 3-digit HTTP response code sent to the client.
$SERVER_SOFTWARE
    The server software name of httpd(8).

So I just took the source code of a 404 error page, removed the Comic sans ms part in the CSS and replaced the values (error code, message, server identity) by the proper variables. Now all errors messages should be generated with this new template, with a fallback font.

Fil RSS des articles de cette catégorie