Establece un buen entorno
de trabajo mediante la creación de dos nuevos ficheros de inicio para el
intérprete de comandos bash. Estando en el sistema como usuario lfs, ejecuta
los siguientes comandos para crear un .bash_profile nuevo:
cat >
~/.bash_profile << "EOF"
exec env -i
HOME=$HOME TERM=$TERM PS1='\u:\w\$ ' /bin/bash
EOF
Cuando entras como usuario
lfs el intérprete de comandos inicial es un intérprete de ingreso que lee el
/etc/profile de tu anfitrión (que posiblemente contenga algunos ajustes de
variables de entorno) y luego lee .bash_profile. El comando exec env
-i.../bin/bash del fichero.bash_profile sustituye el intérprete de comandos en
ejecución por uno nuevo con un entorno completamente vacío, excepto por las
variablesHOME, TERM y PS1. Esto asegura que en el entorno de construcción no
aparezcan variables de entorno indeseadas o dañinas procedentes del sistema
anfitrión. La técnica aquí usada consigue el objetivo de asegurar un entorno
limpio.
La nueva instancia del
intérprete comandos es un intérprete de no ingreso que no lee los ficheros
/etc/profile o .bash_profile, pero en su lugar lee el fichero .bashrc. Crea
ahora el fichero .bashrc:
cat >
~/.bashrc << "EOF"
set +h
umask 022
LFS=/mnt/lfs
LC_ALL=POSIX
PATH=/tools/bin:/bin:/usr/bin
export LFS
LC_ALL PATH
Eof
El comando set +h desactiva
la función de tablas de dispersión (hash) de bash. Normalmente, esta función es
muy útil: bash usa una tabla de dispersión para recordar la ruta completa de
los ejecutables, evitando búsquedas reiteradas en el PATH para encontrar el
mismo binario. Sin embargo, las nuevas herramientas deberían utilizarse a
medida que son instaladas. Al desactivar esta característica, el intérprete de
comandos siempre buscará en el PATH cuando deba ejecutarse un programa. Por
tanto, el intérprete de comandos encontrará las herramientas recién compiladas
en $LFS/tools tan pronto como estén disponibles, sin recordar una anterior
versión del mismo programa en una ubicación diferente.
Establecer la máscara de
creación de ficheros (umask) a 022 asegura que los ficheros y directorios de
nueva creación sólo pueden ser escritos por su propietario, pero son legibles y
ejecutables por cualquiera (asumiendo que los modos por defecto son usados por
la llamada open(2) del sistema, los nuevos ficheros tendrán permisos 644 y los
directorios 755).
La variable LFS debe
establecerse al punto de montaje elegido.
La variable LC_ALL controla
la localización de ciertos programas, haciendo que sus mensajes sigan las
convenciones para un determinado país. Si el sistema anfitrión utiliza una
versión de Glibc anterior a la 2.2.4, tener LC_ALL establecida a algo diferente
a “POSIX” o “C” (durante el siguiente capítulo) puede causar problemas si sales
del entorno chroot e intentas regresar más tarde. Establecer LC_ALL a “POSIX” o
“C” (ambos son equivalentes) asegura que todo funcionará como se espera dentro
del entorno chroot.
Al añadir /tools/bin al
principio del PATH, todos los programas instalados en el Capítulo 5 son
inmediatamente detectados por el intérprete de comandos tras su instalación.
Esto, combinado con la desactivación de las tablas de dispersión, limita el
riesgo de utilizar los antiguos programas del anfitrión cuando dichos pogramas
ya están disponibles en el entorno.
Finalmente, para tener el
entorno preparado por completo para construir las herramientas temporales,
carga el perfil de usuario recién creado:
source
~/.bash_profile
• Entorno gráfico: X-Windows/X11
XWindow permite utilizar un
ambiente gráfico bajo Unix (Linux), a diferencia de la clásica Terminal ASCII
que es conocida para todos los sistemas operativos *nix. El detalle técnico más
importante que hay que reconocer de X es que utiliza una metodología
cliente-servidor , esto es, existe un servidor X que es el encargado de generar
y procesar gráficas, requisiciones, seguridad,etc; y uncliente X que solicita y
recibe todas las requisiciones del servidor X.
0 comentarios:
Publicar un comentario