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 :
Vous pouvez télécharger les fichiers individuellement comme décrit dans les deux prochaines sections.
Pour les versions stables du livre, une archive de tous les fichiers nécessaires est disponible au téléchargement sur l'un des miroirs de LFS listés sur https://www.linuxfromscratch.org/mirrors.html#files.
Vous pouvez télécharger les fichiers avec wget et un wget-list comme décrit ci-dessous.
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-sysv --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/*