Foire Aux Questions
La FAQ est divisée en trois documents. La FAQ générale propose des liens vers toutes les questions et les réponses. La FAQ LFS est une sélection des questions les plus fréquemment posées concernant LFS et la FAQ BLFS est une sélection des questions les plus fréquentes et spécifiques à BLFS.
FAQ générale
Informations générales à propos de ces FAQ
- Pourquoi cette FAQ ?
- Qu'est ce que LFS ?
- Qu'est ce que BLFS ?
- Comment puis-je contribuer à cette FAQ?
Instructions sur l'assistance
- Je débute sur Linux ou LFS et j'ai besoin d'aide
- Quel est le meilleur endroit pour trouver de l'aide
- Quel liste de diffusion pour quel sujet ?
- Comment dois-je m'adresser à la communauté LFS ?
Bugs fréquemment remontés
- Les commandes "ln -s" du livre sont fausses.
- /bin/foo est une copie de /bin/bar.
- Puis-je utiliser une version plus récente que celle du livre ?
- Il y a une nouvelle version du paquet Foo.
- La touche Del ne fonctionne pas.
- Le système s'éteint après que fsck soit sorti en erreur !
- Comment puis-je trouver un paquet ou une commande ?
- Comment fais-je pour upgrader mon système LFS/BLFS ?
La FAQ LFS :
Améliorations fréquemment demandées
- Pourquoi ne pas utiliser lilo plutôt que Grub ?
- Pourquoi ne pas inclure la FAQ au livre ?
- Pourquoi est-ce que Vim est dans le livre ?
- Pourquoi est-ce que la version HJL de Binutils n'est pas dans le livre ?
- Pourquoi n'y a-t'il pas de gestionnaire de paquets dans le livre ?
- Comment provoquer l'arrêt électrique de la machine à la sortie du système ?
Pendant la lecture et la construction de LFS
- Quelle distribution devrais-je utiliser, pour démarrer ?
- Comment compiler un noyau ou configurer un module ?
- Est-ce que c'est mal, les avertissements de compilation de Gcc ?
- Dois-je conserver les sources après l'installation ?
- Comment puis-je procéder à cette toute petite installation dont parle le livre ?
- Existe-t'il des informations sur la façon de construire LFS sur d'autres architectures ?
- Comment faire une compilation croisée avec LFS ?
- Qu'est qu'un fichier texte au format DOS ?
- Le système n'a plus de ptys. Demandez à votre administrateur d'en créer d'autres.
Erreurs de compilation usuelles.
- J'ai utilisé un patch provenant de GNU pour faire des mises à jour ? C'est bon ?
- Utilisation des flags d'optimisation (paramétrage des CFLAGS)
- Pourquoi est-ce que configure se fige à "checking for signed size_t type..."?
- Je n'ai pas effacé l'arborescence des sources après mon dernier essai. Faut-il le faire ?
- J'obtiens le message `/dev/null: Permission denied'
- signal 11 (internal error: Segmentation fault)
- No such file or directory
- bash: ./configure: No such file or directory
- ./configure: bad interpreter: Permission denied
- configure n'arrive pas à déterminer le type de mon hôte.
- checking whether we are using GNU C... no
Erreurs spécifiques à certains paquets
- Glibc: "... it is normal to compile GNU libc with the `linuxthreads' add-on..."
- Glibc sort en erreur et évoque BEGIN et END.
- La compilation de Glibc sort en erreur à cause de l'absence de l'entête de fichier nss.h.
- Ncurses: le préprocesseur C++ "/lib/cpp" échoue lors de la vérification de conformité
Problèmes de configuration et de démarrage
- Kernel panic: VFS: unable to mount root fs
- init: Id "1" respawning too fast: disabled for 5 minutes
- J'obtiens des erreurs à propos de net-pf-?.
- modprobe: Can't locate module char-major-10-135
- modprobe: Can't locate module /dev/rtc
- eth0:unknown interface
- spurious 8259A interrupt: IRQ14
- Pourquoi est-ce que less (et par conséquent man) affiche <AD> au lieu des tirets ?
BLFS FAQ:
Questions d'ordre général sur BLFS
Problèmes de compilation
- J'obtiens des erreurs quand je construis un paquet qui requiert GTK+, mais j'ai bien installé GTK+ 2.x.
- Référence indéfinie à `deflate'
- X11/Xlib.h: No such file or directory
- Toute erreur survenant lors de la compilation d'un élément de Gnome
- XFree86: Makefile.proto:32: *** missing separator
Problème de configuration
Informations générales à propos de cette FAQ
- Pourquoi cette FAQ?
-
Une FAQ essaye de répondre aux questions avant qu'elles soient posées. Ça vous évite le souci de poser les questions et parfois, celui de rencontrer le problème.
Cela réduit le trafic et améliore le ratio signal/bruit, même si cela n'est qu'un effet de bord bien utile.
Comme la FAQ n'est pas l'emplacement naturel où chercher l'information, on ne devrait y ajouter que ce qui ne peut pas aller dans la documentation adéquate. Il sera parfois nécessaire d'ajouter à la documentation un pointeur vers cette information.
- Qu'est ce que LFS ?
-
LFS veut dire Linux From Scratch et c'est un projet qui a pour but de vous apprendre le fonctionnement interne de Linux en vous faisant contruire un système Linux par le téléchargement, la compilation et l'installation des paquets.
Vous pouvez aussi aller lire l'introduction à LFS.
- Qu'est ce que BLFS ?
-
LFS est un système très basique, qui contraste beaucoup avec les distributions traditionnelles. La raison est la suivante : LFS n'est pas prévu pour créer un système à votre guise. Il est prévu pour être juste suffisant pour vous permettre de créer un système à votre guise. Ce n'est pas une fin, c'est un commencement. Quand vous en avez terminé avec LFS, vous venez seulement de commencer à bâtir votre système.
Ça peut être un problème si vous débutez avec les systèmes Unix et voulez une installation bureautique classique avec X et un navigateur internet sans savoir de quels paquets vous avez besoin. C'est pour cela qu'il existe Beyond Linux From Scratch, ou BLFS.
- Contribuer à cette FAQ.
-
Les suggestions sont plus que bienvenues. Le mainteneur de la FAQ peut être joint par courrier électronique directement ou sur la Liste de diffusion de la FAQ.
Les suggestions pertinentes comprennent l'ajout de questions fréquemment posées (avec des réponses fouillées) et la suppression des questions obsolètes.
Si vous pensez contribuer régulièrement à cette FAQ, vous devriez vous inscrire à la liste de diffusion. Toutes les suggestions, tous les ajouts (et parfois suppressions) y sont débattues. Il est possible d'appliquer des patches à la FAQ, même si les contributions au classique format texte sont également acceptées.
Tout ce qui est censé intégrer la FAQ, sans qu'il s'agisse d'une révision complète, doit être réfléchi, vérifié, approfondi ; et écrit dans un style qui se marie bien avec le contenu actuel.
Instructions sur l'assistance.
- Et si je débute avec Linux ou LFS ?
-
Si vous avez lu les pages prérequis et public, vous savez que LFS vise les utilisateurs de Linux qui ont un niveau intermédiaire et avancé. Quiconque a quelques mois d'expérience sur Linux et en particulier la console devrait pouvoir monter avec succés son système LFS.
LFS semble être un bon guide pour débuter sous Linux, cependant la réalité est bien différente. Notre expérience sur les canaux d'assistance montre que LFS est difficile à appréhender, et se révèle être une expérience frustrante pour les débutants parce qu'il leur manque la compréhension des concepts de base.
Concrètement, cela signifie que les débutants devraient acquérir de l'expérience avant de commencer avec LFS. La page des prérequis liste les connaissances minimales à avoir sur Linux, et s'il vous plaît, lisez également l'astuce sur la "Pré-lecture essentielle pour vivre avec une LFS".
Ces documents et cette FAQ sont votre petit guide de survie sous Linux. Vous allez bien vous amuser avec LFS si vous les avez lu, ce sera beaucoup plus difficile avec LFS et avec la communauté, et plus probablement avec vous-même, si vous ne les avez pas lu.
- Quel est le meilleur endroit où trouver de l'aide ?
-
Si vous n'avez pas trouvé de réponse dans cette FAQ, il y a d'autres endroits où aller chercher.
Si vous rencontrez un problème avec un passage du livre, ça ne peut pas faire de mal de revenir quelques pages en arrière. C'est surprenant avec quelle facilité certaines petites choses peuvent nous échapper.
Enfin, la lecture des pages de man et d'info vous apportera des informations pratiques sur certains sujets, si ce n'est la réponse à ce que vous cherchez. Cela vous assurera également d'en savoir assez pour ne pas vous mettre dans l'embarras si vous devez poser une question à quelqu'un.
Le Projet de Documentation de Linux (The Linux Documentation Project) propose des tutoriels et une tonne de documentation. Vous devriez y trouver quelque chose.
La page de recherche du site inclut les listes de diffusion. Beaucoup de questions y ont été débattues au moins une fois.
Pour une aide de type "assistance", IRC est souvent le meilleur. C'est plus rapide et ça n'encombre pas la liste de diffusion. Plus d'informations sur les canaux IRC sur la page assistance.
Il y a quelques canaux IRC dignes d'intérêt :
- #lfs - Le canal de la Communauté LFS.
- #lfs-support - Assistance pour LFS et BLFS.
- #cross-lfs - Developpement et assistance sur la branche LFS croisée.
- #hlfs - Assistance sur le livre HLSF.
Si vous formulez une requête d'assistance, vous aurez plus de chances d'obtenir une aide amicale et compétente sur #lfs-support.
En dernier recours, on trouve les listes de diffusion. Les gens risquent de vous en vouloir si vous utilisez la mauvaise liste ou si vous postez sur plusieurs listes à la fois. Les informations sur les listes de diffusions se trouvent sur la page assistance et indiquent quelle liste utiliser.
Souvenez-vous de fournir suffisamment d'informations quand vous postez sur la liste de diffusion. Au chapitre 1 de LFS vous trouverez des instructions pour utiliser ces listes. De plus, quelqu'un a écrit une astuce qui détaille la procédure de remontée d'erreurs.
- Quelle liste de diffusion pour quel sujet ?
-
Des informations sur toutes les listes de diffusion publiques sont disponibles sur la page des listes de diffusion. Voici quelques instructions pour déterminer quelle liste utiliser :
- Envoyez vos requêtes d'assistance sur les livres des versions stables sur lfs-support. Pour tout ce qui ne concerne pas LFS, utilisez blfs-support. Les rapports de bogues sont les bienvenus ; vous pouvez créer un ticket pour le projet adéquate ou envoyer un rapport sur la liste de diffusion lfs-dev.
- Si vous n'avez aucune difficulté à suivre le Livre LFS lui-même, n'envoyez pas d'email à lfs-support.
- A moins que vous ne suggériez une amélioration au livre LFS lui-même, n'envoyez pas de courriel à lfs-dev.
- Seules les suggestions sur le Livre BLFS sont acceptées sur blfs-dev.
- Les choses sont un peu différentes avec blfs-support. Tout ce qui ne rentre pas dans une des listes précédentes rentre ici sauf si cela concerne le prix de la bière et les guerres GNU contre BSD.
- Le prix de la bière, les guerres GNU contre BSD ou Microsoft contre Linux sont limitées à lfs-chat. Aujourd'hui, c'est là également que les discussions sur la matériel devraient se dérouler.
Notez que si vous évoquez XFree86, KDE ou GNOME, vous pouvez être sûr que votre message n'est pas fait pour lfs-dev ou lfs-support.
- Et la netiquette ?
-
Voici quelques informations pratiques sur l'etiquette. Elles incluent seulement celles qui seront signalées si vous les avez omises. Ceux qui ont l'habitude des listes de diffusion de projets trouveront que les premières infos sont évidentes. Vers la fin, elles le sont un peu moins.
Les justifications de ces règles ne sont pas mentionnées mais soyez assurés que ces instructions sont bien plus que les préférences personnelles d'un individu.
Même si le texte mentionne exclusivement "les listes", le but n'est pas d'ignorer les newsgroups miroirs des listes de diffusion.
Ceci étant fait, voici quelques infos sur les comportements à adopter suivis de choses plus "mécaniques" :
Souvenez-vous qu'il est incorrect de poser des questions dont les réponses figurent dans la documentation couramment accessible comme les livres LFS ou BLFS, cette FAQ, les astuces LFS, les pages de man correspondantes, les archives des listes et les recherches Google. Tant que vous pouvez montrer que vous avez fourni un effort pour trouver une réponse et que vous ne vous sentez pas offensé par un pointeur vers la documentation, aucune personne raisonnable n'opposera d'objection à votre question.
La plupart des conflits embarrassants débutent lorsqu'un débutant pose une question dont la réponse est évidente, se fait alors critiquer (même gentiment) et se trouve publiquement offensé. Essayez, s'il vous plait, d'éviter cette situation. Le fait de diriger, sans autre explication, vers la réponse exacte dans la documentation est suffisant. Si vous ressentez le besoin de critiquer, faites le en privé, pas sur les listes. Le raisonnement est le même pour tout ce qui pourrait "s'enflammer".
Les membres des listes viennent du monde entier, donc l'argot et les expressions idiomatiques risquent d'être mal comprises (comme en témoigne la discussion récente sur le démarrage). Les propos injurieux, relatifs à la politique, à la guerre, à la religion (même dans les signatures) risquent de contrarier quelqu'un quelque part dans le monde, alors évitez les, s'il vous plait. Enfin, on considère qu'il est plus poli de rédiger en anglais car c'est une langue que la plupart des gens connaissent avant tout autre.
Passons maintenant aux choses plus "mécaniques".
- Ne postez pas en HTML. Si vous utilisez Yahoo, Hotmail, ou Outlook et n'avez pas désactivé le HTML, c'est qu'il est activé. Si vous utilisez un autre client de messagerie, vérifiez avant de poster. Si vous ne savez pas comment désactiver le HTML, allez lire nomime.html. Tous les courriers contenant du HTML seront redirigés vers /dev/null et n'atteindront jamais la liste. Malheureusement, le filtre HTML de Spamassassin est très strict et bloquera tous les courriers avec du HTML ou des balises de type XML. Gardez bien cela en tête si vous postez des extraits de XML sur une liste. Un contournement largement utilisé consiste à remplacer les signes supérieur > et inférieur < par des crochets [].
- Coupez les lignes à 72 caractères. Si vous ne voulez pas le faire à la main, configurez votre client de messagerie pour qu'il le fasse automatiquement à l'envoi des messages.
- Répondez sous les citations. Ce n'est pas facile avec Outlook. Il existe un plug-in pour corriger Outlook, et un pour Outlook Express.
- Limitez vos signatures à quatre lignes.
- Élaguez les citations, surtout les signatures. Mais n'élaguez pas au point de rendre votre message difficile à comprendre sans consulter le message original.
- Ne cliquez pas sur "Répondre" à moins que vous ne soyez vraiment en train de répondre à un message. Utilisez les boutons "Nouveau" ou "Écrire" ou quel que soit le nom que votre logiciel de messagerie lui donne, pour poser une nouvelle question ou commencer un nouveau fil de discussion. Le bouton "Répondre" ne fait pas que remplir le champs "Sujet", il enverra votre message à un mauvais endroit sauf si votre message est effectivement une réponse.
Ce qui suit n'est pas de la plus grande importance, mais ça peut être utile de le savoir. Sur les listes LFS, les gens effacent généralement le champs CC et envoient leurs réponses à la liste. Ce n'est sans doute pas une bonne idée mais cette pratique existe. Elle est due à une situation politique qui n'est pas près de changer.
La RFC 1855 "fournit un jeu d'instructions minimal concernant l'Etiquette sur la Toile (la Netiquette) et fonctionne comme un jeu d'instructions minimal à destination des individus, qu'ils soient utilisateurs ou administrateurs.
Bogues fréquemment rencontrés
- Dans le livre, les commandes "ln -s" sont incorrectes.
-
Non, les commandes "ln -s" du livre sont correctes. Un lien symbolique est juste un fichier spécial qui contient le nom de fichier donné. Le nom de fichier est donc relatif au lien, pas au répertoire courant au moment de la création du lien. Essayez pour voir. Plus d'informations avec
man ln
. - /bin/foo est une copie de /bin/bar.
-
Essayez "ls -i /bin/foo /bin/bar". Les numéros d'inodes sont-ils les mêmes ? Si oui, ce ne sont pas des copies, ce sont des liens matériels.
Pour plus d'explications sur les différences entre liens symboliques et liens matériels, consultez la page de Questions/Réponses sur Linux Gazette à cette adresse : http://linuxgazette.net/105/pitcher.html.
- Puis-je utiliser une version plus récente que celle du livre ?
-
Si c'est la première fois que vous contruisez LFS, ce n'est pas une bonne idée d'utiliser une version qui n'est pas dans le livre, ou qui en diffère. Les utilisateurs réguliers des canaux IRC ont un proverbe, "FBBG" ("Follow Book, Book Good"), soit "Suivez livre, livre bon". Ils ont, avec les utilisateurs des listes, souvent aidé des débutants mécontents ayant dévié du livre pour leur première construction.
Une fois que vous avez bâti un système "au plus près du livre", vous avez une base de connaissance solide à partir de laquelle vous allez pouvoir vous lancer à coeur joie (ou endolori le plus souvent) dans diverses expériences.
- Il y a une nouvelle version du paquet Foo.
-
Si cette nouvelle version a plus d'un jour, il est probable que quelqu'un l'ait déjà testé et mentionné dans les listes de diffusion. Cherchez dans les archives avant de poster une question pour savoir si ce paquet fonctionne.
Si vous voulez annoncer la sortie d'une nouvelle version, suivez ces étapes pour éviter de faire une annonce en double.
- Vérifiez la page freshmeat du projet pour voir si elle a été mise à jour. Sinon, annoncez la sortie ici.
- Si freshmeat a été mis à jour, regardez si des tickets LFS ou BLFS sont ouverts pour vérifier si la sortie a été annoncée ici.
- S'il n'y a pas de ticket ouvert concernant cette sortie, annoncez-la sur la liste lfs-book (ou sur blfs-book si le paquet concerne BLFS). Et si vous voulez, testez-le et rapportez tout problème ou changement dans les instructions de compilation.
- La touche Suppr. ne fonctionne pas.
-
Lisez la page inputrc du livre LFS.
- Le système s'éteint quand fsck sort en erreur !
-
Les système Unix lancent normalement sulogin quand le fsck d'un démarrage normal sort en erreur, afin que root puisse se connecter et résoudre le problème. Comme sulogin va accepter n'importe quel mot de passe si /etc/passwd est corrompu, les développeurs de LFS ont estimé que cela représentait un risque pour la sécurité. Les scripts de démarrage de LFS éteignent donc la machine en cas d'erreur de fsck, et elle doit être démarrée avec le paramètre de noyau "init=/bin/bash" afin d'obtenir un shell root. Savoir si cela est sage ne rentre pas dans le périmètre de cette FAQ, mais si cela ne vous convient pas, changez les scripts de démarrage avant qu'il ne soit trop tard.
- Comment puis-je trouver un paquet ou une commande ?
-
Consultez la page téléchargement de LFS.
- Comment puis-je mettre à jour mon système LFS/BLFS ?
-
Vous le savez probablement déjà mais LFS n'est pas un distribution au sens traditionnel du terme. Son but premier est : enseigner aux gens comment un système linux fonctionne en interne.
Si cela signifie que vous avez un contrôle énorme de votre système ("Votre distro. Vos règles."), ça a également l'inconvénient de vous laisser la responsabilité de sa mise à jour.
Si vous avez bâti un système LFS et l'avez complété pour en faire votre système principal, la meilleure chose à faire est de choisir une politique de mise à jour. Souhaitez vous garder la dernière version de chaque paquet ? Faites alors attention à ne pas vous brûler ! Je recommande un léger conservatisme lors de la mise à jour afin de conserver un système sain. Il existe une régle informelle qui marche pour presque tout le monde : ne mettez à jour que les paquets qui recoivent des correctifs de sécurité. Inscrivez-vous sur lfs-security et LWN pour vous tenir au courant des correctifs de sécurité. Une autre règle informelle dit : ne mettez pas à jour la chaine de compilation (gcc, glibc et binutils) sauf si vous allez reconstruire entièrement votre système. Ces paquets forment le coeur de votre système LFS ; les détruire signifie détruire la possibilité de compiler des paquets ou même lancer des binaires.
Rappelez-vous que la mise à jour des paquets est à vos risques et périls. LFS fait bien attention à vous présenter un ensemble cohérent de paquets qui sont compatibles jusqu'à arriver à BLFS de sorte que vous puissiez compiler OpenOffice.org et Java (qui sont de vrais dinosaures à compiler). Cela veut dire que votre LFS peut être légèrement dépassée, mais garantit compatibilité et stabilité. Vous pouvez comparer cela aux versions stable et testing de Debian, bien que LFS soit souvent à la pointe comparée aux autres distributions.
De façon générale, il est plus sûr de mettre à jour des paquets uniques. Ils vont juste réécrire par dessus les anciens fichiers. Des gestionnaires de paquets peuvent s'occuper des désinstallations d'anciennes versions. Ça peut être vraiment utile de posséder un système de gestion de paquets. Jetez un oeil aux astuces, il en existe plusieurs, allant de RPM à DEB en passant par TGZ (Slackware) ou Checkinstall ou encore des paquets venant d'utilisateurs.
Un dernier commentaire : quelles instructions devriez vous suivre quand vous mettez à jour un paquet ? En géneral, vous pouvez suivre les instructions standard de LFS, mais sans supposer, de façon aveugle, qu'elles s'appliqueront à tous les paquets. Pour rester informé des mises à jours des paquets et des nouvelles instructions, inscrivez-vous sur lfs-dev. Gardez à l'esprit qu'il ne s'agit pas d'une liste de support mais d'une liste de développement.
FAQ ancienne et périmée.
- Où sont les tarballs des paquets LFS ou les scripts wget ?
-
Obsolète au regard de la page des téléchargements de LFS.
- J'utilise une version qui n'est pas dans le livre. Est-ce un problème ?
-
Il y a déjà une entrée de la FAQ qui répond à cela. Comme personne ne se réfère plus à cette entrée, elle est désormais obsolète.
- Où est quoi ?
-
Obsolète au regard du livre BLFS.
- Où est portmap?
-
Obsolète au regard du livre BLFS.
- Où puis-je trouver des logos LFS ?
-
Obsolète au regard de la page BLFS artwork.
- Référence indéfinie à `deflate'
-
Redondant avec référence indéfinie à `deflate'.
- Ma compilation optimisée de glibc plante sur spinlock.c
-
N'encourageons pas les gens à optimiser glibc. De plus, l'entrée quand utiliser des flags d'optimisation (paramétrer les CFLAGS) devrait répondre à cette question.
Remerciements
Cette FAQ est dédiée à tous les travailleurs acharnés sur la liste support, qui m'occupent bien avec cette FAQ ;-).
Merci à...
- Seth W. Klein pour avoir créé et maintenu cette FAQ avant moi.
- Tous les gars (et les quelques filles aussi, j'aimerais que vous soyez plus nombreuses) sur les listes, dont les réponses ont inspirées ces réponses.
- En particulier ceux d'entre vous qui font émerger une question, ses symptômes et la réponse, et qui m'expédient le tout. Vos identifiants sont immortalisés dans les journaux de commit (bien que uniquement dans les limites de l'éternité numérique, mais bon, j'essaye ;-)
- Tushar Teredesai, Chris Lingard, Jeremy Utley, The Cheeze et d'innombrables autres personnes qui postent régulièrement sur les listes de support des liens vers la FAQ.
- Les éditeurs de BLFS dont le livre engendre un nombre délicieusement faible de questions.