View previous topic :: View next topic |
Author |
Message |
Saigneur Apprentice
![Apprentice Apprentice](/images/ranks/rank_rect_2.gif)
![](images/avatars/12075679314188c76b2aeb6.gif)
Joined: 21 Oct 2004 Posts: 277 Location: Evry, Essonne, France (48°35'N, 02°15'E)
|
Posted: Wed Nov 03, 2004 9:33 pm Post subject: [HOWTO] Tuning Gentoo |
|
|
-- 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 :
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 LÀ. 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
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.
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:
Trouver le fichier de configuration /etc/prelink.conf
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
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 à
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 |
|
![](templates/gentoo/images/spacer.gif) |
moon69 Guru
![Guru Guru](/images/ranks/rank_rect_3.gif)
![](images/avatars/53132945541039627e0eeb.jpg)
Joined: 30 Aug 2003 Posts: 444
|
Posted: Wed Nov 03, 2004 9:49 pm Post subject: |
|
|
ya une partie en anglais! c'est normal doc? ![Smile :)](images/smiles/icon_smile.gif) |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Saigneur Apprentice
![Apprentice Apprentice](/images/ranks/rank_rect_2.gif)
![](images/avatars/12075679314188c76b2aeb6.gif)
Joined: 21 Oct 2004 Posts: 277 Location: Evry, Essonne, France (48°35'N, 02°15'E)
|
Posted: Wed Nov 03, 2004 9:51 pm Post subject: |
|
|
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 |
|
![](templates/gentoo/images/spacer.gif) |
zdra Veteran
![Veteran Veteran](/images/ranks/rank_rect_5_vet.gif)
![](images/avatars/2069368038410c136a83bf6.jpg)
Joined: 30 Nov 2003 Posts: 1693 Location: Bruxelles, Belgique
|
Posted: Wed Nov 03, 2004 9:58 pm Post subject: |
|
|
BRAVO ! c'est toujour bon ce genre de howto, on apprend des ptit trucs bien sympa ![Very Happy :D](images/smiles/icon_biggrin.gif) |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
bob1977 Guru
![Guru Guru](/images/ranks/rank_rect_3.gif)
![](images/avatars/164334334041632ed16967b.gif)
Joined: 16 Mar 2004 Posts: 387
|
Posted: Wed Nov 03, 2004 10:01 pm Post subject: |
|
|
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 |
|
![](templates/gentoo/images/spacer.gif) |
babykart Guru
![Guru Guru](/images/ranks/rank_rect_3.gif)
![](images/avatars/137336118953f8950cad867.jpg)
Joined: 08 Oct 2004 Posts: 415
|
Posted: Wed Nov 03, 2004 10:38 pm Post subject: |
|
|
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 :wink:](images/smiles/icon_wink.gif) |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
aris n00b
![n00b n00b](/images/ranks/rank_rect_0.gif)
Joined: 14 Oct 2004 Posts: 6
|
Posted: Wed Nov 03, 2004 10:48 pm Post subject: |
|
|
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 |
|
![](templates/gentoo/images/spacer.gif) |
Saigneur Apprentice
![Apprentice Apprentice](/images/ranks/rank_rect_2.gif)
![](images/avatars/12075679314188c76b2aeb6.gif)
Joined: 21 Oct 2004 Posts: 277 Location: Evry, Essonne, France (48°35'N, 02°15'E)
|
Posted: Wed Nov 03, 2004 11:40 pm Post subject: |
|
|
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 |
|
![](templates/gentoo/images/spacer.gif) |
bob1977 Guru
![Guru Guru](/images/ranks/rank_rect_3.gif)
![](images/avatars/164334334041632ed16967b.gif)
Joined: 16 Mar 2004 Posts: 387
|
Posted: Thu Nov 04, 2004 12:37 am Post subject: |
|
|
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 |
|
![](templates/gentoo/images/spacer.gif) |
bosozoku Advocate
![Advocate Advocate](/images/ranks/rank-G-1-advocate.gif)
![](images/avatars/13934668444220c81b48227.jpg)
Joined: 11 Jan 2004 Posts: 2431 Location: Roazhon
|
Posted: Thu Nov 04, 2004 5:56 am Post subject: |
|
|
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 |
|
![](templates/gentoo/images/spacer.gif) |
zdra Veteran
![Veteran Veteran](/images/ranks/rank_rect_5_vet.gif)
![](images/avatars/2069368038410c136a83bf6.jpg)
Joined: 30 Nov 2003 Posts: 1693 Location: Bruxelles, Belgique
|
Posted: Thu Nov 04, 2004 9:21 am Post subject: |
|
|
OFF: pourquoi epiphany me met un encodage (table de charactere) automatique sur le chinois simplifié (GB18030) uniquement pour cette page ???? |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
yoyo Bodhisattva
![Bodhisattva Bodhisattva](/images/ranks/rank-bodhisattva.gif)
![](images/avatars/1382399841473c166bf2c72.jpg)
Joined: 04 Mar 2003 Posts: 4273 Location: Lyon - France
|
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
jpwalker Guru
![Guru Guru](/images/ranks/rank_rect_3.gif)
![](images/avatars/214031345241c049f42908d.png)
Joined: 12 Jul 2004 Posts: 503 Location: Annecy - 74 - France - In Tartiflette We Trust ;-)
|
Posted: Thu Nov 04, 2004 1:08 pm Post subject: |
|
|
+1
Je n'ai pas lu le post en entier, mais à la vue du sommaire, je me régale d'avance
Merci ![Wink :wink:](images/smiles/icon_wink.gif) _________________ JPW@lker
Ride & Enjoy
![Wink ;-)](images/smiles/icon_wink.gif) |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
matthias* Tux's lil' helper
![Tux's lil' helper Tux's lil' helper](/images/ranks/rank_rect_1.gif)
Joined: 03 Aug 2004 Posts: 144 Location: Paris
|
Posted: Thu Nov 04, 2004 2:28 pm Post subject: |
|
|
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 ![Confused :?](images/smiles/icon_confused.gif) |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
sireyessire Advocate
![Advocate Advocate](/images/ranks/rank-G-1-advocate.gif)
![](images/avatars/184146537040140c2d83e95.jpg)
Joined: 20 Mar 2003 Posts: 2991 Location: back in Paris, France
|
Posted: Thu Nov 04, 2004 2:30 pm Post subject: |
|
|
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 ![Confused :?](images/smiles/icon_confused.gif) |
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 |
|
![](templates/gentoo/images/spacer.gif) |
matthias* Tux's lil' helper
![Tux's lil' helper Tux's lil' helper](/images/ranks/rank_rect_1.gif)
Joined: 03 Aug 2004 Posts: 144 Location: Paris
|
Posted: Thu Nov 04, 2004 2:39 pm Post subject: |
|
|
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 |
|
![](templates/gentoo/images/spacer.gif) |
herlock Tux's lil' helper
![Tux's lil' helper Tux's lil' helper](/images/ranks/rank_rect_1.gif)
Joined: 30 Aug 2003 Posts: 141 Location: Bruxelles
|
Posted: Thu Nov 04, 2004 3:49 pm Post subject: |
|
|
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 |
|
![](templates/gentoo/images/spacer.gif) |
Trevoke Advocate
![Advocate Advocate](/images/ranks/rank-G-1-advocate.gif)
![](images/avatars/31218531845533c508386c.jpg)
Joined: 04 Sep 2004 Posts: 4099 Location: NY, NY
|
Posted: Thu Nov 04, 2004 3:50 pm Post subject: |
|
|
Ca en vaut vraiment le coup. _________________ Votre moment detente
What is the nature of conflict? |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
herlock Tux's lil' helper
![Tux's lil' helper Tux's lil' helper](/images/ranks/rank_rect_1.gif)
Joined: 30 Aug 2003 Posts: 141 Location: Bruxelles
|
Posted: Thu Nov 04, 2004 3:56 pm Post subject: |
|
|
Bon c'est parti pour une compile alors... jverrai bien ![Smile :)](images/smiles/icon_smile.gif) |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
yoyo Bodhisattva
![Bodhisattva Bodhisattva](/images/ranks/rank-bodhisattva.gif)
![](images/avatars/1382399841473c166bf2c72.jpg)
Joined: 04 Mar 2003 Posts: 4273 Location: Lyon - France
|
Posted: Thu Nov 04, 2004 6:01 pm Post subject: |
|
|
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 ...
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 |
|
![](templates/gentoo/images/spacer.gif) |
Mac Cloud Apprentice
![Apprentice Apprentice](/images/ranks/rank_rect_2.gif)
![](images/avatars/13462398724157e8320636f.jpg)
Joined: 27 Sep 2004 Posts: 214 Location: In a galaxy far far away...
|
Posted: Thu Nov 04, 2004 6:11 pm Post subject: |
|
|
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 |
|
![](templates/gentoo/images/spacer.gif) |
Mac Cloud Apprentice
![Apprentice Apprentice](/images/ranks/rank_rect_2.gif)
![](images/avatars/13462398724157e8320636f.jpg)
Joined: 27 Sep 2004 Posts: 214 Location: In a galaxy far far away...
|
Posted: Thu Nov 04, 2004 6:13 pm Post subject: |
|
|
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 ...
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 |
|
![](templates/gentoo/images/spacer.gif) |
Oni92 Apprentice
![Apprentice Apprentice](/images/ranks/rank_rect_2.gif)
![](images/avatars/3585063324408c6155a2d3.jpg)
Joined: 01 Jun 2004 Posts: 247
|
Posted: Thu Nov 04, 2004 11:38 pm Post subject: |
|
|
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é , obligé de viré NPTL pour que ça marche à nouveau... |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
yoyo Bodhisattva
![Bodhisattva Bodhisattva](/images/ranks/rank-bodhisattva.gif)
![](images/avatars/1382399841473c166bf2c72.jpg)
Joined: 04 Mar 2003 Posts: 4273 Location: Lyon - France
|
Posted: Fri Nov 05, 2004 8:41 am Post subject: |
|
|
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é , 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 |
|
![](templates/gentoo/images/spacer.gif) |
sireyessire Advocate
![Advocate Advocate](/images/ranks/rank-G-1-advocate.gif)
![](images/avatars/184146537040140c2d83e95.jpg)
Joined: 20 Mar 2003 Posts: 2991 Location: back in Paris, France
|
Posted: Fri Nov 05, 2004 10:09 am Post subject: |
|
|
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é , 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 |
|
![](templates/gentoo/images/spacer.gif) |
|
|
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
|
|