samedi 22 septembre 2012

E4RAT: Optimisez Linux

Optimisez le boot de Crunchbang ou autres...


Message à nouveau "re-remonté" : 
#########################
Correctif:
Avant d'installer E4rat, il faut désinstaller Readahead et Auditd (ou équivalents) car cela peut créer des conflits (s'ils sont installés). Preload par contre ne semble pas interférer.

S'il s'agit d'une simple mise à jour de startup.log supprimez-le carrément: sudo thunar /var/lib/e4rat/ et supprimez startup.log. On n'est jamais trop prudent ! Note: après avoir mis à jour votre Kernel, il faut refaire la manipulation de E4Rat, ce qui renouvellera votre startup.log.
#########################

Je reprends cet article du 10 Mars 2012...
A l'époque, mon EeePC 900 fonctionnait encore et j'avais constaté, un peu tard (mais sans problème particulier), que ça ne servait à rien sur un disque SSD. Maintenant, j'utilise mon Eeebox Asus avec un disque dur classique de portable. Je suis passé à Crunchbang "Waldorf", c'est-à-dire Wheezy. La sortie officielle de la version Wheezy de Debian étant en fait prévue pour le début 2013. Comme à mon habitude, j'ai "viré" Openbox pour revenir à XFCE4 (qui s'est d'ailleurs bien amélioré). Je trouve en effet Openbox peu souple et Tint2, n'en parlons pas! Et la différence au niveau légèreté n'est que peu sensible...

Je me suis donc lancé à nouveau dans l'installation de E4rat.

Pour utilisateurs avertis et expérimentés uniquement. Cette 
manipulation ne présente pas de danger particulier pour votre système, par contre le logiciel utilisé étant en "beta", c'est donc à vos risques et périls que vous l'utilisez. Il est de toutes manières conseillé de faire une "image" de votre système avec l'excellent Clonezilla avant toute modification hasardeuse...
Introduction :


e4rat ("Ext4 - Reducing Access Times») est un ensemble d'outils pour accélérer le processus de démarrage ainsi que le démarrage d'application en créant un cache. En parallèle de ça, il place les fichiers dans un ordre séquentiel permettant une lecture efficace. 
La combinaison de la lecture séquentielle et du cache peut réduire le temps de démarrage par trois.
Seul bémol, le système de fichiers supporté est uniquement le Ext4, disponible depuis la version 2.6.31 du Kernel et cette manip est quasiment inutile sur un disque SSD comme sur certains notebooks.

Prérequis et Installation :
  • Un Linux déjà installé.
  • Un ou des disques IDE ou SATA en Ext4
  • Un bloc-note ou mieux un 2e PC (pour avoir les instructions sous les yeux)
  • Éventuellement un chronomètre pour comparer vos temps avant et après. (Les téléphones cellulaires en ont souvent un). Je précise que j'ai oublié de le faire.
Commencez par installer la dernière version de e4rat, actuellement (juillet 2012) on installe la version 0.2.3 (fichier deb pour Debian et Ubuntu) . Vous ne le trouverez pas dans Synaptic même avec les dépôts Wheezy activés. Téléchargement des fichiers DEB.
Installez E4rat ne pose aucun problème particulier. C'est le paramétrage qui est un peu plus compliqué.

Collecte
Après l'installation, redémarrer votre pc. Dans le choix du menu GRUB, choisissez votre partition Linux et appuyez sur "e" pour changer la configuration. En cherchant la ligne du noyau qui devrait ressembler à ça :
kernel /vmlinuz26 root=/dev/disk/by-uuid/bf1d191b-0f0d-4961-bd67-4d023a2e5873 ro
A la fin de la ligne (après "ro"),  ajoutez ceci:
init=/sbin/e4rat-collect
, ce qui donne:
kernel /vmlinuz26 root=/dev/disk/by-uuid/bf1d191b-0f0d-4961-bd67-4d023a2e5873 ro init=/sbin/e4rat-collect
Appuyez sur Ctrl + X pour continuer le démarrage.

E4rat va collecter des informations et surveiller les deux premières minutes du démarrage. L'ordinateur s'amorcera normalement. Les deux minutes (ou moins si votre Linux est léger) écoulées, vérifions si ça a fonctionné en cherchant le fichier startup.log:
cat /var/lib/e4rat/startup.log
Si vous voyez du contenu texte avec des lignes de répertoires, tout s'est bien déroulé.

Réaffectation
Redémarrez encore une fois votre ordinateur et modifiez votre entrée de démarrage Linux à nouveau en le sélectionnant et en appuyant sur "e". Cette fois, ajouter le mot "single" à la fin de votre ligne du noyau, comme ceci:
kernel /vmlinuz26 root=/dev/disk/by-uuid/bf1d191b-0f0d-4961-bd67-4d023a2e5873 ro single
Il devrait redémarrer en ligne de commande, connectez vous avec votre nom d'utilisateur et mot de passe. Je précise que dans mon cas, j'ai été obligé de faire Ctrl+X pour rebooter.
Puis, exécutez la commande suivante:
sudo e4rat-realloc /var/lib/e4rat/startup.log
Cette commande déplace tous vos fichiers de démarrage nécessaires dans un même zone du lecteur pour un accès rapide. Ça peut prendre un peu de temps. Une fois terminé, redémarrez..

Préchargement
La dernière étape consiste à demander à votre machine de pré-charger les fichiers à chaque démarrage. Editez votre fichier de configuration GRUB2 en exécutant:
sudo nano /etc/default/grub (on peut remplacer "nano" par geany, mousepad ou autre, nano n'étant vraiment pas intuitif pour les débutants...)
Repérez la ligne GRUB_CMDLINE_LINUX_DEFAULT et ajouter ceci:
init=/sbin/e4rat-preload
Si vous êtes utilisateur de Plymouth, rajoutez ceci :
plymouth:force-splash init=/sbin/e4rat-preload
Laissez tout ce qui existait déjà après la ligne d'initialisation. Ça devrait ressembler à ceci:
GRUB_CMDLINE_LINUX_DEFAULT="init=/sbin/e4rat-preload quiet splash" 
(vérifiez bien les guillemets et s'il n'y a pas des espaces en trop!)

Enregistrez et fermez. 
Ouvrez un terminal et exécutez:
sudo update-grub


Attention! Vérifiez bien que des espaces n'ont pas été rajouté au "p'tit bonheur". Lors de ma troisième configuration, je me suis retrouvé avec des espaces en trop dans GRUB_CMDLINE_LINUX_DEFAULT="init=/sbin/e4rat-preload quiet splash"  et résultat, j'avais un message d'erreur avec update-grub. Surtout, ne redémarrez pas sans avoir résolu un éventuel problème, votre système serait cassé!

Fini ! Redémarrez pour voir si tout est OK.
Maintenant, à chaque démarrage, vous verrez des lignes concernant E4rat et normalement, votre Linux devrait être nettement rapide de 50 à 300% suivant les configurations.
Il est évident que l'amélioration sera plus sensible sur un "gros" Linux que sur une distro déjà allégée comme Crunchbang. Personnellement, je n'ai pas trouvé d'amélioration spectaculaire. Mais peut-être faudrait-il désinstaller Preload et/ou Readahead?
Il faut refaire cette manip' à chaque fois que vous mettez à jour votre Kernel et si vous rajoutez des programmes qui se lancent au boot.
La prochaine étape sera le fameux script qui remplace le "code de 200 lignes du Kernel" et qui donne des résultats spectaculaires paraît-il... Voir ici: SCRIPT TO AUTOMATICALLY APPLY THE "200 LINES KERNEL PATCH" ALTERNATIVE...

Source: 
Adapté de http://crunchbanglinux-fr.org/forum/viewtopic.php?id=817 et
Life Hacker - E4rat Seriously Cuts Down on Linux Boot Time With a Few Simple Commands

Voir aussi http://doc.ubuntu-fr.org/e4rat

Aucun commentaire:

Enregistrer un commentaire

Remarque : Seul un membre de ce blog est autorisé à enregistrer un commentaire.