Linux From Scratch: Version 5.0 | ||
---|---|---|
Précédent | Chapitre 6. Installation des logiciels du système de base | Suivant |
Estimation du temps de construction : 0,9 SBU Estimation de l'espace disque requis : 69 Mo |
Le package Coreutils contient un grand ensemble d'utilitaires shell basiques.
Programmes installés : basename, cat, chgrp, chmod, chown, chroot, cksum, comm, cp, csplit, cut, date, dd, df, dir, dircolors, dirname, du, echo, env, expand, expr, factor, false, fmt, fold, groups, head, hostid, hostname, id, install, join, kill, link, ln, logname, ls, md5sum, mkdir, mkfifo, mknod, mv, nice, nl, nohup, od, paste, pathchk, pinky, pr, printenv, printf, ptx, pwd, readlink, rm, rmdir, seq, sha1sum, shred, sleep, sort, split, stat, stty, su, sum, sync, tac, tail, tee, test, touch, tr, true, tsort, tty, uname, unexpand, uniq, unlink, uptime, users, vdir, wc, who, whoami et yes
Coreutils dépend de Bash, Binutils, Coreutils, Diffutils, GCC, Gettext, Glibc, Grep, Make, Perl, Sed.
Normalement, la fonctionnalité de uname est quelque peu cassée, dans le fait que le paramètre -p renvoie toujours "unknown". Le correctif suivant corrige ce comportement pour les architectures Intel :
patch -Np1 -i ../coreutils-5.0-uname.patch |
Nous ne voulons pas que Coreutils installe sa version du programme hostname parce qu'il est inférieur à la version fournie par Net-tools. Empêchez cette installation en appliquant un correctif :
patch -Np1 -i ../coreutils-5.0-hostname-2.patch |
Maintenant, préparez la compilation de Coreutils :
./configure --prefix=/usr |
Compilez le paquet :
make |
Le programme su de Coreutils n'était pas installé parce qu'il avait besoin des privilèges de root pour le faire. Nous en avons besoin quelques instants pour la suite de tests. Donc, nous contournons le problème en l'installant maintenant :
make install-root |
Ce paquet dispose d'une suite de tests réalisant un ensemble de vérifications pour s'assurer que tout est construit correctement. Néanmoins, cette suite de tests particuliers fait quelques suppositions sur la présence d'utilisateurs et de groupes non root qui ne s'appliquent pas aussi tôt dans la construction de LFS. Nous créons donc un utilisateur système dummy et deux groupes dummy pour permettre aux tests de s'exécuter correctement. Si vous décidez de ne pas lancer cette suite de tests, passez directement à la section "Installez le paquet". Les commandes suivantes prépareront la suite de tests. Créez l'utilisateur et les deux groupes :
echo "dummy1:x:1000" >> /etc/group echo "dummy2:x:1001:dummy" >> /etc/group echo "dummy:x:1000:1000:::/bin/bash" >> /etc/passwd |
Certains tests doivent être lancés en tant que root :
make check-root |
Le reste des tests est lancé en tant qu'utilisateur dummy :
su dummy -c "make RUN_EXPENSIVE_TESTS=yes check" |
Supprimez les noms d'utilisateur et de groupe dummy :
sed -i.bak '/dummy/d' /etc/passwd /etc/group |
Installez le paquet :
make install |
Et déplacez quelques programmes vers leur bon emplacement :
mv /usr/bin/{basename,cat,chgrp,chmod,chown,cp,dd,df} /bin mv /usr/bin/{dir,dircolors,du,date,echo,false,head} /bin mv /usr/bin/{install,ln,ls,mkdir,mkfifo,mknod,mv,pwd} /bin mv /usr/bin/{rm,rmdir,shred,sync,sleep,stty,su,test} /bin mv /usr/bin/{touch,true,uname,vdir} /bin mv /usr/bin/chroot /usr/sbin |
Finalement, créez quelques liens symboliques nécessaires :
ln -s test /bin/[ ln -s ../../bin/install /usr/bin |
Précédent | Sommaire | Suivant |
Installer GCC-3.3.1 | Niveau supérieur | Installer Zlib-1.1.4 |