Les versions des noyaux Linux, stables, longterm ou EOL…

Depuis le passage à une évolution des noyaux plus linéaire, il n’est pas toujours simple de savoir quel est le noyau à utiliser dans le cas d’une recompilation manuelle. Si on regarde la page d’accueil de kernel.org, le site officiel du noyau Linux, on voit un peu moins d’une dizaine de noyaux présents.

Pour rappel, chaque nouvelle version voit son numéro après le 3 être incrémenté (3.6 -> 3.7 -> 3.8). Chaque nouvelle version correspond à de nouvelles fonctionnalités, ou éventuellement un changement d’API. À contrario, le 3° chiffre (3.6.1 -> 3.6.2) correspond à un correctif de bugs ou de sécurité, mais les fonctionnalités et les APIs restent stables. D’où l’intérêt d’utiliser un noyau qui aura des correctifs sur une longue période.

Le choix d’un « mauvais » noyau se verra sanctionné par une absence de correctifs au bout de quelques semaines/mois. On remarquera par exemple qu’à ce jour (21/03/2013) les noyaux 3.7.10 et 3.6.11 sont taggés EOL comme End Of Life, donc en fin de vie, et ils ne seront donc plus maintenus. Il est indispensable de privilégier un noyau taggé longterm qui est maintenu pendant une durée de l’ordre de 2 ans, sauf si l’évolution des fonctionnalités du noyau ne nous pose pas de problème, le passage d’un 3.7 à un 3.8 n’est pas particulièrement compliqué. Mais ce genre de mise à jour peut nécessiter une mise à jour d’outils systèmes dans des versions non supportées par l’éditeur de notre distribution (modprobe, iptables, …).

À la date où j’écris cet article, on recommandera donc la dernière version d’un 3.4 ou 3.2. Ce dernier est particulièrement approprié puisque cet ce noyau qui sert de base aux noyaux de Ubuntu 12.04LTS, Debian 7 ou encore Slackware 14.0.

Et pour éviter toute ambiguïté, le 3.8 ne sera pas un noyau longterm, son support s’arrêtant quand le 3.9 verra le jour…

Pour référence, on pourra suivre le blog de Greg Kroah-Hartman ( http://www.kroah.com/log/ ) qui est le mainteneur des dernières versions longterm, ou consulter son Google+ (https://plus.google.com/111049168280159033135/posts )
Le site LWN.net référence régulièrement les dernières versions stables des noyaux, mais ne fait pas référence aux longterm.

Revue de web/presse du 20 Juillet 2012

Trucs intéressants sur Linux trouvés sur le Web ces derniers jours [en] :

  • Howtoforge: l’installation sur un OpenSUSE 12.1 d’un VirtualBox headless. Bien que le howto comporte des commandes spécifiques à OpenSUSE, notamment pour l’installation de VirtualBox, l’utilisation de VBoxManage qui gère VirtualBox est adaptable à d’autres distributions. http://goo.gl/fZdn4
  • Un spécial VIM, avec VIM 101: A Beginner’s Guide to Vim ( http://goo.gl/4ro7o ), Vim misconceptions ( http://goo.gl/WwOiq ) et Vim eval feature ( http://goo.gl/ZJtWc ). Sans oublier une exceptionnelle Vim Cheat Sheet visible sur http://i.imgur.com/YoQ0x.jpg
  • Quelques trucs sur la commande locate: http://goo.gl/K0uaD
  • Un rappel sur les options classiques sous Linux/UNIX. http://goo.gl/hKXPA
  • Un bash cheat sheet sur http://goo.gl/Z5nZu
  • Un article sur CPUFreq (date de 2009) par IBM à l’adresse http://goo.gl/Ie4K8

Revue de presse papier:

GNU/Linux Magazine France N°151

Comme à chaque sortie d’un nouveau noyau, on trouve une description détaillée des changement apportés par le noyau Linux 3.4. Dans ce numéro double de l’été, je regrette que cet article ne soit que la partie 1 de ces changements, la partie 2 sera sans doute au programme du numéro de septembre.

La partie Labo donne un article de 12 pages sur la Microsoft Kinect et son exploitation à l’aide des bibliothèques OpenNI et OpenCV.

Tutoriels: Installation de Kolab v2.4. Installation de Askbot, un système de questions/réponses web. Création d’une application Android.

Android: un article sur la compilation et la personnalisation de la version AOSP. Un article sur le démarrage d’un système Android. Et un tutoriel sur la création d’une application Android.

Présentation de l’OS RTEMs.

Pour finir, la partie Code s’intéresse à la bibliothèque mathématique SymPy pour python et sur les méthodes magiques de PHP.

GNU/Linux Pratique N°72

Présentation de logiciels:

  • yEd: pour la création de diagrammes.
  • Tao Presentations: logiciel de création de présentations avec possibilité d’y inclure la 3D.
  • Dynamips et Dynagen: pour émuler des routeurs Cisco pour la formation et/ou la validation. Visiblement l’exploitation est exclue en raison des performances de l’émulation.
  • tmux: projet « concurrent » de screen.
  • SELinux: quelques notions de sécurité liées à SELinux sont présentées, avec application sur la dernière Fedora.
Retour d’expérience intéressant sur l’installation d’un serveur pour un groupe de travail. On y trouvera du LVM2, de la virtualisation avec KVM (configuration réseau comprise), leur « supervision ». L’utilisation de la machine en tant que serveur de backup est également décrite. On trouve quelques trucs et astuces intéressants dans cet article, donc à lire !
La partie Web fait un rapide inventaire des outils de référencement et de mesure de traffic de site web, ainsi que de programmation CSS3 pour animer une page Web.
Pour les geeks cette fois, on trouve la seconde partie d’un article sur l’écriture collaborative avec Latex, et l’utilisation de l’outil TaskWarrior pour le suivi de tâches.
Du coté entreprise, on trouve la première partie de l’installation de OTRS Help Desk et OTRS::ITSM pour la gestion d’un help desk et pour le déploiement de logiciels, ainsi qu’un article sur la méthode QSOS de qualification et de choix de logiciel OpenSource.
Et pour les programmeurs, un peu de python avec un générateur de nombres aléatoires et, toujours en python, un générateur de QR Code.
C’est tout pour l’instant. Je vais essayer de faire une petite revue de presse régulièrement, à suivre ici !

Accélérer un site wordpress

En discutant l’autre jour avec un ami utilisant pas mal la plateforme WordPress, l’idée est venue de parler des performances du moteur. Certains de ses sites étant assez utilisés, la performance n’est pas toujours au rendez-vous. L’idée est donc de propose une configuration un peu plus rapide et moins gourmande pour la machine.

Point de départ

On commence donc par une installation standard Debian Squeeze (dans mon cas), apache2 et la dernière version de WordPress. On va ajouter un article de type LoremIpsum pour remplir la page et regarder ce que ça donne. La machine est une machine virtuelle avec 512 Mo de RAM, rien de très follichon. Je vous la fais courte

ab -c 5 -n 10 'http://xxx/'
...
Total transferred:      131473 bytes
HTML transferred:       128633 bytes
Requests per second:    2.80 [#/sec] (mean)
Time per request:       1786.356 [ms] (mean)
Time per request:       357.271 [ms] (mean, across all concurrent requests)
Transfer rate:          35.94 [Kbytes/sec] received
...

Ouais, donc nativement comme ça, template de base, peu d’images on tourne à 2.8 requêtes par seconde. Temps moyen de réponse 1786 ms. Le programme ab n’est qu’un indicateur qui va nous permettre de mesurer l’amélioration. On peut utiliser d’autres outils de mesures de montée en charge d’un site web comme loadimpact par exemple.

Le plugin W3 Total Cache

Première chose qu’on va faire, c’est de mettre en place ce plugin. C’est assez vite fait, et l’amélioration est flagrande. C’est la version 0.9.2.4 au moment où j’écris ces lignes. J’installe le plugin, et je l’active, que se passe-t-il ? Rien ! Il va falloir en effet le configurer, et c’est là où beaucoup prennent peur !

Donc, dans la page Performance qui est apparue sur la gauche de mon écran, je choisis Preview tout en haut de la page , ce qui me permet de vérifier que le site est bien visible. Il est visible ? Alors je fais Deploy au même endroit. Que me dit ab cette fois ?

Total transferred:      133740 bytes
HTML transferred:       130610 bytes
Requests per second:    39.21 [#/sec] (mean)
Time per request:       127.507 [ms] (mean)
Time per request:       25.501 [ms] (mean, across all concurrent requests)
Transfer rate:          512.15 [Kbytes/sec] received

Déjà, il y a un mieux flagrant, d’ailleurs je dois augmenter le temps de test, car la réponse est trop rapide.

ab -c 50 -n 1000 'http://xxx/'
...
Total transferred:      13374000 bytes
HTML transferred:       13061000 bytes
Requests per second:    61.32 [#/sec] (mean)
Time per request:       815.336 [ms] (mean)
Time per request:       16.307 [ms] (mean, across all concurrent requests)
Transfer rate:          800.93 [Kbytes/sec] received
...

Plus de 60 requêtes par secondes, on a multiplié notre performance par plus de 20 !

Maintenant, sur le serveur, installons le paquet php-apc. Ce dernier va nous permettre de ne mettre en cache les requêtes au niveau php. Après avoir redémarré Apache, on doit voir apparaître l’option APC dans la section Page Cache qui doit être activée. On la choisit.

ab -c 50 -n 1000 'http://xxx/'
...
Total transferred:      13564000 bytes
HTML transferred:       13251000 bytes
Requests per second:    136.58 [#/sec] (mean)
Time per request:       366.081 [ms] (mean)
Time per request:       7.322 [ms] (mean, across all concurrent requests)
Transfer rate:          1809.17 [Kbytes/sec] received
...

Hum, ça commence à être pas mal non ? Plus de 130 requêtes par seconde.

Conclusion

Il y a encore beaucoup d’autres méthodes pour accélérer la réponse de WordPress, mais déjà, en quelques minutes, on lui a donné un bon coup de fouet. Ça fonctionne très bien sur une installation standard. Dans le cas du multisite, il y a des possibilités dont je parlerai dans un prochain article.

Samsung Galaxy Nexus et l’autonomie

Le week end dernier, je me suis payé un Samsung Galaxy Nexus. On trouve plein de revues sur ce téléphone, je vous laisse chercher ça sur Google. N’ayant pas de Galaxy SII, je ne le compare pas. En tous cas, bel appareil, agréable à utiliser, et un écran très réactif, presque pas de lag par rapport à mes autres Androids.

Par contre, la surprise a été au niveau de l’autonomie. Après avoir totalement chargé la batterie, le téléphone a tenu 10h avant d’atteindre 15%. Surtout que je l’ai assez peu sollicité. En recherchant un peu dans la configuration, j’ai constaté que le Wifi était activé 100% du temps, même quand le téléphone se met en veille… Je pensais que c’était parce que je n’étais pas couvert en 3G par mon opérateur et que le téléphone s’épuisait à scanner la 3G… Mais non, reconfigurer le wifi pour qu’il se coupe lorsque l’écran s’éteint a corrigé le problème. Pour aujourd’hui, j’obtiens:

Comme on peut le voir, en 8h, j’ai perdu 20%. J’ai un peu joué, un peu de maps et c’est tout. C’est beaucoup mieux qu’avant.

Pour gérer la mise en veille du Wifi, ça se trouve dans les paramètres. On choisit Wifi (pas sur la zone On/Off mais sur le mot Wifi.

   

Sur la page du wifi, on va sur les trois points verticaux pour faire apparaître le menu « Options avancées ».

On peut alors choisir « Wifi actif en veille » pour le désactiver.

Personnellement j’ai mis de le laisser actif en veille quand je suis sur chargeur. Ça permet de mettre toutes les applications à jour si besoin.

Et voilà, l’autonomie vient de prendre un coup de fouet !

Android ICS sur Acer Iconia A500

Cette fois, j’ai mis à jour ma tablette Iconia A500 avec la dernière version d’Android. Tout d’abord au niveau des pré-requis. J’avais une version GingerBread rootée, avec un recovery d’installé.

La ROM utilisée est celle de thor2002ro. Je l’ai trouvée sur le forum de TegraOwners puisque la section Iconia de chez XDA est un peu morte… J’ai dû réinstaller toutes les applications, la mise à jour nécessitant un full wipe. Tout fonctionne excepté l’appareil photo/caméra. La puce 3G intégrée à la version A501 ne fonctionne pas non plus. Vu que je ne me sers pas de la caméra, aucun soucis pour moi.

La méthodologie est simple si vous avez déjà installé une ROM alternative sur un périphérique Android. On récupère le ZIP et le GAPPS pour avoir le market et compagnie qu’on place sur la carte SD. Ensuite, redémarrage en Recovery. Là, on fait un wipe complet (option « Wipe data/Factory reset »). Ensuite on installe le fichier zip de la ROM et ensuite celui des gapps. Un reboot, et hop, on est avec ICS.

ATTENTION: faites bien un backup de vos données, la méthode efface toutes les données ou les applications installées. Et le market ne va pas les réinstaller automatiquement. De plus, si vous avez sauvegardé vos applications avec Titanium (ou autre), attention à ne pas restaurer d’applications systèmes d’une version GingerBread, elles sont évidemment incompatibles.