Alojamiento gratuito en línea para estaciones de trabajo

<Anterior | Contenido | Siguiente>

6.54.1. Instalación de Coreutils

POSIX requiere que los programas de Coreutils reconozcan los límites de los caracteres correctamente incluso en configuraciones regionales multibyte. El siguiente parche corrige este incumplimiento y otros errores relacionados con la internacionalización.


parche -Np1 -i ../coreutils-8.31-i18n-1.patch

parche -Np1 -i ../coreutils-8.31-i18n-1.patch


Nota:

En el pasado, se encontraron muchos errores en este parche. Cuando informe de nuevos errores a los encargados de mantenimiento de Coreutils, compruebe primero si son reproducibles sin este parche.

Nota:

En el pasado, se encontraron muchos errores en este parche. Cuando informe de nuevos errores a los encargados de mantenimiento de Coreutils, compruebe primero si son reproducibles sin este parche.

Suprime una prueba que en algunas máquinas puede repetirse para siempre:


sed -i '/test.lock/s/^/#/' gnulib-tests / gnulib.mk

sed -i '/test.lock/s/^/#/' gnulib-tests / gnulib.mk

Ahora prepare Coreutils para la compilación:


autoreconf -fiv FORCE_UNSAFE_CONFIGURE=1 ./configure

--prefijo = / usr

--enable-no-install-program = kill, uptime

autoreconf -fiv FORCE_UNSAFE_CONFIGURE=1 ./configure

--prefijo = / usr

--enable-no-install-program = kill, uptime

El significado de las opciones de configuración:

reconfiguración automática

Este comando actualiza los archivos de configuración generados de acuerdo con la última versión de automake.

FORCE_UNSAFE_CONFIGURE = 1

Esta variable de entorno permite que el paquete se cree como usuario root.

--enable-no-install-program = kill, uptime

El propósito de este cambio es evitar que Coreutils instale binarios que serán instalados por otros paquetes más adelante.

Compila el paquete:


“piensen de nuevo sobre los incrementos de precio”

“piensen de nuevo sobre los incrementos de precio”

Vaya a "Instalar el paquete" si no está ejecutando el conjunto de pruebas.

Ahora el conjunto de pruebas está listo para ejecutarse. Primero, ejecute las pruebas que deben ejecutarse como usuario raíz:


make NON_ROOT_USERNAME = nadie verifica la raíz

make NON_ROOT_USERNAME = nadie verifica la raíz

Vamos a ejecutar el resto de las pruebas como nadie usuario. Sin embargo, algunas pruebas requieren que el usuario sea miembro de más de un grupo. Para que estas pruebas no se omitan, agregaremos un grupo temporal y haremos que el usuario nadie una parte de ella:


echo "dummy: x: 1000: nadie" >> / etc / group

echo "dummy: x: 1000: nadie" >> / etc / group


Corrija algunos de los permisos para que el usuario no root pueda compilar y ejecutar las pruebas:


chown -Rv nadie.

chown -Rv nadie.

Ahora ejecuta las pruebas. Asegúrese de que la RUTA en el su el entorno incluye / tools / bin.


su nadie -s /bin/bash

-c "RUTA = $ RUTA hacer RUN_EXPENSIVE_TESTS = sí comprobar"

su nadie -s /bin/bash

-c "RUTA = $ RUTA hacer RUN_EXPENSIVE_TESTS = sí comprobar"

Se sabe que el programa de prueba test-getlogin falla en un entorno de sistema parcialmente construido como el entorno chroot aquí, pero pasa si se ejecuta al final de este capítulo. También se sabe que el programa de prueba tty.sh falla.

Eliminar el grupo temporal:


sed -i '/ dummy / d' / etc / group

sed -i '/ dummy / d' / etc / group

Instale el paquete:


make install

make install

Mueva los programas a las ubicaciones especificadas por la FHS:


mv -v / usr / bin / {cat, chgrp, chmod, chown, cp, date, dd, df, echo} / bin mv -v / usr / bin / {false, ln, ls, mkdir, mknod, mv, pwd, rm} / bin

mv -v / usr / bin / {rmdir, stty, sync, true, uname} / bin mv -v / usr / bin / chroot / usr / sbin

mv -v /usr/share/man/man1/chroot.1 /usr/share/man/man8/chroot.8 sed -is / \ "1 \" / \ "8 \" / 1 / usr / share / man /man8/chroot.8

mv -v / usr / bin / {cat, chgrp, chmod, chown, cp, date, dd, df, echo} / bin mv -v / usr / bin / {false, ln, ls, mkdir, mknod, mv, pwd, rm} / bin

mv -v / usr / bin / {rmdir, stty, sync, true, uname} / bin mv -v / usr / bin / chroot / usr / sbin

mv -v /usr/share/man/man1/chroot.1 /usr/share/man/man8/chroot.8 sed -is / \ "1 \" / \ "8 \" / 1 / usr / share / man /man8/chroot.8

Algunos de los scripts del paquete LFS-Bootscripts dependen de cabeza, agradable, sleepy contacto. Porque / usr puede no estar disponible durante las primeras y últimas etapas del arranque, esos binarios deben estar en la partición raíz para mantener el cumplimiento de FHS:


mv -v / usr / bin / {head, nice, sleep, touch} / bin

mv -v / usr / bin / {head, nice, sleep, touch} / bin


Top OS Cloud Computing en OnWorks: