Je n’aime pas CentOS pour le Web

En ligne depuis le 5 mai 2014

CentOS est une distribution construite entièrement à partir des sources de RedHat entreprise Linux (RHEL). Cette distribution est plutôt robuste, stable et performante. Mais ce n’est pas adapté au Web !

Le principe même du Web est d’être en toujours à jamais en version beta. Quel site est maintenant figé ? Cette distribution propose un support sur plusieurs années lié toujours à RedHat (7 ans de base + 3 ans en « extended »).

Bon, pour rigoler, on ne peut même pas parler de Nginx… CentOS ne propose même pas de RPM !

Voici un tableau de comparaison en fonction des versions.

CentOS 5

L’actuelle Oldstable n’est plus supportée activement (depuis le 31 mars 2014). Elle est passée récemment en support « extended ». Il est grand temps de migrer en CentOS 6 ? Regardons la doc de migration

« A fresh install is generally strongly preferred over an upgrade. »

Et même plus loin : « Remember – A fresh install is generally strongly preferred over an upgrade. »

WTF ?! %#!><!!!!? Mais c’est quoi cette merde ?! Une distribution qui ne recommande pas les upgrades !??? Pardonnez mon langage. Mais merde quand même.

CentOS 6

Bon, CentOS 6… la grande version stable. On va se marrer, tient !

  • PHP 5.3.3… en old stable…
  • MySQL 5.1… n’est plus supporté depuis fin 2013 (uniquement en support payant chez Oracle). Voir la page EOL de MySQL.

Utile d’aller plus loin ? Cela ressemble aux paquets présents sur Debian Squeeze (oldstable).

CentOS 7 (RHEL7 en RC actuellement)

Voici le tableau de comparaison de RedHat provenant de Distrowatch. Je n’ai pas trouvé d’autres lien intéressants pour voir les divers paquets installés.

Alors sur une note positive, je peux voir que RHEL7 propose MariaDB 5.5.35 (à titre informatif Debian propose nativement 5.5.37)… Je trouve cela très bien d’utiliser ce fork au lieu de MySQL. Dommage, de ne pas utiliser la version 10 !

Concernant PHP, ils se débarrassent enfin de PHP 5.3 pour passer en PHP 5.4… Super… Pourquoi ne pas passer directement en PHP 5.5 ?! PHP 5.6 est en freeze et il n’y aura plus d’autre version beta. Quand PHP 5.6 sortira (d’ici fin 2014 AMHA avec la fin de vie de PHP 5.3), PHP 5.4 sera en oldstable.

Cette distribution n’est même pas encore sortie… qu’elle est déjà obsolète pour le web.

Pour conclure

En conclusion, cet article n’est pas là pour critiquer cette distribution… mais pour faire la lumière que cette dernière n’est pas adaptée au web. Cette distribution est uniquement utile pour des systèmes figés pendant plusieurs années.

Migration MariaDB 5.5 à MariaDB 10 sous Debian Wheezy

En ligne depuis le 27 avril 2014

Hello,

Il y a quelques semaines, MariaDB est passé stable. Il est grand temps de passer à la dernière version !

Voici un petit article pour migrer de MariaDB 5.5 à MariaDB 10. J’utilise les dépots Debian provenant directement de MariaDB. Voici la liste des tâches à effectuer.

  1. un ptit coup d’apt-get update && apt-get dist-upgrade
  2. Suivre le mini turoriel avec les dépots Debian de MariaDB 10. Pensez à bien remplacer les anciens dépots dans /etc/apt/sources.list !
  3. Le paquet « mariadb-server » est un meta-paquet qui pointe vers mariadb-server-10.0 et entre autre est en conflit avec mariadb-server-5.5. Aucun soucis à faire un apt-get install mariadb-server !
  4. A l’installation, l’outil de configuration demande un nouveau mot de passe, 3 fois… Je recommande de ne rien toucher.
  5. Et hop migré !

Je précise que j’ai fait cet article en même temps que la migration… donc tout se passe très bien. A priori, cela devrait aussi bien fonctionner avec une autre version de MariaDB ou de MySQL provenant de dépots Debian.

Doit-on reboot après une mise à jour ?

En ligne depuis le 13 avril 2014

La réponse est simple, nous devons reboot une machine uniquement après une upgrade du kernel ou de la libc… Cependant, certains programmes en cours d’exécution doivent être redémarrés lors d’une upgrade d’une lib…

Une commande assez sympa existe : checkrestart, provenant du packet debian-goodies.
A mon travail, je n’éteins / reboot que très rarement ma machine (Ubuntu) mais je fais une mise à jour assez souvent… Le cas idéal ! A la première version de cet article, je voulais montrer la sortie de la commande checkrestart. Tellement longue, que je t’aurais perdu, toi lecteur.
Voici un exemple avec le serveur hébergeant ce site :

$ sudo checkrestart
Found 30 processes using old versions of upgraded files
(18 distinct programs)
(18 distinct packages)

Of these, 9 seem to contain init scripts which can be used to restart them:
The following packages seem to have init scripts that could be used
to restart them:
opendkim:
12911 /usr/sbin/opendkim
dbus:
19104 /usr/bin/dbus-daemon
squid:
16221 /usr/sbin/squid
16224 /usr/sbin/squid
php5-fpm:
14179 /usr/sbin/php5-fpm
14181 /usr/sbin/php5-fpm
21196 /usr/sbin/php5-fpm
3097 /usr/sbin/php5-fpm
cron:
2187 /usr/sbin/cron
at:
2022 /usr/sbin/atd
rsyslog:
1974 /usr/sbin/rsyslogd
udev:
27769 /sbin/udevd
380 /sbin/udevd
27768 /sbin/udevd
acpid:
2053 /usr/sbin/acpid

These are the init scripts:
service opendkim restart
service dbus restart
service squid restart
service php5-fpm restart
service cron restart
service atd restart
service rsyslog restart
service udev-mtab restart
service udev restart
service acpid restart

These processes do not seem to have an associated init script to restart them:
gamin:
13686 /usr/lib/gamin/gam_server
isc-dhcp-client:
2465 /sbin/dhclient
irssi:
8512 /usr/bin/irssi
mariadb-server-core-5.5:
18190 /usr/sbin/mysqld
consolekit:
1464 /usr/sbin/console-kit-daemon
policykit-1:
1533 /usr/lib/policykit-1/polkitd
bash:
13391 /bin/bash

Après lancement des commandes de redémarrage ci-dessus (service…), voici le résultat :

~$ sudo checkrestart
Found 13 processes using old versions of upgraded files
(7 distinct programs)
(7 distinct packages)
These processes do not seem to have an associated init script to restart them:
gamin:
13686 /usr/lib/gamin/gam_server
isc-dhcp-client:
2465 /sbin/dhclient
irssi:
8512 /usr/bin/irssi
mariadb-server-core-5.5:
18190 /usr/sbin/mysqld
bash:
13391 /bin/bash

Il me reste donc :

  • Mon screen + irssi (avec bash) : facile je coupe tout et je relance
  • MariaDB… étrange qu’il ne soit pas détecté comme démon (bug ?) : un coup de /etc/init.d/mysql restart
  • DHCP, un ptit coup de /etc/init.d/networking restart et c’est reparti !

Et gamin, alors là, j’avoue que je ne sais pas quoi faire… je ne vais pas reboot ?! :(

A+ pour un nouvel épisode !