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 vous recommandons fortement de ne pas utiliser de versions différentes, car les commandes de construction pour une version pourraient ne pas fonctionner avec une autre version, à 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, le 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 un instantané de dépôt au lieu d'une archive de version spécifiée par 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 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 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 n'importe quelle méthode proposée plus haut.

If the packages and patches are downloaded as a non-root user, these files will be owned by the user. The file system records the owner by its UID, and the UID of a normal user in the host distro is not assigned in LFS. So the files will be left owned by an unnamed UID in the final LFS system. If you won't assign the same UID for your user in the LFS system, change the owners of these files to root now to avoid this issue:

chown root:root $LFS/sources/*