Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[HOWTO] Tuning Gentoo
View unanswered posts
View posts from last 24 hours

Goto page 1, 2, 3  Next  
Reply to topic    Gentoo Forums Forum Index French
View previous topic :: View next topic  
Author Message
Saigneur
Apprentice
Apprentice


Joined: 21 Oct 2004
Posts: 277
Location: Evry, Essonne, France (48°35'N, 02°15'E)

PostPosted: Wed Nov 03, 2004 9:33 pm    Post subject: [HOWTO] Tuning Gentoo Reply with quote

-- traduit de ce post


COMMENT OPTIMISER ET ACCÉLÉRER VOTRE SYSTÈME
aussi connu sous le nom de "Tuning Gentoo"

Ce guide est la compilation de nombre de posts des forums Gentoo et de recherches que j'ai menées sur mes bécanes en essayant plusieurs programmes et options. Certaines modifications sont sûres, mais certaines autres peuvent altérer votre système. Veuillez effectuer une sauvegarde de vos données importantes, faire les tests sur des machines de test, et ensuite passer les optimisations sur les machines de production. Le tuning aura plus d'effet sur les vieilles machines que sur les ordinateurs récents, le système étant très rapide sur celles ci ;)


INDEX
    0. Comment faire des tests sans risque
    1. Optimisation des scripts init
    2. rc-update
    3. Cflags et ldflags
    4. Utiliser hdparm
    5. Faut il prelinker ?
    6. Gestion du Swap
    7. Ccache
    8. Distcc
    9. Les variables USE
    10. Modifier les ebuilds et insérer des packages
    11. Halt vs Suspend
    12. Xdelta - Deltup
    13. NPTL : Native POSIX Thread Library
    14. GCC
    15. Systèmes de fichiers[sécurité vs performances]
    16. I/O et gestionnaires de tâches
    17. Scripts utiles



0. Comment faire des tests sans risque

Pour tester de nouvelles ebuilds et essayer d'autres configurations, je fais les installations en environnement chrooté. Voici un guide (EN) HERE pour faire de même, et tester cet HOWTO sans risque pour le système. Vous pouvez aussi utiliser VMWARE ou UML, mais le chroot est plus rapide.
Une fois l'installation faite sous chroot, j'ai fait une image compressé, afin de pouvoir restaurer un système altéré et continuer avec un OS propre.

1. Optimisation des scripts init

Certains processes lancés au boot du système ne sont pas toujours nécessaires. Il faut modifier les scripts pour ne lancer que ceux qui sont vraiment indispensables

/etc/init.d/modules

changer :

Code:
ebegin "Calculating module dependencies"
    /sbin/modules-update &>/dev/null
eend $? "Failed to calculate dependencies"

pour :
Code:
if [ /etc/modules.d -nt /etc/modules.conf ]
    then
        ebegin "Calculating module dependencies"
        /sbin/modules-update &>/dev/null
        eend $? "Failed to calculate dependencies"
    else
        einfo "Module dependencies are up-to-date"
fi


En faisant ceci, modules-update ne se lancera qu'en cas de besoin lors de changements dans le système.

/etc/init.d/localmount

changer :
Code:
mount -at nocoda,nonfs,noproc,noncpfs,nosmbfs,noshm >/dev/null

pour :
Code:
mount -aFt nocoda,nonfs,noproc,noncpfs,nosmbfs,noshm >/dev/null


Celà chargera tous les mounts au même moment, et non les uns après les autres.

/etc/init.d/bootmisc

changer :
Code:
if [ -x /sbin/env-update.sh ]
then

    ebegin "Updating environment"
    /sbin/env-update.sh >/dev/null
    eend 0
fi

pour :
Code:
if [ -x /sbin/env-update.sh ]
then
    if [ /etc/env.d -nt /etc/profile.env ]
    then
        ebegin "Updating environment"
        /sbin/env-update.sh >/dev/null
        eend 0
    else
        einfo "Environment up-to-date"
    fi
fi


env-update ne se lancera qu'en cas de réel besoin lors de changements dans le système.


/etc/conf.d/rc

changer :
Code:
RC_PARALLEL_STARTUP="no"

pour :
Code:
RC_PARALLEL_STARTUP="yes"


Celà lancera tous les services au même moment, et non les uns après les autres.

note : un développeur pourrait il nous éclairer sur le danger de telles modifications, et si ce n'est pas dangereux, pourquoi ce n'est pas dans portage par défaut ?

2. rc-update

Gérer les runlevels est très simple grâce à rc-update, qui facilite le boulot :

Pour voir comment sont actuellements configurés les runlevel du démarrage :
Code:
# rc-update show


Pour ne pas démarrer un service au démarrage du système :
Code:
# rc-update del aplicacion runlevel

note : changer le runlevel pour "boot" ou "default" (vous pouvez aussi créer d'autre runlevels), si vous omettez le runlevel, ça cherchera dans tous et enlèvera le service.

Pour ajouter une application
Code:
# rc-update add application runlevel


J'ai quelques services dans le runlevel "boot" et d'autres dans "default". Veuillez noter que certains services ont besoin d'être lancés après d'autes, car il existe des dépendances entre le services.

Vous pouvez vérifier les dépendances en éditant le fichier /etc/init.d/service et en vérifiant les premières lignes, ou elles sont déclarées. Par exemple, si vous voulez lancer sshd, vous aurez besoin d'avoir les services net lancés auparavent.

J'ai récemment créé un nouveau runlevel (battery) où j'ai ajouté tout ce que je veux voir tourner lorsque je suis hors courant secteur. Ensuite, à l'aide d'acpid j'ai configuré les runlevel pour passer en mode "battery" lorsqu'il n'y a plus de courant, et revenir au "default" au retour du courant. De cette façon, lorsque je suis hors secteur, j'utilise speedfreq, hdparm et iwconfig pour réduire la consommation du DD, de la carte WiFi et du processeur.

Vous pouvez vérifier le runlevel courant en utilisant la commande "rc-status" :
Code:
# rc-status
Runlevel: battery
acpid                                          started
alsasound                                      started
domainname                                     started
gpm                                            started
hdparm.battery                                 started
local                                          started
metalog                                        started
speedfreq.battery                              started
vixie-cron                                     started
wireless.baterry                               started


Plus d'informations sur les RC- HERE.

Pour ceux qui bootent directement sous X (xdm, gdm, kdm...), j'ai vu qu'il est possible de mettre xdm et ses dépendances dans le runlevel "boot", afin de charger X avant le reste des autres services en arrière plan. Si quelqu'un a déjà fait ça, qu'il le signale afin que d'autres puissent en bénéficier.

3. cflags et ldflags

Les CFLAGS (vous pouvez les paramétrer dans /etc/make.conf) sont des paramètres qui sont passés à gcc lors de la compilation suite à un emerge. On peut être plus ou moins téméraire avec eux :

Sur CETTE PAGE et CELLE-CI, il y a un tas d'infos sur les paramètres recommandés. Mes CFLAGS pour mon Pentium 4 sont les suivants :

Code:
CHOST="i686-pc-linux-gnu"
CFLAGS="-march=pentium4 -mcpu=pentium4 -O3 -pipe -fforce-addr -falign-functions=4 -fprefetch-loop-arrays -fomit-frame-pointer"


Note : les cflags on changé un peu avec gcc 3.4.x et -mcpu est désapprouvé. Vous utiliserez -mtune à sa place. D'ailleurs, pentium-m est acceptable pour les processeurs centrino. Les CFLAGS pour mon portable centrino sont les suivants :
Code:
CFLAGS="-O3 -march=pentium-m -mtune=pentium-m -pipe -ftracer -fomit-frame-pointer -ffast-math -momit-leaf-frame-pointers"


Comme pour les CXXFLAGS, -fvisibility-inlines-hidden a été raporté comme un bon paramètre pour accélérer les compilations C++ :
Frepo a aussi été raporté comme un bon CXXFLAG, même s'il ne fonctionne pas si bien sur mon système.

Les LDFLAGS sont aussi intéressants, on en parle
ICI et . Les LDFLAGS sont des optimisations pour le dynamic loader (ld), qui ont plus ou moins le même effet que le prelink. Je les utilise déjà, et n'ai pas eu de problème lors de l'emerge de nouveaux paquetages :
Code:
LDFLAGS="-Wl,-O1 -Wl,--enable-new-dtags -Wl,--sort-common -s"

Quelquechose de plus "stable" donnerait
Code:
LDFLAGS="-Wl,-O1"

Note : les ldflags sont "L", et non "1" (pour -W)
Note: certains utilisateurs on raporté des erreurs en utilisant des LDFLAGS. Si vous avez un problème de compilation, essayez de le supprimer (et postez vos LDFLAGS et le package ici)

NOTE : CFLAGS et LDFLAGS sont et seront un sujet pour lequel tout le monde a une opinion. La meilleure solution est peut-être de faire les tests et benchmarks soi même. Vérifiez aussi les différents posts à ce sujet dans les forums. ACOVEA (dans les portage) est un programme utile pour déterminer les CFLAGS que vous devriez utiliser. C'est un outil de benchmark qui effectuera plusieurs tests sur votre machine (le test standart dure environ une quinzaine d'heures) pour vous aider à sélectionner les meilleurs CFLAGS pour votre machine. Voir CE THREAD concernant les scripts ACOVEA et leurs résultats.

4. Utiliser hdparm

hdparm est une application importante. Elle permet de configurer les paramètres du disque dur, afin d'en tirer les meilleurs performances :

Code:
# emerge hdparm
# rc-update add hdparm default

See /etc/conf.d/hdparm

Voir la configuration actuelle :
Code:
# hdparm -i /dev/hda


Tester son disque dur :
Code:
# hdparm -Tt /dev/hda


Sur mon ordinateur, j'ai modifié /etc/conf.d/hdparm pour avoir le meilleur de mon disque :
Code:
hda_args="-d1 -X69 -c1"
cdrom0_args="-d1"


Si vous voulez plus d'infos, man est votre ami.
Code:
# man hdparm

Jetez aussi un oeil à ce petit tutoriel.

5. Faut il prelinker ?

Prelink est une application puissante, permettant de linker les librairies d'un binaire avant de l'utiliser. Ainsi, au lieu de vérifier quelles librairies seront utilisées, prelink va modifier le binaire en ajoutant une petite description des librairies nécessaires pour tourner. Cela évite de chercher les librairies partagées à chaque fois que l'exécutable est lancé, donc l'accélère.
Important: A chaque fois que vous mettez à jour les librairies nécessaires aux binaires (par exemple glibc), vous devez relancer prelink sur le système..

C'est une petite optimisation qui sera appréciable lors du lancement de grosses applications telles que KDE (D'ailleurs, si vous prélinkez votre système, KDE ne devra plus lancer kdeinit, donc ça tournera plus vite). Les petits binaires sont rapides, donc peu sensibles au prélink.

Besoins : C'est un plus de compiler les binaires avec binutils-2.13.90.0.xx et gcc-3.2 ou plus, de d'avoir installé glibc-2.3.1-r2 ou plus. La taille des binaires va augmenter avec prelink, et pour lancer le process, vous aurez besoin d'assez d'espace sur le disque dur.

Façons de faire:
Code:
# emerge prelink

Trouver le fichier de configuration /etc/prelink.conf
Code:
# prelink -afmR

Ceci est l'utilisation courante de prelink, qui va prelinker TOUS les exécutables, après avoir vérifié s'ils l'étaient déjà.

Il est possible que vous ayiez des erreurs lors du lancement, car certains binaires ne peuvent être prélinkés (ceux compressés avec upx, par exemple)

Plus d'infos ICI, et/ou "man prelink".

Gestion du Swap

Dans cette section seront mentionnés quelques détails pouvant aider.
Tout d'abord, si vous avez deux disques durs, il est avantageux de mettre la partition de SWAP sur le second disque (en ayant la partition racine sur le premier), car celà améliorera les temps de lecture/écriture.

Il ne faut PAS utiliser un fichier comme SWAP. J'ai essayé sur un vieil ordinateur : suppression de la partition de swap, utiliséation d'un fichier swap de 256 Mo, et modifié fstab. Celà s'avère plus lent, car il faut trouver le fichier, l'ouvrir, trouver où écrire, écrire, sauver et fermer le fichier. Avec une partition, ce procédé est bien plus rapide.

Un concept à connaître est le "swappiness" (noyau 2.6 et +). Quand une application a besoin de mémoire et que la RAM est entièrement utilisée, il y a deux options : ou la RAM se vide un peu, ou le swap est utilisé (mais c'est plus lent que la RAM). Avec les nouveaux noyaux, il est possible de définir une variable pour choisir quelle option va être utilisée : purge de la RAM ou utilisation du SWAP ?

/etc/sysctl.conf
Code:
vm.swappiness = 40

Cette variable va de 0 à 100. Plus la valeur est faible, plus le noyau purgera la ram.
La valeur par défaut est de 60. Je l'ai mise à 25 sur mon ordinateur portable, afin de réduire les accès disque. Vous pouvez utiliser la commande "free -m" pour voir les statistiques de l'utilisation mémoire

7. Ccache

ccache est une application incluse dans portage et activée par défaut lors de l'emerge, qui agit comme un cache pour le compilateur. Avec ce petit programme, vous pourrez compiler bien plus rapidement que sans, spécialement pour ceux qui ont un gros "make" (vous pourriez croire qu'utiliser un cache lors de la compilation est sans intérêt, mais celà accélère des instructions comme le "make clean")

Emergez ccache et réglez la taille du cache par défaut (pour mettre un cache à 2Go, utilisez la commande "ccache -M 2G"), et ccache sera activé. Vous pouvez le vérifier avec la commande
Code:
# emerge info | grep ccache
ccache version 2.3 [enabled]

Vous pouvez vérifier les statistiques de ccache grâce à
Code:
# ccache -s


8. Distcc

distcc est une application qui va vous simplifier la vie si vous installez Gentoo sur plusieurs ordinateurs en réseau, ou si vous avez un ordinateur très lent mais un autre plus rapide. distcc peut être combiné avec ccache, pour diminuer les temps de compilation.
distcc permet de répartir la compilation sur plusieurs ordinateurs d'un même réseau, et d'utiliser ainsi les ressources de tous les ordinateurs sur lesquels il est installé.

Plus d'informations HERE.

9. Les variables USE

Les flags USE sont un outil utile fourni par Gentoo pour configurer les paquetages tels que nous les voulons.

Par exemple, imaginons que nous voulions compiler Apache :
Code:
# emerge -pv apache
[ebuild N ] net-www/apache-2.0.50 -debug -doc -ipv6 +ssl 6,197 kB

Les options (+/-) qui figurent après le nom du programme que nous allons installer (flag -v) sont les variables USE qu'il est possible d'utiliser pour configurer le paquetage. Si par exemple nous ne voulions pas qu'apache utilise SSL, nous ferion ceci :
Code:
# USE="-ssl" emerge -pv apache
[ebuild N ] net-www/apache-2.0.50 -debug -doc -ipv6 -ssl 6,197 kB

Nous pouvons maintenant voir que SSL est maintenant désactivé, et apache sera compilé sans le support SSL.

Dans cet exemple, nous modifions la variable USE directement dans le prompt, mais ce n'est pas la façon propre de faire si nous voulons que le système se rappelle de la variable USE pour chaque compilation de ce paquetage. Nous pouvons régler la variable USE dans le fichier /etc/make.conf (tout l'environnement), ou utiliser /etc/portage/package.use (pour gérer les paquetages individuellement).

Il en va de même pour le flag "x86" (pour dire à portage d'utiliser la dernière version disponible pour chaque paquetage). Il n'est pas recommandé de régler le flag dans le prompte, mais plutôt dans le fichier /etc/make.conf, ou bien le régler individuellement :
Code:
# echo "app-editors/nano ~x86" >> /etc/portage/package.keywords


Il est important de jeter un oeil au flags USE des paquetages avant de les installer, afin de désactiver les dépendances dont on n'a pas besoin.
Par exemple, si nous voulons emerger le client IRC pour console BitchX, portage installera xmms, X et d'autres dépendances qui nous seront sont inutiles. Mettre "-xmms" et "-X" dans /etc/portage/package.use va permettre d'installer BitchX sans le support xmms et X.

On peut trouver une description des flags USE dans le fichier /usr/portage/profiles/use.desc

10. Modifier les ebuilds et insérer des paquetages

Gardez toujours une sauvegarde de vos fichiers avant de les modifier (Notez qu'un emerge sync réparera tout si vous ratez un ebuild).

¿C'est quoi injecter un paquetage, et à quoi ça sert ?
Souvenez vous ce moment ou vous avez essayé d'installer un paquetage X, et où portage vous a demandé d'installer Y. Par exemple, nombre d'utilisateurs génèrent le kernel à la main plutôt que d'utiliser portage pour le faire (gentoo-sources, gentoo-dev-sources, vanilla-sources, et autres). Quand vous emergez des paquetages qui ont besoin des sources du noyau (comme alsa, ou ipw2X00) installées, portage va tenter d'installer des kernel-sources. Pourquoi faire ceci si vous avez déjà votre noyau dans /usr/src ?

Note : injecting a été désapprouvé, il faut maintenant utiliser package.provided et virtuals comme ci-dessous :

- using package.provided :

package.provided dit à portage qu'un paquetage est installé (même s'il ne l'est pas). Vous pouvez utiliser ce fichier pour déclarer à portage tous les paquetages que vous avez installé à la main.
Code:
echo "sys-kernel/ck-sources" >> /etc/portage/profile/package.provided


package.provided n'affecte pas les virtuals, car les virtuals sont utilisés pour dire à portage quels paquetages installer pour une catégorie donnée :
Par exemple, pour dire à portage que vous installez x11 avec xorg et non plus avec xfree (cet exemple n'est pas parfait, mais il aide à comprendre) :
Code:
echo "virtual/x11 x11-base/xorg-x11" >> /etc/portage/profile/virtuals


Plus d'informations à ce sujet et sur la gestion de /etc/portage : man portage.

11. Halt vs Suspend

Vous êtes vous jamais demandé pourquoi éteindre l'ordinateur, alors qu'il est possible de le mettre en mémoire ou sur disque ?
Si vous le mettez en mémoire, ça a l'inconvénient de nécessiter une alimentation pour garder le système en mémoire. Mais en le mettant sur disque, vous eteignez l'ordinateur tout en conservant votre session.

En faisant celà, on évite de démarrer tous les services à chaque boot (ce n'est pas une sortie de veille, mais c'est bien plus rapide qu'un boot).
J'ai utilisé swsusp2 sur mon ordinateur portable, et ça fonctionne bien. Mais il faut patcher les sources du noyau. Plus d'infos ICI. Essayez, vous ne regretterez pas.

12. Xdelta - Deltup

Dans ce thread , le sujet de Deltup est abordé, car une nouvelle version en est disponible. A chaque fois que portage doit télécharger un fichier, deltup regardera si une version précédente du fichier (/usr/portage/distfiles) est présente, ne téléchargera que la différence entre les deux fichiers, et créera le nouveau à la volée.

Celà peut être important pour les utilisateurs de petites connexions qui veulent maintenir leur /usr/portage/distfiles à jour pour ne télécharger que les patches quand de nouvelles versions sont publiées, car celà peut réduire beaucoup la quantité de données à télécharger lors de l'emerge de nouvelles versions des packages installés.

13. NPTL : Native POSIX Thread Library

Cette librairie, connue sous le nom de NPTL, peut améliorer votre système, car elle est jusqu'à quatre fois plus rapide que LinuxThreads pour créer de nouveaux threads.
Vous *devriez* utiliser les headers linux 2.6, et une version récente de glibc et gcc (~x86 : version 3.x). Pour utiliser NPTL, vous avez juste à recompiler glibc avec le flag USE "nptl"

Vous trouverez plus d'infos et des benchmarksICI.

14. GCC

GCC est très important, surtout dans une distribution telle que Gentoo, où les utilisateurs essaient d'optimiser leur système en compilant eux-même les paquetages qu'ils installent. En utilisant une version à jour, vous aurez un code plus optimisé (depuis la version 3.4.X, vous pouvez utiliser -march=pentium-m pour les processeurs Centrino)

Pour installer la dernière versino de GCC, émergez simplement gcc avec ~x86 activé (modifiez votre profil en conséquence) :

Code:
# echo "sys-devel/gcc ~x86" >> /etc/portage/package.keywords
# emerge -u gcc


Systèmes de fichiers[sécurité vs performances]

Après avoir essayé plusieurs systèmes de fichiers, j'utiliser reiser4, car c'est le plus rapide. Je pense qu'il est très utile d'utiliser un FS rapide, mais il faut faire des sauvegardes des données au cas où des fichiers soient corrompus.
Notez qu'après avoir utilisé ext2, ext3, reiserfs, xfs et d'autres FS chiffrés, je n'ai jamais eu de données corrompues.
Ne pas oublier de compiler le noyau avec le support du système de fichiers correspondant,

Pour convertir votre partition racine en reiser4, vous aurez besoin d'un LiveCD avec le support de reiser4 comme [CELUI-CI.

NOTA : Certaines personnes ne trouvent pas le sous-menu "Reiser4" dans l'arbre Filesystems du kernel. Assurez-vous auparaventd'avoir désactivé l'option "use 4kb for kernel stacks" au lieu de 8Kb dans le sous-menu "kernel hacking".

I/O et gestionnaires de tâches

A venir...

Scripts utiles

Il y a quelques scripts utiles sur les forums et dans l'arbre de portage pour gérer votre système :

1- esearch

Celui-ci est inclus dans l'arbre de portage (emergez esearch), et sert à faire des recherches dans la base de données de portage. Ce script est plus rapide que "emerge -sS".
Notez qu'après chaque "emerge sync", il faut mettre à jour la base de données esarch en lançant la commande "eupdatedb", ou bien vous pouvez utiliser esync pour mettre à jour l'arbre de portage (esync emergera sync, et montrera alors une liste des différences d'avec l'ancienne sync)

2- portagedb

Même concept qu'esarch, mais plus rapide (et plus rapide à mettre à jour la base portage). Le projet est encore jeune mais déjà bon. Plus d'infosICI.

3- Cruft

Ce script génerera une liste de tous les fichiers du système qui peuvent être effacés car ils n'appartiennent à aucun paquetage installé. Veuillez faire attention à ce que vous faites car il peu générer de faux positifs.

Usage:
Code:
# ./cruft > cruft.log

Vous pouvez alors vérifier la liste et en virer les fichiers que vous voulez garder. Ensuite, lancez cette commande pour vous débarasser des fichiers de trop :
Code:
# cat cruft.log | xargs rm -rf


Vous pouvez aussi juste jeter un oeil à la liste et supprimer les fichiers vous-même

Plus d'infos ICI.

4- Stale

Script intéressant qui vous aidera à maintenir /usr/portage/distfiles dans une taille optimale. Ce script cherchera (et supprimera, avec l'option "--nopretend") dans ce répertoire les fichiers obsolètes. Par exemple, si vous avez libtool-1.3.5.tar.gz et libtool-1.5.2.tar.gz, il supprimera libtool-1.3.5.tar.gz.

Ce script a des difficultés avec des fichiers comme font-arial-iso-8859-1 et font-arial-iso-8859-2, où la numération ne correspond pas à la version du paquetage. (de même avec gtk et glib dans leur version 1.X et 2.X)
Plus d'infosICI.

5- Porthole

Application faite en python (+gtk) permettant de configurer visuellement portage, et facilitant la configuration de paquetages et d'emerges. Déjà présent dans portage, il suffit de faire "emerge porthole" pour l'installer.

6- guitoo

Un autre gestionnaire graphique de portage, fait en Qt (pour les amoureux de KDE). Jeune projet, mais fonctionne bien.

Plus d'infos ICI.

Vous trouverez aussi d'autres scripts et programmes utiles liés à portage dans ce thread.

-- En construction --
_________________
Tant pis si ça saigne, pourvu que ça rentre.


Last edited by Saigneur on Thu Nov 04, 2004 6:49 pm; edited 8 times in total
Back to top
View user's profile Send private message
moon69
Guru
Guru


Joined: 30 Aug 2003
Posts: 444

PostPosted: Wed Nov 03, 2004 9:49 pm    Post subject: Reply with quote

ya une partie en anglais! c'est normal doc? :)
Back to top
View user's profile Send private message
Saigneur
Apprentice
Apprentice


Joined: 21 Oct 2004
Posts: 277
Location: Evry, Essonne, France (48°35'N, 02°15'E)

PostPosted: Wed Nov 03, 2004 9:51 pm    Post subject: Reply with quote

Oui. Je ne l'ai pas (encore ;-)) indiqué au début, mais c'est une traduction du thread [HOWTO] Flying with gentoo :)

La traduction est en cours.
_________________
Tant pis si ça saigne, pourvu que ça rentre.
Back to top
View user's profile Send private message
zdra
Veteran
Veteran


Joined: 30 Nov 2003
Posts: 1693
Location: Bruxelles, Belgique

PostPosted: Wed Nov 03, 2004 9:58 pm    Post subject: Reply with quote

BRAVO ! c'est toujour bon ce genre de howto, on apprend des ptit trucs bien sympa :D
Back to top
View user's profile Send private message
bob1977
Guru
Guru


Joined: 16 Mar 2004
Posts: 387

PostPosted: Wed Nov 03, 2004 10:01 pm    Post subject: Reply with quote

Tres bonne idee de traduire ce topic. J'y ai appris beaucoup de choses.
Cependant, dans un des posts du topic original, j'ai appris que certaines choses peuvent ne pas marcher en particulier les modifications des scripts rc. Par exemple, le montages des systemes de fichiers en parallele peut ne pas marcher si un systeme doit etre monte dans un autre ( a part la racine bien sur): exemple: monter /usr et /usr/local. La plupart des gens ne font pas ca mais ca existe.

C'est quand meme une excellente idee.

EDIT: voici le lien :
http://thread.gmane.org/gmane.linux.gentoo.devel/22100
Back to top
View user's profile Send private message
babykart
Guru
Guru


Joined: 08 Oct 2004
Posts: 415

PostPosted: Wed Nov 03, 2004 10:38 pm    Post subject: Reply with quote

completement d'accord avec toi bob1977...
d'ailleurs certaines réponses sont carrement un complément, en particulier teutzz quand il donne des précisions sur les CFLAGS de GCC...
ce HOWTO est une bonne initiative, mais il mériterait un update/synthèse par la même occasion...
bon courage :wink:
Back to top
View user's profile Send private message
aris
n00b
n00b


Joined: 14 Oct 2004
Posts: 6

PostPosted: Wed Nov 03, 2004 10:48 pm    Post subject: Reply with quote

je n'ai pas encore tenté de faire la paralelisation des RC... mais si on ne veut pas faire ca, une autre chose importante à faire est de regler le timeout DHCP ou au moins desactiver dhcp si le reseau n'est pas detecté (je mets 2 minutes de plus à booter mon portable en dehors de chez moi à cause de ca)
Back to top
View user's profile Send private message
Saigneur
Apprentice
Apprentice


Joined: 21 Oct 2004
Posts: 277
Location: Evry, Essonne, France (48°35'N, 02°15'E)

PostPosted: Wed Nov 03, 2004 11:40 pm    Post subject: Reply with quote

Je propose que le tuning "sûr" soit ajouté au fur et à mesure de vos idées, afin de compléter cette rubrique.
Pour ma part, je crains de ne pas pouvoir regarder fréquemment le thread original, donc n'hésitez pas à me MP pour me signaler un changement que je m'empresserai alors de traduire.

De même, si vous voyez des fautes, des liens à ajouter (En français, de préférence :)), à supprimer etc.... dites-le moi :)

Peut-être pourrait on intégrer ce machin dans le wiki ?

Bonne lecture et merci de votre attention.
_________________
Tant pis si ça saigne, pourvu que ça rentre.
Back to top
View user's profile Send private message
bob1977
Guru
Guru


Joined: 16 Mar 2004
Posts: 387

PostPosted: Thu Nov 04, 2004 12:37 am    Post subject: Reply with quote

Je vais resumer le lien que j'ai donne precedemment
Quand on fait ca:
Quote:
/etc/init.d/modules

changer :

Code:
ebegin "Calculating module dependencies"
/sbin/modules-update &>/dev/null
eend $? "Failed to calculate dependencies"

pour :
Code:
if [ /etc/modules.d -nt /etc/modules.conf ]
then
ebegin "Calculating module dependencies"
/sbin/modules-update &>/dev/null
eend $? "Failed to calculate dependencies"
else
einfo "Module dependencies are up-to-date"
fi

Le if [ /etc/modules.d -nt /etc/modules.conf ] n'est vrai que si le repertoire /etc/modules.d a ete modifie plus recemment que le fichier /etc/modules.conf. Malheureusement, quand un fichier du repertoire est modifie, ca ne modifie pas la date de modification du repertoire. Le repertoire est marque modifie quand un fichier y est cree ou enleve....
Ceci s'applique aussi pour la modification de /etc/init.d/bootmisc .
Certains developpeurs ont propose d'utilise find pour trouver les fichiers du repertoire /etc/modules/d qui sont plus recent modules.conf mais a ce moment-la du boot, on n'est pas sur que /usr soit monte.
A mon avis, c'est pour ca que les developpeurs gentoo ne l'avaient pas mis dans leur code.
Je me suis un peu etendu mais comme ca, ca doit etre plus clair.
Back to top
View user's profile Send private message
bosozoku
Advocate
Advocate


Joined: 11 Jan 2004
Posts: 2431
Location: Roazhon

PostPosted: Thu Nov 04, 2004 5:56 am    Post subject: Reply with quote

Yeah ! terrible on apprend pleins de trucs la !
Je regarderais tout ça ce week end avec attention.
_________________
Stationlinux.org - Wiki Fvwm FR - Config Fvwm
Back to top
View user's profile Send private message
zdra
Veteran
Veteran


Joined: 30 Nov 2003
Posts: 1693
Location: Bruxelles, Belgique

PostPosted: Thu Nov 04, 2004 9:21 am    Post subject: Reply with quote

OFF: pourquoi epiphany me met un encodage (table de charactere) automatique sur le chinois simplifié (GB18030) uniquement pour cette page ????
Back to top
View user's profile Send private message
yoyo
Bodhisattva
Bodhisattva


Joined: 04 Mar 2003
Posts: 4273
Location: Lyon - France

PostPosted: Thu Nov 04, 2004 9:34 am    Post subject: Reply with quote

Pour les rc-scripts, un petit tour sur www.gentoofr.org (rubrique thèmes -> Trucs et astuces) et les scripts modifiés sont récupérables via 'wget' : elle est pas belle la vie ???

L'adresse exacte : http://www.gentoofr.org/commentaire.php?id_lien=17&mod=1&id=27

Enjoy !

PS : la seconde page ( http://www.coyotegulch.com/acovea/index.html ) me renvoie une erreur 404 ...
_________________
La connaissance s'accroît quand on la partage.
JCB


Last edited by yoyo on Thu Nov 04, 2004 1:30 pm; edited 1 time in total
Back to top
View user's profile Send private message
jpwalker
Guru
Guru


Joined: 12 Jul 2004
Posts: 503
Location: Annecy - 74 - France - In Tartiflette We Trust ;-)

PostPosted: Thu Nov 04, 2004 1:08 pm    Post subject: Reply with quote

+1

Je n'ai pas lu le post en entier, mais à la vue du sommaire, je me régale d'avance :D

Merci :wink:
_________________
JPW@lker
Ride & Enjoy
;-)
Back to top
View user's profile Send private message
matthias*
Tux's lil' helper
Tux's lil' helper


Joined: 03 Aug 2004
Posts: 144
Location: Paris

PostPosted: Thu Nov 04, 2004 2:28 pm    Post subject: Reply with quote

aris wrote:
je n'ai pas encore tenté de faire la paralelisation des RC... mais si on ne veut pas faire ca, une autre chose importante à faire est de regler le timeout DHCP ou au moins desactiver dhcp si le reseau n'est pas detecté (je mets 2 minutes de plus à booter mon portable en dehors de chez moi à cause de ca)


d'ou l'interet des softs levels pour differentes config reseau, sur mon portable j'ai les softlevels wifi(default), ethernet et nonetwork, car c'est vraiment insuportable d'attendre le up d'une interface reseau voué à l'echec :?
Back to top
View user's profile Send private message
sireyessire
Advocate
Advocate


Joined: 20 Mar 2003
Posts: 2991
Location: back in Paris, France

PostPosted: Thu Nov 04, 2004 2:30 pm    Post subject: Reply with quote

matthias* wrote:
aris wrote:
je n'ai pas encore tenté de faire la paralelisation des RC... mais si on ne veut pas faire ca, une autre chose importante à faire est de regler le timeout DHCP ou au moins desactiver dhcp si le reseau n'est pas detecté (je mets 2 minutes de plus à booter mon portable en dehors de chez moi à cause de ca)


d'ou l'interet des softs levels pour differentes config reseau, sur mon portable j'ai les softlevels wifi(default), ethernet et nonetwork, car c'est vraiment insuportable d'attendre le up d'une interface reseau voué à l'echec :?

d'où l'intérêt des modules pour ne lancer que ce qui va bien et surtout de quickswitch qui permet de changer entre plusieurs configs réseau
_________________
I never think of the future. It comes soon enough.
Albert Einstein

Try simpler first
Shockley
Back to top
View user's profile Send private message
matthias*
Tux's lil' helper
Tux's lil' helper


Joined: 03 Aug 2004
Posts: 144
Location: Paris

PostPosted: Thu Nov 04, 2004 2:39 pm    Post subject: Reply with quote

sireyessire wrote:
d'où l'intérêt des modules pour ne lancer que ce qui va bien et surtout de quickswitch qui permet de changer entre plusieurs configs réseau


interessant quickswitch , personnellement comme mes 2 interfaces sont en DHCP et que je ne switch pas de l'une à l'autre les softlevels me conviennent mieux mais c'est un truc à tester :d
Back to top
View user's profile Send private message
herlock
Tux's lil' helper
Tux's lil' helper


Joined: 30 Aug 2003
Posts: 141
Location: Bruxelles

PostPosted: Thu Nov 04, 2004 3:49 pm    Post subject: Reply with quote

est-ce que nptl est un réel avantage ? Quelqu'un aurait fait des test (même approximatif). Ca en vaut vraiment le coup ?.
Back to top
View user's profile Send private message
Trevoke
Advocate
Advocate


Joined: 04 Sep 2004
Posts: 4099
Location: NY, NY

PostPosted: Thu Nov 04, 2004 3:50 pm    Post subject: Reply with quote

Ca en vaut vraiment le coup.
_________________
Votre moment detente
What is the nature of conflict?
Back to top
View user's profile Send private message
herlock
Tux's lil' helper
Tux's lil' helper


Joined: 30 Aug 2003
Posts: 141
Location: Bruxelles

PostPosted: Thu Nov 04, 2004 3:56 pm    Post subject: Reply with quote

Bon c'est parti pour une compile alors... jverrai bien :)
Back to top
View user's profile Send private message
yoyo
Bodhisattva
Bodhisattva


Joined: 04 Mar 2003
Posts: 4273
Location: Lyon - France

PostPosted: Thu Nov 04, 2004 6:01 pm    Post subject: Reply with quote

Saigneur wrote:
Comme pour les CXXFLAGS, -fvisibility-inlines-hidden a été raporté comme un bon paramètre pour accélérer les compilations C++ :
Frepo a aussi été raporté comme un bon CXXFLAG, même s'il ne fonctionne pas si bien sur mon système.

Bon, après un 'emerge sync', je vois des mises à jour de arts et kde; je me dis kde==C++ donc c'est le moment de tester ces CXXFLAGS.
Et bien pas moyen !!! les compiles foirent à chaque fois, même avec le '-fvisibility-inlines-hidden' qui est sensé bien fonctionner ... :cry: :cry:
Y-a-t-il une manip à exécuter pour pouvoir utiliser ces flags ??? (genre recompiler gcc ou glibc ou lib-compat etc. ...)
_________________
La connaissance s'accroît quand on la partage.
JCB
Back to top
View user's profile Send private message
Mac Cloud
Apprentice
Apprentice


Joined: 27 Sep 2004
Posts: 214
Location: In a galaxy far far away...

PostPosted: Thu Nov 04, 2004 6:11 pm    Post subject: Reply with quote

Super boulot !
J'avais bien envie de le faire ce "how too"en plus .... mince alors !
Mais je fais déja tout ca .... + sources nitro avec cflags ... des pistes pour en faire encore plus ?
_________________
Vous prouver que j'ai raison serait admettre que je puisse avoir tort.
Beaumarchais
Back to top
View user's profile Send private message
Mac Cloud
Apprentice
Apprentice


Joined: 27 Sep 2004
Posts: 214
Location: In a galaxy far far away...

PostPosted: Thu Nov 04, 2004 6:13 pm    Post subject: Reply with quote

yoyo wrote:
Saigneur wrote:
Comme pour les CXXFLAGS, -fvisibility-inlines-hidden a été raporté comme un bon paramètre pour accélérer les compilations C++ :
Frepo a aussi été raporté comme un bon CXXFLAG, même s'il ne fonctionne pas si bien sur mon système.

Bon, après un 'emerge sync', je vois des mises à jour de arts et kde; je me dis kde==C++ donc c'est le moment de tester ces CXXFLAGS.
Et bien pas moyen !!! les compiles foirent à chaque fois, même avec le '-fvisibility-inlines-hidden' qui est sensé bien fonctionner ... :cry: :cry:
Y-a-t-il une manip à exécuter pour pouvoir utiliser ces flags ??? (genre recompiler gcc ou glibc ou lib-compat etc. ...)

-fvisibility-inlines-hidden ne passe pas a tous les coups chez moi ... encore moins normal quand on y réflèchit vu que ca bloque au moment des "checks"...
_________________
Vous prouver que j'ai raison serait admettre que je puisse avoir tort.
Beaumarchais
Back to top
View user's profile Send private message
Oni92
Apprentice
Apprentice


Joined: 01 Jun 2004
Posts: 247

PostPosted: Thu Nov 04, 2004 11:38 pm    Post subject: Reply with quote

J'ai essayé d'ajouté le support de NPTL à glibc, j'ai eu xmms, mplayer, xine, et Ximian-OpenOffice (version binaire français) qui mon fait des segmentations faults, et remerger xmms (c'est le seul que j'ai tenté) n'a rien donné :roll:, obligé de viré NPTL pour que ça marche à nouveau...
Back to top
View user's profile Send private message
yoyo
Bodhisattva
Bodhisattva


Joined: 04 Mar 2003
Posts: 4273
Location: Lyon - France

PostPosted: Fri Nov 05, 2004 8:41 am    Post subject: Reply with quote

Oni92 wrote:
J'ai essayé d'ajouté le support de NPTL à glibc, j'ai eu xmms, mplayer, xine, et Ximian-OpenOffice (version binaire français) qui mon fait des segmentations faults, et remerger xmms (c'est le seul que j'ai tenté) n'a rien donné :roll:, obligé de viré NPTL pour que ça marche à nouveau...

La glibc n'est peut-être pas la seule à utiliser le flag nptl :
Code:
cd /var/db/pkg
grep nptl */*/IUSE | sed 's:/IUSE.*::'


Tu as essayé de recompiler ton noyau ??

A savoir : ce flag ne fonctionne qu'avec un noyau 2.6 ...
_________________
La connaissance s'accroît quand on la partage.
JCB
Back to top
View user's profile Send private message
sireyessire
Advocate
Advocate


Joined: 20 Mar 2003
Posts: 2991
Location: back in Paris, France

PostPosted: Fri Nov 05, 2004 10:09 am    Post subject: Reply with quote

yoyo wrote:
Oni92 wrote:
J'ai essayé d'ajouté le support de NPTL à glibc, j'ai eu xmms, mplayer, xine, et Ximian-OpenOffice (version binaire français) qui mon fait des segmentations faults, et remerger xmms (c'est le seul que j'ai tenté) n'a rien donné :roll:, obligé de viré NPTL pour que ça marche à nouveau...

La glibc n'est peut-être pas la seule à utiliser le flag nptl :
Code:
cd /var/db/pkg
grep nptl */*/IUSE | sed 's:/IUSE.*::'


Tu as essayé de recompiler ton noyau ??

A savoir : ce flag ne fonctionne qu'avec un noyau 2.6 ...

il faut pas aussi des linux26-headers pour que ça marche? où alors il y a un patch spécial à mettre si tu veux toujours utiliser les headers des 2.4
_________________
I never think of the future. It comes soon enough.
Albert Einstein

Try simpler first
Shockley
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index French All times are GMT
Goto page 1, 2, 3  Next
Page 1 of 3

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum