# [HOWTO] Lancer ses apps favorites rapidement avec preload

## PabOu

Bonjour/Bonsoir à tous,

c'est mon premier how-to alors soyez gentils, merci ;)

J'ai décidé de vous parler de preload, un daemon qui analyse les programmes que vous lancez et adapte votre machine afin de lancer ces programmes plus rapidement. Et meme presque instantanément.

N'avez vous jamais rêvé qu'au matin, vous bootez votre gentoo, vous vous logguez sous X et puis que mozilla (simple exemple, vous pouvez mettre firefox) se lance en moins d'une seconde ? Et celà, sans avoir un ordi dernier cri acheté la veille ? Avec preload, c'est possible ! Pour ce faire, il met tout simplement les executables et librairies en cache dans la RAM, qui est beaucoup plus rapide en lecture que le disque dur. 

Malheureusement, preload, n'est pas encore dans portage, donc il va falloir télécharger l'ebuild qu'on peut trouver sur bugzilla à la main avant de l'emerger

Tout d'abord, vous avez besoin de définir une variable dans votre ficher /etc/make.conf :

```
PORTDIR_OVERLAY="/usr/local/portage"
```

vous pouvez mettre le répertoire que vous souhaitez, et il est également possible que vous ayez déjà cette variable définie (dans ce cas, vous savez ce que vous faites et vous n'avez pas besoin de lire cette phrase)

ensuite, en tant que root :

```
mkdir -p /usr/local/portage/sys-apps/preload/files

cd /usr/local/portage/sys-apps/preload

wget http://bugs.gentoo.org/attachment.cgi?id=72499 -O files/init.d-preload

wget http://bugs.gentoo.org/attachment.cgi?id=70529 -O preload-0.2.ebuild

ebuild preload-0.2.ebuild digest

echo "sys-apps/preload ~x86" >> /etc/portage/package.keywords

emerge preload

wget http://bugs.gentoo.org/attachment.cgi?id=72500 -O /etc/conf.d/preload
```

voilà, le programme est installé ;)

maintenant, un petit peu de configuration à faire pour ce programme dans le fichier /etc/preload.conf et éventuellement /etc/conf.d/preload

et puis on peut lancer le programme et l'ajouter au boot :

```
rc-update add preload default

/etc/init.d/preload start
```

et voilààà ! c'est fait, c'est installé, c'est lancé ;)

et maintenant, attendez un peu pour avoir des résultats. Comme je l'ai mentionné, ca analyse avant de prendre des décisions, et il vous faudra surement lancer quelques fois vos applications et redémarrer pour voir une différence au lancement de ces programmes.

si vous souhaitez virer le fichier que preload utilise pour garder ses infos, voilà la commande :

```
/etc/init.d/preload dump
```

Edit : typo (merci pierreg)Last edited by PabOu on Sat Feb 25, 2006 6:33 pm; edited 1 time in total

----------

## geekounet

Ha merci beaucoup pour le howto !!   :Very Happy:  Effectuvement je rêvais d'une telle appli, j'y pensais ya quelques jours.

Je teste ça de suite  :Smile: 

Encore merci  :Very Happy: 

PS : ya une typo :

```
mkdir -p /usr/loca/portage/sys-apps/preload/files

...
```

=>

```
mkdir -p /usr/local/portage/sys-apps/preload/files

...
```

----------

## l_arbalette

Je l'ai installé aussi. Je vais voir les résultats probablement d'ici quelques utilisations.

PabOu : ça ne te dirait pas d'intégrer cette astuce à cet article du Wiki francophone ?

Je pense que sa place y est justifiée, non ? (mais je peux me tromper : je découvre depuis très peu de temps l'univers des forums, des wikis et autres how-to ! Je n'en connais pas encore les règles de fonctionnement exactes...par exemple, je n'ai toujours pas compris ce qu'était un troll   :Sad: )

----------

## Mickael

Salut PaBOu,

il y a aussi, prelink, qui est en plus dans la partie documentation du site gentoo : 

http://www.gentoo.org/doc/fr/prelink-howto.xml Je l'ai lu rapidement et semble être fait pour accélérer les grosses applications (avec beaucoup de dépendances, genre kde, gnome). Cela semble être un bon complément à preload, non?

----------

## PabOu

t-bow : oui, c'est une bonne idée, tu peux t'en charger si cela t'amuse ;) dans le cas contraire je le ferai probablement un de ces jours.

MickTux : en effet, preload est un bon complément, car ces deux techniques ont un même but (accélérer le chargement des applications), mais ils implémentent des moyens totallement différents qui peuvent être complémentaires ;).

En fait, prelink va modifier tous les programmes de ton installation afin de lier les librairies (statiquement) en rajoutant des informations sur celles-ci au binaire. De cette façon, lorsque tu lances un programme, il ne doit plus rechercher les librairies nécessaires (liaison dynamique). En gros, le prelink, ca effectue un travail qui est toujours le meme lorsque tu charges un programme (la liaison) et ca enregistre le résultat directement dans le programme, et ainsi, tu ne devras plus le faire lors du chargement du programme. C'est particulièrement appréciable sur les grosses apps comme KDE qui utilisent énormément de libs. Un inconvéniant, c'est le besoin de relancer le prelink à chaque modification (mise à jour par exemple) d'une librairie (important) ou d'un programme (sauf si on veut pas le prelinker). Et puis comme ca le fait pour tous les binaires installés sur ton disque, ca prend énormément de temps.

----------

## zedek

Perso je ne vois pas de differences en utilisant preload. Par contre, avec prelink c'est reelement visible et le ressenti est vraiment excellent.

----------

## Enlight

 *zedek wrote:*   

> Perso je ne vois pas de differences en utilisant preload. Par contre, avec prelink c'est reelement visible et le ressenti est vraiment excellent.

 

Ah? prelink tu "sens" quelque chose???

----------

