Estimation du temps de construction: 3 minutes Estimation de l'espace disque requis: 25 MB |
A partir d'un Fileutils lié statiquement, les programmes peuvent causer des erreurs de segmentation sur certains systèmes, si votre distribution possède Glibc-2.2.3 ou supérieure installée. Cela semble apparaître souvent sur des machines disposant d'un processeur AMD; cependant quelques systèmes à base de processeurs Intel prèsentent les même disfonctionnements. Si votre système appartient à cette catégorie, essayez la correction suivante.
Noter que dans certains cas utiliser les commandes sed aboutira à des problèmes de compilation du package, même si votre système dispose d'un processeur AMD et de Glibc-2.2.3 (ou supérieur) installée. Si c'est le cas, vous aurez besoin de supprimer le répertoire fileutils-4.1 et de le déballer de nouveau de l'archive tar. Nous croyons que cela peut être le cas si votre distribution a modifié Glibc-2.2.3, mais aucun détail n'est disponible pour l'instant.
Pour permettre au package de compiler correctement sur des machines AMD/Glibc-2.2.3, exécuter les commandes suivantes. N'essayez pas cette correction si vous n'avez pas Glibc-2.2.3 installé. Cela créerait toutes sortes de problèmes de compilation.
cp lib/Makefile.in lib/Makefile.in.backup && sed -e 's/\(.*\)\(fopen-safer\.c \)\\/\1\2atexit.c \\/' \ -e 's/\(.*\)\(idcache\$U\.\$.*\)\\/\1\2atexit$U.$(OBJEXT) \\/' \ lib/Makefile.in.backup > lib/Makefile.in |
Installez Fileutils en lançant les commandes suivantes:
./configure --disable-nls \ --prefix=$LFS/usr --bindir=$LFS/bin && make LDFLAGS=-static && make install && ln -sf ../../bin/install $LFS/usr/bin |
Une fois Fileutils installé, vous pouvez tester si le problème d'erreur de segmentation a été supprimé en lançant $LFS/bin/ls. Si cela fonctionne, tout va bien. Sinon, vous devez refaire l'installation en utilisant les commandes sed si vous ne les aviez pas utilisées, ou sans les commandes sed si vous les aviez utilisées.
cp lib/Makefile.in lib/Makefile.in.backup : Nous exécutons cette commande pour garder une copie du fichier que nous allons modifier.
cp lib/Makefile.in lib/Makefile.in.backup && sed -e 's/\(.*\)\(fopen-safer\.c \)\\/\1\2atexit.c \\/' \ -e 's/\(.*\)\(idcache\$U\.\$.*\)\\/\1\2atexit$U.$(OBJEXT) \\/' \ lib/Makefile.in.backup > lib/Makefile.in: Ceci corrige un problème lors de la construction statique de fileutils sur un système comprenant glibc 2.2.3. Si ceci n'est pas fait, les programmes du package fileutils pourraient causer des erreurs de segmentation une fois chroot lancé à partir du chapitre 6.
chgrp, chmod, chown, cp, dd, df, dir, dircolors, du, install, ln, ls, mkdir, mkfifo, mknod, mv, rm, rmdir, shred, sync, touch et vdir
chgrp change le propriétaire du groupe des fichiers spécifiés par celui du groupe donné, qui peut indifféremment être identifié par un nom ou un numéro de groupe.
chmod change les permissions des fichiers spécifiés en fonction du mode, ce mode pouvant être une représentation symbolique des changements à effectuer, ou une représentation octale d'un nombre représentant le champ de bits des nouvelles permissions.
chown change le propriétaire et/ou le groupe de propriétaires des fichiers spécifiés.
cp copie des fichiers d'un répertoire à un autre.
dd copie un fichier (de l'entrée standard vers la sortie standard, par défaut) en fonction d'une taille de bloc et des options de conversion du fichier données par l'utilisateur.
df affiche l'espace disque disponible du système de fichiers contenant les fichiers passés en argument. Sans argument, df indiquera les quantités correspondant à tous les systèmes de fichiers montés.
dir et vdir sont des versions de ls avec des formats d'affichage différents. Ces programmes listent tous les fichiers ou répertoires donnés en argument. Le contenu des répertoires est trié alphabétiquement. Pour ls, les fichiers sont affichés en colonnes par défaut et triés verticalement si la sortie standard est un terminal; ils sont affichés ligne par ligne dans le cas contraire. Pour dir, les fichiers sont par défaut affichés en colonnes et triés verticalement. Pour vdir, l'affichage par défaut est le format long.
dircolors affiche une liste de commandes permettant de définir la variable d'environnement LS_COLOR. La variable LS_COLOR est utilisée pour changer les couleurs d'affichage par défaut de la commande ls et d'autres utilitaires.
du affiche l'espace disque utilisé par chaque argument et chacun de ces sous-répertoires.
install copie les fichiers puis positionne leurs permissions et, si possible, leur propriétaire et leur groupe.
ln crée des liens matériels ou symboliques entre fichiers.
mkdir crée un répertoire correspondant à chacun des noms mentionnés en argument.
mkfifo crée un fichier FIFO avec les noms passés en argument.
mknod crée un fichier FIFO, fichier spécial en mode caractère, ou fichier spécial en mode bloc avec le nom passé en argument.
mv déplace des fichiers d'un répertoire à un autre ou les renomme, selon les arguments qui lui sont passés.
rm efface des fichiers ou des répertoires.
rmdir efface des répertoires, s'ils sont vides.
shred efface un fichier de façon sûre, en écrasant son contenu pour qu'il ne puisse être récupéré.
sync force l'écriture des blocs modifiés et met à jour le super bloc.
touch remplace le temps d'accès et de modification des fichiers passés en argument par l'heure et la date courantes. S'ils n'existent pas, des fichiers vides sont créés.
Fileutils-4.1 nécessite que les programmes suivants soient installés:
bash: sh
binutils: ar, as, ld, ranlib
diffutils: cmp
fileutils: chmod, cp, install, ln, ls, mkdir, mv, rm, rmdir
gettext: msgfmt, xgettext
gcc: cc, cc1, collect2, cpp0, gcc
grep: egrep, fgrep, grep
make: make
perl: perl
sed: sed
sh-utils: basename, echo, expr, hostname, sleep, uname
texinfo: install-info
textutils: cat, tr