Linux From Scratch: Version 20020515 | ||
---|---|---|
Prev | Chapter 6. Installation des logiciels de base du système | Next |
La plupart des programmes et des bibliothèques sont compilés par défaut avec des symboles de débogage (gcc option -g).
Un programme compilé avec des symboles de débogage permet à un utilisateur d'exécuter un programme ou une bibliothèque via un débogueur et d'utiliser facilement les résultats obtenus. Ces symboles de débogage augmentent également la taille du programme de façon significative.
Avant de que vous ne commenciez à vous demander si ces symboles de débogage font réellement une grande différence, voici quelques statistiques. Utilisez-les pour en tirer vos propres conclusions.
Un binaire Bash dynamique avec symboles de débogage: 1,2Mo.
Un binaire Bash dynamique sans symboles de débogage: 478Ko.
/lib et /usr/lib (fichiers glibc et gcc) avec symboles de débogage: 87Mo.
/lib et /usr/lib (fichiers glibc et gcc) sans symboles de débogage: 16Mo.
Les tailles varient selon le compilateur utilisé et la version de la bibliothèque C utilisée pour les liens dynamiques entre les programmes, mais les résultats seront similaires si vous comparez des programmes avec ou sans symboles de débogage.
Pour enlever les symboles de débogage d'un binaire (qui doit être de type a.out ou ELF) exécutezstrip --strip-debug filename. Les jokers peuvent être utilisés pour supprimer les symboles de débogage dans plusieurs fichiers (utilisez quelque chose commestrip --strip-debug $LFS/usr/bin/*). La plupart des gens n'utiliseront probablement jamais un débogueur sur leur logiciels, vous gagnerez donc beaucoup de place sur le disque en supprimant ces symboles.
Pour vous faciliter l'opération, le chapitre 9 comprend une commande unique pour supprimer tous les symboles de débogage de tous les programmes et bibliothèques de votre système.
Vous obtiendrez des informations supplémentaires dans le guide de l'optimisation qui peut être trouvé à http://hints.linuxfromscratch.org/hints/optimization.txt.