3.1. Introduction

Ce chapitre inclut une liste de paquets devant être téléchargés pour construire un système Linux de base. Les numéros de versions affichés correspondent aux versions des logiciels qui sont connues pour fonctionner, et ce livre est basé sur leur utilisation. Nous déconseillons fortement l’utilisation de versions différentes. En effet, les commandes de construction d’une version pourraient ne pas fonctionner sur une version différente, à moins que cette version différente ne soit mentionné dans un errata ou une information de sécurité. Les versions plus récentes pourraient aussi avoir des problèmes nécessitant des contournements. Ces derniers seront développés et stabilisés dans la version de développement du livre.

Pour certains paquets, l'archive de version et l'instantané du dépôt (Git ou SVN) pour cette version peuvent être publiés avec des noms similaires. Une archive de version contient des fichiers générés (par exemple, un script configure généré par autoconf) en plus du contenu de l'instantané du dépôt. Le livre utilise les archives de version chaque fois que cela est possible. Utiliser des instantanés de dépôt au lieu des archives de version spécifiées dans le livre causera des problèmes.

Il se peut que les emplacements de téléchargement ne soient pas toujours accessibles. Si un emplacement de téléchargement a changé depuis la publication de ce livre, Google (https://www.google.com/) offre un moteur de recherche utile pour la plupart des paquets. Si cette recherche est infructueuse, essayez un des autres moyens de téléchargement disponible sur https://www.linuxfromscratch.org/lfs/mirrors.html#files.

Les paquets et les correctifs téléchargés doivent être stockés à un emplacement où ils seront facilement disponibles pendant toute la construction. Un répertoire fonctionnel est aussi requis pour déballer les sources et pour les construire. Vous pouvez utiliser le répertoire $LFS/sources à la fois comme emplacement de stockage pour les archives tar et les correctifs, mais aussi comme répertoire fonctionnel. En utilisant ce répertoire, les éléments requis seront situés sur la partition LFS et seront disponibles à toutes les étapes du processus de construction.

Pour créer ce répertoire, lancez, en tant qu'utilisateur, la commande root, avant de commencer la session de téléchargement :

mkdir -v $LFS/sources

Donnez le droit d'écriture et le droit sticky sur ce répertoire. « Sticky » signifie que même si de nombreux utilisateurs peuvent écrire sur un répertoire, seul le propriétaire du fichier peut supprimer ce fichier à l'intérieur du répertoire sticky. La commande suivante activera les droits d'écriture et sticky :

chmod -v a+wt $LFS/sources

Il y a plusieurs moyen d'obtenir tous les paquets nécessaires et les correctifs requis pour construire LFS :

Pour télécharger tous les paquets et les correctifs en utilisant wget-list comme entrée pour la commande wget, utilisez :

wget --input-file=wget-list-systemd --continue --directory-prefix=$LFS/sources

En outre, à partir de LFS-7.0, un fichier séparé, md5sums, peut être utilisé pour vérifier que tous les paquets sont disponibles avant de continuer. Mettez ce fichier dans $LFS/sources et lancez :

pushd $LFS/sources
  md5sum -c md5sums
popd

Vous pouvez utiliser cette vérification après avoir récupéré les fichiers nécessaires avec une des méthodes proposées plus haut.

Si vous téléchargez les paquets et les correctifs en tant qu’utilisateur non-root, ces fichiers appartiendront à l’utilisateur. Le système de fichiers identifie le propriétaire par son UID et l’UID d’un utilisateur normal dans la distribution hôte n’est pas attribué dans LFS. Dans ce cas, le propriétaire par défaut des fichiers sera un UID sans nom dans le système LFS final. Si vous n’attribuez pas le même UID à votre utilisateur dans le système LFS, changez dès maintenant les propriétaires de ces fichiers à root afin d’éviter le problème suivant :

chown root:root $LFS/sources/*