Estimación del tiempo de construcción: 0.94 SBU Estimación del espacio de disco requerido: 40 MB |
Los programas de un paquete Fileutils enlazados estáticamente pueden causar violaciones de segmento en algunos sistemas, si tu distribución tiene instalada la librería Glibc-2.2.3. Parece que sucede principalmente en máquinas que contienen un procesador AMD, aunque existe un caso o dos donde ha sido afectado un sistema Intel. Si tu sistema entra en esta categoría, aplica el parche.
Ten en cuenta que, en algunos casos, utilizar este parche provocará que no se pueda compilar el paquete, incluso cuando tu sistema tenga un procesador AMD y una librería Glibc-2.2.3 instalada. Si ese es tu caso, necesitarás borrar el directorio fileutils-4.1 y desempaquetarlo de nuevo antes de continuar. Creemos que esto puede pasar cuando tu distribución ha alterado de alguna forma la librería Glibc-2.2.3, pero los detalles no están disponibles por ahora.
Para reparar este paquete de forma que compile adecuadamente en máquinas AMD/Glibc-2.2.3, ejecuta el siguiente comando. No intentes utilizar este arreglo si no tienes la librería Glibc-2.2.3 instalada. Es más que probable que provoque todo tipo de problemas a la hora de compilar.
patch -Np1 -i ../fileutils-4.1.patch |
Instala Fileutils ejecutando los siguientes comandos:
LDFLAGS=-static \ ./configure --disable-nls --prefix=$LFS/static && make && make install |
Una vez hayas instalado Fileutils, puedes comprobar si se ha evitado el problema de la violación de segmento ejecutando $LFS/static/bin/ls. Si esto funciona, entonces está solucionado. Si no, deberás rehacer la instalación aplicando el parche si no lo usaste, o sin él, si en efecto lo utilizaste.
patch -Np1 -i ../fileutils-4.1.patch: Esto se usa para solucionar un problema cuando se construye fileutils estáticamente en sistemas que tienen glibc 2.2.3. Si no se hace, entonces existe la posibilidad de que los programas de fileutils provoquen violaciones de segmento (segmentation faults) una vez que se ha entrado en el entorno chroot en el Capítulo 6.
Última versión comprobada: 4.1.
chgrp, chmod, chown, cp, dd, df, dir, dircolors, du, install, ln, ls, mkdir, mkfifo, mknod, mv, rm, rmdir, shred, sync, touch y vdir
chgrp cambia el grupo de cada fichero al grupo especificado, que puede ser tanto el nombre de un grupo como su identificador numérico.
chmod cambia los permisos de un fichero de acuerdo con el modo, que puede ser tanto una representación simbólica de los cambios a hacer o un número octal que representa el patrón de bits de los nuevos permisos.
dd copia un fichero (por defecto, de la entrada estándar a la salida estándar) con un tamaño de bloque definido por el usuario, mientras, opcionalmente, realiza conversiones en él.
df muestra la cantidad de espacio disponible en los sistemas de ficheros a los que pertenece cada fichero que se le pasa como argumento. Si no se indica ningún fichero, se muestra el espacio disponible en todos los sistemas de ficheros montados actualmente
dir y vdir son versiones de ls con formatos de salida diferentes. Estos programas listan cada fichero o directorio especificado. El contenido de los directorios se lista alfabéticamente. Para ls, los ficheros se listan, por defecto, en columnas ordenados verticalmente si la salida estándar es un terminal; en otro caso se listan uno por línea. Para dir, los ficheros se listan, por defecto, en columnas ordenados verticalmente. Para vdir, los ficheros se listan, por defecto, en formato largo.
dircolors imprime comandos para modificar la variable de entorno LS_COLOR, que se usa para cambiar el esquema de color por defecto de ls y de herramientas relacionadas.
du muestra la cantidad de espacio en disco usado por cada fichero o directorio listado en la línea de comandos, y por cada uno de sus subdirectorios.
mknod crea una tubería (FIFO), un fichero especial de caracteres o un fichero especial de bloques con el nombre indicado.
mv mueve ficheros de un directorio a otro o renombra ficheros, dependiendo de los argumentos que se le pasen.
Última versión comprobada: 4.1.
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