Un Linux allégé avec beaucoup moins de bric-à-brac

Gazette Linux n°129 — Août 2006

Adaptation française: François Allain

Relecture de la version française : Deny

Article paru dans le n°129 de la Gazette Linux d'août 2006

Article publié sous Open Publication License. La Linux Gazette n'est ni produite, ni sponsorisée, ni avalisée par notre hébergeur principal, SSC, Inc.


D'accord, je l'admets, il n'existe rien de tel qu'une installation Linux allégée. Aujourd'hui, l'installation moyenne est plutôt lourde et parmi les programmes les plus communs, nombreux sont ceux qui occupent beaucoup d'espace. Même avec un disque dur de 60Go comme celui de mon ordinateur portable, vous devez quand même faire très attention pour qu'il ne se transforme pas en Godzilla, le Mangeur De Tout l'Espace Disponible (et aussi du temps, mais nous ne sommes pas en train de parler de Quake III ou de Xbubble pour le moment.)

Donc voilà, vous êtes la, tranquillement en train de travailler (ou en train de jouer), et d'installer de délicieux petits paquets (yum ! ) qui ont l'air intéressants ou que vos amis vous ont recommandés ... Et puis, un jour, vous jetez un coup d'oeil à votre système , et cela vous fait un rien froid dans le dos.

	ben@Fenrir:~$ df -h
	Sys. de fich.        Tail.  Occ. Disp. %Occ. Monté sur
	/dev/hda3             958M  362M  548M  40% /
	/dev/hda5              33G   25G  6.5G  79% /home
	/dev/hda1             5.5G  4.8G  521M  91% /home/ben/Music
	/dev/hda6              13G   12G  389M  97% /usr
	/dev/hda7             1.9G  699M  1.1G  40% /var
	/dev/hda8              46M  9.1M   35M  21% /boot
	tmpfs                 253M  4.0K  253M   1% /dev/shm

Voyez cette partition /usr !

Et c'est là qu'on réalise avec horreur qu'il va falloir supprimer quelque chose. En fait, étant donnée la taille de la partition et le nombre de méga-octets nécessaires pour en supprimer ne serait-ce qu'un pour cent, il va falloir en supprimer beaucoup. C'est bien beau cela, mais comment fait-on pour savoir ce qu'il faut supprimer ???

On se fait une petite séance de yoga, on respire profondèment pendant un moment, on avale plusieurs gin-tonics, etc. et après ces exercices de relaxation, on décide d'adopter une approche rationnelle. Tout d'abord, un peu de ménage : on vire quelques jeux; ceux auxquels on ne joue jamais, ou pas beaucoup. Néanmoins, on s'aperçoit rapidement que les jeux intèressants sont tous gros (et les jeux simples et ennuyeux ne pésent pas grand chose en méga-octets dans la corbeille). En kilo-octets, plutôt. Exécutez apt-get clean pour retirer les paquets d'installation dans le cache sur Debian ? Eh bien, cela peut vous aider ... euh... dans la partition /var. Pas dans la partition /usr, là où nous en avons le plus désespèrément besoin.

Bon, très bien... réfléchissons-y cinq minutes. Ah oui ... tous ces paquets installés, je vois. On est bon pour la méthode longue et fastidieuse, mais c'est vrai que cela paie : un des effets des logiciels gratuits est que beaucoup de gens ont tendance à installer des trucs « juste pour les essayer », se distraire, et, bon, le bric-à-brac, c'est comme l'entropie, cela augmente toujours. C'est juste une loi de la physique. Néanmoins, bien que nous n'ayons pas trouvé de façon de faire marche arrière pour cette dernière, il n'en est pas de même pour l'autre (mais cela demande beaucoup d'efforts). Donc, sur mon portable sous Debian, cela ressemble à ceci (en tout cas après que le ménage ait été fait):

	# Nombre de paquets Debian installés
	ben@Fenrir:~$ dlocate -l|grep '^ii'|wc -l
	2133
	ben@Fenrir:~$ dlocate -l|grep '^ii'|less
	ii  9menu                      1.8-1.1                    Crée des menus  X depuis le  shell
	ii  a2ps                       4.13b.dfsg.1-1             GNU a2ps - convertisseur de tout type de fichiers vers  PostScript avec des facilités d'impression
	ii  aalib-bin                  1.4p5-25                   programme de test utilisant aalib
	ii  aalib1                     1.4p5-28                   bibliothèque d'art ascii - paquetage de transition
	ii  abcde                      2.3.99.5-1                 Un meilleur encodeur de cédérom
	ii  accesscontrol              1.0-2                      Panneau de contrôle qui active les fonctionnalités d'accessibilité aux personnes handicapées
	ii  acpi                       0.09-1                     affiche des informations sur les périphériques ACPI devices
	ii  acpid                      1.0.4-5                    Utilitaires pour utiliser ACPI
	ii  adduser                    3.87                       Ajoute et supprime les utilisateurs et groupes
	
	[Le reste de cette longue liste a été omis]

Plus de 2000 paquets... Bon, je pourrais marmonner une justification quelconque pour la plupart d'entre eux, de toute façon. Ceux que je n'ai trouvé aucune raison de conserver ont été supprimés, avec les fichiers de configuration et tout le reste.. Cela a libéré pas mal d'espace ; mais pas assez pour que ce soit utilisable. C'est comme si on passait en vitesse chez soi, un petit coup de plumeau sans s'occuper des gros moutons sous le lit, ni le monstrueux bazar dans le grenier En effet, il est maintenant impératif de prendre des mesures draconiennes.

Encore plus de mesures draconiennes ?, dites vous, consterné. Qu'est-ce qui pourrait bien être plus draconien que d'abandonner mes programmes, installés à la sueur de mon front (même si je n'ai aucune idée de ce qu'ils font et que je ne les ai jamais utilisés depuis trois ans qu'ils sont installés) ?

En fait, ce que je veux vous faire comprendre c'est que les programmes superflus s'accumulent presque sans qu'on s'en aperçoive, et cela ne coûte presque rien (sauf un peu de réflexion et de recherche) à enlever. Si votre système a été installé depuis une durée plus ou moins importante et que vous avez fait beaucoup de mises-à-jour, il y a un certain nombre de programmes qui ne suppriment pas leurs versions précédentes avant l'installation (notamment, les langages de programmation). Je suis un grand fan de Perl et j' ai installé à chaque nouvelle version, de même que ses modules, depuis que j'utilise Linux. Il y a bien des chances pour que vous aussi, étant donné le nombre de programmes dont Perl a besoin sur les systèmes Linux de base, vous ayez fait la même chose. Idem avec Python. Idem avec le compilateur GCC. Idem avec votre langage préféré ou peut-être un langage dont vous n'avez même jamais entendu parler mais qui est nécessaire pour la compilation de vos applications favorites. Autrement dit, vous devez regarder une deuxième fois et en connaissance de cause la liste des paquets installés : même si vous ne vous y connaissez pas beaucoup en programmation, vous pouvez quand même repérer les multiples versions installées des langages. Bien sûr, si vous essayez d'en désinstaller un qui affiche un message vous signalant des dépendances en cours et que vous voulez garder tous les programmes qui dépendent de la version spécifique de ce langage, alors vous devez le conserver; mais en général, la dernière version est suffisante. Si vous faites attention et que vous savez ce que vous faites, vous pouvez, par exemple, chercher les sûr /usr/{share,lib}/{perl,python,ruby}* et /usr/local/{share,lib}/{perl,python,ruby}* et voir lesquels sont redondants; ou qui peuvent peut-être le devenir si vous réinstallez les modules avec la version la plus récente de ces langages. J'ai constaté, par exemple, qu'en enlevant les anciennes versions de Perl, Python et Ruby de ces emplacements, on libérait plusieurs centaines de méga-octets sans aucun effort à part la réinstallation de quelques paquets. Il faut bien l'admettre, cela a pris du temps et des recherches minutieuses dans la base de données des paquets.

Bon, maintenant que nous sommes partis à la chasse, que fait-on maintenant ? Eh bien, une des manières classiques de prendre de l'espace au hasard mais en grande quantité sur votre machine, notez que cela est spécifique à Linux, a toujours été l'installation de polices. Le grand guru sait pourquoi nous en avons besoin de tant : après tout, malgrè notre imagination la plus grande, peu d'entre nous sont en réalité graphistes. La plupart d'entre nous, par contre, finissent par en installer des tas et des tas... et ensuite en rajouter quelques-unes mine de rien, juste pour être sûr. Beaucoup d'entre elles ne sont que des versions à peine diffèrentes d'Arial ou de Times New Roman ou Tekton, mais, qui sait ? Certains jours, on sent plus celle-ci que celle-là, et que ferions-nous ensuite si elle n'était pas présente ?...

	ben@Fenrir:~$ xlsfonts|wc -l
	18673

Il y en a beaucoup trop. Bien sûr, je les aime autant que n'importe qui... mais quand même. Si j'estimais (généreusement) le nombre de polices que j'utilise effectivement, explicitement et nom par nom, je pourrais arriver à une douzaine. Bon d'accord, deux douzaines. Si je veux vraiment être original dans un document OpenOffice en élaborant une brochure commerciale, j'aimerais pouvoir en disposer de, disons cinquante ou cent ... mais plus de dix-huit mille ? Je ne pense pas.

	# Compte le nombre de polices disponibles
	ben@Fenrir:~$ apt-cache search xfonts|egrep -c '^xfonts|^ttf'
	86
	# Vérifie lesquelles sont installées sur mon système
	ben@Fenrir:~$ dlocate -l |grep '^ii  xfonts'
	ii  xfonts-100dpi              1.0.0-2                    100 dpi fonts for X
	ii  xfonts-75dpi               1.0.0-2                    100 dpi fonts for X
	ii  xfonts-a12k12              1-8                        12-dot Kanji & ASCII fonts for X
	ii  xfonts-artwiz              1.3-5                      x11 fonts created by Artwiz, TigerT, and Daniel Erat
	ii  xfonts-base                1.0.0-3                    standard fonts for X
	ii  xfonts-base-transcoded     6.9.0.dfsg.1-6             standard fonts for X (transcoded from ISO 10646-1)
	ii  xfonts-bolkhov-cp1251-75dp 1.1.20001007-6             75 dpi CP1251 encoded Cyrillic fonts for X (Cyr-RFX collection)
	ii  xfonts-bolkhov-cp1251-misc 1.1.20001007-6             Character-cell CP1251 encoded Cyrillic fonts for X (Cyr-RFX collection)
	ii  xfonts-bolkhov-koi8r-75dpi 1.1.20001007-6             75 dpi KOI8-R encoded Cyrillic fonts for X (Cyr-RFX collection)
	ii  xfonts-bolkhov-koi8r-misc  1.1.20001007-6             Character-cell KOI8-R encoded Cyrillic fonts for X (Cyr-RFX collection)
	ii  xfonts-bolkhov-koi8u-75dpi 1.1.20001007-6             75 dpi KOI8-U encoded Cyrillic fonts for X (Cyr-RFX collection)
	ii  xfonts-bolkhov-koi8u-misc  1.1.20001007-6             Character-cell KOI8-U encoded Cyrillic fonts for X (Cyr-RFX collection)
	ii  xfonts-cronyx-cp1251-100dp 2.3.8-6                    100 dpi CP1251 encoded Cyrillic fonts for X (Cronyx collection)
	ii  xfonts-cronyx-cp1251-75dpi 2.3.8-6                    75 dpi CP1251 encoded Cyrillic fonts for X (Cronyx collection)
	ii  xfonts-cronyx-cp1251-misc  2.3.8-6                    Character-cell CP1251 encoded Cyrillic fonts for X (Cronyx collection)
	ii  xfonts-cronyx-koi8r-100dpi 2.3.8-6                    100 dpi KOI8-R encoded Cyrillic fonts for X (Cronyx collection)
	ii  xfonts-cronyx-koi8r-75dpi  2.3.8-6                    75 dpi KOI8-R encoded Cyrillic fonts for X (Cronyx collection)
	ii  xfonts-cronyx-koi8r-misc   2.3.8-6                    Character-cell KOI8-R encoded Cyrillic fonts for X (Cronyx collection)
	
	[ Liste compléte coupée , par peur du ridicule ]

Bon, ca fait quand même beaucoup.

En les passant soigneusement en revue et en les supprimant (en faisant attention aux avertissements sur les dépendances, bien sûr) on gagne quand même à peu prés deux ou trois cents méga-octets. Ce qui a été encore plus utile, c'était d'examiner soigneusement les sûr des polices; il s'est avéré que X.org (au contraire de Xfree86) a décidé de rationaliser la structure de leurs polices en la combinant avec l'emplacement traditionnel du système attribué aux polices, /usr/share/fonts à la place de l'ancien répertoire /usr/X11R6/lib/X11/fonts. Néanmoins, l'ancien répertoire était encore présent et encore rempli de lourds fichiers pesant plus de cent Mo ! Une comparaison attentive de ce qui s'y trouvait (en fait, j'ai fait une copie de sauvegarde temporaire du répertoire entier pour voir s'il n'y avait aucun effet négatif) avec la nouvelle structure /usr/share/fonts/X11 m'a aidé à retrouver énormêment de place. En fait, j'ai fini par garder beaucoup plus qu'une centaine de polices, c'est vrai (je suis tributaire des polices Unicode pour beaucoup de mes travaux, et j'ai besoin d'un bon choix de polices japonaises et russes en plus du paquet de base de fontes qui est livré avec X) mais, à ce stade, je suis descendu à un peu plus de 5000 polices (dont environ 3000 uniques) ce qui est beaucoup plus raisonnable, y compris toutes les polices TrueType que j'aime bien.

Pour entrer dans les détails : je suggére de jeter un oeil à l'article How Fonts Interact with the X Server and X Clients de Thomas Adam pour acquérir quelques connaissances sur le fonctionnement des polices. En le prenant au mot ( ... les serveurs de polices : vous n'en avez pas besoin.), j'ai soigneusement contrôler dans tous mes répertoires de polices la présence des fichiers fonts.alias, fonts.dir, et, dans le cas des polices TrueType, du fichier fonts.scale; que l'on peut tous créer facilement avec l'aide des utilitaires ttmkfdir et mkfontdir. Je me suis ensuite assuré que tous mes répertoires de polices étaient listés dans mon fichier /etc/X11/xorg.conf, dans la section « Files », et toutes mes polices étaient disponibles sans exécuter les serveurs xfs ou xfstt, ou sans avoir unix/:7100 ou unix/:7101 (les ports serveurs) listés dans cette section ou dans le rapport 'xset q'. Non pas que ces serveurs prennent une énorme quantité de place, mais X semble démarrer un peu plus vite qu'avant, au moins à mes yeux.

Alors, est ce que tout cela en valait la peine? Oui, on pourrait le dire.

	ben@Fenrir:~$ df -h
	Sys. de fich.        Tail.  Occ. Disp. %Occ. Monté sur
	/dev/hda3             958M  362M  548M  40% /
	/dev/hda5              33G   25G  6.5G  79% /home
	/dev/hda1             5.5G  4.8G  521M  91% /home/ben/Music
	/dev/hda6              13G  9.9G  2.3G  82% /usr
	/dev/hda7             1.9G  700M  1.1G  40% /var
	/dev/hda8              46M  9.1M   35M  21% /boot
	tmpfs                 253M  4.0K  253M   1% /dev/shm

C'est sûr, il a fallu deux ou trois heures de travail, mais maintenant, je connais l'état de mon système, j'ai de nouveau deux ou trois giga-octets d'espace dans /usr, et je me rends mieux compte quels genres de choses mangent de l'espace (et ce qu'il faut vérifier une fois de temps en temps.) à mon avis, c'est sans aucun doute un gain en terme de savoir et de compréhension, comme en terme de place disponible sur le disque.

Ben est le rédacteur en chef de la Linux Gazette© et il est membre de l'« Answer Gang© ».

Ben est né à Moscou en Russie en 1962. Il a commencé à s'intéresser à l'électricité dès l'age de 6 ans en enfonçant une fourchette dans une prise et déclenchant ainsi un incendie, depuis il n'a jamais cessé de s'intéresser à la technologie. Il travaille avec les ordinateurs depuis les Temps Anciens où l'on devait souder soi-même des composants sur des cartes à circuits imprimés et où les programmes devaient tenir dans 4 ko de mémoire. Il serait heureux de payer tout psychologue capable de le guérir des cauchemars récurrents qu'il a gardés de cette époque.

Ses expériences suivantes comprennent la création de programmes dans pratiquement une douzaine de langages, la maintenance de réseaux et de bases de données pendant l'approche d'un ouragan et l'écriture d'articles pour des publications allant des magazines de voile aux journaux technologiques. Après une croisière de 7 ans dans l'Atlantique et les Caraïbes ainsi que des passages sur la côte Est des États-Unis, il a désormais jeté l'ancre à St-Augustine, en Floride. Instructeur technique chez Sun Microsystems©, il travaille également à titre privé comme consultant open source et développeur web. Ses passe-temps actuels sont notamment l'aviation, le yoga, les arts martiaux, la moto, l'écriture et l'histoire romaine. Son Palm Pilot© est truffé d'alarmes dont la plupart contiennent des points d'exclamation.

Adaptation française de la Gazette Linux

L'adaptation française de ce document a été réalisée dans le cadre du Projet de traduction de la Gazette Linux.

Vous pourrez lire d'autres articles traduits et en apprendre plus sur ce projet en visitant notre site : http://www.traduc.org/Gazette_Linux.

Si vous souhaitez apporter votre contribution, n'hésitez pas à nous rejoindre, nous serons heureux de vous accueillir.