Aujourd’hui, c’est samedi et pour vous occuper, je vous propose une
séance de travaux pratiques. Voici une bidouille à faire sous
Linux qui vous permettra de déporter le cache de votre navigateur Firefox dans la
RAM de votre ordinateur.
L’intérêt de la chose ? Accélérer la vitesse
d’affichage des pages web dans Firefox et ainsi réduire les
transferts via le disque. On gagne donc en rapidité et on n’entend plus son
disque dur gratter comme un dingue lorsqu’on lance son Firefox.
Bien sûr certains diront que les gains sont minimaux car les disques durs sont
rapides… Je pensais ça aussi et j’ai quand même essayé ma
manip… Et bien, je peux vous le dire, sur mon PC en tout cas, c’est assez visible.
L’affichage des pages déjà en cache est instantanné et la LED de mon
disque dur ne clignote plus
Le revers de la médaille qui a mon avis n’en est pas un, c’est
qu’à chaque reboot, vous perdez complétement le contenu de votre
cache (logique, c’est de la RAM -> mémoire vive). Mais finalement, ce
n’est pas génant car au moins, on est sûr de ne pas avoir de trucs
périmés en cache et pour la confidentialité du surf, c’est mieux.
Bref… On attaque ?
Mes manips sont réalisées sur Ubuntu donc gaffe si vous avez un autre OS, il faudra
adapter… Mais c’est faisable aussi sur MacOS X (avec EspérenceDV)
Un disque virtuel en RAM, ça s’appelle un Ramdisk. On va donc
définir la taille du ramdisk. Pour cela, on édite le fichier de
Grub :
sudo nano /boot/grub/menu.lst
Vers la fin, vous devriez voir un truc comme ça :
title         Â
Ubuntu 8.10, kernel 2.6.27-7-generic
root          Â
(hd0,1)
kernel        Â
/boot/vmlinuz-2.6.27-7-generic root=UUID=e428e3e0-7672-4a82-9f85-3c47c811c4a7 ro quiet splash
initrd        Â
/boot/initrd.img-2.6.27-7-generic
quiet
On rajoute alors le paramètre ramdisk à la fin de la ligne kernel.
kernel        Â
/boot/vmlinuz-2.6.27-7-generic root=UUID=e428e3e0-7672-4a82-9f85-3c47c811c4a7 ro quiet splash
ramdisk_size=65536
65536 correspond à une taille d’environ 65 MB. 65 MB pour du cache, c’est
largement suffisant, même pour un gros surfeur.
Sauvegardez le fichier (CTRL X), et mettez à jour grub :
sudo update-grubtitle
Et on reboote !!!
Ensuite, on va formater la RAM
mke2fs -m 0 /dev/ram0
On crée un répertoire de montage
sudo mkdir /media/ramdisk
et on monte le disque virtuel
sudo mount /dev/ram0 /media/ramdisk
Pour voir si ça a bien fonctionné, lancez la commande suivant pour voir le
système de fichier en place (normalement ext2)
mount | grep ram0
et la commande suivante pour voir la taille de votre ramdisk
df -h | grep ram0
Si c’est tout bon, alors tant mieux ! On va pouvoir passer au script ! Il faut en effet
mettre en place un script au démarrage de l’ordinateur car le disque en RAM est
volatile. Il disparait à chaque reboot.
Créez donc un fichier /etc/init.d/mountram.sh
sudo nano /etc/init.d/mountram.sh
et rajoutez les lignes suivant à l’intérieur :
#! /bin/sh
/sbin/mke2fs -q -m 0 /dev/ram0
/bin/mount /dev/ram0 /media/ramdisk
/bin/chown manu:manu /media/ramdisk
/bin/chmod 777 /media/ramdisk
exit 0
La commande chown est utilisé pour vous donner les droits
d’accès (user = manu / group = manu) et la commande chmod donne les
droits d’écriture complet sur le ramdisk.
Rendez ensuite votre script exécutable :
sudo chmod +x /etc/init.d/mountram.sh
Et créez un lien symbolique comme ceci :
sudo ln -s /etc/init.d/mountram.sh /etc/rc2.d/S09mountram
Puis rebootez le PC !!
Vous devriez voir apparaitre une icone comme ceci sur votre bureau, vous indiquant qu’un
disque virtuel est bien monté en mémoire
En voici les propriétés :
Cool !
Reste plus qu’à déporter le cache de Firefox sur cet espace maintenant. Par
défaut, le cache de Firefox se planque dans votre home ici (le ~ symbolise /home/xxxx/)
~/.mozilla/firefox/1jsw2aqf.default/Cache
1jsw2aqf.default , c’est l’ID de mon profil firefox. Le votre est surement
différent donc attention a bien mettre le votre.
Du coup, je supprime le répertoire Cache de Firefox…
sudo rm -r ~/.mozilla/firefox/1jsw2aqf.default/Cache
Pour mieux le récréer sous forme de lien symbolique vers mon ramdisk
ln -s /media/ramdisk/Cache ~/.mozilla/firefox/1jsw2aqf.default/Cache
Relancez Firefox et le tour est joué ! Vous pouvez aller vérifier
dans votre /media/ramdisk/Cache/ que les fichiers temporaires y sont bien copiés.
Alors maintenant, vous la voyez la différence ?
Bon surf !
[photo]
