Home

Linux From Scratch

image

Contents

1. Compila el paquete make Para comprobar los resultados ejecuta make check Instala el paquete make install Los detalles sobre este paquete se encuentran en la Secci n 6 35 2 Contenido de Gawk 86 Linux From Scratch Version 6 2 5 20 Gettext 0 14 5 El paquete Gettext contiene utilidades para la internacionalizaci n y localizaci n Esto permite a los programas compilarse con Soporte de Lenguaje Nativo NLS lo que les permite mostrar mensajes en el idioma nativo del usuario Tiempo estimado de construcci n 0 4 SBU Espacio requerido en disco 43 MB 5 20 1 Instalaci n de Gettext Para nuestro conjunto de harramientas temporales s lo necesitamos compilar e instalar un programa de Gettext Prepara Gettext para su compilaci n cd gettext tools configure prefix tools disable shared Significado de la opci n de configure disable shared No necesitamos instalar por ahora ninguna de las librer as compartidas de Gettext por tanto no necesitamos construirlas Compila el paquete make C lib make C src msgfmt Como s lo se ha compilado un binario no es posible ejecutar el banco de pruebas sin compilar librer as de soporte adicionales del paquete Gettext Por tanto no se recomienda intentar ejecutar el banco de pruebas en esta fase Instala el binario msgfmt cp v src msgfmt tools bin Los detalles sobre este paquete se encuentran en la Secci n 6 36 2 Contenido de Gett
2. ex Arranca vim en modo ex less sh Un gui n que arranca vim con less vim mve awk Procesa los errores de vim pltags pl Crea un fichero de etiquetas para el c digo Perl de modo que pueda usarse con vim ref Comprueba la ortograf a de los argumentos rview Una versi n restringida de view No pueden ejecutarse comandos del int rprete de comandos y view no puede ser suspendido rvim Una versi n restringida de vim No pueden ejecutarse comandos del int rprete de comandos y vim no puede ser suspendido 217 shtags pl tcltags view vim vim132 vim2html pl vimdiff vimm vimspell sh vimtutor xxd Linux From Scratch Version 6 2 Genera un fichero de etiquetas para los guiones Perl Genera un fichero de etiquetas para el c digo TCL Arranca vim en modo de s lo lectura El editor Arranca vim con el terminal en modo de 132 columnas Convierte la documentaci n de Vim a HTML Edita dos o tres versiones de un fichero con vim y muestra las diferencias Activa el modelo de entrada del buscador de DEC en un terminal remoto Comprueba la ortograf a de un fichero y genera las sentencias de sintaxis necesarias para resaltar las palabras en vim Este gui n necesita el antiguo comando Unix spell que no se incluye en el LFS ni en el BLES Ense a las teclas y comandos b sicos de vim Genera un volcado hexadecimal Tambi n puede hacer lo contrario por lo que puede usarse para parchear binarios 218 Linux
3. Ejecuta diff sobre ficheros comprimidos Ejecuta egrep sobre ficheros comprimidos Ejecuta fgrep sobre ficheros comprimidos Fuerza la extensi n gz en todos los ficheros comprimidos para que gzip no los comprima dos veces Esto puede ser til para ficheros con el nombre truncado despu s de una transferencia de ficheros Ejecuta grep sobre ficheros comprimidos Ejecuta less sobre ficheros comprimidos Ejecuta more sobre ficheros comprimidos Recomprime ficheros del formato de compress al formato de gzip o sea de Za gz 178 Linux From Scratch Version 6 2 6 40 Inetutils 1 4 2 El paquete Inetutils contiene programas para trabajo b sico en red Tiempo estimado de construcci n 0 2 SBU Espacio requerido en disco 8 9 MB 6 40 1 Instalaci n de Inetutils Aplica un parche a Inetutils para conseguir que compile con GCC 4 0 3 patch Npl i inetutils 1 4 2 gcc4_fixes 3 patch No vamos a instalar todos los programas que vienen en Inetutils Sin embargo el sistema de construcci n de Inetutils insistir en instalar todas las p ginas de manual El siguiente parche corregir esta situaci n patch Npl i inetutils 1 4 2 no_server_man pages 1 patch Prepara Inetutils para su compilaci n configure prefix usr libexecdir usr sbin sysconfdir etc localstatedir var disable logger disable syslogd A disable whois disable servers Significado de las opciones de configure disable logger
4. Make Patch Sed y Texinfo El banco de pruebas depende de Diffutils Findutils y Gawk 275 Linux From Scratch Version 6 2 Debe instalarse antes de Ninguno Tcl Para su instalaci n depende de Bash Binutils Coreutils Diffutils GCC Glibc Grep Make y Sed El banco de pruebas depende de Ninguno Debe instalarse antes de Ninguno Texinfo Para su instalaci n depende de Bash Binutils Coreutils GCC Gettext Glibc Grep Make Ncurses Patch y Sed El banco de pruebas depende de Ninguno Debe instalarse antes de Ninguno Udev Para su instalaci n depende de Binutils Coreutils GCC Glibc y Make El banco de pruebas depende de Findutils Perl y Sed Debe instalarse antes de Ninguno Util Linux Para su instalaci n depende de Bash Binutils Coreutils E2fprogs GCC Gettext Glibc Grep Make Ncurses Patch Sed y Zlib El banco de pruebas depende de No incluye un banco de pruebas Debe instalarse antes de Ninguno Vim Para su instalaci n depende de Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Ncurses y Sed El banco de pruebas depende de Ninguno Debe instalarse antes de Ninguno Zlib Para su instalaci n depende de Bash Binutils Coreutils GCC Glibc Grep Make y Sed El banco de pruebas depende de Ninguno Debe instalarse antes de File Module Init Tools y Util Linux 276 Indice Paquetes Autoconf 151 Automake 153 Bash 155 herramientas 81 Berkeley DB 128 Binutils
5. e s startfile prefix_spec n _ usr lib g gt dirname gcc print libgcc file name specs Es buena idea inspeccionar visualmente el fichero de especificaciones para verificar que realmente se produjeron los cambios deseados Importante Si est s trabajando sobre una plataforma en la que el nombre del enlazador din mico no sea ld linux so 2 sustituye Id linux so 2 en el comando anterior por el nombre del enlazador din mico para tu plataforma Si es necesario consulta la Secci n 5 2 Notas t cnicas sobre las herramientas En este punto es obligatorio asegurarse de que las operaciones b sicas compilaci n y enlazado de las nuevas herramientas ajustadas funcionan como se espera Para hacer esto realiza las siguientes comprobaciones de sanidad echo main gt dummy c cc dummy c Wl verbose amp gt dummy log readelf 1 a out grep lib Si todo funciona correctamente no debe haber errores y la salida del ltimo comando debe ser con las diferencias para la plataforma sobre el nombre del enlazador din mico Requesting program interpreter lib ld linux so 2 Comprueba que lib aparezca como prefijo de tu enlazador din mico Ahora asegurate de que lo hemos configurado para usar los ficheros de inicio correctos grep o usr lib crt lin dummy log Si todo funciona correctamente no debe haber errores y la salida del ltimo comando debe ser 119 Linux From Scrat
6. 223 224 udev 223 224 Otros boot config 2 6 16 27 252 253 boot System map 2 6 16 27 252 254 dev 102 etc fstab 250 etc group 108 etc hosts 242 etc inittab 203 etc inputre 236 etc ld so conf 115 etc lfs release 257 etc limits 198 etc localtime 114 etc login access 198 etc login defs 198 etc nsswitch conf 114 etc passwd 108 etc profile 238 etc protocols 135 etc resolv conf 248 etc services 135 etc syslog conf 201 etc udev 208 210 etc vimrce 216 usr include asm linux h 110 110 var log btmp 108 var log lastlog 108 var log wtmp 108 var run utmp 108 p ginas de manual 111 111 284
7. Cuando esto est hecho el proceso de instalaci n de LFS ya no depender de la distribuci n anfitriona con la excepci n del n cleo en ejecuci n Este esfuerzo para aislar el nuevo sistema de la distribuci n anfitriona puede parecer escesivo pero en Secci n 5 2 Notas t cnicas sobre las herramientas se da una explicaci n t cnica completa En el Cap tulo 6 se construye el aut ntico sistema LFS Se utiliza el programa chroot change root cambio de ra z para entrar en un entorno virtual y ejecutar un nuevo int rprete de comandos cuyo directorio ra z ser la partici n LFS Esto es muy similar a reiniciar e indicarle al n cleo que monte la partici n LFS como partici n ra z El sistema no es realmente reiniciado si no que se cambia la ra z porque crear un sistema arrancable requiere un trabajo adicional que no es necesario a n La mayor ventaja es que cambiar la ra z permite seguir usando el sistema anfitri n mientras se construye el LFS Mientras espera que se complete la compilaci n de un paquete el usuario puede cambiar a otra consola virtual VC o escritorio X y continuar usando el ordenador normalmente Para terminar la instalaci n en el Cap tulo 7 se configuran los guiones de arranque y el n cleo y el gestor de arranque se configuran en el Cap tulo 8 El Cap tulo 9 contiene informaci n para profundizar en la experiencia LFS despu s de este libro Tras completar los pasos de este libro el ordenador
8. Esta opci n evita que Inetutils instale el programa logger que sirve para que los guiones le pasen mensajes al Demonio de Registro de Eventos del Sistema Hacemos esto porque luego Util linux instalar una versi n mejor disable syslogd Esta opci n evita que Inetutils instale el Demonio de Registro de Eventos del Sistema que ser instalado con el paquete Sysklogd disable whois Esta opci n desactiva la construcci n del cliente whois de Inetutils que est demasiado anticuado En el libro BLES hay instrucciones para un cliente whois mucho mejor disable servers Esto desactiva la construcci n de los diferentes servidores incluidos como parte del paquete Inetutils Estos servidores no se consideran apropiados para un sistema LFS b sico Algunos son inseguros por naturaleza y s lo se consideran seguros en redes de confianza Puedes encontrar m s informaci n en http www linuxfromscratch org blfstview svn basicnet inetutils html Ten en cuenta que para muchos de estos servidores hay disponibles sustitutos mejores Compila el paquete make Este paquete no incluye un banco de pruebas Instala el paquete 179 Linux From Scratch Version 6 2 make install Mueve el programa ping al lugar indicado por el FHS mv v usr bin ping bin 6 40 2 Contenido de Inetutils Programas instalados ftp ping rcp rlogin rsh talk telnet y tftp Descripciones cortas ftp El programa para transferencia de ficheros de ARPANE
9. Finished the XML indentation plus few tags changes February 8 2006 matthew Rewrite the majority of chapter07 udev xml to reflect the new configuration for handling dynamic device naming and module loading February 3 2006 matthew Create the 1ib firmware directory that can be used by Udev s firmware_helper utility matthew Add descriptions of Udev s helper binaries manuel Add udev bootscript patch to whatsnew Removed hotplug from list of packages to download ken Add udev bootscript patch to list of patches to download ken Correct the size of the udev tarball February 2 2006 matthew Upgrade to Udev 084 and build all its extras to enable custom rules to be written more easily Also change the rules file to handle kernel module loading and patch the udev bootscript to work with this version of udev matthew Remove the hotplug package and related bootscript Udev will now handle device creation and module loading matthew Upgrade to Linux 2 6 15 2 16 Linux From Scratch Version 6 2 January 30 2006 jhuntwork Adjust binutils pass1 so we don t need to hang on to its source directories Also use gcc dumpmachine instead of the MACHTYPE var jhuntwork Various textual corrections Thanks Chris Staub jhuntwork Remove unnecessary LDFLAGS variables in binutils pass 1 and 2 Thanks Dan Nicholson January 29 2006 jhuntwork Restore the use of startfile
10. Linux From Scratch Version 6 2 5 26 Perl 5 8 8 El paquete Perl contiene el Lenguaje Pr ctico de Extracci n e Informe Tiempo estimado de construcci n 0 7 SBU Espacio requerido en disco 84 MB 5 26 1 Instalaci n de Perl Aplica el siguiente parche para corregir algunas rutas a la librer a C fijadas en el c digo patch Npl i perl 5 8 8 libc 2 patch Prepara Perl para su compilaci n aseg rate de poner correctamente Data Dumper Fentl IO POSIX todo son letras configure gnu prefix tools Dstatic_ext Data Dumper Fcntl IO POSIX Significado de la opci n de configure Dstatic_ext Data Dumper Fentl IO POSIX Esto le indica a Perl que construya el conjunto m nimo de extensiones est ticas necesarias para ejecutar el banco de pruebas de Coreutils y Glibc en el siguiente cap tulo S lo es necesario construir algunas de las utilidades incluidas en este paquete make perl utilities Aunque Perl incluye un banco de pruebas no es recomendable ejecutarlo ahora S lo se ha construido una parte de Perl y la ejecuci n de make test provocar a que tambi n se compilase el resto de Perl que es innecesario en este momento El banco de pruebas puede ejecutarse en el siguiente cap tulo si se desea Instala estas herramientas y sus librer as cp v perl pod pod2man tools bin mkdir pv tools lib perl5 5 8 8 cp Rv lib tools lib perl5 5 8 8 Los detalles sobre este paquete se encuentran en la Secci n 6 22
11. Make Para su instalaci n depende de Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Make Sed y Texinfo El banco de pruebas depende de Perl Debe instalarse antes de Ninguno Mktemp Para su instalaci n depende de Bash Binutils Coreutils GCC Glibc Grep Patch y Sed El banco de pruebas depende de No incluye un banco de pruebas Debe instalarse antes de Ninguno Module Init Tools Para su instalaci n depende de Bash Binutils Coreutils GCC Glibc Grep Make Sed y Zlib El banco de pruebas depende de File Findutils y Gawk Debe instalarse antes de Ninguno Ncurses Para su instalaci n depende de Bash Binutils Coreutils Diffutils Gawk GCC Glibc Grep Make Patch y Sed El banco de pruebas depende de No incluye un banco de pruebas Debe instalarse antes de Bash GRUB Inetutils Less Procps Psmisc Readline Texinfo Util Linux y Vim Patch Para su instalaci n depende de Bash Binutils Coreutils GCC Glibc Grep Make y Sed El banco de pruebas depende de No incluye un banco de pruebas Debe instalarse antes de Ninguno Perl Para su instalaci n depende de Bash Berkeley DB Binutils Coreutils Gawk GCC Glibc Grep Groff Make y Sed El banco de pruebas depende de lana Etc y Procps Debe instalarse antes de Autoconf Procps Para su instalaci n depende de Bash Binutils Coreutils GCC Glibc Make y Ncurses El banco de pruebas depende de No incluye un banco de prue
12. Necesitamos crear el fichero etc nsswitch conf porque aunque Glibc nos facilita los valores por defecto cuando este fichero no se encuentra o est corrupto estos valores por defecto no funcionan bien en un entorno de red Tambi n hay que configurar la zona horaria Crea un nuevo fichero etc nsswitch conf ejecutando lo siguiente cat gt etc nsswitch conf lt lt EOF Begin etc nsswitch conf 114 Linux From Scratch Version 6 2 passwd files group files shadow files MOSES Eilles clas networks files deEoLocoLss tiles services files etherss Tiles joes Elles End etec nsswitch cont EOF Una forma de determinar la zona horaria local es ejecutar el siguiente gui n tzselect Despu s de contestar unas preguntas referentes a tu localizaci n el gui n te mostrar el nombre de tu zona horaria por ejemplo America Edmonton Otras zonas locales posibles como Canada Eastern or ESTSEDT que no son identificadas por el gui n pero que pueden usarse se encuentran listadas en usr share zoneinfo Crea entonces el fichero etc localtime ejecutando cp v remove destination usr share zoneinfo lt xxx gt etc localtime Sustituye lt xxx gt con el nombre de la zona horaria seleccionada por ejemplo Europe Madrid Significado de la opci n de cp remove destination Esto es necesario para forzar la eliminaci n del enlace simb lico que ya existe La raz n por la que copiamos en lug
13. Prepara Gzip para su compilaci n configure prefix usr El gui n gzexe guarda en su c digo la localizaci n del binario gzip Como luego vamos a cambiar la ubicaci n del binario el siguiente comando asegura que la nueva ubicaci n se guarde dentro del gui n sed i s BINDIR bin g gzexe in Compila el paquete make Este paquete no incluye un banco de pruebas Instala el paquete make install Mueve el programa gzip al directorio bin y crea algunos enlaces simb licos com nmente usados mv v usr bin gzip bin rm v usr bin gunzip zcat ln sv gzip bin gunzip ln sv gzip bin zcat ln sv gzip bin compress ln sv gunzip bin uncompress 6 39 2 Contenido de Gzip Programas instalados compress enlace a gzip gunzip enlace a gzip gzexe gzip uncompress enlace a gunzip zcat enlace a gzip zcmp zdiff zegrep zfgrep zforce zgrep zless zmore y znew Descripciones cortas compress Comprime y descomprime ficheros gunzip Descomprime ficheros que hayan sido comprimidos con gzip gzexe Crea ficheros ejecutables autodescomprimibles gzip Comprime los ficheros indicados usando codificaci n Lempel Ziv LZ77 177 uncompress zcat zcmp zdiff zegrep zfgrep zforce zgrep zless zmore znew Linux From Scratch Version 6 2 Descomprime ficheros comprimidos Descomprime en la salida estandar los ficheros indicados comprimidos con gzip Ejecuta cmp sobre ficheros comprimidos
14. Problemas con la carga de m dulos y la creaci n de dispositivos Hay algunos problemas en relaci n con la creaci n autom tica de nodos de dispositivos 7 4 3 1 Un m dulo del n cleo no se carga autom ticamente Udev cargar un m dulo s lo si este tiene un alias espec fico del bus y el controlador del bus exporta correctamente los alias necesarios a sysfs En caso contrario la carga del m dulo deber realizarse por otros m todos Con Linux 2 6 16 27 se sabe que Udev carga los controladores correctamente escritos para 228 Linux From Scratch Version 6 2 dispositivos INPUT IDE PCI USB SCSI SERIO y FireWire Para determinar si el controlador de dispositivo que necesitas tiene el soporte necesario para Udev ejecuta modinfo con el nombre del m dulo como argumento Ahora intenta localizar el directorio del dispositivo bajo sys bus y comprueba si hay un fichero modalias Si el fichero modalias existe en sysfs el controlador soporta el dispositivo y puede hablar con l directamente pero no contiene el alias esto es un fallo en el controlador Carga el controlador sin la ayuda de Udev y espera que el problema sea solucionado m s adelante Si no hay un fichero modalias en el directorio correspondiente bajo sys bus esto significa que los desarrolladores del n cleo no han a adido todav a soporte de alias a ese tipo de bus Con Linux 2 6 16 27 este es el caso con los bus ISA Se espera que esto se resuelva e futuras vers
15. cleos 2 3 46 y estuvo disponible en la serie 2 4 de los n cleos estables Aunque estaba presente en las propias fuentes del n cleo este m todo de creaci n din mica de dispositivos nunca recibi mucho apoyo por parte del equipo de desarrolladores del n cleo El principal problema con el sistema adoptado por devfs era el modo en el que manejaba la detecci n creaci n y denominaci n de dispositivos El ltimo punto la denominaci n de los nodos fue quiz s el m s cr tico Est generalmente aceptado que si los nombres de dispositivos son configurables entonces las pol ticas de denominaci n deber an ser establecidas por un administrador del sistema y no impuestas por un desarrollador en particular El sistema de ficheros devfs sufre tambi n de extra os comportamientos inherentes a su dise o y que no pueden corregirse sin una revisi n sustancial del n cleo Tambi n se ha marcado como descartado debido a la falta de mantenimiento reciente Con el desarrollo del rbol inestable 2 5 del n cleo posteriormente liberado como n cleos estables de la serie 2 6 aparece un nuevo sistema de ficheros virtual llamado sysfs El trabajo de sysfs es exportar una visi n de la configuraci n hardware del sistema a los procesos de usuario Con esta representaci n visible a nivel de usuario la posibilidad de encontrar un sustituto para devfs a nivel de usuario se hace mucho m s real 7 4 2 Implementaci n de Udev 7 4 2 1 Sysfs Arriba se
16. e archaic Updated to udev config 20060515 This adds the rule to create dev usb nodes as well as making the rules files slightly more modular by reorganizing which rules go to which files This is a very minor update e archaic Updated to man pages 2 32 e archaic Updated to udev 092 May 14 2006 10 Linux From Scratch Version 6 2 e manuel Updated SBU and disk usage values e manuel Created packages ent Moved data about packages to packages ent as entities May 12 2006 e archaic Updated to linux 2 6 16 16 May 9 2006 e manuel Updated packages and patches sizes May 8 2006 e archaic Made the directory tree creation more concise and removed the extraneous opt hierarchy it is not required by FHS Closes ticket 1656 May 7 2006 e archaic Updated to linux 2 6 16 14 e ken Use ext3 filesystem instead of ext2 Resolves ticket 1792 May 6 2006 e jhuntwork Added MDS sums for packages and patches Resolves ticket 1788 May 3 2006 e archaic Upgraded to linux 2 6 16 13 e jhuntwork Updated stripping notes to reflect current findings Resolves ticket 1657 e archaic Updated the bug c code to avoid USB related uevent leakage reports May 2 2006 e jhuntwork Fixed sanity checks to work after final GCC and changed their format Resolves ticket 1768 e archaic Removed mention of usbfs from the fstab page since it is already covered in BLFS e a
17. el nombre de dominio cualificado FQDN y los posibles alias para escribirlos en el fichero etc hosts La sintaxis es direcci n_IP miordenador example org alias A no ser que tu computadora sea visible en Internet es decir tengas un dominio registrado y asignado un bloque de direcciones IP v lido la mayor a no tenemos esto deber as asegurarte de que la direcci n IP queda dentro del rango de direcciones IP de la red privada Los rangos v lidos son Rango de direcciones de la red privada Prefijo Normal 10 0 0 1 10 255 255 254 8 172 2 0 1 172 2 255 254 16 192 168 7 1 190 168 7054 24 X pude ser cualquier n mero en el rango 16 31 y puede ser cualquier n mero en el rango 0 255 Una direcci n IP privada v lida podr a ser 192 168 1 1 Un FQDN v lido para esta IP podr a ser lfs example org Aunque no uses una tarjeta de red un FQDN v lido es requerido Este es necesario para que ciertos programas funcionen correctamente Crea el fichero etc hosts ejecutando cat gt etc hosts lt lt EOF Begin etc hosts network card version 127 0 0 1 localinosic SLI AG Lele lt SHOSTNAME example org PALLAS TN allas nsa End etc hosts network card version EOF Debes cambiar los valores lt 192 168 1 1 gt y lt HOSTNAME example org gt por los tuyos espec ficos o los requeridos si la m quina estar conectada a una red ya existente y el administrador de la red sistema es el que asigna una
18. grupo y permisos de acceso para un pseudo terminal esclavo rpcgen Genera c digo C para implementar el protocolo RPC rpcinfo Hace una llamada RPC a un servidor RPC sin Un programa In enlazado est ticamente sprof Lee y muestra los datos del perfil de los objetos compartidos 116 tzselect xtrace zdump zic ld so libBrokenLocale libSegFault libanl libbsd compat libe libcidn libcrypt libdl libg libieee libm libmcheck libmemusage libnsl libnss libpcprofile libpthread libresolv librpcsvec librt Linux From Scratch Version 6 2 Pregunta al usuario informaci n sobre la localizaci n actual y muestra la descripci n de la zona horaria correspondiente Traza la ejecuci n de un programa mostrando la funci n actualmente ejecutada El visualizador de la zona horaria El compilador de la zona horaria El programa de ayuda para las librer as compartidas ejecutables Usada internamente por Glibc como un gran apa o para hacer que programas rotois por ejemplo algunas aplicaciones Motif funcionen Para mas informaci n mira los comentarios en glibc 2 3 6 locale broken_cur_max c El manejador de se ales de violaci n de segmento usado por catchsegv Una librer a de b squeda de nombres as ncrona Proporciona la portabilidad necesaria para ejecutar ciertos programas BSD en Linux La librer a principal de C Usada internamente por Glibc para manejar inte
19. iso9660 udf necesitan la opci n de montaje iocharset para poder interpretar correctamente los caract res no ASCII en los nombres de ficheros El valor de esta opci n deber a ser el mismo del grupo de caract res de tu locale ajustado de forma que el n cleo pueda entenderlo Esto funciona si la definici n del grupo de caract res apropiada que se encuentra bajo Sistemas de ficheros gt Soporte para Lenguaje Nativo ha sido compilada dentro del n cleo o como m dulo La opci n codepage tambi n es necesaria para los sistemas de ficheros vfat y smbfs Deber a establecerse al n mero de c digo de p gina usado en tu pa s bajo MS DOS Por ejemplo un usuario ru_RU KOIS R podr a necesitar la siguiente l nea en etc fstab dev sdal media flash vfat noauto user quiet showexec iocharset koi8r codepage 866 0 O La linea correspondiente para usuarios ru_RU UTF 8 es dev sdal media flash vfat noauto user quiet showexec iocharset utf8 codepage 866 0 O Nota En el ltimo caso el n cleo emitir el siguiente mensaje FAT utf8 is not a recommended IO charset for FAT filesystems filesystem will be case sensitive 250 Linux From Scratch Version 6 2 Esta recomendaci n negativa deber a ignorarse pues todos los demas valores de la opci n iocharset producen resultados erroneos en pantalla para los nombres de fichero en locales UTF 8 Tambi n es posible especificar los valores del c digo de p
20. la mayor a debidos a un uso inapropiado pero no inv lido de la sintaxis de C o C Se debe a que los est ndares de C cambian con frecuencia y algunos paquetes todav a usan un est ndar antiguo Esto no es un problema pero hace que se muestre el aviso Importante Tras instalar cada paquete debes borrar sus directorios de fuentes y de construcci n excepto si se indica lo contrario Borrar las fuentes evita fallos de configuraci n cuando el mismo paquete se reinstale m s adelante Comprueba de nuevo que la variable de entorno LF S est correctamente establecida echo SLFS Aseg rate de que la salida muestra la ruta al punto de montaje de tu partici n LFS que es mnt lfs si seguiste nuestro ejemplo 58 Linux From Scratch Version 6 2 5 2 Notas t cnicas sobre las herramientas Esta secci n explica algunos de los razonamientos y detalles t cnicos que hay detr s del sistema de construcci n No es esencial que entiendas todo esto inmediatamente La mayor parte tendr sentido cuando hayas hecho una construcci n real Puedes consultar esta secci n en cualquier momento durante la construcci n El principal objetivo del Cap tulo 5 es proporcionar un entorno temporal al que podamos entrar con chroot y a partir del cual podamos generar una construcci n limpia y libre de problemas del sistema LFS en el Cap tulo 6 Por el camino intentaremos independizarnos todo lo posible del sistema anfitri n y para eso construimo
21. las librer as normales s lo funcionan correctamente en locales de 8 bit Las librer as de ancho de caracter y las normales sn compatibles a nivel de de las fuentes pero no a nivel binario Compila el paquete make Este paquete no incluye un banco de pruebas Instala el paquete make install Otorga permisos de ejecuci n a las librer as Ncurses chmod v 755 usr lib 5 5 Corrige una librer a que no deber a ser ejecutable chmod v 644 usr lib libncurses w a Mueve las librer as al directorio 1 ib que es donde se espera que residan mv v usr lib libncursesw so 5 lib Debido a que se han movido las librer as un enlace simb lico apunta a un fichero que no existe Regenera ese enlace simb lico ln sfv lib libncursesw so 5 usr lib libncursesw so Muchas aplicaciones todav a esperan que el enlazador sea capaz de encontrar las librer as Ncurses que no 138 Linux From Scratch Version 6 2 son de ancho del caracter Enga a a dichas aplicaciones para que se enlacen contra las librer as de ancho del caracter mediante enlaces simb licos y guiones de enlazado for lib in curses ncurses form panel menu do rm vf usr lib lib lib so echo INPUT 1 lib w gt usr lib 1ib lib so ln sfv 1ib lib w a usr lib 1libS lib a done amp amp ln sfv libncurses w a usr lib libncurses a Por ltimo asegurate de que las aplicaciones antiguas que buscan 1curses durante su co
22. las se ales de finalizaci n a aquellos procesos que l mismo inici y que no deben estar en ejecuci n en el nuevo nivel Mientras lo hace init muestra mensajes del tipo Sending processes the TERM signal Enviando la se al TERM a los procesos que parece indicar que se est enviando dicha se al a todos los procesos que hay en ejecuci n Para evitar esta confusi n puedes modificar las fuentes para que ese mensaje diga en su lugar Sending processes started by init the TERM signal Enviando la se al TERM a los procesos iniciados por init sed i s Sending processes amp started by init g src init c Compila el paquete make C src Este paquete no incluye un banco de pruebas Instala el paquete make C src install 6 52 2 Configuracion de Sysvinit Crea un nuevo fichero etc inittab ejecutando lo siguiente cat gt etc inittab lt lt EOF Begin etc inittab Lele Se LimswieClet elie 2 si Ca su 1 2345 respawn sbin agetty ttyl 9600 2 2345 respawn sbin agetty tty2 9600 0 il 12 aes 14 5 6 sa INE ete pe dy lnm ee Sy s imine walt walt walt walt walt DUB VO DN s fete re s ete re eetere s See re s ete xe sO e wedle s See ire cl iin oSl email ete re d imuct d re il AFAN sana FAIA Berny d in TENGT LEs C CE aie Gly rE Lic y to lie 5 Cl DE BESOTE SOTO CIAS DAS TO GA A 0 DOB WN 123453 0trlalrecde
23. lt nombre del programa gt suele ser suficiente xiii Linux From Scratch Version 6 2 6 Estructura Este libro se divide en las siguientes partes 6 1 Parte Introducci n En la Parte I se explican algunas cosas importantes sobre c mo hacer la instalaci n de LFS Tambi n ofrece informaci n general sobre el libro 6 2 Parte Il Preparativos para la construcci n La Parte II describe c mo preparar el proceso de construcci n crear una partici n descargar los paquetes y compilar las herramientas temporales 6 3 Parte Ill Construcci n del sistema LFS La Parte III te gu a a trav s de la construcci n del sistema LFS compilar e instalar todos los paquetes uno por uno activar los guiones de arranque e instalar el n cleo El sistema Linux obtenido es la base sobre la que podr s construir m s software ampliando tu sistema del modo que prefieras Al final del libro encontrar s un listado de todos los programas librer as y ficheros importantes que se han instalado a modo de referencia r pida XIV Linux From Scratch Version 6 2 7 Errata El software usado para crear un sistema LFS se actualiza y mejora constantemente Avisos de seguridad y correcciones de errores pueden estar disponibles despues de publicar el libro LFS Para comprobar si las versiones de los paquetes o las instrucciones de este versi n del LFS necesitan cualquier modificaci n para solvertar problemas de seguridad o corregir otros error
24. meros m gicos usados por el programa file 163 Linux From Scratch Version 6 2 6 32 Findutils 4 2 27 El paquete Findutils contiene programas para encontrar ficheros Se suministran estos programas para hacer b squedas recursivas en un rbol de directorios y para crear mantener y consultar una base de datos m s r pida que la b squeda recursiva pero imprecisa si la base de datos no se ha actualizado recientemente Tiempo estimado de construcci n 0 2 SBU Espacio requerido en disco 12 MB 6 32 1 Instalaci n de Findutils Prepara Findutils para su compilaci n configure prefix usr libexecdir usr lib findutils localstatedir var lib locate Significado de la opci n de configure localstatedir Esta opci n cambia la localizaci n de la base de datos de locate para que se encuentre en var lib locate que cumple el FHS Compila el paquete make Para comprobar los resultados ejecuta make check Instala el paquete make install Algunos de los giones del paquete LFS Bootscripts dependen de find Como usr puede no estar disponible en las primeras fases del arranque este programa debe estar en la partici n ra z Tambi n debe corregirse una ruta explicta en el gui n updatedb mv v usr bin find bin sed L e e find 1BINDIR find s bin usr bin updaceci 6 32 2 Contenido de Findutils Programas instalados bigram code find frcode locate updatedb y xargs D
25. n m Esta variable s lo es til en modo UTF 8 El soporte para compilar el mapa del teclado directamente dentro del n cleo ha sido eliminado debido a 232 Linux From Scratch Version 6 2 informes de que genera resultados incorrectos Algunos ejemplos e Para una configuraci n no Unicode normalmente s lo son necesarias las variables KEYMAP y FONT Por ejemplo para configurar el polaco podria usarse cat gt etc sysconfig console lt lt EOF inicio de ete Ssysoonkig console KEYMAP p12 FONT lat2a 16 m 8859 2 HF ban de ete syscontig console EOF e Como se mencion anteriormente a veces es necesario ajustar ligeramente el mapa de taclado base El siguiente ejemplo a ade el s mbolo del Euro al mapa de teclado alem n cat gt etc sysconfig console lt lt EOF Inicio de etc sysconfig console KEYMAP de latinl KEYMAP CORRECTIONS euro2 HONMA LAEO 16 m Se o9 1L5 Fin de ete syscontig console EOF e Lo siguiente es un ejemplo de b lgaro con Unicode activado donde el mapa de teclado base UTF 8 existe y no define teclas muertas o reglas de composici n cat gt etc sysconfig console lt lt EOF Inicio de etc sysconfig console UNICODE 1 KEYMAP bg_bds ut 8 FONT LatArCyrHeb 16 Pande J ete syseontig console EOF e Debido al uso de una fuente LatArCyrHeb 16 de 512 glifos en el ejempo anterior los colores brillantes no estar n disponibles e
26. openvt setfont bin 183 Linux From Scratch Version 6 2 6 42 2 Contenido de Kbd Programas instalados chvt deallocvt dumpkeys fgconsole getkeycodes kbd_mode kbdrate loadkeys loadunimap mapscrn openvt psfaddtable enlace a psfxtable psfgettable enlace a psfxtable psfstriptable enlace a psfxtable psfxtable resizecons setfont setkeycodes setleds setmetamode showconsolefont showkey unicode_start y unicode_stop Descripciones cortas chvt deallocvt dumpkeys fgconsole getkeycodes kbd_mode kbdrate loadkeys loadunimap mapscrn openvt psf resizecons setfont setkeycodes setleds setmetamode showconsolefont showkey unicode_start unicode_stop Cambia la terminal virtual que aparece en primer plano Desasigna las terminales virtuales no usadas Vuelca las tablas de traducci n del teclado Muestra el n mero del terminal virtual activo Muestra la tabla de correspondencias de c digo de exploraci n scan code a c digo de teclas del n cleo Muestra o establece el modo del teclado Establece la repetici n y retardo del teclado Carga las tablas de traducci n del teclado Carga la tabla de correspondencia de unicode a fuente del n cleo Un programa obsoleto que carga una tabla de correspondencia de caracteres de salida definida por el usuario en el controlador de la consola Esto lo hace ahora setfont Comienza un programa en un nuevo terminal virtual VT So
27. rico de librer as Oculta la complejidad del uso de librer as compartidas tras una interfaz consistente y portable Tiempo estimado de construcci n 0 1 SBU Espacio requerido en disco 16 6 MB 6 21 1 Instalaci n de Libtool Prepara Libtool para su compilaci n configure prefix usr Compila el paquete make Para comprobar los resultados ejecuta make check Instala el paquete make install 6 21 2 Contenido de Libtool Programas instalados libtool y libtoolize Librer as instaladas libltdl a so Descripciones cortas libtool Proporciona servicios de soporte generalizados para la compilaci n de librer as libtoolize Proporciona una forma est ndar de a adir soporte para libtool a un paquete libltdl Oculta las diversas dificultades para abrir la carga din mica de las librer as 144 Linux From Scratch Version 6 2 6 22 Perl 5 8 8 El paquete Perl contiene el Lenguaje Pr ctico de Extracci n e Informe Tiempo estimado de construcci n 1 5 SBU Espacio requerido en disco 143 MB 6 22 1 Instalaci n de Perl Crea primero un fichero etc hosts b sico que ser referenciado en uno de los ficheros de configuraci n de Perl y tambi n lo usar el banco de pruebas si lo ejecutas echo 127 0 0 1 localhost hostname gt etc hosts Si quieres un control total sobre la forma en que Perl se configura puedes ejecutar el gui n interactivo Configure y modificar a mano el modo en el que se construy
28. root install dv m 1777 tmp var tmp mkdir pv usr local bin include lib sbin src mkdir pv usr local share doc info locale man mkdir v usr local share misc terminfo zoneinfo mkdir pv usr local share man man 1 8 for dir in usr usr local do ln sv share man doc info dir done mkdir v var lock 1log mail run spool mkdir pv var opt cache lib misc locate local Los directorios se crean por defecto con los permisos 755 pero esto no es deseable para todos los directorios En los comandos anteriores se hacen dos cambios uno para el directorio personal de root y otro para los directorios de los ficheros temporales El primer cambio nos asegura que nadie aparte de root pueda entrar en el directorio root lo mismo que deberia hacer un usuario normal con su directorio personal El segundo cambio nos asegura que cualquier usuario pueda escribir en los directorios tmp y var tmp pero no pueda borrar los ficheros de otros usuarios Esto ltimo lo prohibe el llamado bit pegajoso sticky bit el bit m s alto 1 en la m scara de permisos 1777 6 5 1 Nota de conformidad con FHS El rbol de directorios est basado en el Est ndar de la Jerarqu a del Sistema de Ficheros FHS disponible en http www pathname com fhs En adici n al FHS creamos enlaces simb licos de compatibilidad para los directorios man doc y info pues muchos paquetes todav a intentan instalar su documentaci n en
29. usr lt directorio gt O usr local lt directorio gt en vez de en usr share lt directorio gt o usr local share lt directorio gt El FHS tambi n estipula la existencia de usr local games y usr share games Como sobre la estructura del subdirectorio usr local share el FHS no es preciso creamos aqu s lo los directorios que son necesarios Sin embargo eres libre de crear esos directorios si prefieres cumplir estr ctamente con el FHS 107 Linux From Scratch Version 6 2 6 6 Creacion de ficheros y enlaces simbolicos esenciales Algunos programas tienen fijadas en su c digo rutas a programas que a n no existen Para satisfacer a estos programas creamos unos cuantos enlaces simb licos que ser n sustituidos por ficheros reales durante el transcurso de este cap tulo a medida que vayamos instalando todos los programas ln sv tools bin bash cat grep pwd stty bin ln sv tools bin perl usr bin ln sv tools lib libgcc_s sof 1 usr lib ln sv bash bin sh Un sistema Linux correcto mantiene una lista de los sistemas de ficheros montados en etc mtab Normalmente este fichero se crear a al montar un nuevo sistema de ficheros Puesto que no montaremos ning n sistema de ficheros dentro del entorno chroot crea un fichero vac o para las utilidades que esperan que etc mtab est presente touch etc mtab Para que root pueda entrar al sistema y para que el nombre root sea reconocido es necesario tene
30. 1 1 debian_fixes 1 patch inetutils 1 4 2 gcc4_fixes 3 patch kbd 1 12 gcc4_fixes 1 patch linux libc headers 2 6 12 0 inotify 3 patch MAN DB 2 4 3 mktemp 1 5 add_tempfile 3 patch module init tools 3 2 2 modprobe 1 patch perl 5 8 8 libc 2 patch readline 5 1 fixes 3 patch tar 1 15 1 gcc4_fix_tests 1 patch texinfo 4 8 tempfile_fix 2 patch udev config 6 2 vim 7 0 fixes 7 patch vim 7 0 mandir 1 patch vim 7 0 spellfile 1 patch Linux From Scratch Versi n 6 2 Eliminado e flex 2 5 31 debian_fixes 3 patch e gcc 3 4 3 linkonce 1 patch e gcc 3 4 3 no_fixincludes 1 patch e gcc 3 4 3 specs 2 patch e glibc 2 3 4 fix_test 1 patch e hotplug 2004 09 23 e inetutils 1 4 2 kernel_headers 1 patch e iproute2 2 6 11 050330 remove_db 1 patch e Man 1 6b e mktemp 1 5 add_tempfile 2 patch e perl 5 8 6 libc 1 patch e udev config 4 rules e vim 6 3 security_fix 1 patch e Zzlib 1 2 2 security_fix 1 patch Linux From Scratch Versi n 6 2 Linux From Scratch Version 6 2 1 3 Historial de modificaciones Esta es la versi n 20060804 del d a 4 de Agosto de 2006 de la traducci n al castellano de la versi n 6 2 del libro Linux From Scratch publicado el 3 de Agosto de 2006 Si este libro tiene m s de seis meses de antigiiedad es probable que haya disponible una versi n m s nueva y mejor Para encontrarlo comprueba uno de los servidores alternativos listados en http www linuxfromscratch org mirrors html A continuaci n hay una lis
31. 1 5 22 tar gz S ma MDS5 8e0ac9797b62ba4dcc8a2fb7936412b0 e Linux 2 6 16 27 39 886 KB P gina web http www kernel org Descarga http www kernel org pub linux kernel v2 6 linux 2 6 16 27 tar bz2 Suma MDS5 ebedfe5376efec483ce12c1629c7a5b1 Nota El n cleo Linux se actualiza con relativa frecuencis en muchas ocasiones debido al descubrimiento de vulneraciones de seguridad Debe usarse la ltima version 2 6 16 x disponible del n cleo a no ser que la p gina de erratas diga otra cosa No utilices versiones del n cleo 2 6 17 o posteriores debido a incompatibilidades potenciales con los guines de arranque e Linux Libc Headers 2 6 12 0 2 481 KB Descarga http ep09 pld linux org mmazur linux libc headers linux libc headers 2 6 12 0 tar bz2 Suma MDS5 eae2f562afe224ad50f65abacfb4252c e M4 1 4 4 376 KB P gina web http www gnu org software m4 Descarga http ftp gnu org gnu m4 m4 1 4 4 tar gz S ma MDS5 8d1d64dbecf1494690a0f3ba8db4482a e Make 3 80 900 KB P gina web http www gnu org software make Descarga http ftp gnu org gnu make make 3 80 tar bz2 Sama MDS 0bbd1df101bc0294d440471e50feca71 e Man DB 2 4 3 798 KB P gina web http www nongnu org man db Descarga http savannah nongnu org download man db man db 2 4 3 tar gz Sama MDS 30814a47f209f 43b15265 ba51fc7937 e Man pages 2 34 1 760 KB Descarga http www kernel org pub linux docs manpages man pages 2 34 tar bz2 Sama
32. 11 GCC 4 0 3 Fase 2 El paquete GCC contiene la colecci n de compiladores GNU que incluye los compiladores C y C Tiempo estimado de construcci n 4 2 SBU Espacio requerido en disco 443 MB 5 11 1 Reinstalaci n de GCC Ahora est n instaladas las herramientas necesarias para comprobar GCC y Binutils Tcl Expect y DejaGNU Por lo que ahora pueden reconstruirse GCC y Binutils enlaz ndolos con la nueva Glibc y comprobarlos adecuadamente si llevas a cabo los bancos de pruebas en este cap tulo Sin embargo una cosa a tener en cuenta es que estos bancos de pruebas son altamente dependientes del correcto funcionamiento de las pseudo terminales PTYs suministradas por tu distribuci n anfitri n Las PTYs se implementan normalmente mediante el sistema de ficheros devpt s Comprueba si tu sistema anfitri n est configurado correctamente en este aspecto ejecutando una simple prueba expect c spawn ls La respuesta podria ser The system has no more ptys Ask your system administrator to create more El sistema no tiene mas ptys Pidele al administrador del sistema que cree mas Si recibes el mensaje anterior tu sistema anfitri n no est configurado para operar correctamente con PTYs En este caso no hay raz n para ejecutar los bancos de pruebas de GCC y Binutils hasta resolver este asunto Puedes consultar la FAQ de LFS en http www linuxfromscratch org faq lfs faq html no ptys para obtener informaci n sobre c mo c
33. 121 herramientas fase 1 62 herramientas fase 2 79 Bison 137 Bootscripts 223 funcionamiento 225 Bzip2 157 herramientas 82 Coreutils 130 herramientas 83 DejaGNU 75 Diffutils 159 herramientas 84 E2fsprogs 160 Expect 73 File 163 Findutils 164 herramientas 85 Flex 166 Gawk 169 herramientas 86 GCC 124 herramientas fase 1 64 herramientas fase 2 76 Gettext 171 herramientas 87 Glibc 112 herramientas 67 Grep 173 herramientas 88 Groff 174 GRUB 167 configuraci n 255 Gzip 177 herramientas 89 lana Etc 135 Inetutils 179 IPRoute2 181 Kbd 183 Less 185 Libtool 144 Linux 252 Linux Libc Headers 110 Linux From Scratch Versi n 6 2 herramientas 66 M4 136 herramientas 90 Make 186 herramientas 91 Man DB 187 Man pages 111 Mktemp 191 Module Init Tools 192 Ncurses 138 herramientas 80 Patch 194 herramientas 92 Perl 145 herramientas 93 Procps 141 Psmisc 195 Readline 147 Sed 143 herramientas 94 Shadow 197 configuraci n 198 Sysklogd 201 configuraci n 201 Sysvinit 203 configuraci n 203 Tar 205 herramientas 95 Tel 72 Texinfo 206 herramientas 96 Udev 208 funcionamiento 227 Util linux 211 herramientas 97 Vim 215 Zlib 149 Programas a2p 145 145 accessdb 187 190 acinstall 153 153 aclocal 153 153 aclocal 1 9 6 153 153 addftinfo 174 175 addr2line 121 122 afmtodit 174 175 agetty 211 212 apropos 187 190 a
34. 141 fsck 160 161 fsck cramfs 211 212 fsck ext2 160 161 fsck ext3 160 161 fsck minix 211 212 ftp 179 180 fuser 195 195 g 124 126 gawk 169 169 Linux From Scratch Version 6 2 gawk 3 1 5 169 169 gcc 124 126 gccbug 124 126 gcov 124 126 gencat 112 116 generate modprobe conf 192 192 geqn 174 175 getconf 112 116 getent 112 116 getkeycodes 183 184 getopt 211 212 gettext 171 171 gettext sh 171 171 gettextize 171 171 gpasswd 197 199 gprof 121 122 grcat 169 169 grep 173 173 grn 174 175 grodvi 174 175 groff 174 175 groffer 174 175 grog 174 175 grolbp 174 175 grolj4 174 175 grops 174 175 grotty 174 175 groupadd 197 199 groupdel 197 199 groupmod 197 199 groups 130 132 grpck 197 199 grpconv 197 199 grpunconv 197 199 grub 167 167 grub install 167 167 grub md5 crypt 167 167 grub set default 167 167 grub terminfo 167 168 gtbl 174 175 gunzip 177 177 gzexe 177 177 gzip 177 177 h2ph 145 146 h2xs 145 146 halt 203 204 head 130 132 hexdump 211 212 hostid 130 132 hostname 130 132 hostname 171 171 hpftodit 174 175 279 hwclock 211 212 iconv 112 116 iconvconfig 112 116 id 130 132 ifcfg 181 181 ifnames 151 151 ifstat 181 181 igawk 169 169 indxbib 174 175 info 206 207 infocmp 138 139 infokey 206 207 info
35. 1linux gnu Como este es un sistema personalizado no es necesario tener en usr dicho directorio espec fico de un objetivo exec_prefix target_alias se utilizar a si el sistema fuese usado para compilaci n cruzada por ejemplo para compilar un paquete en una m quina Intel pero generando c digo que se ejecutar en m quinas PowerPC O Importante En esta secci n el banco de pruebas para Binutils se considera cr tico No te lo saltes bajo ninguna circunstancia 121 Linux From Scratch Version 6 2 Comprueba los resultados make check Instala el paquete make tooldir usr install Instala el fichero de cabecera 1ibibert y pues lo necesitan algunos paquetes cp v binutils 2 16 1 include libiberty h usr include 6 11 2 Contenido de Binutils Programas instalados addr2line ar as c filt gprof ld nm objcopy objdump ranlib readelf size strings y strip Librer as instaladas libiberty a libbfd a so y libopcodes a so Descripciones cortas addr2line ar as c filt gprof ld nm objcopy objdump ranlib readelf size strings strip libiberty Traduce direcciones de programas a nombres de ficheros y n meros de l neas D ndole una direcci n y un ejecutable usa la informaci n de depuraci n del ejecutable para averiguar qu fichero y n mero de l nea est asociado con dicha direcci n Crea modifica y extrae desde archivos Un ensamblador que ensambl
36. 2 6 El paquete Procps contiene programas para monitorizar procesos Tiempo estimado de construcci n 0 1 SBU Espacio requerido en disco 2 3 MB 6 19 1 Instalaci n de Procps Compila el paquete make Este paquete no incluye un banco de pruebas Instala el paquete make install 6 19 2 Contenido de Procps Programas instalados free kill pgrep pkill pmap ps skill slabtop snice sysctl tload top uptime vmstat w y watch Librer a instalada libproc so Descripciones cortas free Muestra la cantidad total de memoria libre y usada en el sistema tanto f sica como de intercambio swap kill Env a se ales a los procesos pgrep Visualiza procesos bas ndose en su nombre u otros atributos pkill Env a se ales a procesos bas ndose en su nombre u otros atributos pmap Muestra el mapa de memoria del proceso indicado ps Facilita una instant nea de los procesos actuales skill Env a se ales a procesos que coincidan con un criterio dado slabtop Mustra informaci n detallada en tiempo real de la zona de intercambio del n cleo snice Cambia la prioridad de planificaci n de los procesos que coincidan con un criterio dado sysctl Modifica los par metros del n cleo en tiempo de ejecuci n tload Imprime un gr fico de la carga promedio actual del sistema top Muestra los procesos m s activos en uso de CPU Proporciona una vista din mica de la actividad de los procesos en tiempo real uptime Muestra cu nto ti
37. 213 mkfs ext2 160 161 mkfs ext3 160 161 mkfs minix 211 213 mkinstalldirs 153 154 mklost found 160 162 mknod 130 133 mkswap 211 213 mktemp 191 191 mk_cmds 160 161 mmroff 174 175 modinfo 192 193 modprobe 192 193 more 211 213 mount 211 213 mountpoint 203 204 msgattrib 171 171 280 msgcat 171 172 msgemp 171 172 msgcomm 171 172 msgconv 171 172 msgen 171 172 msgexec 171 172 msgfilter 171 172 msgfmt 171 172 msggrep 171 172 msginit 171 172 msgmerge 171 172 msgunfmt 171 172 msguniq 171 172 mtrace 112 116 mv 130 133 mve awk 215 217 namei 211 213 neqn 174 175 newgrp 197 199 newusers 197 199 ngettext 171 172 nice 130 133 nl 130 133 nm 121 122 nohup 130 133 nologin 197 199 nroff 174 176 nscd 112 116 nscd_nischeck 112 116 nstat 181 182 objcopy 121 122 objdump 121 122 od 130 133 oldfuser 195 195 openvt 183 184 passwd 197 200 paste 130 133 patch 194 194 pathchk 130 133 path_id 208 209 pcprofiledump 112 116 perl 145 146 perl5 8 8 145 146 perlbug 145 146 perlcc 145 146 perldoc 145 146 perlivp 145 146 pfbtops 174 176 pg 211 213 pgawk 169 169 pgawk 3 1 5 169 169 pgrep 141 141 Linux From Scratch Version 6 2 pic 174 176 pic2graph 174 176 piconv 145 146 pidof 203 204 ping 179 180 pinky 130 133 pivot_root 21
38. 4 MB 6 8 1 Instalaci n de Man pages Instala Man pages ejecutando make install 6 8 2 Contenido de Man pages Ficheros instalados Diversas p ginas de manual Descripci n corta paginas de manual Describen las funciones del lenguaje de programaci n C los ficheros de dispositivo importantes y los ficheros de configuraci n m s significativos 111 Linux From Scratch Version 6 2 6 9 Glibc 2 3 6 El paquete Glibc contiene la librer a C principal Esta librer a proporciona todas las rutinas b sicas para la ubicaci n de memoria b squeda de directorios abrir y cerrar ficheros leerlos y escribirlos manejo de cadenas coincidencia de patrones aritm tica etc Tiempo estimado de construcci n 13 5 SBU testsuite included Espacio requerido en disco 510 MB testsuite included 6 9 1 Instalaci n de Glibc Nota Algunos paquetes externos a LFS suguienren la instalaci n de GNU libiconv para poder traducir datos de una codificaci n a otra La p gina del proyecto http www gnu org software libiconv dice Esta librer a proporciona una implementaci n iconv para usarla en sistemas que no tienen una o cuya implementaci n no puede convertir de a Unicode Glibc proporciona una implementaci n iconv y puede convertir de a Unicode por tanto libiconv no es necesaria en un sistema LES El sistema de construcci n de Glibc est muy bien autocontenido y se instalar perfectamente incluso aunque nuestro fic
39. 6 54 2 Contenido de Texinfo Programas instalados info infokey install info makeinfo texi2dvi texi2pdf y texindex Descripciones cortas info infokey install info makeinfo texi2dvi texi2pdf texindex Lee paginas info que son similares a las paginas de manual pero tienden a ser mas profundos que una simple explicaci n de las opciones de un programa Por ejemplo compara man bison con info bison Compila un fichero fuente que contiene opciones de Info en un formato binario Se usa para instalar paginas info Actualiza las entradas en el fichero indice de info Convierte documentos fuente Texinfo a paginas info texto plano o HTML Formatea un documento Texinfo convirti ndolo en un fichero independiente del dispositivo que puede ser impreso Se usa para formatear un documento Texinfo como fichero Portable Document Format PDF Se usa para ordenar ficheros indice de Texinfo 207 Linux From Scratch Version 6 2 6 55 Udev 096 El paquete Udev contiene programas para la creaci n din mica de nodos de dispositivos Tiempo estimado de construcci n 0 1 SBU Espacio requerido en disco 6 8 MB 6 55 1 Instalaci n de Udev El paquete udev config contiene ficheros espec ficos de LFS para configurar Udev Desempaquetalo dentro del directorio de las fuentes de Udev tar xf udev config 6 2 tar bz2 Crea algunos dispositivos y directorios que Udev no puede manejar debido a que son necesarios al principio
40. ABI ALFS ALSA API ASCII BIOS BLFS BSD chroot CMOS COS CPU CRC CVS DHCP DNS EGA ELF EOF EQN EVMS ext2 ext3 FAQ FHS FIFO FQDN FTP GB GCC Application Binary Interface Interfaz de Aplicaci n Binaria Automated Linux From Scratch Linux From Scratch Automatizado Advanced Linux Sound Architecture Arquitectura Avanzada de Sonido en Linux Application Programming Interface Interfaz de Aplicaci n para Programaci n American Standard Code for Information Interchange C digo Americano Est ndar para el Intercambio de Informaci n Basic Input Output System Sistema B sico de Entrada Salida Beyond Linux From Scratch M s All de Linux From Scratch Berkeley Software Distribution Distribuci n Berkeley de Software change root cambio de ra z Complementary Metal Oxide Semiconductor Semiconductor Complementario de Oxido de Metal Class Of Service Clase De Servicio Central Processing Unit Unidad Central de Procesamiento Cyclic Redundancy Check Comprobaci n C clica de Redundancia Concurrent Versions System Sistema Concurrente de Versiones Dynamic Host Configuration Protocol Protocolo Din mico de Configuraci n del Anfitri n Domain Name Service Servicio de Nombres de Dominio Enhanced Graphics Adapter Adaptador Mejorado de Gr ficos Executable and Linkable Format Formato Ejecutable y Enlazable End Of File Fin De Fichero equation ecuaci n Enterprise Volume Management System S
41. CLAC SS Lon head n1 gawk version head n1 Gee version E m Lido Lise SO 6 leach inil cur CU al grep version head n1 gzip version head n1 Cat fjroc version head al ewe cl w Fl 3 5 7 make version head n1 patch version head n1 sed SiS ion neac mi car vyersloja heal m EOF bash version check sh xii Linux From Scratch Version 6 2 5 Tipografia Para facilitar la comprensi n se utilizan ciertas convenciones tipogr ficas a lo largo del libro Esta secci n contiene algunos ejemplos del formato tipogr fico que encontrar s en Linux From Scratch configure prefix usr Este tipo de texto est dise ado para teclearse exactamente como aparece a menos que se indique lo contrario en el texto subyacente Tambi n se utiliza en las secciones explicativas para identificar el comando al que se hace referencia lastall intos unknown option Y Cliie tile mme its msie mito cla te Este tipo de texto texto de ancho fijo representa salida por pantalla probablemente como resultado de la ejecuci n de comandos Tambi n se usa para especificar nombres de ficheros como etc 1d so conf Enfasis Este tipo de texto se utiliza con varios fines en el libro Su objetivo principal es poner de relieve puntos importantes http www linuxfromscratch org Este tipo de texto se usa para hiperv nculos tanto dentro de la comunidad LFS como a p ginas exteriores Esto inclu
42. Formatea un disquete a bajo nivel Adquiere un fichero de bloqueo y ejecuta un comando con el bloqueo activado Se usa para manipular la tabla de particiones del dispositivo indicado Realiza una comprobaci n de consistencia sobre el sistema de ficheros Cramfs del dispositivo indicado Realiza una comprobaci n de consistencia en sistemas de ficheros Minix Analiza opciones de la l nea de comandos indicada Muestra un fichero en hexadecimal o en otro formato Se usa para leer o ajustar el reloj del ordenador tambi n llamado RTC Reloj en Tiempo Real o reloj BIOS Sistema B sico de Entrada Salida Elimina el recurso IPC Comunicaci n Entre Procesos especificado Facilita informaci n sobre el estado IPC Muestra el tama o de un sistema de ficheros iso9660 212 line logger look losetup mcookie mkfs mnkfs bfs mkfs cramfs mkfs minix mkswap more mount namei pg pivot_root ramsize raw rdev readprofile rename renice rev rootflags script setfdprm setsid setterm sfdisk swapoff swapon Linux From Scratch Versi n 6 2 Copia una nica l nea Crea entradas en el registro del sistema Muestra l neas que comienzan con una cadena dada Activa y controla los dispositivos de bucle loop Genera galletas m gicas magic cookies n meros hexadecimales aleatorios de 128 bits para xauth Construye un sistema de ficheros en un dispositivo normalmente una partici n del disco duro Cre
43. Gawk 3 1 5 1 716 KB Pagina web http www gnu org software gawk Descarga http ftp gnu org gnu gawk gawk 3 1 5 tar bz2 Sima MDS 5703f 72d0eeald463f735aad8222655f e GCC 4 0 3 32 208 KB Pagina web http gcc gnu org Descarga http ftp gnu org gnu gcc gcc 4 0 3 gcc 4 0 3 tar bz2 Sima MDS 6fflaf1l2c53cbb3f79b27 2d6a9a3d50 e Gettext 0 14 5 6 940 KB Pagina web http www gnu org software gettext Descarga http ftp gnu org gnu gettext gettext 0 14 5 tar gz S ma MDS e2 6581626a22a0de66dcel1d81d00de3 e Glibc 2 3 6 13 687 KB Pagina web http www gnu org software libc 42 Linux From Scratch Version 6 2 Descarga http ftp gnu org gnu glibc glibc 2 3 6 tar bz2 Sama MDS bfdce99 fF 82d6dbch64b7f11c05d6bc96 e Glibc LibIDN add on 2 3 6 99 KB Descarga http ftp gnu org gnu glibc glibc libidn 2 3 6 tar bz2 Sama MDS 49dbe06ce830fc73874d6b38bdc5b4db e Grep 2 5 1a 516 KB P gina web http www gnu org software grep Descarga http ftp gnu org gnu grep grep 2 5 1a tar bz2 S ma MDS 52202fe462770fa6belbb667bd6cf30c e Groff 1 18 1 1 2 208 KB P gina web http www gnu org software groff Descarga http ftp gnu org gnu groff groff 1 18 1 1 tar gz Sama MDS 511dbd64b67548c99805f1521f82cc5e e GRUB 0 97 950 KB Pagina web http www gnu org software grub Descarga ftp alpha gnu org gnu grub grub 0 97 tar gz Sama MDS cd3 3eb54446be6003156158d51f4884 e Gz
44. LFS que construyan sin optimizaciones personalizadas Tu sistema a n ser muy r pido y al mismo tiempo muy estable El orden en el que se instalan los paquetes en este cap tulo debe respetarse estrictamente para asegurar que ning n programa inserte en su c digo una ruta referente a tools Por la misma raz n no compiles paquetes en paralelo La compilaci n en paralelo puede ahorrarte algo de tiempo sobre todo en m quinas con CPUs duales pero puede generar un programa que contenga referencias a tools lo que provocar a que el programa dejase de funcionar cuando se elimine dicho directorio Antes de las instrucciones de instalaci n de cada paquete se muestra algo de informaci n sobre el mismo una breve descripci n de lo que contiene cu nto tardar aproximadamente en construirse y cu nto espacio en disco necesita durante el proceso de construcci n A las instrucciones de instalaci n le sigue una lista de los programas y librer as que instala el paquete junto con sus descripciones cortas 101 Linux From Scratch Version 6 2 6 2 Preparar los sistemas de ficheros virtuales del nucleo Varios sistemas de ficheros exportados por el nucleo son usados para comunicarse hacia y desde el propio nucleo Estos sistemas de ficheros son virtuales y no utilizan espacio en disco El contenido del sistema de ficheros reside en memoria Comienza creando los directorios sobre los que se montar n dichos sistemas de ficheros mkdir p
45. Linux From Scratch Version 6 2 5 18 Findutils 4 2 27 El paquete Findutils contiene programas para encontrar ficheros Se suministran estos programas para hacer b squedas recursivas en un rbol de directorios y para crear mantener y consultar una base de datos m s r pida que la b squeda recursiva pero imprecisa si la base de datos no se ha actualizado recientemente Tiempo estimado de construcci n 0 2 SBU Espacio requerido en disco 12 MB 5 18 1 Instalaci n de Findutils Prepara Findutils para su compilaci n configure prefix tools Compila el paquete make Para comprobar los resultados ejecuta make check Instala el paquete make install Los detalles sobre este paquete se encuentran en la Secci n 6 32 2 Contenido de Findutils 85 Linux From Scratch Version 6 2 5 19 Gawk 3 1 5 El paquete Gawk contiene programas para manipular ficheros de texto Tiempo estimado de construcci n 0 2 SBU Espacio requerido en disco 18 2 MB 5 19 1 Instalaci n de Gawk Prepara Gawk para su compilaci n configure prefix tools Debido a un fallo en el guidn configure Gawk falla al detectar ciertos aspectos del soporte para locales de Glibc Este error provoca por ejemplo fallos en el banco de pruebas de Gettext Evita este problema a adiendo las definiciones de macro ausentes en config h cat gt gt config h lt lt EOF define HAVE_LANGINFO_CODESET 1 define HAVE_LC_MESSAGES 1 EOF
46. Prepara Texinfo para su compilaci n configure prefix tools Compila el paquete make Para comprobar los resultados ejecuta make check Instala el paquete make install Los detalles sobre este paquete se encuentran en la Secci n 6 54 2 Contenido de Texinfo 96 Linux From Scratch Version 6 2 5 30 Util linux 2 12r El paquete Util linux contiene una miscel nea de utilidades Entre otras hay utilidades para manejar sistemas de ficheros consolas particiones y mensajes Tiempo estimado de construcci n less than 0 1 SBU Espacio requerido en disco 8 9 MB 5 30 1 Instalaci n de Util linux Util linux no utiliza las cabeceras y librer as reci n instaladas en el directorio tools Esto se corrige modificando el gui n configure sed i s usr include tools include g configure Prepara Util linux para su compilaci n configure Construye algunas rutinas de soporte make C lib S lo es necesario construir algunas de las utilidades incluidas en este paquete make C mount mount umount make C text utils more Este paquete no incluye un banco de pruebas Copia estos programas al directorio de herramientas temporales cp mount u mount text utils more tools bin Los detalles sobre este paquete se encuentran en la Secci n 6 56 3 Contenido de Util linux 97 Linux From Scratch Version 6 2 5 31 Eliminacion de Simbolos Los pasos de esta secci n son opcionales pero s
47. Puedes obtener informaci n detallada a partir de gec pas ndole la opci n v mientras compilas un programa simulado Por ejemplo gcc v dummy c te mostrar los detalles sobre las fases de preprocesamiento compilaci n y ensamblado incluidas las rutas de b squeda de gec y su orden A continuaci n se instala Glibc Las consideraciones m s importantes para la construcci n de Glibc son el compilador las herramientas de binarios y las cabeceras del n cleo Normalmente el compilador no es problema pues Glibc siempre utilizar el gec que se encuentre en un directorio del PATH Las herramientas de binarios y las cabeceras del n cleo pueden ser algo mas problem ticas as que no nos arriesgaremos y haremos uso de las opciones disponibles de configure para forzar las opciones correctas Despu s de ejecutar configure puedes revisar el contenido del fichero config make en el directorio glibc build para ver todos los detalles importantes Encontrar s algunas cosas interesantes como el uso de CC gcc B tools bin para controlar qu herramientas de binarios son usadas y tambi n el uso de las opciones nostdinc y isystem para controlar la ruta de b squeda de cabeceras del compilador Estos detalles ayudan a resaltar un aspecto importante del paquete Glibc es muy autosuficiente en cuanto a su maquinaria de construcci n y generalmente no se apoya en las opciones por defecto de las herramientas Despu s de la instalaci n de Glibc haremos alg
48. Sysklogd 14 1 iia diia 201 DIZE SO A A 203 6 33 Ta dia 205 a A cesses E PEA EEEE Ta RE IEE E EE DA ae E 206 6 53 Udey 090 ii A 208 6 56 UU a RA ii 211 6T A e e e e ee e e edo 215 6 58 Sobre los s mbolos de depuraci n ra 219 6 59 Eliminar los s mbolos de nuevo cic sjsisserss ca jecesasesicevanesdeatssuchacevcesededenacoaseees sb cade REED DD asedio 220 A A case a 221 7 Configurar los guiones de arranque del sistema cceescecessceceseeceeececeeeeeceeeeeeseeeeseeeesteeeenaees 222 A A REP 222 7 2 LES BODISCTIPIS 2 ii doradas 223 7 3 C mo funcionan los guiones de arranque ceooocccnnccconnnonnnonnonononononnnnnnnn ccoo anno DE ea ane e crnn anno 225 7 4 Manejo de dispositivos y m dulos en un sistema LES ou cece eeeeeeceeeeeeseeeeceeeeeesneeeeaees 227 7 5 Configuraci n del gui n setclock 224 cc sscaccsaceaucedaatensesacs suse acdasceaisaneaedeal aecasesieeanieecaaas 231 7 6 Configurar la consola Linux sisscssiccessasdceieaibicasanteasasdasieasacvssaesveensceva arts losaceandabanevancbaateee 232 7 7 Configuraci n del gui n sysklogd A its 235 7 05 Creare fichero etc ANPUTE rason taa ci 236 Le LAOS ficheros de THIGHS de oe 238 7 10 Configuraci n del gui n localnet cee eessceessecescecesneeceeneeceeeeecsceeceeceecsceeeeaeeeeneeeeaees 241 TA Personaltzar el fichero ete as 242 7 12 Crear enlaces simb licos persnalizados a los dispositivos ooooonocccoccnnocnnonacconacannnona nono siendo 243 7 13 Configur
49. adversamente por las herramientas existentes o el entorno del sistema anfitri n En resumen no te preocupes demasiado si ves fallos en el banco de pruebas de Glibc en este cap tulo La Glibc del Cap tulo 6 es la que acabaremos usando al final por lo que es la que necesitamos que pase la mayor a de las pruebas incluso en el Cap tulo 6 es posible que todav a ocurran 68 Linux From Scratch Version 6 2 algunos fallos la prueba math por ejemplo Cuando aparezca un fallo an talo y continua ejecutando de nuevo make check El banco de pruebas deber a continuar a partir de donde se qued Puedes evitar esta secuencia de inicio parada ejecutando make k check Si utilizas esta opci n aseg rate de registrar la salida para que m s tarde puedas revisar el fichero de registro en b squeda de errores La fase de instalaci n de Glibc mostrar un aviso inofensivo sobre la ausencia del fichero tools etc ld so conf Evita este confuso aviso con mkdir v tools etc touch tools etc ld so conf Instala el paquete make install Diferentes pa ses y culturas tienen diferentes convenciones sobre c mo comunicarse Estas convenciones van desde las m s simples como el formato para representar fechas y horas a las m s complejas como el lenguaje hablado La internacionalizaci n de los programas GNU funciona mediante el uso de locales Nota Si no est s ejecutando los bancos de pruebas en este cap tulo como recomendamos n
50. arrancable Anteriormente compilamos e instalamos el gestor de arranque GRUB en preparaci n para este paso El proceso consiste en escribir ciertos ficheros especiales de GRUB a su localizaci n espec fica en el disco duro Antes de hacer esto te recomendamos encarecidamente que crees un disquete de arranque de GRUB como respaldo Inserta un disquete en blanco y ejecuta los siguientes comandos dd if boot grub stagel of dev fd0 bs 512 count 1 dd if boot grub stage2 of dev fd0 bs 512 seek 1 Saca el disquete y gu rdalo en lugar seguro Ahora inicia el int rprete de comandos de grub grub GRUB utiliza su propia estructura de nombres para los discos de la forma hdn m donde n es el n mero del disco duro y m es el n mero de la partici n comenzando ambos desde 0 Por ejemplo la partici n hda1 es hd0 0 para GRUB y hdb3 es hd1 2 Al contrario que Linux GRUB no considera los dispositivos CD ROM como discos duros Por ejemplo si tienes un CD en hdb y un segundo disco duro en hdc este segundo disco duro seguir a siendo hd1 Usando la informaci n anterior determina la denominaci n apropiada para tu partici n ra z o partici n de arranque si usas una separada Para los siguientes ejemplos asumiremos que tu partici n ra z o la de arranque es hda4 Ind cale a GRUB d nde debe buscar sus ficheros stage 1 2 Puedes utilizar el tabulador para que GRUB te muestre las alternativas root hd0 3 Aviso El siguiente c
51. asegura que los enlaces desaparezcan si pones algo diferente a un CD ROM en dicha posici n del bus Por supuesto es posible mezclar ambos m todos 7 12 2 Manejar dispositivos duplicados Como se explica en Secci n 7 4 Manejo de dispositivos y m dulos en un sistema LFS en orden en el que dispositivos con la misma funcionalidad aparecen en dev es aleatorio Es decir si tienes una c mara web USB y una sintonizadora de TV a veces dev video0 se refiere a la c mara y dev videol al sintonizador pero tras un reinicio el orden puede ser el contrario Para todas las clases de harware excepto tarjetas de sonido y de red esto puede solucionarse creando reglas udev para personalizar enlaces simb licos persistentes El caso de las tarjetas de red se cubre en Secci n 7 13 Configuraci n del gui n network y la configuraci n de tarjetas de sonido se puede encontrar en BLES Para cada uno de tus dispositivos que puedan tener este problema incluso si el problema no existe en tu distribuci n Linux actual encuentra el directorio correspondiente bajo sys class o sys block Para dispositivos de vitideo este puede ser sys class video4linux videox Localiza los atributos que identifican inequ vocamente al dispositivo normalmente el fabricante ID del producto o el n mero de serie udevinfo a p sys class video4linux video0 Entoces escribe reglas que creen los enlaces simb licos cat gt etc udev rules d 83 duplicate _de
52. bison Genera a partir de una serie de reglas un programa para analizar la estructura de ficheros de texto Bison es un sustituto de Yacc Yet Another Compiler Compiler Otro Compilador de Compiladores yacc Un envoltorio para bison destinado a los programas que todav a llaman a yace en lugar de a bison Invoca a bison con la opci n y liby a La librer a Yacc que contiene la implementaci n de las funciones yyerror y main compatibles con Yacc Esta librer a normalmente no es muy til pero POSIX la solicita 137 Linux From Scratch Version 6 2 6 18 Ncurses 5 5 El paquete Ncurses contiene librer as para el manejo de pantallas de caracteres independiente del terminal Tiempo estimado de construcci n 0 7 SBU Espacio requerido en disco 31 MB 6 18 1 Instalaci n de Ncurses Desde la liberaci n de Ncurses 5 5 los desarrolladores han encontrado y corregido un fallo de memoria y varios errores de pantalla Aplica estas correcciones patch Npl i ncurses 5 5 fixes 1 patch Prepara Ncurses para su compilaci n configure prefix usr with shared without debug enable widec Significado de las opciones de configure enable widec Esta opci n hace que se construyan las librer as de ancho del caracter es decir libncursesw so 5 5 en vez de las normales o sea Libncurses so 5 5 Estas librer as de ancho del caracter son usables tanto en locales multibyte como en las tradicionales de 8 bit mientras que
53. borra los ficheros de prueba rm v dummy c a out Los detalles sobre este paquete se encuentran en la Secci n 6 12 2 Contenido de GCC 78 Linux From Scratch Version 6 2 5 12 Binutils 2 16 1 Fase 2 El paquete Binutils contiene un enlazador un ensamblador y otras utilidades para trabajar con ficheros objeto Tiempo estimado de construcci n 1 1 SBU Espacio requerido en disco 154 MB 5 12 1 Reinstalaci n de Binutils Vuelve a crear un directorio dedicado para la construcci n mkdir v binutils build cd binutils build Prepara Binutils para su compilaci n binutils 2 16 1 configure prefix tools disable nls with lib path tools lib Significado de la nueva opci n de configure with lib path tools lib Esto le indica al gui n configure que especifique la ruta de b squeda de librer as por defecto durante la compilaci n de Binutils resultando en que se le pase tools lib al enlazador Esto evita que el enlazador busque en los directorios de librer as del anfitri n Compila el paquete make La compilaci n est completa Como se explic antes no recomendamos ejecutar los bancos de pruebas de las herramientas temporales en este cap tulo Si de todas formas deseas ejecutar el banco de pruebas de Binutils hazlo con el siguiente comando make check Instala el paquete make install Prepara el enlazador para la fase de Reajuste del pr ximo cap tulo make C ld cle
54. bzgrep bzegrep bzfgrep bzip2 bzip2recover bzless bzmore libbz2 Descomprime ficheros que han sido comprimidos con bzip2 Descomprime hacia la salida est ndar Ejecuta cmp sobre ficheros comprimidos con bzip2 Ejecuta diff sobre ficheros comprimidos con bzip2 Ejecuta grep sobre ficheros comprimidos con bzip2 Ejecuta egrep sobre ficheros comprimidos con bzip2 Ejecuta fgrep sobre ficheros comprimidos con bzip2 Comprime ficheros usando el algoritmo de compresi n de texto por ordenaci n de bloques Burrows Wheeler con codificaci n Huffman La compresi n es en general considerablemente superior a la obtenida por otros compresores m s convencionales basados en el algoritmo Lempel Ziv como gzip Intenta recuperar datos de ficheros comprimidos da ados Ejecuta less sobre ficheros comprimidos con bzip2 Ejecuta more sobre ficheros comprimidos con bzip2 La librer a que implementa la compresi n sin p rdidas por ordenaci n de bloques usando el algoritmo de Burrows Wheeler 158 Linux From Scratch Version 6 2 6 29 Diffutils 2 8 1 El paquete Diffutils contiene programas que muestran las diferencias entre ficheros o directorios Tiempo estimado de construcci n 0 1 SBU Espacio requerido en disco 6 3 MB 6 29 1 Instalaci n de Diffutils POSIX requiere que el comando diff trate los espacios en blanco de acuerdo con la locale actual El siguiente parche corrige dicho incumplimiento patch Np1 i dif
55. completar la compilaci n se necesitan algunos pasos adicionales para completar la instalaci n Es necesario copiar varios ficheros al directorio boot 232 Linux From Scratch Version 6 2 La ruta a la imagen del n cleo puede variar dependiendo de la plataforma que utilices El siguiente comando asume que la arquitectura es x86 cp v arch i386 boot bzImage boot lfskernel 2 6 16 27 System map es un fichero de s mbolos para el n cleo Mapea los puntos de entrada de cada una de las funciones en la API del n cleo al igual que las direcciones de las estructuras de datos del n cleo para el n cleo en ejecuci n Ejecuta el siguiente comando para instalar el fichero de mapa cp v System map boot System map 2 6 16 27 config es el fichero de configuraci n del n cleo creado por el paso make menuconfig anterior Contiene todas las selecciones de configuraci n para el n cleo que se acaba de compilar Es buena idea guardar este fichero como referencia futura cp v config boot config 2 6 16 27 Instala la documentaci n del n cleo Linux install d usr share doc linux 2 6 16 27 amp amp cp r Documentation usr share doc linux 2 6 16 27 Es importante advertir que los ficheros del directorio de las fuentes del n cleo no son propiedad de root Cuando se desempaqueta un paquete como usuario root como hacemos dentro del chroot los ficheros acaban teniendo los identificadores de usuario y grupo que ten an en la m quina e
56. con su salida redirigida a un fichero de registro Vuelca ficheros en octal y otros formatos Mezcla los ficheros indicados uniendo secuencialmente las l neas correspondientes de uno y otro separ ndolas con tabulaciones Comprueba si los nombres de ficheros son v lidos o portables Es un cliente finger ligero Muestra algo de informaci n sobre un determinado usuario Pagina y encolumna el texto de un fichero para imprimirlo Muestra el entorno Muestra los argumentos dados de acuerdo al formato indicado Muy parecido a la funci n printf de C Genera un ndice permutado de los contenidos de un fichero con cada palabra clave en su contexto Muestra el nombre del directorio de trabajo actual Muestra el valor del enlace simb lico indicado Elimina ficheros o directorios Elimina directorios si est n vac os Muestra una secuencia de n meros dentro de un cierto rango y con un cierto incremento Muestra o verifica sumas de comprobaci n SHA1 de 160 bits Sobreescribe los ficheros indicados repetidamente con patrones extra os haciendo realmente dif cil recuperar los datos Hace una pausa por el tiempo indicado Ordena las l neas de los ficheros indicados Divide un fichero en trozos por tama o o por n mero de l neas Muestra el estado de ficheros o sistemas de ficheros Establece o muestra los ajuste de l nea del terminal 133 sum sync tac tail tee test touch tr true tsort tty
57. de Bash Los desarrolladores han corregido diversos problemas desde la liberaci n inicial de Bash 3 1 Aplica dichas correcciones patch Npl i bash 3 1 fixes 8 patch Prepara Bash para su compilaci n configure prefix tools without bash malloc Significado de la opci n de configure without bash malloc Esta opci n desactiva el uso de la funci n de ubicaci n de memoria malloc de Bash que se sabe que provoca violaciones de segmento Al desactivar esta opci n Bash utilizar la funci n malloc de Glibc que es m s estable Compila el paquete make Para comprobar los resultados ejecuta make tests Instala el paquete make install Crea un enlace para los programas que usan sh como int rprete de comandos ln vs bash tools bin sh Los detalles sobre este paquete se encuentran en la Secci n 6 27 2 Contenido de Bash 81 Linux From Scratch Version 6 2 5 15 Bzip2 1 0 3 El paquete Bzip2 contiene programas para comprimir y descomprimir ficheros Comprimir ficheros de texto con bzip2 proporciona un mayor porcentaje de compresi n que el tradicional gzip Tiempo estimado de construcci n 0 1 SBU Espacio requerido en disco 3 5 MB 5 15 1 Instalaci n de Bzip2 El paquete Bzip2 no tiene un gui n configure Comp lalo y comprueba los resultados con make Instala el paquete make PREFIX tools install Los detalles sobre este paquete se encuentran en la Secci n 6 28 2 Cont
58. de datos binarios que pueden causar problemas con los ajustes del terminal actual Esto puede evitarse redirigiendo la salida a un fichero de registro Instala el paquete make install En las locales UTF 8 el programa vimtutor intenta convertir los tutoriales de ISO 8859 1 a UTF 8 Puesto que algunos tutoriales no est n en ISO 8859 1 el texto se har a ilegible Si desempaquetaste vim 7 0 lang tar gz y vas a usar una locale basada en UTF 8 elimina los tutoriales que no est n en ISO 8859 1 En su lugar se utilizar el tutorial en ingl s rm f usr share vim vim70 tutor tutor gr pl ru sk rm f usr share vim vim70 tutor tutor Muchos usuarios est n acostumbrados a usar vi en vez de vim Para permitirles ejecutar vim cuando teclean vi crea enlaces simb licos tanto para el binario como para la p gina de manual en los idiomas suministrados ln sv vim usr bin vi for L in fr it pl ru do ln sv vim 1 usr share man L manl vi l done Por defecto la documentaci n de Vim se instala en usr share vim El siguiente enlace permite que la documentaci n sea accesible mediante usr share doc vim 7 0 haciendolo consistente con la localizaci n de la documentaci n del resto de paquetes ln sv vim vim70 doc usr share doc vim 7 0 Si vas a instalar un sistema X Window en tu sistema LFS puede que sea necesario recompilar Vim despu s de instalar X Vim incluye una bonita versi n con interfaz gr fica que necesita X y alg
59. de inicio correctos grep o usr lib crt lin dummy log Si todo funciona correctamente no debe haber errores y la salida del ltimo comando debe ser usr 1iia gee 1686 p6e linus comu 4 03 0 50 Ae Aci succeeded Eh ota si elo cto AO IA colo cho derti SUCTASCIa A Thal oe O ere os Ono A y CLL O pieles Silo lalo A continuaci n verifica que el nuevo enlazador se est usando con la ruta de b squeda correcta 125 Linux From Scratch Version 6 2 grep SEARCH usr lib dummy log sed s nlg Si todo funciona correctamente no debe haber errores y la salida del ltimo comando debe ser SEARCH SEARCH_DI DEN SEARCH DIE SEARCH __ DI R R R R YU wSsie LES6 joe wLinvixe Cpawi Liot UV wsie local lila UT MISAS AU Segidamente asegurate de estar usando la libc correcta grep lib libc so 6 dummy log Si todo funciona correctamente no debe haber errores y la salida del ltimo comando debe ser attempt to open lib libc so 6 succeeded Por ltimo asegurate de que GCC utiliza el enlazador din mico correcto grep found dummy log Si todo funciona correctamente no debe haber errores y la salida del ltimo comando debe ser teniendo en cuenta las diferencias en el nombre del enlazador din mico espec fico para cada plataforma toune le liomx so z ee lio Le aux SO 2 Si no recibes una salida como la mostrada arriba o no hay salida alguna alg
60. de los comandos del sistema que contienen la palabra clave dada como palabra separada Lee ficheros y reemplaza l neas del tipo so fichero por el contenido del file citado 190 Linux From Scratch Version 6 2 6 46 Mktemp 1 5 El paquete Mktemp contiene programas usados para crear ficheros temporales seguros en guiones de int rpretes de comandos Tiempo estimado de construcci n less than 0 1 SBU Espacio requerido en disco 0 4 MB 6 46 1 Instalaci n de Mktemp Muchos programas todav a usan el anticuado programa tempfile que tiene una funcionalidad similar a mktemp Parchea Mktemp para incluir un envoltorio tempfile patch Np1 i mktemp 1 5 add _tempfile 3 patch Prepara Mktemp para su compilaci n configure prefix usr with libc Significado de la opci n de configure with libc Esto hace que el programa mktemp utilice las funciones mkstemp y mkdtemp de la libreria C del sistema en lugar de su propia implementaci n Compila el paquete make Este paquete no incluye un banco de pruebas Instala el paquete make install make install tempfile 6 46 2 Contenido de Mktemp Programas instalados mktemp y tempfile Descripciones cortas mktemp Crea ficheros temporales de forma segura Es usado en guiones tempfile Crea ficheros temporales de una forma menos segura que mktemp Se instala por retro compatibilidad 191 Linux From Scratch Version 6 2 6 47 Module Init Tools 3 2 2 El paqu
61. de pruebas para Expect a veces experimenta fallos bajo ciertas condiciones del anfitri n que no est n bajo nuestro control Por tanto estos fallos del banco de pruebas no son una sorpresa y no se consideran cr ticos Instala el paquete make SCRIPTS install Significado del par metro de make SCRIPTS Esto evita la instalaci n de los guiones suplementarios de Expect que no son necesarios 5 9 2 Contenido de Expect 73 Linux From Scratch Version 6 2 Programa instalado expect Libreria instalada libexpect 5 43 a Descripciones cortas expect Se comunica con otros programas interactivos seg n un gui n libexpect 5 43 a Contiene funciones que permiten a Expect usarse como una extensi n de Tcl o usarse directamente en C o C sin Tcl 74 Linux From Scratch Version 6 2 5 10 DejaGNU 1 4 4 El paquete DejaGNU contiene un entorno de trabajo para comprobar otros programas Tiempo estimado de construcci n less than 0 1 SBU Espacio requerido en disco 6 2 MB 5 10 1 Instalaci n de DejaGNU Prepara DejaGNU para su compilaci n configure prefix tools Construye e instala el paquete make install Para comprobar los resultados ejecuta make check 5 10 2 Contenido de DejaGNU Programa instalado runtest Descripcion corta runtest Un gui n envoltorio que encuentra el int rprete de comandos de expect adecuado y entonces ejecuta DejaGNU 75 Linux From Scratch Version 6 2 5
62. del proceso de arranque install dv lib firmware udev devices pts shm mknod m0666 lib udev devices null c 1 3 ln sv proc self fd lib udev devices fd ln sv proc self fd 0 lib udev devices stdin ln sv proc self fd 1 lib udev devices stdout ln sv proc self fd 2 lib udev devices stderr ln sv proc kcore lib udev devices core Compila el paquete make EXTRAS extras ata_id extras cdrom_id extras edd_id extras firmware extras floppy extras path_id extras scsi_id extras usb_ id extras volume id Significado de la opci n de make EXTRAS Esto construye diversos binarios que pueden ayudar en la escritura de reglas Udev personalizadas Para comprobar los resultados ejecuta make test Advierte que el banco de pruebas de Udev generar numerosos mensajes en los ficheros de registro del sistema anfitri n Estos son inofensivos y pueden ignorarse Instala el paquete make DESTDIR EXTRAS extras ata_id extras cdrom_ id extras edd_id extras firmware extras floppy extras path_id extras scsi_id extras usb_id extras volume id install Significado del par metro de make DESTDIR Esto evita que el proceso de instalaci n de Udev mate cualquier proceso udevd que pueda estar ejecutandose en el sistema anfitri n 208 Linux From Scratch Version 6 2 Para que funcione correctamente se ha de configurar Udev pues este no instala ninguna configuraci n Instala los ficheros de configuraci n espec
63. del sistema describiendo c mo fijar la ruta de b squeda en tiempo de ejecuci n de las librer as compartidas en un ejecutable envsubst Sustituye variables de entorno en cadenas del formato del int rprete de comandos gettext Traduce un mensaje en lenguaje natural al lenguaje del usuario buscando las traducciones en un cat logo de mensajes gettext sh Sirve principalmente como librer a de funciones del interprete de comandos para Gettext gettextize Copia todos los ficheros est ndar Gettext en el directorio indicado de un paquete para iniciar su internacionalizaci n hostname Muestra el nombre en la red de un sistema en varios formatos msgattrib Filtra los mensajes de un cat logo de traducci n de acuerdo con sus atributos y manipula dichos atributos 171 msgcat msgcmp msgcomm msgconv msgen msgexec msgfilter msgfmt msggrep msginit msgmerge msgunfmt msguniq ngettext xgettext libasprintf libgettextlib libgettextpo libgettextsrc Linux From Scratch Versi n 6 2 Concatena y mezcla los ficheros po indicados Compara dos ficheros po para comprobar si ambos contienen el mismo conjunto de cadenas de identificadores de mensajes Busca los mensajes que son comunes en los ficheros po indicados Convierte un cat logo de traducci n a una codificaci n de caracteres diferente Crea un cat logo de traducci n en ingl s Aplica un comando a todas las traducciones de u
64. descripci n terminfo infotocap Convierte una descripci n terminfo en una descripci n termcap reset Reinicializa un terminal a sus valores por defecto tack El comprobador de acciones terminfo Se usa principalmente para verificar la precisi n de una entrada de la base de datos terminfo tic El compilador de entradas de descripciones terminfo Transforma un fichero terminfo en formato fuente al formato binario requerido por las rutinas de las librer as ncurses Los 139 toe tput tset libcurses libncurses libform libmenu libpanel Linux From Scratch Versi n 6 2 ficheros terminfo contienen informaci n sobre las capacidades de un terminal Lista todos los tipos de terminal disponibles dando el nombre primario y la descripci n de cada uno Pone a disposici n del int rprete de comandos la informaci n sobre las capacidades dependientes del terminal Tambi n sirve para inicializar o restablecer el terminal o para devolver su nombre largo Sirve para inicializar terminales Enlace a libncurses Contienen funciones para mostrar texto de formas complicadas en la pantalla de un terminal Un buen ejemplo del uso de estas funciones es el men que se muestra en el proceso make menuconfig del n cleo Contienen funciones para implementar formularios Contienen funciones para implementar men s Contienen funciones para implementar paneles 140 Linux From Scratch Version 6 2 6 19 Procps 3
65. e ken Reworded the glibc text to expect test failures 23 Linux From Scratch Version 6 2 September 5 2005 e ken Add patch to fix some of the math tests in glibc September 4 2005 e matt Add patch to stop cfdisk segfaulting when invoked on devices with partitions that don t contain an ext2 ext3 xfs or jfs filesystem see bug 1604 e matt Upgrade to libtool 1 5 20 e matt Upgrade to findutils 4 2 25 September 2 2005 matt The optimization flag for util linux comes from configure rather than MCONFIG so adjust the sed in order for the segfault fix to actually work e matt Avoid the potential race condition when invoking find to remove GCC s fixed headers August 30th 2005 matt Work around a segfault in cfdisk by compiling with O instead of the default O2 optimization setting fixes bug 1604 e matt Update the inetutils patch to use the upstream fix for GCC 4 x compilation problems fixes bug 1602 e matt Upgrade to shadow 2 0 12 e ken Remove sed i commands from gcc pass2 August 28th 2005 e jhuntwork Adjusted tar commands in Bash and Glibc chapter 6 builds for consistency August 23rd 2005 e matt find may fail due to a race condition when deleting files Remove the amp amp construct in chapter05 adjusting xml so that the rest of the commands for removing fixed headers will be executed fixes bug 1621 e matt Install Udev s documentation relating to confi
66. e Barna Koczka lt barna siker hu gt hu linuxfromscratch org e UK Mirror Service linuxfromscratch mirror ac uk e Martin Voss lt Martin Voss O ada de gt lfs linux matrix net e Guido Passet lt guido O primerelay net gt nl linuxfromscratch org e Bastiaan Jacques lt baafie planet nl gt lfs pagefault net e Roel Neefs lt lfs mirrorOlinuxfromscratch rave org gt linuxfromscratch rave org e Justin Knierim lt justinOjrknierim de gt www lfs matrix de e Stephan Brendel lt stevieO stevie20 de gt Ifs netservice neuss de e Antonin Sprinzl lt Antonin Sprinzl tuwien ac at gt at linuxfromscratch org e Fredrik Danerklint lt fredan lfs fredan org gt se linuxfromscratch org e Parisian sysadmins lt archive doc cs univ paris8 fr gt www2 fr linuxfromscratch org e Alexander Velin lt velinOzadnik org gt bg linuxfromscratch org e Dirk Webster lt dirk securewebservices co uk gt lfs securewebservices co uk e Thomas Skyt lt thomas Osofagang dk gt dk linuxfromscratch org 266 Linux From Scratch Version 6 2 e Simon Nicoll lt sime O dot sime com gt uk linuxfromscratch org Asia e Pui Yong lt pyng spam averse net gt sg linuxfromscratch org e Stuart Harris lt stuartO althalus me uk gt lfs mirror intermedia com sg Australia e Jason Andrade lt jason dstc edu au gt au linuxfromscratch org Anteriores miembros de los equipos e Ch
67. el bus Por ejemplo el controlador MadWifi crea las interfaces athX y wifiX donde X es un d gito Para diferenciar estas interfaces a ade el par metro KERNEL apropiado como KERNEL ath tras SUBS YSTEM net Puede haver otros casos en los que las reglas anteriores no funcionen Actualfimente a n se est n suministrando informes sobre este asunto a las distribuciones Linux y no hay disponible una soluci n que cubra todos los casos 7 13 2 Creaci n de los ficheros de configuraci n de la interfaz de red Qu interfaces de red activa o desactiva el gui n network depende de los ficheros y directorios situados en el directorio etc sysconfig network devices Este directorio debe contener un subdirectorio para cada interfaz a configurar del tipo ifconfig xyz donde xyz es el nombre de una interfaz de red Dentro de este directorio deber a haber ficheros definiendo los atributos para dicha interfaz como su direci n es IP mascaras de subred etc El siguiente comando crea un fichero ipv4 de ejemplo para el dispositivo eth0 cd etc sysconfig network devices mkdir v ifconfig eth0 amp amp cat gt ifconfig eth0 ipv4 lt lt EOF ONBOOT yes SERVICE ipv4 static IP 192 1080 1 GATEWAY 192 168 1 2 PREFIX 24 BROADCAST 192 168 1 255 EOF Los valores de estas variables se deben cambiar en todos los ficheros por los valores apropiados Si la variable ONBOOT tiene el valor yes el g
68. el formato de un buen n mero de ficheros Puedes ignorar esos avisos s lo indican que se trata de guiones en vez de binarios Si el espacio en disco es escaso se puede usar la opci n strip all sobre los binarios que hay en usr bin sbin para ganar varios megabytes m s Pero no uses dicha opci n sobre las librer as las destruir as 220 Linux From Scratch Version 6 2 6 60 Limpieza A partir de ahora cuando salgas del entorno chroot y desees entrar de nuevo en l deber s ejecutar el siguiente comando chroot modificado chroot SLFS usr bin env i HOME root TERM STERM PS1 u w PATH bin usr bin sbin usr sbin bin bash login La raz n para esto es que ya no son necesarios los programas que hay en tools Puesto que ya no son necesarios puedes borrar el directorio tools si lo deseas Nota Al eliminar tools tambi n se eliminan las copias temporales de Tcl Expect y DejaGnu que fueron usadas para ejecutar los bancos de pruebas Si quieres usar estos programas m s adelante necesitar s recompilarlos y reinstalarlos El libro BLFS tiene instrucciones para esto mira http www linuxfromscratch org blfs Si los sistemas de ficheros virtuales han sido desmontados ya sea manualmente o debido a un reinicio asegurate de que se encuentran montados cuando reentres al chroot Este proceso se esplic en Secci n 6 2 2 Montar y poblar dev y Secci n 6 2 3 Montar los sistemas de
69. espec fico del bus de los dispositivos soportados por el m dulo Por ejemplo el controlador snd fm801 soporta dispositivos PCI con ID de vendedor 0x1319 e ID de dispositivo Ox0801 y tiene el alias pci v00001319d00000801sv sd bc04scO11 Para muchos dispositivos el controlador del bus exporta a trav s de sysfs el alias del controlador que podr a manejar el dispositivo Por ejemplo el fichero sys bus pci devices 0000 00 0d 0 modalias podr a contener la cadena pci v000013 19d00000801sv00001319sd00001319bc04sc01100 Las reglas instaladas por LFS har n que udevd llame a sbin modprobe con el contenido de la variable de entorno uevent MODALIAS que deber a ser igual al contenido del fichero modal ias del sysfs cargando todos los m dulos cuyos alias concuerden con dicha cadena tras la expansi n de comodines En el ejemplo esto significa que en adici n a snd fm801 el obsoleto y no deseado controlador forte ser cargado si est disponible M s abajo se muestran formas de evitar la carga de dispositivos no deseados El propio n cleo tambi n es capaz de cargar m dulos para protocolos de red sistemas de ficheros y soporte NES bajo demanda 7 4 2 5 Manejo de dispositivos din micos conectables en caliente Cuando conectas un dispositivo como un reproductor MP3 por USB el n cleo reconoce que el dispositivo est conectado ahora y genera un uevent Este uevent es manejado por udevd como se describe arriba 7 4 3
70. evitarse siempre Los desarrolladores de GCC est n normalmente enterados de estos problemas pero no los han resuleto a n En concreto se sabe que las pruebas de libmudflap son particularmente problem ticas debido a un error en GCC http gcc gnu org bugzilla show_bug cgi id 20003 A no ser que los resultados de las pruebas var en notablemente de los mostrados en la URL anterior puedes continuar tranquilo Instala el paquete make install Algunos paquetes esperan que el preprocesador de C est instalado en el directorio 1ib Para dar soporte a estos paquetes crea un enlace simb lico ln sv usr bin cpp lib Muchos paquetes usan el nombre ce para llamar al compilador C Para satisfacer a dichos paquetes crea un enlace simb lico ln sv gcc usr bin cc Ahora que nuestras herramientas principales finales est n en su sitio es importante asegurarse de nuevo de que la compilaci n y el enlazado funcionan como se espera Para hacer esto realizaremos las mismas comprobaciones de sanidad que usamos anteriormente en es cap tulo echo main gt dummy c cc dummy c Wl verbose amp gt dummy log readelf 1 a out grep 1lib Si todo funciona correctamente no debe haber errores y la salida del ultimo comando debe ser con las diferencias para la plataforma sobre el nombre del enlazador din mico Requesting program interpreter lib ld linux so 2 Ahora asegurate de que lo hemos configurado para usar los ficheros
71. ficheros el sitio donde se compilar e instalar el nuevo sistema LFS El Cap tulo 3 explica qu paquetes y parches deben descargarse para construir un sistema LFS y c mo guardarlos en el nuevo sistema de ficheros El Cap tulo 4 muestra c mo configurar un entorno de trabajo adecuado Por favor lee con detenimiento el Cap tulo 4 pues explica diversos temas importantes a tener en cuenta antes de empezar a trabajar en el Cap tulo 5 y posteriores En el Cap tulo 5 se describe la instalaci n de una serie de paquetes que formar n el entorno b sico de desarrollo o herramientas principales utilizado para construir el sistema real en el Cap tulo 6 Varios de estos paquetes son necesarios para resolver dependencias circulares Por ejemplo para compilar un compilador necesitas un compilador El Cap tulo 5 muestra tambi n al usuario c mo construir en una primera fase las herramientas principales compuestas por Binutils y GCC primera fase significa b sicamente que estos dos paquetes centrales ser n reinstalados m s tarde El siguiente paso es construir Glibc la librer a C Glibc ser compilada con los programas de las herramientas principales construidas en la primera fase Entonces se construir una segunda fase de las herramientas principales Esta vez se enlazar n din micamente contra la reci n construida Glibc Todos los restantes paquetes del Cap tulo 5 se construir n usando esta segunda fase de las herramientas principales
72. ficheros virtuales del n cleo 221 Linux From Scratch Version 6 2 Capitulo 7 Configurar los guiones de arranque del sistema 7 1 Introduccion Este cap tulo detalla c mo instalar y configurar el paquete LFS Bootscripts Muchos de estos guiones funcionar n sin necesidad de modificarlos pero algunos necesitan ficheros de configuraci n adicionales pues manejan informaci n dependiente del hardware En este libro se utilizan guiones de inicio al estilo System V porque son ampliamente utilizados Para consultar otras opciones una receta que detalla la configuraci n del inicio al estilo BSD se encuentra en http www linuxfromscratch org hints downloads files bsd init txt Buscando depinit en las listas de correo de LFS encontrar s otra alternativa Si decides usar alg n otro estilo de guiones de inicio s ltate este cap tulo y pasa al Cap tulo 8 222 Linux From Scratch Version 6 2 7 2 LFS Bootscripts 6 2 El paquete LFS Bootscripts contiene un conjunto de guiones para iniciar parar el sistema LFS durante el arranque apagado Tiempo estimado de construcci n less than 0 1 SBU Espacio requerido en disco 0 4 MB 7 2 1 Instalaci n de LFS Bootscripts Instala el paquete make install 7 2 2 Contenido de LFS Bootscripts Guiones instalados checkfs cleanfs console functions halt ifdown ifup localnet mountfs mountkernfs network rc reboot sendsignals setclock static swap sysklogd te
73. ficos de LFS cp v udev config 6 2 0 9 etc udev rules d Instala la documentaci n que explica c mo crear reglas Udev install m644 D v docs writing_udev_rules index html usr share doc udev 096 index html 6 55 2 Contenido de Udev Programas instalados ata_id cdrom_id create_floppy_devices edd_id firmware_helper path_id scsi_id udevcontrol udevd udevinfo udevmonitor udevsettle udevtest udevtrigger usb_id vol_id and write_cd_aliases Directorio instalado etc udev Descripciones cortas ata_id Proporciona a Udev una cadena nica e informaci n adicional uuid label para un controlador ATA cdrom_id Proporciona a Udev las capacidades de un cotrolador CD ROM o DVD ROM create_floppy_devices Crea todos los tipos posibles de dispositivos de disquete basados en el tipo CMOS edd_id Proporciona a Udev el ID EDD de un controlador BIOS de disco firmware_helper Carga firmware en dispositivos path_id Proporciona la ruta hardware mas corta posible a un dispositivo scsi_id Proporciona a Udev un identificados SCSI nico basado en los datos devueltos tras el envio de un comando SCSI INQUIRY al dispositivo especificado udevcontrol Configura ena serie de opciones para el demonio udevd en ejecuci n como el nivel de registro udevd Un demonio que escucha uevents en un conector de red crea dispositivos y ejecuta los programas externos configurados en respuesta a dichos uevents udevinfo Permite a los usuari
74. gina y del grupo de caracteres de IO por defecto para algunos sistemas de ficheros durente la configuraci n del n cleo Los par metros relacionados son Default NLS Option CONFIG_NLS_DEFAULT Default Remote NLS Option CONFIG_SMB_NLS_DEFAULT Default codepage for FAT CONFIG_FAT_DEFAULT_CODEPAGE y Default iocharset for FAT CONFIG_FAT_DEFAULT_IOCHARSET No hay forma de configurar estos ajustes para el sistema de ficheros ntfs durante la compilaci n del n cleo 231 Linux From Scratch Version 6 2 8 3 Linux 2 6 16 27 El paquete Linux contiene el n cleo Linux Tiempo estimado de construcci n 1 5 3 SBU Espacio requerido en disco 310 350 MB 8 3 1 Instalaci n del n cleo Construir el n cleo comprende varios pasos configuraci n compilaci n e instalaci n Mira en el fichero README del rbol de fuentes del n cleo los m todos de configuraci n del n cleo alternativos al utilizado en este libro Por defecto el n cleo Linux genera secuencies de bytes erroneas cuando se usan las teclas muertas en el modo de teclado UTF 8 Igualmente no se pueden copiar y pegar caract res no ASCII cuando el modo UTF 8 est activo Corrige dichos problemas con el parche patch Npl i linux 2 6 16 27 utf8_input 1 patch Prepara la compilaci n ejecutando el siguiente comando make mrproper Esto asegura que el rbol del n cleo est completamente limpio El equipo del n cleo recomienda que se ej
75. ii iaa 36 2 2 VC Tear Ulla nieva partici n li A A RA eek 37 2 3 Crear un sistema de ficheros en la partici n ii A tad 38 2 Ay Montar la nueva partici n es 39 3 Paquetes y Parches ssa anti IT ini ID ce TUI DA AA ATA TA BIC desearia AA ATADA 40 A due ATA ATADA OU TAN Ea ni oa N cascade ane OE 40 3 2 TOdOS LOS PAQUETES esa A A A TA TA e in PA De TA 41 Dy ore ANC MES MECN ALIENS ai ics ANA ccd san cet E EN ou oa ALI AS ase os cee saute eae cond ES COIA ES Aos 47 4 ltimos preparativos insta O A A ciate lad 51 Al SOS EES e ea a is 51 4 2 Creaci n del directorio LESS din 52 E 53 4 4 Configuraci n A dosdaacasdadansuancsaatasess 54 4 Ds ODES LOS SO IS a aa A La ele Be AU AI EA E A ONDE Oe sh E A A 56 4 0Sobre lOs bancos de PRUEBAS cmo oil Pasa Tea ctas 57 J Construir UN sistema A OA A a acta ae ea aai 58 Lo INrodUCCI N sennie ienaa ad EAS ENTRE EE caos 58 5 2 Notas t cnicas sobre las herramientas sssessssessessseseseesseeesstessetsseessetessseesseesseesseeesseesseees 59 Ded BIN S22 21 Oss ASE e do a A o o E TA EA 62 SA CCS Fase das 64 5 5 Lanux Libe Headers 2 6 12 0 nasusni a o aa n a esas redadas 66 mL SPRL bs Ses OAE E E E ce a E ETETE OAE ee E E EER 67 3 7 AJustarlas herramientas ui ds tines 70 Os Oe CLES ANA se ae eat care Utd ttl ica hel Se nd eet wd A dad Sa 72 1 9 EXPECTS 43O iaa 73 IU DEJAGNU AA A AA 75 FAL ECARTS 76 3 12 Bin tils 2 VOU Fase Riosa 79 Del Se NCUPSESHS J euna o e a A Wanda a aaa TO E a
76. 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 gt bashre lt lt EOF set th umask 022 MES AS LC_ALL POSIX PAVE os ns o EXPO IWC ALL PAPE 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 SLFS 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 L
77. int rprete de comandos se le dice que LF S es ahora el directorio ra z Advierte que tools bin queda ltimo en el PATH Esto significa que una herramienta temporal no volver a usarse a partir de que se instale su versi n final Esto ocurre cuando el int rprete de comandos no recuerda la localizaci n de los binarios ejecutados por esta raz n se desactiva la tabla interna de rutas pas ndole la opci n h a bash Ten en cuenta que en la l nea de entrada de comandos de bash pondr 1 have no name No tengo nombre Esto es normal pues el fichero etc passwd a n no ha sido creado Nota Debes asegurarte de que todos los comandos que aparecen en el resto de este y los siguientes cap tulos son ejecutados dentro del entorno chroot Si por alguna raz n abandonas este entorno tras un reinicio por ejemplo asegurate de que los sistemas de ficheros virtuales del n cleo estan montados como se indica en Secci n 6 2 2 Montar y poblar dev y Secci n 6 2 3 Montar los sistemas de ficheros virtuales del n cleo y entra de nuevo en el chroot antes de seguir con la instalaci n 106 Linux From Scratch Version 6 2 6 5 Creacion de los directorios Es hora de crear cierta estructura en el sistema de ficheros LFS Crea un rbol de directorios est ndar ejecutando los siguientes comandos mkdir pv bin boot etc opt home 1ib mnt opt mkdir pv media floppy cdrom sbin srv var install dv m 0750
78. locale de en_GB ISO 8859 1 Es importante que la locale encontrada usando el m todo anterior sea comprobada antes de a adirla a los ficheros de inicio de Bash LC_ALL lt locale name gt locale language LC_ALL lt locale name gt locale charmap LC_ALL lt locale name gt locale int curr symbol LC_ALL lt locale name gt locale int _ prefix Dichos comandos deber n mostrar los nombres del idioma la codificaci n de caracteres usada por la locale el s mbolo de la moneda local y el prefijo a marcar antes del n mero de tel fono para acceder al pa s Si cualquiera de los comandos anteriones fallase con un mensaje similar al mostrado a continuaci n esto significa que o tu locale no se instal en el Cap tulo 6 o que no est soportada por la instalaci n por defecto de Glibc locale Cannot set LC_ to default locale No such file or directory Si esto sucede deber as o bien instalar la locale deseada usando el comando localedef o considerar la elecci n de una locale diferente El resto de instrucciones asumen que no hay mensajes de error procedentes de Glibc Algunos paquetes m s all del LFS puede que no tengan soporte para tu locale elegida Un ejemplo es la librer a X que es parte del sistem X Window que mostrar el siguiente mensaje de error si la locale no coincide exactamente con uno de los nombres de mapa de caract res de sus ficheros internos Warning locale not supported by Xlib locale set to C En ciertos ca
79. make DESTDIR usr pkg libfoo 1 1 install La mayor a de los paquetes soportar n este m todo pero algunos no Con los paquetes que no lo soportan puedes instalarlos manualmente o te ser m s facil instalar alg n paquete problem tico en opt 6 3 2 4 Basado en marcas de fecha En esta t cnica un fichero es marcado con la fecha antes de instalar el paquete Tras la instalaci n un simple comando find con las opciones apropiadas puede generar un registro de todos los ficheros instalados tras la creaci nh del fichero marcado Un administrador de paquetes escrito con este m todo es install log Aunque este esquema tiene la ventaja de ser simple tiene dos inconvenientes Si durante la instalaci n los ficheros se instalan con una marca de fecha diferente a la actual estos ficheros no ser n registrados por el administrador de paquetes Igualmente este esquema solo puede usarse instalando un paquete cada vez Los registros no ser n v lidos si se est n instalando dos paquetes desde dos consolas diferentes 104 Linux From Scratch Version 6 2 6 3 2 5 Basado en LD_ PRELOAD En este m todo se precarga una librer a antes de la instalaci n Durante la instalaci n esta librer a supervisa los paquetes que est n siendo instalados adjuntandose ella mismo a varios ejecutables como cp install mv y supervisa las llamadas del sistema que modifican el sistema de ficheros Para que este m todo funcione todos los ejecutables deben estar en
80. making the appropriate changes in the Udev rules July 11 2006 bdubbs Changed url for the SBU pages to a generic location bdubbs Added clarifying text to section 7 9 concerning charmap specifications Thanks to Dan Nicholson Closes ticket 1813 bdubbs Moved text in section 5 7 Adjusting the Toolchain referencing TCL out of the caution and into its own note so it does not get included later in gcc pass2 Closes ticket 1822 bdubbs Updated the kernel to version 2 6 16 24 Closes ticket 1808 July 10 2006 dnicholson Specified the full path to modprobe in the example modprobe rule Closes ticket 1812 dnicholson Remove the locale country command from the heuristic to determine the locale in the Bash Shell Startup Files since it doesn t produce results in all locales July 7 2006 matt Updated module init tools download information as it has a new maintainer June 10 2006 ken Added gettext sh to list of programs installed by gettext similarly nologin for shadow grub set default for grub enc2xs and instmodsh for perl slabtop for procps flock and tailf for util linux bootlogd for sysvinit manpath for man db filefrag for e2fsprogs Thanks to Chris Staub for the patch May 31 2006 matthew Upgrade to Linux 2 6 16 19 matthew Upgrade to Man pages 2 33 matthew Upgrade to Bison 2 2 j matthew Upgrade to Coreutils 5 96 gerard Added tee to chap
81. matt Removed the fixincludes sed from gcc pass1 as we may need to fix up host s headers Also reinstate the associated removal of pthread h and sigthread h July 16th 2005 e jhuntwork Added sed to chapter 5 gcc builds to force the fixincludes to use the headers in tools and not the host e jhuntwork Removed no_fixincludes and linkonce patches for gcc4 Also removed the command to remove the fixed pthread h e jhuntwork Fixed adjusting toolchain sed for both chapters 5 and 6 July 15th 2005 e matt Updated to Linux 2 6 12 3 e matt Added a patch to enable tar to build with gcc 4 0 1 e matt GCC 4 x no longer installs its specs file by default Alter the toolchain adjustment stage to first dump the specs file where GCC will find it then alter it e matt Added patches for chapter 5 s Glibc to build with gcc 4 0 1 e matt Updated to gcc 4 0 1 e matt Updated to udev 063 July 13th 2005 e matt Updated to automake 1 9 6 July 8th 2005 27 Linux From Scratch Version 6 2 e matt Updated to udev 062 e matt Updated to linux libc headers 2 6 12 0 e matt Updated to linux 2 6 12 2 e matt Updated to shadow 4 0 10 e matt Updated to iana etc 1 10 July 6th 2005 e archaic Pulled the inetutils kernel header patch out again as it is not needed e matt Updated to e2fsprogs 1 38 e matt Updated to binutils 2 16 1 July 5th 2005 e matt Updated to tcl 8 4 11 e ma
82. micamente a libfoo so 1 deben recompilarse para que se enlacen contra 1ibfoo so 2 Ten en cuenta que no deber as eliminar las librer as anteriores hasta recompilar los paquetes dependientes 6 3 2 T cnicas de administraci n de paquetes Lo siguiente son algunas t cnicas comunes de administraci n de paquetes Antes de tomar una decisi n sobre un administrador de paquetes haz una b squeda de las diversas t cnicas particularmente de los inconvenientes de cada uno 6 3 2 1 Todos est en mi cabeza Si esta es una t cnica de administraci n de paquetes Algunas personas no encuentran necesario un 103 Linux From Scratch Version 6 2 administrados de paquetes porque conocen intimamente los paquetes y saben qu ficheros instala cada paquete Algunos usuarios tampoco lo necesitan porque piensan reconstruir el sistema al completo cuando cambia un paquete 6 3 2 2 Instalar en directorios separados Esta es una administraci n de paquetes muy simple que no necesita paquetes adicionales para manejar la instalaci n Cada paquete se instala en un directorio aparte Por ejemplo el paquete foo 1 1 se instala en usr pkg foo 1 1 y se hace un enlace simb lico de usr pkg foo a usr pkg foo 1 1 Cuando se instala una nueva versi n foo 1 2 esta se instala en usr pkg foo 1 2 y el anterior enlace se reemplaza por un enlace a la nueva versi n Las variables de entorno como PATH LD_LIBRARY_PATH MANPATH INFOPATH y CPPFLAGS deben e
83. n no se entiende por completo pero hay indicios de q2ue una alta carga del sistema puede probocarlos e Las pruebas math fallan en ocasiones cuando se ejecutan en sistemas donde la CPU no es una Intel o AMD genuina relativamente nueva e Si has montado la partici n LFS con la opci n noat ime la prueba atime fallar Como se mencion en Secci n 2 4 Montar la nueva partici n no utilices la opci n noat ime cuando construyas un LFS e Cuando se ejecutan en hardware antiguo y lento o en sistemas bajo carga algunas pruebas pueden fallar debido a que se excede el tiempo estimado Aunque se trata de un mensaje inofensivo la fase de instalaci n de Glibc se quejar de la ausencia de etc 1ld so conf Evita este molesto aviso con touch etc ld so conf 113 Linux From Scratch Version 6 2 Instala el paquete make install Instala la cabecera inotify en la localizaci n de las cabeceras del sistema cp v glibc 2 3 6 sysdeps unix sysv linux inotify h usr include sys Las locales que hacen que el sistema responda en un idioma diferente no se instalaron con el comando anterior Ninguna locale es requerida pero si no se encuentran algunas de ellas los bancos de pruebas de paquetes posteriores podr an saltarse pruebas importantes Locales individuales pueden instalarse usando el prtograma localedef Por ejemplo el primer comando localedef mostrado a continuaci n combina la definici n de locale independiente del f
84. out dummy log 120 Linux From Scratch Version 6 2 6 11 Binutils 2 16 1 El paquete Binutils contiene un enlazador un ensamblador y otras utilidades para trabajar con ficheros objeto Tiempo estimado de construcci n 1 5 SBU testsuite included Espacio requerido en disco 172 MB testsuite included 6 11 1 Instalaci n de Binutils Verifica que tus pseudo terminales PTYs funcionan adecuadamente dentro del entorno chroot Comprueba que todo esta correcto realizando una simple prueba expect c spawn ls Si recibes el siguiente mensaje el entorno chroot no est correctamente configurado para operar con PTYs The system has no more ptys Ask your system administrator to create more El sistema no tiene m s ptys P dele al administrador del sistema que cree m s Debes solucionar el problema antes de ejecutar los bancos de pruebas de Binutils y GCC La documentaci n de Binutils recomienda construirlo fuera del rbol de las fuentes en un directorio de construcci n dedicado mkdir v binutils build cd binutils build Prepara Binutils para su compilaci n binutils 2 16 1 configure prefix usr enable shared Compila el paquete make tooldir usr Significado del par metro de make tooldir usr Normalmente tooldir el directorio donde se instalar n los ejecutables se establece como exec_prefix target_alias Por ejemplo en m quinas 1686 esto se convertir a en usr i686 pc
85. parche para a adir los dispositivos ascii8 y nippon a Groff patch Npl i groff 1 18 1 1 debian fixes 1 patch Nota Estos dispositivos son usados por Man DB cuando se formatean p ginas de manual que no est n en ingl s y no est n codificadas en ISO 8859 1 Actuamente no hay un parche usable para Groff 1 19 x que a ada dicha funcionalidad Muchas fuentes de pantalla no incluyen las comillas simples y dobles de Unicode Indicale a Groff que utilice en su lugar los equivalentes ASCII sed i e s 2010 002D e s 2212 002D e s 2018 0060 e s 2019 0027 font devutf8 R proto Groff espera que la variable de entorno PAGE contenga el valor por defecto para el tama o de papel Para los residentes en Estados Unidos PAGE letter es un valor adecuado Para el resto PAGE A4 puede ser m s correcto Aunque el tama o del papel por defecto se configura durante la compilaci n puede sobreescribirse posteriormente cambiando A4 o letter en el fichero etc papersize Prepara Groff para su compilaci n PAGE lt paper _size gt configure prefix usr enable multibyte Compila el paquete make Este paquete no incluye un banco de pruebas Instala el paquete make install Algunos programas de documentaci n como xman no funcionar n correctamente sin los siguientes enlaces simb licos ln sv eqn usr bin geqn ln sv tbl usr bin gtbl 6 38 2 Contenido de Groff Programas instalados addftin
86. que se muestren los mensajes en ingl s cuando se utiliza una locale multibyte patch Npl i texinfo 4 8 multibyte 1 patch Texinfo permite a usuarios locales sobreescribir ficheros arbitrarios mediante un ataque de enlace simb lico sobre ficheros temporales Aplica el siguiente parche para corregir esto patch Npl i texinfo 4 8 tempfile fix 2 patch Prepara Texinfo para su compilaci n configure prefix usr Compila el paquete make Para comprobar los resultados ejecuta make check Instala el paquete make install Opcionalmente instala los componentes que pertenecen a una instalaci n de TeX make TEXMF usr share texmf install tex Significado del par metro de make TEXMF usr share texmf La variable TEXMF del Makefile fija la ubicaci n de la ra z del rbol de TeX si por ejemplo m s adelante se instala un paquete TeX El sistema de documentaci n Info utiliza un fichero de texto plano para almacenar su listado de entradas de men Este fichero se encuentra en usr share info dir Desgraciadamente debido a problemas ocasionales en los Makefile de diversos paquetes en ocasiones puede quedarse desfasado con respecto a las p ginas info realmente instaladas en el sistema Si necesitas recrear el fichero usr share info dir el siguiente comando opcional har el trabajo cd usr share info rm dir for f in do install info f dir 2 gt dev null 206 done Linux From Scratch Version 6 2
87. sistema anfitri n ejecutando readelf 1 lt nombre del binario grep interpreter y anotar la salida La referencia autorizada que cubre todas las plataformas est en el fichero sh1ib versions en la ra z del rbol de las fuentes de Glibc Algunas claves t cnicas sobre c mo funciona el m todo de construcci n del Cap tulo 5 e Similar en principio a la compilaci n cruzada donde las herramientas instaladas dentro del mismo prefijo trabajan en cooperaci n y utilizan una peque a magia de GNU e Cuidada manipulaci n de la ruta de b squeda de librer as del enlazador est ndar para asegurar que los programas se enlazan s lo contra las librer as que elegimos e Cuidada manipulaci n del fichero specs de gcc para indicarle al compilador cu l es el enlazador din mico a usar Se instala primero Binutils debido a que tanto en GCC como en Glibc la ejecuci n de configure realiza varias pruebas sobre el ensamblador y el enlazador para determinar qu caracter sticas del software deben activarse O desactivarse Esto es m s importante de lo que uno podr a pensar Un GCC o una Glibc incorrectamente configurados puede provocar unas herramientas sutilmente rotas cuyo impacto podr a no notarse hasta casi finalizada la construcci n de una distribuci n completa Un fallo en el banco de pruebas normalmente resaltar dicho error antes de perder demasiado tiempo 59 Linux From Scratch Version 6 2 Binutils instala tanto su en
88. soporte de perfiles pgawk 3 1 5 Enlace duro a pgawk 169 Linux From Scratch Version 6 2 pwcat Vuelca la base de datos de contrase as etc passwd 170 Linux From Scratch Version 6 2 6 36 Gettext 0 14 5 El paquete Gettext contiene utilidades para la internacionalizaci n y localizaci n Esto permite a los programas compilarse con Soporte de Lenguaje Nativo NLS lo que les permite mostrar mensajes en el idioma nativo del usuario Tiempo estimado de construcci n 1 SBU Espacio requerido en disco 65 MB 6 36 1 Instalaci n de Gettext Prepara Gettext para su compilaci n configure prefix usr Compila el paquete make Para comprobar los resultados ejecuta make check Esto tarda mucho tiempo unos 5 SBUs Instala el paquete make install 6 36 2 Contenido de Gettext Programas instalados autopoint config charset config rpath envsubst gettext gettext sh gettextize hostname msgattrib msgcat msgcmp msgcomm msgconv msgen msgexec msgfilter msgfmt msggrep msginit msgmerge msgunfmt msguniq ngettext y xgettext Librer as instaladas libasprintf a so libgettextlib so libgettextpo a so y libgettextsrc so Descripciones cortas autopoint Copia los ficheros est ndar de infraestructura de Gettext a las fuentes de un paquete config charset Saca una tabla dependiente del sistema de los alias de codificaci n de los caracteres config rpath Saca un grupo de variables dependientes
89. toolchain bug 1581 November 3 2005 e matt Upgrade to man pages 2 13 e matt Correct the instructions for running Module Init Tools testsuite fixes bug 1597 Thanks to 21 Linux From Scratch Version 6 2 Greg Schafer Tushar Teredesai and to Randy McMurchy for providing the patch October 31 2005 e matt Upgrade to shadow 4 0 13 e matt Upgrade to vim 6 4 matt Upgrade to procps 3 2 6 e matt Build udev_run_devd and udev_run_hotplugd and alter the udev rules file so that udev once again executes programs in the etc dev d and etc hotplug d directories fixes bug 1635 Also change the udev rules to prevent udev from handling the card and dm devices as these are managed entirely by programs outside of LFS October 29 2005 e matt Upgrade to udev 071 e matt Upgrade to man pages 2 11 e matt Upgrade to coreutils 5 92 This involved removing the DEFAULT POSIX2 VERSION environment variable as it is no longer required The testsuite also requires the Data Dumper module from Perl so it is now built in chapter05 perl xml October 22 2005 e archaic Upgrade to m4 1 4 4 October 21 2005 matt Upgrade to file 4 16 e matt Upgrade to man pages 2 10 e matt Upgrade to ncurses 5 5 October 15 2005 e matt Upgrade to man pages 2 09 e matt Use an updated version of the Udev rules file fixes bug 1639 e matt Add a cdrom group as required by the Ud
90. tools Tras entrar en el entorno chroot en el Cap tulo 6 el primer gran paquete a instalar es Glibc debido a su naturaleza autosuficiente Una vez que esta Glibc se instale dentro de usr haremos un r pido cambio en las opciones por defecto de las herramientas y entonces procederemos a la construcci n real del sistema LFS 61 Linux From Scratch Version 6 2 5 3 Binutils 2 16 1 Fase 1 El paquete Binutils contiene un enlazador un ensamblador y otras utilidades para trabajar con ficheros objeto Tiempo estimado de construcci n 1 SBU Espacio requerido en disco 189 MB 5 3 1 Instalaci n de Binutils Es importante que Binutils sea el primer paquete que compiles pues tanto Glibc como GCC llevan a cabo varias comprobaciones sobre el enlazador y el ensamblador disponibles para determinar qu caracter sticas activar La documentaci n de Binutils recomienda construirlo en un directorio dedicado fuera del rbol de las fuentes mkdir v binutils build cd binutils build Nota Si quieres que los valores de los SBUs mostrados en el resto del libro sean de utilidad mide el tiempo que se tarda en construir este paquete desde la compilaci n hasta la primera instalaci n Para ello envuelve los comandos dentro de un comando time de esta forma time configure amp amp make amp amp make install Prepara Binutils para su compilaci n binutils 2 16 1 configure prefix tools disable nls Sign
91. un banco de pruebas Debe instalarse antes de Ninguno Findutils Para su instalaci n depende de Bash Binutils Coreutils GCC Gettext Glibc Grep Make Sed y Texinfo El banco de pruebas depende de DejaGNU Diffutils y Expect Debe instalarse antes de Ninguno Flex Para su instalaci n depende de Bash Binutils Coreutils GCC Gettext Glibc Grep M4 Make Patch Sed y Texinfo El banco de pruebas depende de Bison y Gawk Debe instalarse antes de IPRoute2 Kbd y Man DB Gawk Para su instalaci n depende de Bash Binutils Coreutils GCC Gettext Glibc Grep Make Patch Sed y Texinfo El banco de pruebas depende de Diffutils Debe instalarse antes de Ninguno Gcc Para su instalaci n depende de Bash Binutils Coreutils Diffutils Findutils Gawk GCC Gettext Glibc Grep Make Patch Perl Sed Tar y Texinfo El banco de pruebas depende de DejaGNU y Expect Debe instalarse antes de Ninguno Gettext Para su instalaci n depende de Bash Binutils Coreutils Gawk GCC Glibc Grep Make Sed y Texinfo El banco de pruebas depende de Diffutils Perl y Tel Debe instalarse antes de Automake Glibc Para su instalaci n depende de Bash Binutils Coreutils Diffutils Gawk GCC Gettext Grep Gzip Make Perl Sed and Texinfo 271 Linux From Scratch Version 6 2 El banco de pruebas depende de Ninguno Debe instalarse antes de Ninguno Grep Para su instalaci n depende de Bash B
92. uname unexpand uniq unlink users vdir wc who whoami yes Linux From Scratch Version 6 2 Muestra la suma de comprobaci n y el n mero de bloques para cada fichero dado Refresca los almacenadores intermedios de los sistemas de ficheros Fuerza el guardado de los bloques modificados al disco y actualiza el superbloque Concatena en orden inverso los ficheros indicados Imprime las ltimas 10 l neas o el n mero de l neas indicado de cada fichero dado Lee de la entrada est ndar y escribe tanto en la salida est ndar como en los ficheros indicados Comprueba el tipo de los ficheros y compara valores Cambia las fechas de modificaci n O acceso de cada fichero especificado poni ndole la fecha actual Si un fichero no existe crea uno vac o Convierte altera y borra caracteres de la entrada est ndar No hace nada conseguido Siempre termina con un c digo de estado que indica xito Realiza una ordenaci n topol gica Escribe una lista totalmente ordenada de acuerdo con el orden parcial del fichero especificado Muestra el nombre de fichero del terminal conectado a la entrada est ndar Muestra informaci n del sistema Convierte los espacios en tabulaciones Elimina l neas consecutivas duplicadas Elimina el fichero indicado Muestra los nombres de los usuarios conectados actualmente Es lo mismo que ls l Muestra el n mero de l neas palabras y bytes de un fichero y una l nea con el total si s
93. utiliza etc sysconfig console como fichero de configuraci n Decide qu mapa de teclado y fuente de pantalla se usar n Los diversos C MO espec ficos para cada idioma pueden ayudarte en esto consulta http www tldp org HOWTO HOWTO INDEX other lang html Si a n tienes dudas mira en el directorio usr share kbd los mapas de teclados y fuentes de pantalla v lidos Lee las p ginas de manual loadkeys 1 y setfont 8 para determinar los argumentos correctos para estos programas El fichero etc sysconfig console deber a contener l neas del tipo VARIABLE valor Se reconocen las siguientes variables KEYMAP Esta variable especifica los argumentos para el programa loadkeys t picamente el nombre del teclado a cargar por ejemplo es Si no se establece esta variable el gui n de arranque no ejecutar el programa loadkeys y se usar el mapa de teclado por defecto KEYMAP_CORRECTIONS Esta variable usada en raros casos especifica los argumentos para la segunda llamada al programa loadkeys Es til si el mapa del teclado no es completamente satisfactorio y deben hacerse peque os ajustes Por ejemplo para incluir el s mbolo del Euro en un mapa de teclado que no lo tiene establece esta variable a euro2 FONT Esta variable especifica los argumentos para el programa setfont T picamente esto incluye el nombre de la fuente m y el nombre de la aplicaci n de mapa de caract res a cargar Por ejemplo para cargar la
94. 1 August 12th 2005 e matt Explain that libiconv isn t required on an LFS system fixes bug 1614 e matt Fix ownership of libtool s libltdl data files fixes bug 1601 e matt Change findutils and vim s configure switch explanations to the convention used in the rest of the book Bug 1613 e matt Expand explanation of device node creation at the start of chapter 6 e matt Fix incorrect version number for expect s installed library Bug 1608 August 7th 2005 e archaic Added note in Shadow regarding building Cracklib from BLFS first August 6th 2005 23 Linux From Scratch Version 6 2 e matt Add texi2pdf to list of Texinfo s installed files e matt Updated Vim s security patch to address the latest modeline vulnerability July 30th 2005 e matt Added instructions for installing Bash documentation Randy McMurchy e matt Remove GCC linkonce patch from chapter03 patches xml as it s no longer used in the book July 29th 2005 e manuel Removed the text about defining gvimrc July 28th 2005 e matt Add GCC 4 related patch for kbd e matt Add GCC 4 related patch for inetutils e matt Remove the note regarding a known test failure in GRUB The test no longer fails under GCC 4 e matt Add GCC 4 related patch to chapter06 tar July 27th 2005 e matt Don t define gvim s configuration file as we don t compile gvim in LFS Bruce Dubbs July 26th 2005 e matt Remove g
95. 1 213 pkill 141 141 pl2pm 145 146 pltags pl 215 217 pmap 141 141 pod2html 145 146 pod2latex 145 146 pod2man 145 146 pod2text 145 146 pod2usage 145 146 podchecker 145 146 podselect 145 146 post grohtml 174 176 poweroff 203 204 pr 130 133 pre grohtml 174 176 printenv 130 133 printf 130 133 ps 141 141 psed 145 146 psf 183 184 pstree 195 196 pstree x11 195 196 pstruct 145 146 ptx 130 133 pt_chown 112 116 pwcat 169 170 pwck 197 200 pwconv 197 200 pwd 130 133 pwunconv 197 200 py compile 153 154 ramsize 211 213 ranlib 121 122 raw 211 213 rcp 179 180 rdev 211 213 readelf 121 122 readlink 130 133 readprofile 211 213 reboot 203 204 ref 215 217 refer 174 176 rename 211 213 renice 211 213 reset 138 139 281 resize2fs 160 162 resizecons 183 184 rev 211 213 rlogin 179 180 rm 130 133 rmdir 130 133 rmmod 192 193 rmt 205 205 rootflags 211 213 routef 181 182 routel 181 182 rpcgen 112 116 rpcinfo 112 116 rsh 179 180 rtacct 181 182 rtmon 181 182 rtpr 181 182 rtstat 181 182 runlevel 203 204 runtest 75 75 rview 215 217 rvim 215 217 s2p 145 146 script 211 213 scsi_id 208 209 sdiff 159 159 sed 143 143 seq 130 133 setfdprm 211 213 setfont 183 184 setkeycodes 183 184 setleds 183 184 setmetamode 183 184 sets
96. 18 4 so La librer a Tcl 72 Linux From Scratch Version 6 2 5 9 Expect 5 43 0 El paquete Expect suministra un programa que mantiene di logos programados con otros programas interactivos Tiempo estimado de construcci n 0 1 SBU Espacio requerido en disco 4 MB 5 9 1 Instalaci n de Expect Corrige un error que puede causar falsos fallos durante la ejecuci n del banco de pruebas de GCC patch Npl i expect 5 43 0 spawn 1 patch Prepara Expect para su compilaci n configure prefix tools with tcl tools lib with tclinclude tools include with x no Significado de las opciones de configure with tcl tools lib Esto asegura que el gui n configure encuentre la instalaci n de Tcl en nuestra ubicaci n temporal de herramientas No queremos que encuentre una que pudiese residir en el sistema anfitri n with tclinclude tools include Esto le especifica a Expect d nde encontrar las cabeceras internas de Tcl El uso de esta opci n evita los casos en que configure falla debido a que no puede encontrar autom ticamente la localizaci n de las cabeceras de Tel with x no Esto le indica al gui n configure que no busque Tk el componente GUI de Tcl o las librer as del sistema X Window las cuales posiblemente se encuentren en el sistema anfitri n pero no existir n en el entorno temporal Construye el paquete make Para comprobar los resultados ejecuta make test Sin embargo se sabe que el banco
97. 190 cp 130 132 cpp 124 126 create_floppy_devices 208 209 csplit 130 132 ctrlaltdel 211 212 ctstat 181 181 cut 130 132 cytune 211 212 date 130 132 db_archive 128 129 db_checkpoint 128 129 db_deadlock 128 129 db_dump 128 129 db_hotbackup 128 129 db_load 128 129 db_printlog 128 129 db_recover 128 129 db_stat 128 129 db_upgrade 128 129 db_verify 128 129 dd 130 132 ddate 211 212 deallocvt 183 184 debugfs 160 161 depcomp 153 153 depmod 192 192 df 130 132 diff 159 159 diff3 159 159 dir 130 132 dircolors 130 132 dirname 130 132 278 dmesg 211 212 dprofpp 145 146 du 130 132 dumpe2fs 160 161 dumpkeys 183 184 e2fsck 160 161 e2image 160 161 e2label 160 161 echo 130 132 edd_id 208 209 efm_filter pl 215 217 efm_perl pl 215 217 egrep 173 173 elisp comp 153 153 elvtune 211 212 enc2xs 145 146 env 130 132 envsubst 171 171 eqn 174 175 eqn2graph 174 175 ex 215 217 expand 130 132 expect 73 74 expiry 197 199 expr 130 132 factor 130 132 faillog 197 199 false 130 132 fdformat 211 212 flock 211 212 211 212 fgconsole 183 184 fgrep 173 173 file 163 163 filefrag 160 161 find 164 164 find2perl 145 146 findfs 160 161 firmware_helper 208 209 flex 166 166 fmt 130 132 fold 130 132 frcode 164 164 free 141
98. 2 Contenido de Perl 93 Linux From Scratch Version 6 2 5 27 Sed 4 1 5 El paquete Sed contiene un editor de flujos Tiempo estimado de construcci n 0 1 SBU Espacio requerido en disco 6 1 MB 5 27 1 Instalaci n de Sed Prepara Sed para su compilaci n configure prefix tools Compila el paquete make Para comprobar los resultados ejecuta make check Instala el paquete make install Los detalles sobre este paquete se encuentran en la Secci n 6 20 2 Contenido de Sed 94 Linux From Scratch Version 6 2 5 28 Tar 1 15 1 El paquete Tar contiene un programa de archivado Tiempo estimado de construcci n 0 2 SBU Espacio requerido en disco 13 7 MB 5 28 1 Instalaci n de Tar Sio deseas ejecutar el banco de pruebas aplica el siguiente parche para corregir ciertor problemas con GCC 4 0 3 patch Npl i tar 1 15 1 gcec4_fix_tests 1 patch Prepara Tar para su compilaci n configure prefix tools Compila el paquete make Para comprobar los resultados ejecuta make check Instala el paquete make install Los detalles sobre este paquete se encuentran en la Secci n 6 53 2 Contenido de Tar 95 Linux From Scratch Version 6 2 5 29 Texinfo 4 8 El paquete Texinfo contiene programas usados para leer escribir y convertir paginas info Tiempo estimado de construcci n 0 2 SBU Espacio requerido en disco 16 3 MB 5 29 1 Instalacion de Texinfo
99. 2 libthread_db Contiene funciones tiles para construir depuradores para programas multihilo libutil Contiene c digo para funciones est ndar usadas en diferentes utilidades Unix 118 Linux From Scratch Version 6 2 6 10 Reajustar las herramientas Ahora que hemos instalado las librerfas de C finales es hora de ajustar de nuevo el conjunto de herramientas Las ajustaremos para que enlacen cualquier nuevo programa compilado contra estas nuevas librer as Este es un proceso similar al usado en la fase Ajustar al principio del Cap tulo 5 pero en sentido contario En el Cap tulo 5 el cambio iba de los directorios usr 1ib del anfitri n al nuevo directorio tools lib Ahora es guiado de tools 1ib alos directorios usr 1ib del LFS Primero haz una copia de respaldo del enlazador situado en tools y reemplazalo con el enlazador ajustado que creamos en el cap tulo 5 Tambi n crearemos un enlaze a su contraparte en tools gcc dumpmachine bin mv v tools bin fld 1d old mv v tools gcc dumpmachine bin 1d 1d old mv v tools bin ld new ld ln sv tools bin ld tools gcc dumpmachine bin ld A continuaci n corrige el fichero de especificaciones de GCC para que apunte al nuevo enlazador din mico y por tanto GCC sepa d nde encontrar sus ficheros de inicio Un comando perl lo consigue gcc dumpspecs perl p e s tools 1lib 1ld linux so 2 lib ld linux so 2 g
100. 311492d8220378fd8bf9eN e Bash 3 1 2 475 KB Pagina web http www gnu org software bash Descarga http ftp gnu org gnu bash bash 3 1 tar gz Sima MDS ef5304c4b22aaa5088972c792ed45d72 e Bash Documentation 3 1 2 013 KB Descarga http ftp gnu org gnu bash bash doc 3 1 tar gz Sima MDS a8c517c6a7b21b8b855190399c5935ae e Berkeley DB 4 4 20 7 767 KB Pagina web http dev sleepycat com Descarga http downloads sleepycat com db 4 4 20 tar gz Sama MDS d84df 288a19186b136b0daf7067ade3 e Binutils 2 16 1 12 256 KB Pagina web http sources redhat com binutils Descarga http ftp gnu org gnu binutils binutils 2 16 1 tar bz2 Sima MDS 6a9d529efb285071dad10e1f3d2b2967 e Bison 2 2 1 052 KB Pagina web http www gnu org software bison Descarga http ftp gnu org gnu bison bison 2 2 tar bz2 Sima MDS e345a5d021db850f06ce49eba78af027 e Bzip2 1 0 3 654 KB P gina web http www bzip org Descarga http www bzip org 1 0 3 bzip2 1 0 3 tar gz Sima MDS 8a716bebecb6e647d2e822 ea5d8447f e Coreutils 5 96 4 948 KB P gina web http www gnu org software coreutils Descarga http ftp gnu org gnu coreutils coreutils 5 96 tar bz2 Sama MDS b 55d069d482128fd754a090ce8b5bacff DejaGNU 1 4 4 1 056 KB Pagina web http www gnu org software dejagnu Descarga http ftp gnu org gnu dejagnu dejagnu 1 4 4 tar gz Sama MDS 053 18fd5d00873de365413cab17a666 41 Linux From Scratch Ver
101. 5 5 1 Instalaci n de Linux Libc Headers Durante a os ha sido una pr ctica com n utilizar las llamadas cabeceras crudas del n cleo extraidas de un paquete del n cleo en usr include pero en el transcurso de los ltimos a os los desarrolladores del n cleo han tomado la firme postura de que esto no debe suceder As naci el proyecto Linux Libc Headers destinado a mantener una versi n estable de la API de las cabeceras Linux Instala los ficheros de cabecera cp Rv include asm i386 tools include asm cp Rv include linux tools include Si tu arquitectura no es 1386 o compatible modifica adecuadamente el primer comando Los detalles sobre este paquete se encuentran en la Secci n 6 7 2 Contenido de Linux Libc Headers 66 Linux From Scratch Version 6 2 5 6 Glibc 2 3 6 El paquete Glibc contiene la librer a C principal Esta librer a proporciona todas las rutinas b sicas para la ubicaci n de memoria b squeda de directorios abrir y cerrar ficheros leerlos y escribirlos manejo de cadenas coincidencia de patrones aritm tica etc Tiempo estimado de construcci n 6 SBU Espacio requerido en disco 325 MB 5 6 1 Instalaci n de Glibc La documentaci n de Glibc recomienda construirlo fuera del rbol de las fuentes en un directorio de construcci n dedicado mkdir v glibc build cd glibc build Prepara Glibc para su compilaci n glibc 2 3 6 configure prefix tools disa
102. 755 convert mans usr bin Informaci n adicional sobre la compresi n de p ginas de manual e info se puede encontrar en el libro BLFS en http www linuxfromscratch org blfs view stable postlfs compressdoc html 6 45 2 P ginas de manual no inglesas en LFS Las distribuciones Linux tienen diferentes pol ticas en cuanto a la codificaci n de caract res en los que las p ginas de manual se almacenan en el sistema de ficheros Por ejemplo RedHat almacena todas las p ginas de manual en UTF 8 mientras que Debian utiliza la codificaci n espec fica del idioma generalmente en 8 bits Esto produce incompatibilidad entre los paquetes con paginas de manual dise adas por diferentes distribuciones LFS utiliza la misma pol tica que Debian Esta fu elegida porque Man DB no entiende las p ginas almacenadas en UTF 8 Y para nuestros prop sitos Man DB es preferible a Man pues funciona sin configuraciones adicionales para ninguna locale Por ltimo y a d a de hoy no existe una implementaci n con funcionalidad completa de la pol tica de RedHat Se sabe que el groff the RedHat formatea mal el texto Tabla 6 1 Codificaci n de caracteres esperada de las p ginas de manual Idioma c digo Codificaci n Dan s da ISO 8859 1 Alem n de ISO 8859 1 Ingl s en ISO 8859 1 Espafiol es ISO 8859 1 188 Idioma c digo Codificaci n Finland s f1 IS
103. 8 210 ul 211 214 umount 211 214 uname 130 134 uncompress 177 178 unexpand 130 134 unicode_start 183 184 unicode_stop 183 184 uniq 130 134 unlink 130 134 updatedb 164 165 uptime 141 141 usb_id 208 210 useradd 197 200 userdel 197 200 usermod 197 200 users 130 134 utmpdump 203 204 uuidgen 160 162 vdir 130 134 vidmode 211 214 view 215 218 vigr 197 200 vim 215 218 vim132 215 218 vim2html pl 215 218 vimdiff 215 218 vimm 215 218 vimspell sh 215 218 vimtutor 215 218 vipw 197 200 vmstat 141 141 vol_id 208 210 w 141 142 wall 203 204 watch 141 142 we 130 134 whatis 187 190 whereis 211 214 who 130 134 whoami 130 134 write 211 214 xargs 164 165 xgettext 171 172 xsubpp 145 146 Linux From Scratch Version 6 2 xtrace 112 117 xxd 215 218 yace 137 137 yes 130 134 ylwrap 153 154 zcat 177 178 zemp 177 178 zdiff 177 178 zdump 112 117 zegrep 177 178 zfgrep 177 178 zforce 177 178 zgrep 177 178 zic 112 117 zless 177 178 zmore 177 178 znew 177 178 zsoelim 187 190 Librerias ld so 112 117 libanl 112 117 libasprintf 171 172 libbfd 121 123 libblkid 160 162 libBrokenLocale 112 117 libbsd compat 112 117 libbz2 157 158 libe 112 117 libcom_err 160 162 liberypt 112 117 112 117 libcurses 138 140 libdb 128 129 l
104. C_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 54 Linux From Scratch Version 6 2 cuando dichos pogramas ya estan disponibles en el entorno del capitulo 5 Finalmente para tener el entorno preparado por completo para construir las herramientas temporales carga el perfil de usuario reci n creado source bash_profile 55 Linux From Scratch Version 6 2 4 5 Sobre los SBUs Bastante gente desea saber de antemano cuanto tiempo aproximadamente le llevar compilar e instalar cada paquete Pero Linux From Scratch puede construirse sobre muchos sistemas diferentes siendo imposible dar tiempos reales y precisos El paquete m s grande Glibc tardar unos 20 m
105. Con un repaso adicional para reducirlo se podr a llegar a 5 MB o menos Intenta eso con una distribuci n normal Esta es una de las muchas ventajas que te ofrece dise ar tu propio sistema Linux Podr amos comparar una distribuci n de Linux con una hamburguesa que compras en un restaurante de comida r pida No tienes idea de lo que te est s comiendo En cambio LFS no te da una hamburguesa sino la receta para hacer la hamburguesa Te permite revisarla eliminar los ingredientes no deseados y a adir tus propios ingredientes para mejorar el sabor de tu hamburguesa Cuando est s satisfecho con la receta entonces empiezas a prepararla Tu la cocinas de la forma que prefieres asada cocida frita o a la barbacoa Otra analog a que podemos usar es comparar a LFS con una casa terminada LFS te dar los planos de la casa pero t debes construirla Tienes libertad para adaptar los planos durante el proceso para adaptarlos a tus necesidades y preferencias Una ltima ventaja de un sistema Linux hecho a la medida es la seguridad Compilando el sistema entero a partir del c digo fuente tienes la posibilidad de supervisar todo y aplicar todos los parches de seguridad que creas que son necesarios No tienes que esperar a que alguien te proporcione un nuevo paquete binario que corrija un problema de seguridad A no ser que examines el nuevo parche y lo implantes por ti mismo no tienes garant a de que ese nuevo paquete se haya construido correctamente
106. Creacion del fichero etc fstab El fichero etc fstab lo utilizan ciertos programas para determinar d nde deben montarse los sistemas de ficheros en qu orden y cuales deben comprobarse por fallos de integridad antes de montarse Crea una nueva tabla de sistemas de ficheros parecida a esta cat gt etc fstab lt lt EOF Begin etc fstab file system mount point type options dump fsck order dev lt xxx gt lt fff gt defaults 1 1 dev lt yyy gt swap swap pris i 0 0 DOS EOC proc defaults 0 0 sysfs sys sysfs defaults 0 0 devpts dev pts devpts gid 4 mode 620 0 0 shm dev shm tmpfs defaults 0 0 End etc fstab EOF Reemplaza lt xxx gt lt yyy gt y lt gt con los valores apropiados para tu sistema por ejemplo hda2 hda5 y ext 3 Para ver todos los detalles de los seis campos de este fichero consulta man 5 fstab El punto de montaje dev shm para tmpfs se incluye para permitir la activaci n de la memoria compartida POSIX Tu n cleo debe tener compilado en su interior el soporte requerido para que funcione m s datos sobre esto en la siguiente secci n Ten en cuenta que actualmente muy poco software utiliza en realidad la memoria compartida POSIX Por tanto puedes considerar como opcional el montaje de dev shm Para m s informaci n consulta Documentation filesystems tmpfs txt en el rbol de fuentes del n cleo Los sistemas de ficheros originados en MS DOS o Windows vfat ntfs smbfs cifs
107. ENV ID_MODEL PHILIPS CDD5301 ENV ID_SERTAL 5VO1306DM00190 SYMLINK cdroml dvd EOF Nota Aunque los ejemplo de este libro funcionan correctamente ten en cuenta que Udev no reconoce la barra inversa como continuaci n de l nea Si modificas las reglas Udev con un editor asegurate de poner cada regla en una sola l nea De este modo los enlaces ser n correctos incluso si mueves los dispositivos a una posici n diferente en el bus IDE pero el enlace dev cdrom no ser creado si reemplazas el viejo CD ROM SAMSUNG por uno nuevo La llave SUBSYSTEM block es necesaria para evitar que se detecten dispositivos gen ricos SCSI Sin ella y en el caso de CD ROMs SCSI los enlaces apuntar n en ocasiones al dispositivo dev srX correcto y otras veces a dev sgX que es erroneo El segundo m todo ser a cat gt etc udev rules d 82 cdrom rules lt lt EOF Custom CD ROM symlinks SUBSYSTEMES Iblock ENVIO TvePah ed ENV ID_PATH pcei 0000 00 07 1 ide 0 1 SYMLINK cdrom SUBSYSTEM plock ENVIO TYPE cod ENV ID_PATH pci 0000 00 07 1 ide 1 1 SYMLINK cdroml dvd EOF 243 Linux From Scratch Version 6 2 De esta forma los enlaces ser n correctos incluso si sustituyes los dispositivos con modelos diferentes y los pones en la misma posici n en el bus IDE La llave ENV ID_TYPE cd
108. From Scratch Version 6 2 6 58 Sobre los simbolos de depuracion La mayor a de los programas y librer as se compilan por defecto incluyendo los s mbolos de depuraci n con la opci n g de gec Esto significa que cuando se depura un programa o librer a que fue compilado incluyendo la informaci n de depuraci n el depurador no nos da s lo las direcciones de memoria sino tambi n los nombres de las rutinas y variables Sin embargo la inclusi n de estos s mbolos de depuraci n agranda sustancialmente un programa o librer a Para tener una idea del espacio que ocupan estos s mbolos echa un vistazo a lo siguiente e Un binario bash con s mbolos de depuraci n 1200 KB e Un binario bash sin s mbolos de depuraci n 480 KB e Los ficheros de Glibc y GCC 1ib y usr 1ib con s mbolos de depuraci n 87 MB e Los ficheros de Glibc y GCC sin s mbolos de depuraci n 16 MB Los tama os pueden variar algo dependiendo del compilador y la librer a C utilizadas pero cuando comparamos programas con y sin s mbolos de depuraci n la diferencia generalmente est en una relaci n de entre 2 y 5 Como muchas personas probablemente nunca usen un depurador en su sistema eliminando estos s mbolos se puede liberar una gran cantidad de espacio del disco Para tu comodidad la siguiente secci n muestra c mo eliminar todos los s mbolos de depuraci n de los programas y librer as Puedes encontrar informaci n sobre otras formas de optimi
109. Linux From Scratch Version 6 2 Gerard Beekmans Linux From Scratch Version 6 2 por Gerard Beekmans Copyright 1999 2006 Sobre el texto original Gerard Beekmans Copyright 2002 2006 Sobre la traducci n al castellano Proyecto LFS ES Resumen Traducido por el proyecto LFS ES Versi n de la traducci n 20060804 del 4 de Agosto de 2006 Nota Esta traduccion no ha sido revisada atin y podria contener errores gramaticales o de traduccion Copyright c 2002 2006 Proyecto LFS ES El presente texto se distribuye bajo la Licencia GNU de documentaci n libre GFDL Para todo aquello no especificado en dicha licencia son de aplicaci n las condiciones de uso del documento original en el que se basa esta traducci n citadas a continuaci n Copyright c 1999 2006 Gerard Beekmans All rights reserved Redistribution and use in source and binary forms with or without modification are permitted provided that the following conditions are met e Redistributions in any form must retain the above copyright notice this list of conditions and the following disclaimer e Neither the name of Linux From Scratch nor the names of its contributors may be used to endorse or promote products derived from this material without specific prior written permission Any material derived from Linux From Scratch must contain a reference to the Linux From Scratch project THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTO
110. Linux From Scratch Versi n 6 2 Vuelca estructuras C similares a las generadas por cc g S Muestra datos de perfiles Perl Construye una extensi n Perl para el m dulo Encode a partir de cualquier Mapa de Caracteres Unicode o Ficheros de Codificaci n Tel Traduce comandos find a c digo Perl Convierte ficheros de cabecera h de C en ficheros de cabecera ph de Perl Convierte ficheros de cabecera h de C en extensiones de Perl Gui n para examinar los m dulos de Perl instalados que incluso puede crear un paquete a partir de un m dulo instalado Puede usarse para configurar libnet Combina algunas de las mejores caracter sticas de C sed awk y sh en un nico y poderoso lenguaje Enlace duro a perl Genera informes de errores sobre Perl o sobre los m dulos incorporados y los env a por correo Genera ejecutables a partir de programas Perl Muestra una parte de la documentaci n en formato pod que se incluye en el rbol de instalaci n de Perl o en un gui n de Perl El Procedimiento de Verificaci n de la Instalaci n de Perl Puede usarse para verificar que Perl y sus librer as se han instalado correctamente La versi n Perl del convertidor de codificaci n de caracteres iconv Es una herramienta que ayuda a convertir ficheros pl de Perl4 en m dulos pm de Perl5 Convierte ficheros de formato pod a formato HTML Convierte ficheros de formato pod a formato LaTeX Convierte datos pod en entradas formatead
111. MDS f b8d9f55fefl9ea5ab899437159cC9420 e Mktemp 1 5 69 KB P gina web http www mktemp org Descarga ftp ftp mktemp org pub mktemp mktemp 1 5 tar gz S ma MDS5 9a35c59502a228c6ce2be025fc6e3ff2 e Module Init Tools 3 2 2 166 KB P gina web http www kerneltools org Descarga http www kerneltools org pub downloads module init tools module init tools 3 2 2 tar bz2 S ma MDS alad0a09d3231673f70d631f3f5040e9 e Ncurses 5 5 2 260 KB P gina web http dickey his com ncurses 44 Linux From Scratch Version 6 2 Descarga ftp invisible island net ncurses ncurses 5 5 tar gz Sima MDS e73c1ac10b4bfc46db43b2ddfd6244ef e Patch 2 5 4 183 KB Pagina web http www gnu org software patch Descarga http ftp gnu org gnu patch patch 2 5 4 tar gz Sima MDS ee5ae84d115f051d87fcaaef3b4ae782 e Perl 5 8 8 9 887 KB P gina web http www perl com Descarga http ftp funet fi pub CPAN src perl 5 8 8 tar bz2 S ma MD5 a377c0c67ab43fd96 c29ce19e8382 e Procps 3 2 6 273 KB P gina web http procps sourceforge net Descarga http procps sourceforge net procps 3 2 6 tar gz S ma MDS 7ce39ea27d7b3da0e8ad74dd41d06783 e Psmisc 22 2 239 KB P gina web http psmisc sourceforge net Descarga http prdownloads sourceforge net psmisc psmisc 22 2 tar gz download S ma MDS 777370c817a40ef2c160a7194b5b64337 e Readline 5 1 1 983 KB P gina web http enswww cns cwru edu php chet readline rl
112. O 8859 1 Franc s fr ISO 8859 1 Irland s ga ISO 8859 1 Gallego gl ISO 8859 1 Indonesio id ISO 8859 1 Island s is ISO 8859 1 Italiano it ISO 8859 1 Holand s nl ISO 8859 1 Noruego no ISO 8859 1 Portug s pt ISO 8859 1 Sueco sv ISO 8859 1 Checo cs ISO 8859 2 Croata hr ISO 8859 2 Hungaro hu ISO 8859 2 Japon s ja EUC JP Coreano ko EUC KR Polaco pl ISO 8859 2 Ruso ru KOI8 R Slovaco sk ISO 8859 2 Turko tr ISO 8859 9 Nota Linux From Scratch Version 6 2 Las paginas de manual en idiomas que no se encuentren en la lista no estas soportadas Noruego no funciona ahora debido a la transici n de la locale no_NO a nb_NO y el Coreano no es funcional debido a que el parche de Groff es incompleto Si el desarrollador distribuye las p ginas de manual con la misma codificaci n que Man DB espera estas pueden copiarse a usr share man lt c digo del idioma gt Por ejemplo las p ginas de manual en Franc s http ccb club fr man man fr 1 58 0 tar b22 pueden instalarse con el siguiente comando mkdir p usr share man fr amp amp cp rv man usr share man fr Si el desarrollador distribuye las p ginas de manual en UTF 8 por ejemplo para RedHat en vez de en la codificaci n listada en la tabla anterior tendr n que convertirse de UTF 8 a la codificaci n listada antes de instalarlas Esto puede hacerse con convert mans por ejemplo las p ginas de manual en Espa ol http ditec um es p
113. RS AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT INDIRECT INCIDENTAL SPECIAL EXEMPLARY OR CONSEQUENTIAL DAMAGES INCLUDING BUT NOT LIMITED TO PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES LOSS OF USE DATA OR PROFITS OR BUSINESS INTERRUPTION HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY WHETHER IN CONTRACT STRICT LIABILITY OR TORT INCLUDING NEGLIGENCE OR OTHERWISE ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE Linux From Scratch Version 6 2 Tabla de contenidos Pr LO TO AN vii l Prefacio rd vii UEYN UKO Nea O E ERA O O viii 3 PretreqUISITOS e ds doo os le defi do ates x 4 Requisitos del sistema anfitri n adan xi 5 Tipografia cuna nd bl DATA AA O sana NA us PA AA TU a Gams seandoake xiii o AS XIV RA Ba OS AA es XV MANO GION OM os sess etch cate Se aes ice sea Shel e dees 1 Ly TMtrOUUCCION cines 2 191 C mo constru r n Sistema LES A RS 2 1 2 Qu hay de nuevo desde la ltima publicaci n 2000 0 eee ceeseeceececeeeeeceeeeeceeeeceeeeeneeeenaeeeeaas 4 LS Histonatde modi CACIONES ins AA TN an E E a T 7 E REGUISOS K call idiota SU L E AT iia 30 A 32 11 Preparativos para la COMSUUCCION rinitis 35 2 Preparar u a nueva PATO A A E a incida 36 Dl s Introduci n
114. Ra 80 A A E acto 81 iii Linux From Scratch Version 6 2 5 15 BZP 0 cic proa ea ATE DATA DI DE DA DATA UE A ITS nese enna hawt es 82 5 16 Core tils 5 A EN 83 5 17 Diffutils 2 8 Las 84 5 18 SVT 610 SA2 2T et AE EE o A TE E AR E E E e E ee 85 5 19 GAWKEI O ali dis 86 UD MTS UU O 87 5 217 Gr 5 La its 88 3 22 GAP EI I a O O 89 9 23 MELA e A S 90 N24 Make GO Sas UI idas 91 3 20 Patch diia ib 92 9 2O PETO 9 Aa ae NSE ee eR nme aE eo eID PMR E 93 A ADA ESTA AT E A EE E E EE ahagieoareau adem sees Da etal 94 SOA oie Wah DA bu ral A E IS EA EA ee ee eT RE E A 95 5 29 Texinfo 4 g A A A TI TA E EAE o EAA E AS EAEE AE KE aR 96 5 30 WT TIM AER 97 5 31 Eliminaci n de SIMDOLOS ir a E E e E a EE NS 98 5 32 Cambio del Pr pietai onesie a E E E E GORE 99 TIT Construcci n del sistema LES msn iii dd iiia E E e EE lost a iiaa e aoi 100 6 Instalaci n de los programas del sistema base ssssseeeeseseseseesseseresesseserssressesstssresseseresreesersresees 101 OL INtrodAUCCI N iha aint 101 6 2 Preparar los sistemas de ficheros virtuales del n cleo oooconnccnnnccnonacooncnoncnoncnonancnoncnnccnnnos 102 6 3 Adiministraci n de Paquetes cuidad tddi aida 103 6A Entrar al Entorno Chroot aaieiesisalasch ten ed AA NS ATA dA OIA searadeaed ec a pe aes 106 6 5 Creaci n de LOS directorios a AA riada 107 6 6 Creaci n de ficheros y enlaces simb licos esenciales oooonocccnoncccnonccinonccononccononccnnnnccnnnnnss 108 6 7 Einux L
115. Se sabe que Zlib construye incorrectamente sus librer as si en el entorno se ha especificado un CFLAGS Si est s usando tu propia variable CFLAGS aseg rate de a adirle la directiva fPIC durante el siguiente comando de configuraci n y elim nala posteriormente Prepara Zlib para su compilaci n configure prefix usr shared libdir lib Compila el paquete make Para comprobar los resultados ejecuta make check Instala la librer a compartida make install El comando anterior instalo un fichero so en lib Eliminalo y reenlazalo a usr lib rm v lib libz so ln sfv lib libz so 1 2 3 usr lib libz so Construye la librer a est tica make clean configure prefix usr make Para obtener de nuevo los resultados de las pruebas ejecuta make check Instala la librer a est tica make install Corrige los permisos de la librer a est tica chmod v 644 usr lib libz a 6 24 2 Contenido de Zlib Librer as instaladas libz a so Descripci n corta 149 Linux From Scratch Version 6 2 libz Contiene funciones de compresi n y descompresi n usadas por algunos programas 150 Linux From Scratch Version 6 2 6 25 Autoconf 2 59 El paquete Autoconf contiene programas para generar guiones del int rprete de comandos que pueden configurar autom ticamente el c digo fuente Tiempo estimado de construcci n less than 0 1 SBU Espacio requerido en disco 7 2 MB 6 25 1 Instalac
116. StartX SP2 e Mark Stone por donar Belgarath el servidor linuxfromscratch org 268 Linux From Scratch Version 6 2 Apendice C Dependencias Todo paquete construido en LFS depende de otros paquetes para poder construirse e instalarse correctamente Algunos paquetes incluso participan en dependencias circulares esto es el primer paquete depende del segudo que a su vez depende del primero Debido a estas dependencias el orden en el cual se construyen los paquetes de LFS es muy importante El proposito de esta p gina es documentar las dependencias de cada paquete construido en LFS Para cada paquete que construimos tenemos listadas tres tipos de dependencias La primera lista qu otros paquetes deben estar disponibles para compilar e instalar el paquete en cuestion La segunda lista qu paquetes en adici n a los de la primera lista deben estar disponibles para ejecutar los bancos de pruebas La ltima lista de dependencias son paquetes que necesitan que este paquete sea construido e instalado en su localizaci n final antes de que ellos sean construidos e instalados En muchos casos esto se debe a que dichos paquetes incluir n rutas completas a los binarios dentro de sus guiones Si no se construyen en un cierto orden esto podr a provocar que rutas del tipo tools bin binario sean a adidas dentro de los guiones instalados en el sistema final Esto obviamente no es deseable Autoconf Para su instalaci n depende de Bash Cor
117. T ping Env a paquetes de petici n de eco e informa cu nto tardan las respuestas rcp Copia ficheros de forma remota rlogin Realiza entradas remotas a un sistema rsh Ejecuta un int rprete de comandos remoto talk Permite hablar con otro usuario telnet Una interfaz de usuario para el protocolo TELNET tftp Un programa para la transferencia trivial de ficheros 180 Linux From Scratch Version 6 2 6 41 IPRoute2 2 6 16 060323 El paquete IPRoute2 contiene programas para el trabajo b sico y avanzado en redes basadas en IPV4 Tiempo estimado de construcci n 0 2 SBU Espacio requerido en disco 4 8 MB 6 41 1 Instalaci n de IPRoute2 Compila el paquete make SBINDIR sbin Significado de la opci n de make SBINDIR sbin Esto asegura que los binarios de IPRoute2 se instalar n en sbin Esta es la localizaci n correcta seg n el FHS pues algunos de los binarios de IPRoute2 se utilizan en los guiones de arranque Este paquete no incluye un banco de pruebas Instala el paquete make SBINDIR sbin install El binario arpd se enlaza contra las librer as Berkeley DB que residen en usr y utiliza una base de datos en var lib arpd arpd db Por tanto seg in el FHS debe estar en usr sbin Muevelo all mv v sbin arpd usr sbin 6 41 2 Contenido de IPRoute2 Programas instalados arpd ctstat link to Instat ifcfg ifstat ip Instat nstat routef routel rtacct rtmon rtpr rtstat enlace a Instat s
118. X Window de sesiones ssh o de una consola serie 234 Linux From Scratch Version 6 2 7 7 Configuracion del guion sysklogd El gui n sysklogd invoca al programa syslogd con la opci n m 0 Esta opci n deshabilita la marca de tiempo peri dica que syslogd escribe por defecto en el fichero de registro cada 20 minutos Para habilitar esta marca de tiempo peri dica edita el gui n sysklogd y realiza los cambios necesarios Para m s informaci n mira man syslogd 235 Linux From Scratch Version 6 2 7 8 Crear el fichero etc inputrc El fichero etc inputrc se ocupa del mapeado del teclado para situaciones concretas Este fichero es el fichero de inicio usado por Readline la librer a para cuestiones de entrada usada por Bash y otros int rpretes de comandos Generalmente los usuarios no necesitan mapeados espec ficos del teclado por lo que el siguiente comando crea un etc inputrc global usado por todo el que ingrese en el sistema Si m s tarde decides que necesitas modificarlo para cada usuario puedes crear un fichero input rc en el directorio del usuario con el mapeado modificado Para m s informaci n sobre c mo editar el fichero inputrc mira info bash secci n Readline Init File Fichero de Inicio de Readline info readline es tambi n una buena fuente de informaci n A continuaci n hay un etc inputrc global gen rico con comentarios para explicar lo que hace cada opci n Advierte que los comentarios no puede
119. _prefix_spec jhuntwork Remove a spurious i from the perl command when readjusting the toolchain Thanks Dan Nicholson January 26 2006 jhuntwork Modify chapter 6 Glibc s make install command to allow test installation pl to run huntwork Adjust chapter 5 binutils to build a static 1Id new for use in the chapter 6 readjusting section Also add some extended sanity checks These fixes are adapted from DIY Linux and Greg Schafer Thanks to Dan Nicholson for the report as well huntwork Added nodump to commands in the Package Management section January 25 2006 jhuntwork Remove ppc specific instructions from chapter 6 patch Cross LFS can handle non x86 arch specifics at this point jhuntwork Fix chapter 6 Glibc s test installation pl to test the correct Glibc Fixes bug 1675 Thanks to Dan Nicholson for the report and Greg Schafer for the fix jhuntwork Fixed the re adjusting of the toolchain in chapter 6 so that chapter 6 GCC and Binutils links against the proper Glibc and so that we don t have to keep the binutils directories from chapter 5 Also moved a note about saving the tools directory to the beginning of chapter 6 Fixes bug 1677 Thanks to Chris Staub Alexander Patrakov Greg Schafer and Tushar Teredesai for reporting and resolving this issue matthew Upgrade coreutils 118n patch to version 2 to fix sort n and add the en_US UTF 8 locale to improve coreutils test coverage Fixes bug
120. _tests 1 patch Tar tiene un problema cuando se utiliza la opci n S con ficheros mayores de 4 GB El siguiente parche corrige adecuadamente este problema patch Npl i tar 1 15 1 sparse _fix 1 patch Las versiones recientes de Tar son vulnerables a una sobrecarga de memoria procedente de archivos especialmente manipulados El siguiente parche soluciona esto patch Npl i tar 1 15 1 security fixes 1 patch Prepara Tar para su compilaci n configure prefix usr bindir bin libexecdir usr sbin Compila el paquete make Para comprobar los resultados ejecuta make check Instala el paquete make install 6 53 2 Contenido de Tar Programas instalados rmt y tar Descripciones cortas rmt Manipula remotamente una unidad de cinta magn tica mediante una comunicaci n de conexi n entre procesos tar Crea extrae ficheros y lista el contenido de un archivo tambi n conocido como paquete tar tarball 205 Linux From Scratch Version 6 2 6 54 Texinfo 4 8 El paquete Texinfo contiene programas usados para leer escribir y convertir paginas info Tiempo estimado de construcci n 0 2 SBU Espacio requerido en disco 16 6 MB 6 54 1 Instalacion de Texinfo El programa info asume que una cadena ocupa el mismo n mero de celdas de caracter en la pantalla que bytes en memoria y que se puede cortar una cade por cualquier parte lo que no es cierto con locales basadas en UTF 8 El siguiente parche lo solventa al hacer
121. a Glibc compilada con dicho soporte no funcionar correctamente Durante esta fase puede que veas el siguiente mensaje de aviso configure WARNING These auxiliary programs are missing or incompatible versions msgfmt some features will be disabled xxx Check the INSTALL file for required versions COn USRA O Versi n incompatible o ausente de estos programas auxiliares msgfmt algunas Caracter sticas ser n desactivadas Comprueba en el fichero INSTALL las versiones requeridas Normalmente la ausencia o incompatibilidad del programa msgfmt es inofensiva pero se cree que en ocasiones puede causar problemas al ejecutar el banco de pruebas El programa msgfmt es parte del paquete Gettext y deber a proporcionarlo el sistema anfitri n Si msgfmt est presente pero es incompatible actualiza el paquete Gettext del sistema anfitri n o contin a sin l y observa si los bancos de pruebas se ejecutan sin problemas Compila el paquete make La compilaci n est completa Como se mencion antes no es obligatorio ejecutar los bancos de pruebas de las herramientas temporales en este cap tulo Si de todas formas deseas ejecutar el banco de pruebas de Glibc hazlo con el siguiente comando make check Consulta en la Secci n 6 9 Glibc 2 3 6 la explicaci n de los fallos de las pruebas que tienen una particular importancia En este cap tulo algunas pruebas pueden verse afectadas
122. a aplicando el siguiente parche para permitir una mejor detecci n de los dispositivos corregir algunos problemas con GCC 4 x y proporcionar un mejor soporte para algunos controladores de disco SATA patch Np1 i grub 0 97 disk_geometry 1 patch Prepara GRUB para su compilaci n configure prefix usr Compila el paquete make Para comprobar los resultados ejecuta make check Instala el paquete make install mkdir v boot grub cp v usr 1lib grub i386 pc stage 1 2 boot grub Sustituye i386 pc por el directorio apropiado para tu hardware El directorio i386 pc contiene tambi n una serie de ficheros stagel_5 para diferentes sistemas de ficheros Mira los disponibles y copia el apropiado al directorio boot grub La mayor a copiareis el fichero e2fs_stagel_5 y o reiserfs_stagel_5 6 34 2 Contenido de GRUB Programas instalados grub grub install grub md5 crypt grub set default grub terminfo y mbchk Descripciones cortas grub El int rprete de comandos del GRand Unified Bootloader Gran Gestor de Arranque Unificado grub install Instala GRUB en el dispositivo indicado grub md5 crypt Encripta una contrase a en formato MDS grub set default Establece la entrada de arranque por defecto para GRUB 167 Linux From Scratch Version 6 2 grub terminfo Genera un comando terminfo a partir de un nombre terminfo Puede utilizarse si tienes un terminal poco com n mbchk Comprueba el formato de un n cleo
123. a la salida de gcc dentro de ficheros objeto Es usado por el enlazador para decodificar s mbolos de C y Java guardando las funciones sobrecargadas para su clasificaci n Muestra los datos del perfil del gr fico de llamada Un enlazador que combina un n mero de ficheros objeto y de archivos en un nico fichero reubicando sus datos y estableciendo las referencias a los s mbolos Lista los s mbolos que aparecen en un fichero objeto dado Traduce un tipo de ficheros objeto a otro Muestra informaci n sobre el fichero objeto indicado con opciones para controlar la informaci n a mostrar La informaci n mostrada es til fundamentalmente para los programadores que trabajan sobre las herramientas de compilaci n Genera un ndice de los contenidos de un archivo y lo coloca en el archivo El ndice lista cada s mbolo definido por los miembros del archivo que son ficheros objeto reubicables Muestra informaci n sobre binarios de tipo ELF Lista los tama os de las secciones y el tama o total para los ficheros objeto indicados Muestra para cada fichero indicado las cadenas de caracteres imprimibles de al menos la longitud especificada 4 por defecto Para los ficheros objeto muestra por defecto s lo las cadenas procedentes de las secciones de inicializaci n y carga Para otros tipos de ficheros explora el fichero al completo Elimina s mbolos de ficheros objeto Contiene rutinas usadas por varios programas GNU inclu
124. a las fuentes de Man DB El primero cambia la localizaci n de las p ginas de manual traducidas que vienen con Man DB para poder acceder a ellas tanto con locales tradicionales como UTF 8 mv man de _DE 88591 amp amp mv man es _ES 88591 amp amp mv man it _IT 88591 amp amp mv man ja _JP eucJP amp amp sed i s _ man Makefile in El segundo cambio es una sustituci n sed para borrar las l neas usr man del fichero man_db conf para evitar resultados duplicados cuando se utilizan programas como whatis sed i t usr man d src man db conf in El tercer cambio tiene en cuenta programas que Man DB deber a ser capaz de encontrar en tiempo de ejecuci n pero que no han sido instalados a n cat gt gt include manconfig h in lt lt EOF fdefine WEB_BROWSER exec usr bin lynx FOIE LING COL use ola eo 1 define VGRIND usr bin vgrind define GRAP usr bin grap EOF El programa col es parte del paquete Util linux lynx es un navegador web en modo texto mira en BLFS las instrucciones de instalaci n vgrind convierte fuentes de programas a entrada Groff y grap es til para la inclusi n de gr ficos en documentos Groff Los programas vgrind y grap no son necesarios normalmente para ver p ginas de manual No son parte de LFS o BLES pero deber as ser capaz de instalarlos por ti mismo tras finalizar el LFS si as lo deseas Prepara Man DB para su compilaci n configure pr
125. a tambi n usr include de la ruta de busqueda de cabeceras de GCC Parchear ahora en vez de modificar el fichero de especificaciones tras la instalaci n asegura que el nuevo enlazador din mico es usado durante la construcci n actual de GCC Esto es todos los binarios creados se enlazar n contra la nueva Glibc O Importante El parche anterior es imprescindible para asegurar una correcta construcci n No olvides aplicarlo Vuelve a crear un directorio de construcci n dedicado mkdir v gcc build cd gcc build Prepara GCC para su compilaci n gcc 4 0 3 configure prefix tools with local prefix tools enable clocale gnu enable shared enable threads posix enable __cxa_atexit enable languages c c disable libstdcxx pch Significado de las nuevas opciones de configure enable clocale gnu Esta opci n asegura que se seleccione el modelo de locale correcto para las librer as de C en todos los casos Si el gui n configure encuentra instalada la locale de DE seleccionar el modelo correcto de gnu Sin embargo las personas que no instalan la locale de_DE pueden correr el riesgo de construir librer as de C incompatibles en la ABI debido a que se selecciona el modelo de locale gen rico que es incorrecto enable threads posix Esto activa el manejo de excepciones C para c digo multihilo enable __cxa_atexit Esta opci n permite el uso de __cxa_atexit en vez de atexit para reg
126. a un sistema de ficheros bfs de SCO Operaciones Santa Cruz Crea un sistema de ficheros Cramfs Crea un sistema de ficheros Minix Inicializa el dispositivo o fichero indicado para usarlo como rea de intercambio swap Un filtro para paginar texto pantalla a pantalla Monta el sistema de ficheros de un dispositivo dado en el directorio indicado del rbol de ficheros del sistema Muestra los enlaces simb licos en la ruta de nombres indicada Muestra un fichero de texto a pantalla completa Hace que el sistema de ficheros indicado sea el ra z del proceso actual Se usa para establecer el tama o del disco RAM en una imagen de arranque Utilizado para enlazar un dispositivo Linux de caracteres directo a un dispositivo de bloque Muestra y establece el dispositivo ra z entre otras cosas en una imagen de arranque Lee la informaci n sobre perfiles del n cleo Renombra ficheros sustituyendo la cadena indicada con otra Altera la prioridad de los procesos en ejecuci n Invierte el orden de las l neas de un fichero Se usa para establecer las opciones de partici n ra z en una imagen de arranque Hace un gui n a partir de una sesi n de terminal Establece los par metros facilitados por el usuario para los disquetes Lanza programas en una nueva sesi n Establece los par metros del terminal Un manipulador de la tabla de particiones del disco Desactiva los dispositivos y ficheros de paginaci n e intercambio Act
127. aci n del gui n network o iii 245 8 Hacer el sistema LFS arrancable mirta iaa sesacs snn aca PATA AA 249 A sb viene A iss lt i ane non oe pu E eS 249 8 2 Creaci n del Tichero JELe SCAB it io ra 250 A E ae 252 8 4 Hacer el sistema LES arrancable ijiiisscscssciasaskidivesvectaateaceesescaveanscoudeatossneceasndelee segsecnaaescacense 255 OS BUT aaen Satoh TADO cradle Snot Sado ASA eaten TOLOS EUROS AA tl aN SAS DER INN OR ABA OO 257 E BA AS ELE DE O 257 DZ REGIS PALS O 258 9 3 REIMICIO del SISTEMA id ic E ET EE 259 SAGA ahora QUE A Ns 260 Linux From Scratch Version 6 2 A E A DIA DUN DAL TA D A AI EDU Dae E E A EDS 261 AS ACL DUNOS y A TIMINO Sas aa O tolero 262 B Agradecumientos seoser lasicavanasdaaieiasbasavapavasas ETA T AA IC E R 265 E Dependencias Gn A alesis OO RE SUS N 269 A estat AA A AS E DOS 277 vi Linux From Scratch Version 6 2 Prologo 1 Prefacio Mis aventuras con Linux empezaron en 1998 cuando descargu e instal mi primera distribuci n Tras trabajar cierto tiempo con ella descubr algunos aspectos que definitivamente quer a ver mejorados Por ejemplo no me gustaba la forma en la que estaban organizados los guiones de arranque Intent con otras distribuciones para solventar estos detalles pero todas ten an sus ventajas e inconvenientes Llegu a darme cuenta de que si quer a estar completamente satisfecho con el sistema Linux ten a que construir el m o propio desde cero Qu signi
128. ad usando gcc en vez de ec Si esto funciona significa que falta el enlace simb lico tools bin cc Vuelve a la Secci n 5 4 GCC 4 0 3 Fase 1 e instala el enlace simb lico Seguidamente aseg rate de que tu PATH es correcto Puedes comprobarlo ejecutando echo PATH y verificando que tools bin est en cabeza de la lista Si el PATH est mal puede significar que no has ingresado como usuario 1fs o que algo sali mal en la Secci n 4 4 Configuraci n del entorno Otra opci n es que algo pudo ir mal en el anterior arreglo del fichero specs En este caso repite el arreglo del fichero Cuando todo est bien borra los ficheros de prueba rm v dummy c a out Nota La construcci n de TCL en la siguiente secci n servir como comprobaci n adicional de que las herramientas se han construido correctamente Si la construcci n de TCL falla esto es una indicaci n de que algo fu mal durante la instalaci n de Binutils GCC o Glibc pero no con el propio TCL 71 Linux From Scratch Version 6 2 5 8 Tcl 8 4 13 El paquete Tcl contiene el Tool Command Language Lenguaje para Herramientas de Comandos Tiempo estimado de construcci n 0 3 SBU Espacio requerido en disco 24 MB 5 8 1 Instalaci n de Tcl Este paquete y los dos siguientes Expect y DejaGNU se instalan con el nico prop sito de poder ejecutar los bancos de pruebas de GCC y Binutils Instalar tres paquetes s lo para realizar comprobaciones puede par
129. adas por diversos programas de Gettext No es indicada para uso general 172 Linux From Scratch Version 6 2 6 37 Grep 2 5 1a El paquete Grep contiene programas para buscar dentro de ficheros Tiempo estimado de construcci n 0 1 SBU Espacio requerido en disco 4 8 MB 6 37 1 Instalaci n de Grep El paquete Grep actual contiene muchos errores sobre todo en el soporte de locales multibyte RedHat corrige algunos de ellos con el siguiente parche patch Npl i grep 2 5 la redhat_fixes 2 patch Para poder real izar las pruebas a adidas por dicho parche deben cambiarse los permisos del fichero de pruebas chmod x tests fmbtest sh Prepara Grep para su compilaci n configure prefix usr bindir bin Compila el paquete make Para comprobar los resultados ejecuta make check Instala el paquete make install 6 37 2 Contenido de Grep Programas instalados egrep enlace a grep fgrep enlace a grep y grep Descripciones cortas egrep Muestra las l neas que coincidan con una expresi n regular extendida fgrep Muestra las l neas que coincidan con una lista de cadenas fijas grep Muestra las l neas que coincidan con una expresi n regular b sica 173 Linux From Scratch Version 6 2 6 38 Groff 1 18 1 1 El paquete Groff contiene programas para procesar y formatear texto Tiempo estimado de construcci n 0 4 SBU Espacio requerido en disco 39 2 MB 6 38 1 Instalacion de Groff Aplica el
130. alizaci n a nuevas versiones cuando estas son liberadas Generalmente se pueden usar las instrucciones de los libros LFS y BLFS para actualizar a la nueva versi n A continuaci n hay algunos puntos que debes tener en cuenta cuando actualices paquetes especialmente en sistemas en ejecuci n e Si necesitas actualizar uno de los paquetes de las herramientas principales Glibc GCC o Binutils a una nueva versi n menor es m s seguro reconstruir el LFS Aunque podr as ser capaz de reconstruir todos los paquetes en su orden de dependencias no lo recomendamos Por ejemplo si necesitas actualizar de glibc 2 2 x a glibc 2 3 x es m s seguro reconstruir Para actualizaciones de micro versi n una simple reinstalaci n funciona normalmente pero no est garantizado Por ejemplo actualizar de glibc 2 3 4 a glibc 2 3 5 no suele causar problemas e Si se actualiza un paquete que contiene una librer a compartida y si el nombre de la librer a cambia entonces necesitas recompilar todos los paquetes enlazados din micamente a esa librer a para que se enlacen contra la nueva Advierte que no hay correlaci n entre la versi n del paquete y el nombre de la librer a Por ejemplo considera un paquete foo 1 2 3 que instala una librer a compartida con el nombre libfoo so 1 Digamos que actualizas el paquete a la nueva versi n foo 1 2 4 que instala una librer a compartida de nombre 1ibfoo so 2 En este caso todos los paquetes que est n enlazados din
131. an make C ld LIB PATH usr lib lib cp v ld ld new tools bin Los detalles sobre este paquete se encuentran en la Secci n 6 11 2 Contenido de Binutils 79 Linux From Scratch Version 6 2 5 13 Ncurses 5 5 El paquete Ncurses contiene librer as para el manejo de pantallas de caracteres independiente del terminal Tiempo estimado de construcci n 0 7 SBU Espacio requerido en disco 30 MB 5 13 1 Instalaci n de Ncurses Prepara Ncurses para su compilaci n configure prefix tools with shared without debug without ada enable overwrite Significado de las opciones de configure without ada Esto asegura que Ncurses no construya su soporte para el compilador Ada que puede estar presente en el anfitri n pero que no estar disponible al entrar en el entorno chroot enable overwrite Esto le indica a Ncurses que instale sus ficheros de cabecera en tools include en vez de en tools include ncurses para asegurar que otros paquetes puedan encontrar sin problemas las cabeceras de Ncurses Compila el paquete make Este paquete no incluye un banco de pruebas Instala el paquete make install Los detalles sobre este paquete se encuentran en la Secci n 6 18 2 Contenido de Ncurses 80 Linux From Scratch Version 6 2 5 14 Bash 3 1 El paquete Bash contiene la Bourne A gain SHell Tiempo estimado de construcci n 0 4 SBU Espacio requerido en disco 22 MB 5 14 1 Instalaci n
132. an instalado todos los programas es hora de reiniciar el ordenador Sin embargo debes tener en cuenta varias cosas El sistema que has creado en este libro es bastante reducido y muy posiblemente no tenga la funcionalidad que podrias necesitar para seguir adelante Instalar varios paquetes adicionales del libro BLFS mientras a n est s en el entorno chroot te dejar en una mejor posici n para continuar una vez que reinicies tu nueva instalaci n LFS Al instalar un navegador web en modo texto como Lynx podr s facilmente ver el libro BLFS en una terminal mientras compilas los paquetes en otra El paquete GPM te permitir copiar y pegar en tu terminal virtual Por ltimo si est s en una situaci n en la que una configuraci n de IP est tica no cubre los requisitos de tu red instalar ahora paquetes como Dhcpcd o PPP es tambi n til Una vez dicho esto vayamos a arrancar nuestra nueva instalaci n de LFS por primera vez Primero sal del entorno chroot logout Desmonta los sistemas de ficheros virtuales umount v LFS dev pts umount v LFS dev shm umount v LFS dev umount v LFS proc umount v LFS sys Desmonta el sistema de ficheros del LFS umount v SLFS Si creaste varias particiones desmonta las otras particiones antes de desmontar la principal por ejemplo umount v LFS usr umount v LFS home umount v LFS Ahora reinicia el sistema con shutdown r now Asumiendo que el gestor de arranque GRUB fue configu
133. ando pwconv 198 Linux From Scratch Version 6 2 Para habilitar las contrasefias de grupo ocultas ejecuta grpconv 6 50 3 Establecer la contrasena de root Elige una contrasefia para el usuario root y establ cela mediante passwd root 6 50 4 Contenido de Shadow Programas instalados chage chfn chgpasswd chpasswd chsh expiry faillog gpasswd groupadd groupdel groupmod grpck grpconv grpunconv lastlog login logoutd newgrp newusers nologin passwd pwck pwconv pwunconv sg enlace a newgrp su useradd userdel usermod vigr enlace a vipw y VIpw Librer as instaladas libshadow a so Descripciones cortas chage chfn chgpasswd chpasswd chsh expiry faillog gpasswd groupadd groupdel groupmod grpck grpconv grpunconv lastlog login logoutd newgrp newusers nologin Se usa para cambiar el n mero m ximo de d as entre cambios obligatorios de contrase a Se usa para cambiar el nombre completo de un usuario y otra informaci n Utilizado para actualizar lotes de contrase as de grupos Utilizado para actualizar lotes de contrase as de usuarios Cambia el int rprete de comandos por defecto que se ejecuta cuando el usuario entra al sistema Comprueba y refuerza la pol tica actual de expiraci n de contrase as Sirve para examinar el contenido del registro de ingresos fallidos al sistema establecer un m ximo de fallos para bloquear una cuenta de usuario y reiniciar el
134. aplicaciones para funciones relacionadas con bases de datos Tiempo estimado de construcci n 1 2 SBU Espacio requerido en disco 77 MB i Otras posibilidades de instalaci n En el libro BLFS hay instrucciones para construir este paquete si necesitas construir el servidor RPC o enlaces de lenguaje adicionales Los enlaces de lenguaje adicionales requieren paquetes adicionales Las instrucciones de instalaci n sugeridas por BLFS se encuentran en http www linuxfromscratch org blfs view svn server databases htmi db Igualmente GDBM podr a usarse en vez de Berkeley DB para satisfacer a Man DB Sin embarge como Berkeley DB est considerado como parte integrante de la construcci n del LFS este no ser listado como dependencia para ning n paquete del libro BLFS Del mismo modo se han dedicado muchas horas para probar LFS con Berkeley DB instalado no con GDBM Si comprendes por completo los riesgos y los beneficios de usar GDBM y de todas formas deseas usarlo consulta las instrucciones del BLFS que se encuentran en http www linuxfromscratch org blfs view svn general gdbm html 6 13 1 Instalaci n de Berkeley DB Parchea el paquete para prevenis fallos potenciales patch Np1 i db 4 4 20 fixes 1 patch Prepara Berkeley DB para su compilaci n cd build unix dist configure prefix usr enable compat185 enable cxx Significado de las opciones de configure enable compat185 Esta opci n activa la construcci n d
135. ar continuamente el estado de los dispositivos direcciones y rutas Proporciona estad sticas de redes Linux Es un sustituto generalista y con caracter sticas m s completas para el antiguo programa rtstat Muestra las estad sticas de la red Un componente de ip route Este es para refrescar las tablas de enrutado Un componente de ip route Este es para listar las tablas de enrutado Muestra el contenido de proc net rt_acct Utilidad para la monitorizaci n de rutas Convierte la salida de ip o a un formato legible Utilidad para el estado de rutas Similar al comando netstat Muestra las conexiones activas Ejecutable para el control del tr fico Este es para las implementaciones Quality Of Service QOS Calidad de Servicio y Class Of Service COS Clase de Servicio te qdisc permite a los usuarios establecer la disciplina de colas tc class permite a los usuarios establecer clases basadas en la planificaci n de las disciplinas de colas tc estimator permite a los usuarios hacer una estimac n del flujo de red en una red te filter permite a los usuarios establecer el filtrado de paquetes QOS COS tc policy permite a los usuarios establecer las pol ticas QOS COS 182 Linux From Scratch Version 6 2 6 42 Kbd 1 12 El paquete Kbd contiene ficheros de mapas de teclado y utilidades para el teclado Tiempo estimado de construcci n less than 0 1 SBU Espacio requerido en disco 12 3 MB 6 42 1 Instalaci n de Kb
136. ar de enlazar es para cubrir el caso en el que usr est en otra partici n Esto puede ser importante cuando se arranca en modo de usuario nico 6 9 3 Configuraci n del cargador din mico Por defecto el cargador din mico 1ib 1d 1inux so 2 busca en 1ib y usr 1ib las librer as din micas que necesitan los programas cuando los ejecutas No obstante si hay librer as en otros directorios que no sean lib y usr 1ib necesitas a adirlos al fichero de configuraci n etc 1d so conf para que el cargador din mico pueda encontrarlas Dos directorios t picos que contienen librer as adicionales son usr local lib y opt lib as que a adimos estos directorios a la ruta de b squeda del cargador din mico Crea un nuevo fichero etc 1d so conf ejecutando lo siguiente cat gt etc ld so conf lt lt EOF i Begin Ste oso cons fasie loeai_ Lila Opts lib Hime o ld SO Comic 115 Linux From Scratch Version 6 2 EOF 6 9 4 Contenido de Glibc Programas instalados catchsegv gencat getconf getent iconv iconvconfig ldconfig Idd Iddlibc4 locale localedef mtrace nscd nscd_nischeck pcprofiledump pt_chown rpcgen rpcinfo sln sprof tzselect xtrace zdump y zic Librer as instaladas ld so libBrokenLocale a so libSegFault so libanl a so libbsd compat a libc a so libcidn so libcrypt fa soj libdl a so libg a libieee a libm a so libmcheck a libmemusage so libnsl a libnss_co
137. ara redimensionar sistemas de ficheros ext 2 Ajusta los par metros de un sistema de ficheros ext 2 Crea un nuevo UUID Cada nuevo UUID puede considerarse razonablemente nico por muchos UUID que se hayan creado en el sistema local o en otros sistemas en el pasado o en el futuro Contiene rutinas para la identificaci n de dispositivos y extracci n de marcas Rutina para mostrar errores comunes Usada por dumpe2fs chattr y Isattr Contiene rutinas para permitir a los programas de nivel de usuario manipular un sistema de ficheros ext 2 Usada por debugfs Contiene rutinas para generar identificadores nicos para objetos que pueden estar accesibles m s all del sistema local 162 Linux From Scratch Version 6 2 6 31 File 4 17 El paquete File contiene una utilidad para determinar el tipo de los ficheros Tiempo estimado de construcci n 0 1 SBU Espacio requerido en disco 7 5 MB 6 31 1 Instalacion de File Prepara File para su compilaci n configure prefix usr Compila el paquete make Este paquete no incluye un banco de pruebas Instala el paquete make install 6 31 2 Contenido de File Programa instalado file Librer as instaladas libmagic a so Descripciones cortas file Intenta clasificar los ficheros indicados Lo hace realizando varias pruebas pruebas de sistemas de ficheros pruebas de n meros m gicos y pruebas de lenguajes libmagic Contiene rutinas para reconocimiento de n
138. artir de etc shadow borrando este ltimo Ejecuta un comando dado estableciendo el GID del usuario al del grupo indicado Ejecuta un int rprete de comandos sustituyendo los identificadores de usuario y grupo Crea un nuevo usuario con el nombre especificado o actualiza la informaci n por defecto de un nuevo usuario Borra la cuenta de usuario indicada Modifica el nombre identificador UID int rprete de comandos grupo inicial directorio personal etc del usuario indicado Edita los ficheros etc group o etc gshadow Edita los ficheros etc passwd o etc shadow Contiene funciones usadas por la mayor a de los programas de este paquete 200 Linux From Scratch Version 6 2 6 51 Sysklogd 1 4 1 El paquete Sysklogd contiene programas para registrar los mensajes del sistema como aquellos generados por el nucleo cuando sucede algo inusual Tiempo estimado de construcci n less than 0 1 SBU Espacio requerido en disco 0 6 MB 6 51 1 Instalaci n de Sysklogd El siguiente parche corrige varios problemas uncluido un problema cuando se construye Sysklogd con los n cleos de las series Linux 2 6 patch Npl i sysklogd 1 4 1 fixes 1 patch El siguiente parche hace que Sysklogd trate los bytes en el rango Ox80 0x9f literalmente en vez de reemplazarlos con los c digos octales en los mensajes que se registran Si no se parchea Sysklogd podr an da arse los mensajes con codificaci n UTF 8 patch Npl i s
139. as roff Convierte datos pod en texto formateado ASCII Muestra mensajes de uso a partir de documentos pod incluidos en ficheros Comprueba la sintaxis de los ficheros de documentaci n en formato pod Muestra las secciones elegidas de la documentaci n pod Una versi n Perl del editor de flujo sed Vuelca estructuras C similares a las generadas por cc g S Traduce guiones de sed a Perl Se usa para forzar diagn sticos de avisos exhaustivos en Perl Convierte el c digo XS de Perl en c digo C 146 Linux From Scratch Version 6 2 6 23 Readline 5 1 El paquete Readline contiene un conjunto de librer as que ofrecen edici n de la l nea de comandos y capacidades de historial Tiempo estimado de construcci n 0 1 SBU Espacio requerido en disco 10 2 MB 6 23 1 Instalaci n de Readline Los desarrolladores han corregido diversos problemas desde la liberaci n inicial de Readline 5 1 Aplica dichas correcciones patch Npl i readline 5 1 fixes 3 patch Una reinstalaci n Readline provacar a que las antiguas librer as fuesen movidas a lt nombre_librer a gt old Aunque normalmente esto no es un problema en algunos casos puede sacar a la luz un fallo de enlazado de Idconfig Esto puede evitarse ejecutando las dos siguientes sustituciones sed i MV old d Makefile in sed i OLDSUFF c support shlib install Prepara Readline para su compilaci n configure prefix usr libdir 1lib Compila el paque
140. asegurarse de que las operaciones b sicas compilaci n y enlazado de las nuevas herramientas funcionan como se espera Para esto vamos a hacer una simple comprobaci n echo main gt dummy c cc dummy c readelf 1 a out grep tools Si todo funciona correctamente no debe haber errores y la salida del ltimo comando debe ser Requesting program interpreter tooLs lilo le linux SO 2 Int rprete de programa solicitado toolLs lilo Les lim 80 2 Confirma que tools 1ib aparezca como el prefijo de tu enlazador din mico Si no recibes una salida como la mostrada arriba o no hay salida alguna algo est seriamente mal Investiga y revisa tus pasos para encontrar el problema y corregirlo El problema debe resolverse antes de continuar Primero repite la comprobaci n de sanidad usando gcc en vez de ec Si esto funciona significa que falta el enlace simb lico tools bin cc Vuelve a la Secci n 5 4 GCC 4 0 3 Fase 1 e instala el enlace simb lico Seguidamente aseg rate de que tu PATH es correcto Puedes comprobarlo ejecutando echo PATH y verificando que tools bin est en cabeza de la lista Si el PATH est mal puede significar que no has ingresado como usuario 1fs o que algo sali mal en la Secci n 4 4 Configuraci n del entorno Otra opci n es que algo pudo ir mal en el anterior arreglo del fichero specs En este caso repite el arreglo del fichero Cuando todo est bien
141. bas 274 Linux From Scratch Version 6 2 Debe instalarse antes de Ninguno Psmisc Para su instalaci n depende de Bash Coreutils GCC Gettext Glibc Grep Make Ncurses y Sed El banco de pruebas depende de No incluye un banco de pruebas Debe instalarse antes de Ninguno Readline Para su instalaci n depende de Bash Binutils Coreutils GCC Glibc Grep Make Ncurses Patch Sed y Texinfo El banco de pruebas depende de No incluye un banco de pruebas Debe instalarse antes de Bash Sed Para su instalaci n depende de Bash Binutils Coreutils GCC Gettext Glibc Grep Make Sed y Texinfo El banco de pruebas depende de Diffutils y Gawk Debe instalarse antes de E2fsprogs File Libtool y Shadow Shadow Para su instalaci n depende de Bash Binutils Coreutils Diffutils Findutils Gawk GCC Gettext Glibc Grep Make y Sed El banco de pruebas depende de No incluye un banco de pruebas Debe instalarse antes de Ninguno Sysklogd Para su instalaci n depende de Binutils Coreutils GCC Glibc Make y Patch El banco de pruebas depende de No incluye un banco de pruebas Debe instalarse antes de Ninguno Sysvinit Para su instalaci n depende de Binutils Coreutils GCC Glibc Make y Sed El banco de pruebas depende de No incluye un banco de pruebas Debe instalarse antes de Ninguno Tar Para su instalaci n depende de Bash Binutils Bison Coreutils GCC Gettext Glibc Grep Inetutils
142. ble profile enable add ons enable kernel 2 6 0 with binutils too1s bin A without gd with headers tools include without selinux Significado de las opciones de configure disable profile Esto construye las librer as sin informaci n de perfiles Omite esta opci n si planeas usar perfiles en las herramientas temporales enable add ons Esto le indica a Glibc que utilice el a adido NPTL como su librer a de hilos enable kernel 2 6 0 Esto le indica a Glibc que compile la librer a con soporte para n cleos Linux 2 6 x 67 Linux From Scratch Version 6 2 with binutils tools bin Aunque no es necesario esta opci n nos asegura que no haya equ vocos sobre qu programas de Binutils se utilizar n durante la construcci n de Glibc without gd Esto evita la construcci n del programa memusagestat el cual insiste en enlazarse contra las librer as del sistema anfitri n libgd libpng libz y dem s with headers tools include Esto le indica a Glibc que se compile contra las cabeceras reci n instaladas en el directorio de herramientas para que conozca exactamente las caracter sticas que tiene el n cleo y pueda optimizarse correctamente without selinux Cuando se construye a partir de un anfitri n que utiliza la funcionalidad de SELinux como Fedora Core 3 Glibc se construir con soporte para SELinux Como las herramientas del entorno LFS no contienen soporte para SELinux un
143. caf2c430fa9b e Mktemp Tempfile Patch 3 5 KB Descarga http www linuxfromscratch org patches lfs 6 2 mktemp 1 5 add_tempfile 3 patch S ma MDS 65d73faabe3f637ad79853b460d30a19 e Module init tools Patch 1 2 KB Descarga http www linuxfromscratch org patches lfs 6 2 module init tools 3 2 2 modprobe 1 patch S ma MDS 1e452fdf3b8d7ef60148125e390c3e8 e Ncurses Fixes Patch 8 2 KB Descarga http www linuxfromscratch org patches Ifs 6 2 ncurses 5 5 fixes 1 patch Sama MDS 0 033185008f21578c6e4c7249F92chb 48 Linux From Scratch Version 6 2 e Perl Libc Patch 1 1 KB Descarga http www linuxfromscratch org patches lfs 6 2 perl 5 8 8 libc 2 patch Sama MDS 3bf8aef1fb6eb6110405e699e4141f99 e Readline Upstream Fixes Patch 3 8 KB Descarga http www linuxfromscratch org patches Ifs 6 2 readline 5 1 fixes 3 patch Sima MDS e30963cd5c6f6alla23344af36cfa38c e Sysklogd 8 Bit Cleanness Patch 0 9 KB Descarga http www linuxfromscratch org patches Ifs 6 2 sysklogd 1 4 1 8bit 1 patch Sima MD5 cc0d9c3bd67a6b6357e42807cf06073e e Sysklogd Fixes Patch 27 KB Descarga http www linuxfromscratch org patches Ifs 6 2 sysklogd 1 4 1 fixes 1 patch Sima MDS 508104f058dlaef26b3bc8059821935f e Tar GCC 4 x Fix Patch 1 2 KB Descarga http www linuxfromscratch org patches Ifs 6 2 tar 1 15 1 gcc4_fix_tests 1 patch Sama MDS 8e286a1394e6bcf2907f13801770a72a e Tar Security Fixes Patch 3 9 KB Descarga http ww
144. cal de hilos de Binutils no ser compilado y el banco de pruebas de NPTL Native POSIX Threading Library fallar si el n cleo del anfitri n no es al menos una versi n 2 6 x compilada con una versi n de GCC 3 0 O superior Si el n cleo del anfitri n no es 2 6 x y no ha sido compilado usando GCC 3 0 o superior tedr s que reemplazar el n cleo con uno que cumpla las especificaciones Tienes dos m todos para hacer esto Primero mira si to distribuidor Linux proporciona un paquete con el n cleo 2 6 Si es as puede que desees instalarlo Si tu distribuidor no ofrece un paquete del n cleo 2 6 o prefieres no instalarlo entonces puedes compilar tu mismo un n cleo 2 6 Las instrucciones para compilar el n cleo y configurar el gestor de arranque suponiendo que el anfitri n utilice GRUB se encuentran en Cap tulo 8 Make 3 79 1 Patch 2 5 4 Sed 3 0 2 Tar 1 14 Para saber si en tu sistema anfitri n se encuentran todas las versiones correctas ejecuta lo siguiente cat gt version check sh lt lt EOF bin bash Sencillo gui n para listar los n meros de versi n de herramientas de desarrollo cr ticas xi Linux From Scratch Version 6 2 bash version lagacl m cur cl W STA echo n YBinucilss e do version neac ni ewe c W f3 4 AMA version 2561 lt dew mull head ni cur u W i 6 echo m Coreutilss Ne chown SO heao al c r SM w EZ GLE wee Sion head n1
145. ch Version 6 2 Alicia ID cam Eom sueccsedead merz lido ertli o sueceececd susr AS ao ste eco dea A continuaci n verifica que el nuevo enlazador se est usando con la ruta de b squeda correcta grep SEARCH usr lib dummy log sed s nlg Si todo funciona correctamente no debe haber errores y la salida del ltimo comando debe ser SEARCH_DIR tools i686 pc linux gnu lib SEARS Lalo SHVNRCIEL ID IIR allo e Segidamente asegurate de estar usando la libc correcta grep lib libc so 6 dummy log Si todo funciona correctamente no debe haber errores y la salida del ltimo comando debe ser attempt to open lib libc so 6 succeeded Por ltimo asegurate de que GCC utiliza el enlazador din mico correcto grep found dummy log Si todo funciona correctamente no debe haber errores y la salida del ltimo comando debe ser teniendo en cuenta las diferencias en el nombre del enlazador din mico espec fico para cada plataforma roune lo linutuz 0 2 at ato limu S02 Si no recibes una salida como la mostrada arriba o no hay salida alguna algo est realmente mal Necesitar s investigar y revisar tus pasos para encontrar el problema y corregirlo La raz n m s probable es que algo sali mal durante el anterior arreglo del fichero specs Deber s resolver todos los problemas antes de seguir con el proceso Una vez que todo funcione coorectamente borra los ficheros de prueba rm v dummy c a
146. cognize a backslash for line continuation e bdubbs Expanded the note in vim to better explain spell files e July 29 2006 e bdubbs Added a patch to the linux libc headers to add the inotify header Linux From Scratch Version 6 2 bdubbs Added a patch to Berkeley DB to avoid potential program traps July 21 2006 bdubbs Added the existing bash patch to Chapter 5 to avoid potential custom scripting problems bdubbs Added grub 0 97 disk_geometry 1 patch bdubbs Updated to linux 2 6 16 27 Added a note to use the latest kernel version available in the 2 6 16 series bdubbs Updated vim patch set to level 7 bdubbs Updated the discussion concerning zimezones dnicholson Added a reminder to check that the virtual kernel file systems are mounted after the description of the revised chroot command dnicholson Fixed dead link to Linux Driver Model paper on the Device and Module Handling page Replaced with sysfs paper by the same author Thanks to Chris Staub and Bryan Kadzban July 18 2006 bdubbs Several textual corrections Thanks to Chris Staub July 15 2006 bdubbs Added a patch to module init tools to correct a possible problem when aliases are specified with regular expressions bdubbs Updated the kernel to version 2 6 16 26 bdubbs Added sed to correct path to the find program in updatedb after moving find to bin bdubbs Updated text concerning test failures i
147. comando para evitar que se ejecute el gui n fixincludes sed i s fixinc sh c true gcc Makefile in GCC proporciona un gui n gecbug que detecta en tiempo de compilaci n si mktemp est presente y fija el resultado en una prueba Si no lo encuentra el gui n utilizar nombres menos aleatorios para los ficheros temporales Instalaremos Mktemp mas tarde por lo que el siguiente sed simular su presencia sed i s fhave_mktemp command yes gcc gccbug in La documentaci n de GCC recomienda construirlo fuera del rbol de las fuentes en un directorio de construcci n dedicado mkdir v gcc build cd gcc build Prepara GCC para su compilaci n gcc 4 0 3 configure prefix usr libexecdir usr lib enable shared enable threads posix enable __cxa_atexit enable clocale gnu enable languages c c Compila el paquete make Importante En esta secci n el banco de pruebas para GCC se considera cr tico No te lo saltes bajo ninguna circunstancia 124 Linux From Scratch Version 6 2 Comprueba los resultados pero no pares en los errores make k check Para ver un res men del resultado de las pruebas ejecuta gec 4 0 3 contrib test_summary Pare ver s lo los resultados tuneliza la sal da a trav s de grep A7 Summ Los resultados pueden compararse con los que se encuentran en http www linuxfromscratch org lfs build logs 6 2 Algunos fallos inexperados no pueden
148. contador de fallos Se usa para agregar y eliminar miembros y administradores a los grupos Crea un nuevo grupo con el nombre especificado Borra el grupo con el nombre especificado Modifica el nombre o el identificador GID de un grupo especificado Verifica la integridad de los ficheros de grupos etc group y etc gshadow Crea o actualiza el fichero de grupos ocultos a partir de un fichero de grupos normal Actualiza etc group a partir de etc gshadow borrando este ltimo Muestra el ltimo acceso de cada usuario o de un usuario especificado Lo utiliza el sistema para permitir el ingreso de un usuario Es un demonio que refuerza las restricciones de ingreso en base a horas y puertos de acceso Se usa para cambiar el identificador de grupo GID actual durante una sesi n de acceso Crea o actualiza un grupo de cuentas de usuario de una sola vez Muestra un mensaje sobre que una cuenta no est disponible Dise ado para usarse como 199 passwd pwck pwconv pwunconv sg su useradd userdel usermod vigr vipw libshadow Linux From Scratch Versi n 6 2 interprete de comandos por defecto para cuentas que han sido desactivadas Se utiliza para cambiar la contrase a de la cuenta de un usuario o grupo Verifica la integridad de los ficheros de contrase as etc passwd y etc shadow Crea o actualiza el fichero de contrase as ocultas a partir de un fichero de contrase as normal Actualiza etc passwd a p
149. d El comportamiento de las teclas Retroceso y Borrado no es homogeneo en los diferentes maspas de teclado del paquete Kbd El siguiente parche corrige este problema para los mapas de teclado 1386 patch Np1 i kbd 1 12 backspace 1 patch Tras parchear la tecla de Retroceso genera el car cter con c digo 127 y la tecla de borrado genera una secuencia de escape bien conocida Parchea Kbd para corregir un error en setfont que aparece cuando se compila con GCC 4 0 3 patch Npl i kbd 1 12 gcc4_fixes 1 patch Prepara Kbd para su compilaci n configure datadir lib kbd Significado de la opci n de configure datadir lib kbd Esta opci n pone los datos de esquema de teclado en un directorio que siempre se encontrar en la partici n ra z en vez de en usr share kba Compila el paquete make Este paquete no incluye un banco de pruebas Instala el paquete make install Nota Para algunos idiomas por ejemplo bieloruso el paquete Kdb no proporciona un mapa del teclado til el mapa de teclado by incluido asume la codificaci n ISO 8859 5 mientras que normalmente se utiliza CP1251 Los usuarios de dichos idiomas deber n descargar aparte mapas de teclado funcionales Algunos de los guiones del paquete LFS Bootscripts dependen de kbd_mode openvt y setfont Como usr puede no estar disponible en las primeras fases del arranque estos binarios deben estar en la partici n ra z mv v usr bin kbd_mode
150. dar Los ficheros pertenecientes a un paquete se identifican f cilmente comprobando el identificador de usuario Las caracter sticas y particularidades de este m todo son demasiado complejas para describirlas en esta secci n Puedes consultar los detalles en la receta en http www linuxfromscratch org hints downloads files more_control_and_pkg_man txt 105 Linux From Scratch Version 6 2 6 4 Entrar al entorno chroot Es hora de entrar en el entorno chroot para iniciar la construcci n e instalar tu sistema LFS final Como usuario root ejecuta el siguiente comando para entrar a un mundo que est en este momento poblado s lo por las herramientas temporales chroot SLFS tools bin env i HOME root TERM STERM PS1 u w S PATH bin usr bin sbin usr sbin tools bin A tools bin bash login h La opci n i pasada al comando env limpiar todas las variables del chroot Despu s de esto solamente se establecen de nuevo las variables HOME TERM PS1 y PATH La construcci n TERM STERM establece la variable TERM dentro del chroot al mismo valor que tiene fuera del chroot Dicha variable es necesaria para que funcionen correctamente programas como vim y less Si necesitas tener presentes otras variables como CFLAGS 0 CXXFLAGS este es un buen sitio para establecerlas Desde este punto ya no es necesario utilizar la variable LFS porque todo lo que hagas estar restringido al sistema de ficheros LFS Esto se debe a que al
151. de correo en http www linuxfromscratch org search html Tambi n tenemos una maravillosa comunidad LFS que est encantada de ofrecer ayuda a trav s las listas de correo y del canal IRC mira el Cap tulo 1 Listas de correo Sin embargo cada d a recibimos cantidad de peticiones de ayuda y muchas de ellas pueden ser f cilmente resueltas consultando primero la FAQ o buscando en las listas de correo As que para ofrecerte la mejor asistencia posible primero necesitas hacer cierta investigaci n por tu cuenta Esto nos permite centrarnos en las cuestiones de soporte menos habituales Si en tu b squeda no encuentras la soluci n por favor incluye toda la informaci n necesaria mencionada a continuaci n en tu petici n de ayuda 1 5 1 Cosas a mencionar Adem s de una breve explicaci n del problema experimentado las cosas esenciales que se deben incluir en la petici n de ayuda son e La versi n del libro que se est usando en este caso 6 2 e La distribuci n anfitriona y su versi n usada como base para crear el LFS e El paquete o secci n en el que se encontr el problema e El mensaje de error exacto o los s ntomas que aparecen e Si te has desviado o no del libro Nota Desviarse del libro no implica que no vayamos a ayudarte Despu s de todo LFS se basa en la elecci n Avisarnos sobre cualquier cambio en el procedimiento establecido nos ayudar a detectar las posibles causas de tu problema 1 5 2 Problemas co
152. de en este cap tulo Los detalles sobre este paquete se encuentran en la Secci n 6 11 2 Contenido de Binutils 63 Linux From Scratch Version 6 2 5 4 GCC 4 0 3 Fase 1 El paquete GCC contiene la colecci n de compiladores GNU que incluye los compiladores C y C Tiempo estimado de construcci n 8 2 SBU Espacio requerido en disco 514 MB 5 4 1 Instalaci n de GCC La documentaci n de GCC recomienda construirlo en un directorio dedicado fuera del rbol de las fuentes mkdir v gcc build cd gcc build Prepara GCC para su compilaci n gcc 4 0 3 configure prefix tools with local prefix tools disable nls enable shared enable languages c Significado de las opciones de configure with local prefix tools Esta opci n es para eliminar usr local include de las rutas de b squeda por defecto de gcc Esto no es esencial sin embargo ayuda a minimizar la influencia del sistema anfitri n enable shared Esta opci n permite construir libgcc_s so 1l y libgcc_eh a Tener a libgcc_eh a disponible nos asegura que el gui n configure de Glibc el siguiente paquete por compilar produzca los resultados apropiados enable languages C Esta opci n nos asegura que s lo se construya el compilador de C Compila el paquete make bootstrap Significado del par metro de make bootstrap Este objetivo no s lo compila GCC sino que lo compila varias veces Usa los programas compila
153. determinada por el nombre del enlace simb lico a procesar reboot Reinicia el sistema 223 sendsignals setclock static swap sysklogd template udev Linux From Scratch Version 6 2 Se asegura de que todos los procesos terminen antes de parar o reiniciar el sistema Fija el reloj del n cleo a la hora local en caso de que el reloj del ordenador no est fijado a la hora UTC Suministra la funcionalidad necesaria para asignar una direcci n IP est tica a una interfaz de red Activa y desactiva las particiones y ficheros de intercambio swap Lanza y detiene los demonios de registro de eventos del sistema y del n cleo Una plantilla para crear guiones de arranque personalizados para otros demonios Prepara el directorio dev e inicia Udev 224 Linux From Scratch Version 6 2 7 3 C mo funcionan los guiones de arranque Linux utiliza como sistema de inicio SysVinit que se basa en el concepto de niveles de ejecuci n Este sistema de inicio puede variar ampliamente de un sistema a otro por lo tanto no se debe asumir que porque las cosas funcionen en una distribuci n en concreeto tengan que funcionar en LFS tambi n LFS tiene su propia manera de hacer las cosas la cual suele respetar los est ndares aceptados SysVinit al que llamaremos init a partir de este momento se basa en un esquema de niveles de ejecuci n Hay 7 numerados del 0 al 6 niveles de ejecuci n en realidad existen m s pero son
154. direcci n IP Los alias son opcionales y pueden omitirse Si no se va a configurar una tarjeta de red crea el fichero etc hosts ejecutando cat gt etc hosts lt lt EOF Begin etc hosts no network card version 127 0 0 1 lt HOSTNAME example org gt lt HOSTNAME gt localhost End ete hosts no network card version EOF 242 Linux From Scratch Version 6 2 7 12 Crear enlaces simbolicos persnalizados a los dispositivos 7 12 1 Enlaces simbolicos a CD ROM Cierto software que puede que quieras instalar mas adelante por ejemplo reproductores de medios esperan que existan los enlaces simb licos dev cdrom y dev dvd Igualmente puede que te convenga poner referencias a dichos enlaces simb licos en etc fstab Para cada uno de tus dispositivos CD ROM encuentra el directorio correspondiente bajo sys por ejemplo este puede ser sys block hdd y ejecuta un comando similar al siguiente udevtest block hdd Mira el contenido de la salida de los diversos programas _id Hay dos formas de crear los enlaces simb licos La primera es usar el modelo y n mero de serie la segunda se basa en la localizaci n del dispositivo en el bus Si vas a usar el primer m todo crea un fichero similar al siguiente cat gt etc udev rules d 82 cdrom rules lt lt EOF Custom CD ROM symlinks SUBSYSTEM block ENV ID_MODEL SAMSUNG_CD ROM_SC 148EF ENV ID_ REVISI N PS09 SYMLINKT carom SUBSYSTEM block
155. dirname gcc print libgcc file name specs amp amp gcc dumpspecs gt SPECFILE amp amp sed s 1lib 1ld linux so 2 tools amp g SPECFILE gt tempspecfile amp amp mv vf tempspecfile SPECFILE amp amp unset SPECFILE Alternativamente puedes editar el fichero specs a mano si quieres Esto se hace reemplazando cada aparici n de lib Id linux so 2 con tools lib Id linux so 2 Aseg rate de revisar visualmente el fichero specs para verificar que se han hecho los cambios deseados Importante Si est s trabajando sobre una plataforma en la que el nombre del enlazador din mico no es ld linux so 2 en el anterior comando debes sustituir 1d 1inux so 2 con el nombre del enlazador din mico de tu plataforma En caso necesario consulta la Secci n 5 2 Notas t cnicas sobre las herramientas Durante el proceso de construcci n GCC ejecuta un gui n fixincludes que explora el sistema buscando ficheros de cabecera que puedan necesitar ser corregidos que pueden contener errores de sintaxis por ejemplo e instala las versiones corregidas en un directorio privado Existe la posibilidad de que como resultado de este proceso algunos ficheros de cabecera del sistema anfitri n se hayan colado dentro de dicho directorio privado de cabeceras de GCC Como el resto de este cap tulo s lo necesita las cabeceras de GCC y Glibc que ya han sido instaladas cualquier cabecera fijada puede borrarse sin proble
156. do a que nuestras herramientas principales todav a apuntan al directorio tools la prueba de sanidad podr a efectuarse sobre la Glibc equivocada Podemos forzar que el gui n compruebe la Glibc reci n instalada con lo siguiente 112 Linux From Scratch Version 6 2 sed i s libs o libs L usr lib W1 dynamic linker lib 1ld linux so 2 o scripts test installation pl La documentaci n de Glibc recomienda construirlo fuera del rbol de las fuentes en un directorio de construcci n dedicado mkdir v glibc build cd glibc build Prepara Glibc para su compilaci n glibc 2 3 6 configure prefix usr disable profile enable add ons A enable kernel 2 6 0 libexecdir usr lib glibc Significado de la nueva opci n de configure libexecdir usr lib glibc Esto cambia la localizaci n del programa pt_chown de su ubicaci n por defecto usr libexec a usr lib glibc Compila el paquete make O Importante En esta secci n el banco de pruebas para Glibc se considera cr tico No te lo saltes bajo ninguna circunstancia Comprueba los resultados make k check 2 gt amp 1 tee glibc check log grep Error glibc check log Posiblemente veas un fallo esperado ignorado en la prueba posix annexc Adicionalmente el banco de pruebas de Glibc depende en parte del sistem anfitri n Aqui hay una lista con los problemas m s comunes e Las pruebas nptl tst clock2 y tst attr3 fallan a veces La raz
157. dos la primera vez para compilarse a s mismo una segunda vez y luego una tercera Despu s compara la segunda compilaci n con la tercera para asegurarse que puede reproducirse a s mismo sin errores Esto tambi n implica que se ha compilado correctamente La compilaci n se ha completado En este punto normalmente ejecutar amos el banco de pruebas pero como se mencion antes el entorno de trabajo para los bancos de pruebas no se encuentra todav a en su lugar Los beneficios de ejecutar ahora los bancos de pruebas son m nimos pues los programas de esta primera fase pronto ser n sustituidos Instala el paquete make install 64 Linux From Scratch Version 6 2 Como toque final crea un enlace simb lico Muchos programas y guiones ejecutan cc en vez de gcc Esto es una forma de hacer que los programas sean gen ricos y por tanto utilizables en toda clase de sistemas Unix No todos tienen instalado el compilador de C de GNU Ejecutar ce deja al administrador del sistema libre de decidir qu compilador de C instalar mientras haya un enlace simb lico que apunte a l ln vs gcc tools bin cc Los detalles sobre este paquete se encuentran en la Secci n 6 12 2 Contenido de GCC 65 Linux From Scratch Version 6 2 5 5 Linux Libc Headers 2 6 12 0 El paquete Linux Libc Headers contiene las cabeceras saneadas del n cleo Tiempo estimado de construcci n less than 0 1 SBU Espacio requerido en disco 27 MB
158. e configuraci n Compila el paquete make Este paquete no incluye un banco de pruebas Instala el paquete make install 6 43 2 Contenido de Less Programas instalados less lessecho y lesskey Descripciones cortas less Un visor de ficheros o paginador Muestra el contenido de un fichero con la posibilidad de recorrerlo hacer b squedas o saltar a marcas lessecho Necesario para expandir meta caracteres como y en los nombres de ficheros en sistemas Unix lesskey Usado para especificar los c digos de teclas usados por less 185 Linux From Scratch Version 6 2 6 44 Make 3 80 El paquete Make contiene un programa para compilar paquetes Tiempo estimado de construcci n 0 1 SBU Espacio requerido en disco 7 8 MB 6 44 1 Instalaci n de Make Prepara Make para su compilaci n configure prefix usr Compila el paquete make Para comprobar los resultados ejecuta make check Instala el paquete make install 6 44 2 Contenido de Make Programa instalado make Descripci n corta make Determina autom ticamente qu partes de un paquete necesitan ser re compiladas y lanza los comandos para hacerlo 186 Linux From Scratch Version 6 2 6 45 Man DB 2 4 3 El paquete Man DB contiene programas para encontrar y visualizar p ginas de manual Tiempo estimado de construcci n 0 2 SBU Espacio requerido en disco 9 MB 6 45 1 Instalaci n de Man DB El necesario hacer tres ajustes
159. e este paquete Si te basta con los valores autodetectados prepara Perl para su compilaci n con configure gnu prefix usr Dmanldir usr share man manl Dman3dir usr share man man3 Dpager usr bin less isR Significado de la opci n de configure Dpager usr bin less isR Esto corrige un error en el modo en que perldoc invoca al programa less Dmanldir usr share man manl Dman3dir usr share man man3 Puesto que atin no se ha instalado Groff Configure piensa que no queremos las paginas de manual de Perl La ejecuci n de estos par metros evita dicha decisi n Compila el paquete make Para comprobar los resultados ejecuta make test Instala el paquete make install 6 22 2 Contenido de Perl Programas instalados a2p c2ph dprofpp enc2xs find2perl h2ph h2xs instmodsh libnetcfg perl perl5 8 8 enlace a perl perlbug perlcc perldoc perlivp piconv pl2pm pod2html pod2latex pod2man pod2text pod2usage podchecker podselect psed enlace a s2p pstruct enlace a c2ph s2p splain y xsubpp Librer as instaladas Varios cientos que no podemos listar aqu Descripciones cortas a2p Traduce de awk a Perl 145 c2ph dprofpp enc2xs find2perl h2ph h2xs instmodsh libnetcfg perl perl5 8 8 perlbug perlcc perldoc perlivp piconv pl2pm pod2html pod2latex pod2man pod2text pod2usage podchecker podselect psed pstruct s2p splain xsubpp
160. e ha especificado m s de uno Muestra qui n est conectado Muestra el nombre de usuario asociado con el identificador de usuario efectivo actual ceo Muestra en pantalla y o una cadena de texto dada indefinidamente hasta que es matado 134 Linux From Scratch Version 6 2 6 15 lana Etc 2 10 El paquete Iana Etc contiene datos de servicios y protocolos de red Tiempo estimado de construcci n less than 0 1 SBU Espacio requerido en disco 2 1 MB 6 15 1 Instalaci n de lana Etc El siguiente comando convierte los datos crudos proporcionados por IANA a formatos correctos para los ficheros de datos etc protocols y etc services make Este paquete no incluye un banco de pruebas Instala el paquete make install 6 15 2 Contenido de lana Etc Ficheros instalados etc protocols y etc services Descripciones cortas etc protocols Describe los diversos protocolos DARPA para Internet que est n disponibles para el subsistema TCP IP etc services Proporciona un mapeado entre los nombres familiares de los servicios de Internet y los n meros de puerto y tipo de protocolo que tienen asignados 135 6 16 M4 1 4 4 El paquete M4 contiene un procesador de macros Tiempo estimado de construcci n less than 0 1 SBU Espacio requerido en disco 3 MB 6 16 1 Instalaci n de M4 Prepara M4 para su compilaci n configure prefix usr Compila el paquete make Para comprobar los resultad
161. e la API de compatibilidad con Berkeley DB 1 85 enable Ccxx Esta opci n activa la construcci n de las librer as para la API de C Compila el paquete make No es posible testear correctamente el paquete pues esto depende de la construcci n de los enlaces TCL Los enlaces TCL no pueden construirse ahora debido a que TCL est enlazado contra la Glibc que hay en tools no contra la Glibc de usr Instala el paquete make docdir usr share doc db 4 4 20 install 128 Linux From Scratch Version 6 2 Significado del par metro de make docdir Este variable especifica el lugar correcto para la documentaci n Corrige la propiedad de los ficheros instalados chown v root root usr bin db fusr lib libdb usr include db s chown Rv root root usr share doc db 4 4 20 6 13 2 Contenido de Berkeley DB Programas instalados db_archive db_checkpoint db_deadlock db_dump db_hotbackup db_load db_printlog db_recover db_stat db_upgrade y db_verify Librer as instaladas libdb so a y libdb_cxx so a Descripciones cortas db_archive db_checkpoint db_deadlock db_dump db_hotbackup db_load db_printlog db_recover db_stat db_upgrade db_verify libdb so a libdb_cxx so a Imprime la ruta de los ficheros de registro que no estan en uso Un demonio usado para monitorizar y comprobar registros de bases de datos Se usa para abortar peticiones de bloqueo cuando se detectan interbloqueo
162. e list of installed files for Shadow e archaic Merged the udev_update branch to trunk April 12 2006 e jhuntwork Rewrote section explaining IP Addresses Thanks Bryan Kadzban and Bruce Dubbs Resolves Ticket 1663 e jhuntwork Added a pointer to GDBM in Berkeley DB page Also added explanatory text concerning why LFS chose Debian s convention for storing man pages Thanks to Tushar Teredesai and Alexander Patrakov Resolves Ticket 1694 e jhuntwork Remove symlink of zsoelim to groff s soelim in chapter 6 Man DB produces a sufficient zsoelim which overwrites the symlink we used to create April 11 2006 e jhuntwork Updated bash 3 1 patch Ticket 1758 April 8 2006 e jhuntwork Added a command to create an empty etc mtab file early in chapter 6 This avoids testsuite failures in e2fsprogs and possibly other programs that expect etc mtab to be present Explanation from Dan Nicholson slightly modified Also merged the Creating Essential Symlinks section with Creating passwd group and log Files April 6 2006 e manuel Placed home page when available and full download links for all packages in chapter03 packages xml e j huntwork Merged alphabetical branch to trunk April 2 2006 e archaic Moved the chowning of tools to the end of chapter 5 and rewrote note about backing up or re using tools Moved the mounting of kernel filesystems before the package management page 13 Linux F
163. ecer excesivo pero es muy tranquilizador si no esencial saber que las herramientas m s importantes funcionan adecuadamente Aunque los bancos de pruebas no se ejecuten en este cap tulo no son obligatorios estos paquetes son todav a necesarios para los bancos de pruebas en el Cap tulo 6 Prepara Tcl para su compilaci n cd unix configure prefix tools Construye el paquete make Para comprobar los resultados ejecuta TZ UTC make test Se sabe que el banco de pruebas de Tcl experimenta fallos bajo ciertas condiciones del anfitri n que a n no se comprenden por completo Sin embargo estos fallos no son una sorpresa y no se consideran cr ticos El par metro TZ UTC establece la zona horaria al Tiempo Universal Coordinado UTC tambi n conocido como Hora del Meridiano de Greenwich GMT pero s lo mientras se ejecuta el banco de pruebas Esto asegura que las pruebas de reloj se ejecuten correctamente En el Cap tulo 7 se proporcionan detalles sobre la variable de entorno TZ Instala el paquete make install Instala las cabeceras de Tcl El siguiente paquete Expect las necesita para construirse make install private headers Crea un enlace simb lico necesario ln sv tclsh8 4 tools bin tclsh 5 8 2 Contenido de Tcl Programas instalados tclsh enlace a tclsh8 4 y tclsh8 4 Librer a instalada libtcl8 4 so Descripciones cortas tclsh8 4 Es el int rprete de comandos de Tcl telsh Enlace a tclsh8 4 libtcl
164. ecutar Cuando init cambia a otro nivel de ejecuci n los servicios apropiados son iniciados o parados dependiendo del nivel de ejecuci n elegido Los guiones reales se enuentran en etc rc d init d Ellos son los que hacen el trabajo y todos los enlaces simb licos apuntan a ellos Los enlaces de parada e inicio apuntan al mismo gui n en etc rc d init d Esto se debe a que los guiones pueden invocarse con par metros diferentes como start stop restart reload y status Cuando se encuentra un enlace K se ejecuta el gui n apropiado con el argumento stop Cuando se encuentra un enlace S se ejecuta el gui n apropiado con el argumento start Hay una excepci n a esta explicaci n Los enlaces que comienzan por S en los directorios rc0 d y rc6 d no inician nada Estos guiones se invocan siempre con el par metro stop para parar algo La l gica tras esto es que cuando el usuario va a parar o reiniciar el sistema no es necesario iniciar nada El sistema s lo necesita ser detenido He aqu una descripci n de lo que hace cada par metro start Inicia el servicio stop Para el servicio 225 Linux From Scratch Version 6 2 restart El servicio se para y se vuelve a iniciar reload Se actualiza la configuraci n del servicio Este par metro se utiliza tras la modificaci n del fichero de configuraci n cuando no es necesario reiniciar el servicio status Dice si el servicio se est ejecutando y con qu identificador de proc
165. ecute este comando antes de cada compilaci n del n cleo No debes confiar en que el rbol de las fuentes est limpio tras desempaquetarlo Configura el n cleo mediante una interfaz de men s BLFS tiene informaci n sobre requisitos particulares de configuraciones del n cleo para paquetes externos a LFS en http www linuxfromscratch org blfs view svn longindex html kernel config index make menuconfig Alternativamente make oldconfig puede ser m s adecuado en algunas situaciones Lee el fichero README para m s detalles Si lo deseas s ltate la configuraci n del n cleo copiando el fichero de configuraci n del n cleo config de tu sistema anfitri n asumiendo que est disponible al directorio Linux 2 6 16 27 Sin embargo no recomendamos esta opci n Con frecuencia es mejor explorar todos los men s de configuraci n y crear tu propia configuraci n del n cleo desde cero Compila la imagen del n cleo y los m dulos make Si utilizas los m dulos del n cleo puede que necesites un fichero etc modprobe conf La informaci n relativa a los m dulos y a la configuraci n del n cleo se encuentra en Secci n 7 4 Manejo de dispositivos y m dulos en un sistema LFS y en el directorio 1inux 2 6 16 27 Documentation que contiene la documentaci n del n cleo Igualmente modprobe conf 5 puede ser interesante Instala los m dulos si la configuraci n del n cleo los utiliza make modules install Tras
166. efix usr enable mb groff disable setuid Significado de las opciones de configure enable mb groff Esto le indica al programa man que utilice los dispositivos ascii8 y nippon de Groff para formatear p ginas de manual que no est n en ISO 8859 1 disable setuid Esto desactiva que el programa man se instale con setuid al usuario man Compila el paquete 187 Linux From Scratch Version 6 2 make Este paquete no incluye un banco de pruebas Instala el paquete make install Algunos paquetes proporcionan p ginas de manual en UTF 8 que esta versi n de man no puede mostrar El siguiente gui n permitir que algunas de ellas sean convertidas a las codificaciones esperadas que se listan abajo Man DB espera que las p ginas de manual est n en las codificaciones de la tabla y las convertir seg n sea necesario a la codificaci n real de la locale cuando las muestre por lo que las mostrar tanto en ocales UTF 8 como en locales tradicionales Debido a que este gui n est pensado para un uso limitado durante la construcci n del sistema para datos p blicos no nos precupamos por la comprobaci n de errores ni usamos ficheros temporales con nombres no predecibles cat gt gt convert mans lt lt EOF bin sh e FROM S1 TO S2 slalibie p Sila while S gt 0 do ENEE Si Sala ice Leomy E STROM e STOW W SPILEY gt cms Leon iw EMO Leomy VSETKY done EOF install m
167. empo hace que el sistema est en ejecuci n cu ntos usuarios est n conectados y la carga media del sistema vmstat Muestra estad sticas de la memoria virtual dando informaci n sobre los procesos memoria paginaci n entrada salida por bloques y actividad del procesador 141 Linux From Scratch Version 6 2 w Muestra qu usuarios hay actualmente en el sistema en qu terminal y desde cu ndo watch Ejecuta un comando repetidamente mostrando su primera salida a pantalla completa Esto te permite observar los cambios en la salida al pasar el tiempo libproc Contiene funciones usadas por la mayor a de los programas de este paquete 142 Linux From Scratch Version 6 2 6 20 Sed 4 1 5 El paquete Sed contiene un editor de flujos Tiempo estimado de construcci n 0 1 SBU Espacio requerido en disco 6 4 MB 6 20 1 Instalaci n de Sed Prepara Sed para su compilaci n configure prefix usr bindir bin enable html Significado de la nueva opci n de comfigure enable html Esto construye la documantaci n HTML Compila el paquete make Para comprobar los resultados ejecuta make check Instala el paquete make install 6 20 2 Contenido de Sed Programa instalado sed Descripci n corta sed Se usa para filtrar y transformar ficheros de texto en una sola pasada 143 Linux From Scratch Version 6 2 6 21 Libtool 1 5 22 El paquete Libtool contiene el gui n de GNU para soporte gen
168. enable elf shlibs disable evms Significado de las opciones de configure with root prefix Ciertos programas como el programa e2fsck se consideran esenciales Cuando por ejemplo usr no est montado estos programas esenciales deben estar disponibles Pertenecen a directorios como lib y sbin Si no se le pasase esta opci n al configure de E2fsprogs los programas se instalar an en el directorio usr enable elf shlibs Esto crea las librer as compartidas utilizadas por algunos de los programas de este paquete disable evms Esto desactiva la construcci n del m dulo para el Enterprise Volume Management System EVMS Sistema Empresarial de Manejo de Vol menes Este m dulo no est actualizado a la ltima intefaz interna de EVMS y EVMS no se instala como parte del sistema base LES Para m s informaci n mira la p gina web de EVMS en http evms sourceforge net Compila el paquete make Para comprobar los resultados ejecuta make check Una de las pruebas de E2fsprogs intenta ubicar 256 MB Si no tienes una memoria RAM mayor que esta es recomendable que actives el espacio suficiente de memoria de intercambio para la prueba Mira en Secci n 2 3 Crear un sistema de ficheros en la partici n y Secci n 2 4 Montar la nueva partici n los detalles para crear y activar un espacio de intercambio Instala los binarios y la documentaci n make install Instala las librer as compartidas make i
169. ence bin grep in references to EGREP e ken Move mktemp ahead of gcc so that gecbug will use mktemp e ken Give Berkeley DB its full name and remove the lpthread overrides Also add pointer to BLES thanks to Randy McMurchy January 5 2006 e jhuntwork Remove mention of news server until we actually have one Thanks Randy e huntwork Initial addition of UTF 8 support Thanks to Alexander Patrakov January 3 2006 e matt Clarify the description of mktemp s with libc configure parameter fixes bug 1667 e matt Upgrade to libtool 1 5 22 e matt Upgrade to man pages 2 18 e matt Remove the v flag from the example mkswap command in chapter 2 as it does not affect verbosity fixes bug 1674 18 Linux From Scratch Version 6 2 December 31 2005 e ken Alter installation of Linux Libc asm Headers in chroot to be repeatable December 23 2005 e jim Corrected version on Vim symlink December 21 2005 e matt Correctly symlink Vim s documentation to usr share doc Thanks to Jeremy for the report and the fix December 17 2005 e matt Pass a valid path to module init tools prefix configure switch and remove the now unnecessary mandir switch e matt Symlink Vim s documentation to usr share doc Fixes bug 1610 Thanks to Randy McMurchy for the original report and to Ken and Jeremy for their investigations into the fix e matt Upgrade to psmisc 21 9 e matt Upgrade to ma
170. encuentran en http www linuxfromscratch org fag 1 4 2 Listas de correo El servidor linuxfromscratch org hospeda una serie de listas de correo utilizadas para el desarrollo del proyecto LFS Estas incluyen entre otras las listas principales de desarrollo y soporte Si la FAQ no resuelve tus problemas el siguiente paso deber a ser buscar en las listas de correo en http www linuxfromscratch org search html Para obtener informaci n relacionada con las listas disponibles c mo suscribirse a ellas localizaci n de los archivos etc visita http www linuxfromscratch org mail html La comunidad hispanoparlante dispone de dos listas de correo que no pertenecen al servidor linuxfromscratch org e Soporte ayuda y noticias sobre LFS https www champinet com cgi bin mailman listinfo linux desde cero e Coordinaci n de la traducci n de LFS al castellano http Mlistas escomposlinux org mailman listinfo lfs es 1 4 3 IRC Varios miembros de la comunidad LFS ofrecen asistencia t cnica en nuestro servidor IRC Antes de utilizar este m todo de ayuda te pedimos que compruebes si en las FAQ de LFS o en los archivos de las listas de correo se encuentra la respuesta a tu problema Puedes entrar al servidor IRC a trav s de irc linuxfromscratch org El canal de soporte se llama LFS support 1 4 4 Referencias En la p gina LFS Package Reference en http www linuxfromscratch org matthew LES references html tienes a tu dispo
171. enido de Bzip2 82 Linux From Scratch Version 6 2 5 16 Coreutils 5 96 El paquete Coreutils contiene utilidades para mostrar y establecer las caracter sticas b sicas del sistema Tiempo estimado de construcci n 0 6 SBU Espacio requerido en disco 56 1 MB 5 16 1 Instalaci n de Coreutils Prepara Coreutils para su compilaci n configure prefix tools Compila el paquete make Para comprobar los resultados ejecuta make RUN_EXPENSIVE_TESTS yes check El par metro RUN_EXPENSIVE_TESTS yes le indica al banco de pruebas que realice varias comprobaciones adicionales que se consideran relativamente costosas en t rminos de uso de CPU y memoria en ciertas plataformas aunque normalmente no hay problemas en Linux Instala el paquete make install Los detalles sobre este paquete se encuentran en la Secci n 6 14 2 Contenido de Coreutils 83 Linux From Scratch Version 6 2 5 17 Diffutils 2 8 1 El paquete Diffutils contiene programas que muestran las diferencias entre ficheros o directorios Tiempo estimado de construcci n 0 1 SBU Espacio requerido en disco 6 2 MB 5 17 1 Instalaci n de Diffutils Prepara Diffutils para su compilaci n configure prefix tools Compila el paquete make Este paquete no incluye un banco de pruebas Instala el paquete make install Los detalles sobre este paquete se encuentran en la Secci n 6 29 2 Contenido de Diffutils 84
172. ependencies info Thanks to Chris Staub for the patch April 19 2006 e jhuntwork Added a more detailed list of minimum software requirements Thanks to Chris Staub for researching these and Alexander Patrakov for suggesting the enhancement Resolves Ticket 1598 April 18 2006 e jhuntwork Moved all dependency information to a new page Appendix C Appendix C also contains information concerning the build order While there might need to be a few tweaks yet this information is complete enough at this point to close out the long standing ticket 684 Many thanks to Chris Staub Dan Nicholson and Manuel Canales Esparcia for helping get this finished April 15 2006 e archaic Updated to lfs bootscripts 20060415 e archaic Added patch to glibc to fix build errors in packages that include linux types h after sys kd h 12 Linux From Scratch Version 6 2 April 14 2006 e ken Add security patch for tar to address CVE 2006 0300 e archaic Upgraded to man pages 2 29 and linux 2 6 16 5 No command changes e manuel Changed typography conventions From now replaceable text is encapsulated inside lt gt optional text inside and library extensions inside Thanks to Bruce Dubbs for the patch April 13 2006 e archaic Removed boot logging rule from etc syslog conf and removed the command to move logger to bin e archaic Added symlink from vim 1 to vi 1 e archaic Added chgpasswd to th
173. equerido en disco 3 MB 5 23 1 Instalaci n de M4 Prepara M4 para su compilaci n configure prefix tools Compila el paquete make Para comprobar los resultados ejecuta make check Instala el paquete make install Linux From Scratch Version 6 2 Los detalles sobre este paquete se encuentran en la Secci n 6 16 2 Contenido de M4 90 5 24 Make 3 80 El paquete Make contiene un programa para compilar paquetes Tiempo estimado de construcci n 0 1 SBU Espacio requerido en disco 7 8 MB 5 24 1 Instalaci n de Make Prepara Make para su compilaci n configure prefix tools Compila el paquete make Para comprobar los resultados ejecuta make check Instala el paquete make install Linux From Scratch Version 6 2 Los detalles sobre este paquete se encuentran en la Secci n 6 44 2 Contenido de Make 91 Linux From Scratch Version 6 2 5 25 Patch 2 5 4 El paquete Patch contiene un programa para modificar o crear ficheros mediante la aplicaci n de un fichero parche creado normalmente con el programa diff Tiempo estimado de construcci n less than 0 1 SBU Espacio requerido en disco 1 6 MB 5 25 1 Instalaci n de Patch Prepara Patch para su compilaci n configure prefix tools Compila el paquete make Instala el paquete make install Los detalles sobre este paquete se encuentran en la Secci n 6 48 2 Contenido de Patch 92
174. es visita http www linuxfromscratch org lfs errata 6 2 antes de comenzar la construcci n Deber as tener en cuenta cualquier cambio mencionado y aplicarlo en la secci n apropiada del libro a medida que avances en la construcci n del sistema LFS XV Linux From Scratch Version 6 2 Parte I Introduccion Linux From Scratch Version 6 2 Capitulo 1 Introduccion 1 1 COmo construir un sistema LFS El sistema LFS se construir utilizando una distribuci n Linux ya instalada como Debian Mandriva RedHat o SUSE Este sistema Linux existente el anfitri n se utilizar como punto de inicio para suministrar los programas necesarios como un compilador un enlazador y un int rprete de comandos para construir el nuevo sistema Selecciona la opci n desarrollo durante la instalaci n de la distribuci n para poder acceder a estas herramientas Como alternativa a la instalaci n previa de otra distribuci n puede que prefieras utilizar el LiveCD de Linux From Scratch El CD funciona bien como sistema anfitri n proporcionando todas las herramientas que necesitar s para seguir con xito las instrucciones de este libro Una vez que tengas el CD ya no es necesario tener conexi n de red o hacer descargas adicionales Para m s informaci n sobre el LiveCD de LFS o descargar una copia visita http www linuxfromscratch org livecd El Cap tulo 2 de este libro describe c mo crear una nueva partici n nativa Linux y un sistema de
175. es peligroso porque una cuenta de usuario creada posteriormente podr a tener este ID de usuario y podr a poseer el directorio SLFS tools y todos los ficheros que contiene exponi ndolos a una posible manipulaci n maliciosa Para evitar este problema puedes a adir el usuario 1fs al nuevo sistema LFS cuando creemos el fichero etc passwd teniendo cuidado de asignarle los mismos identificadores de usuario y grupo que en el sistema anfitri n Mejor a n cambia el propietario del directorio LFS tools al usuario root ejecutando el siguiente comando chown R root root LFS tools Aunque el directorio LFS tools puede ser borrado una vez terminado el sistema LFS puede ser guardado para construir sistemas LFS adicionales de lamisma versi n del libro Cual es la mejor forma de guardar el directorio SLFS tools es una cuesti n de preferencias y se deja como ejercicio para el lector 99 Linux From Scratch Version 6 2 Parte Ill Construcci n del sistema LFS Linux From Scratch Version 6 2 Capitulo 6 Instalacion de los programas del sistema base 6 1 Introduccion En este cap tulo entramos en la zona de edificaci n y comenzamos a construir de verdad nuestro sistema LFS Es decir cambiamos la ra z a nuestro mini sistema Linux temporal hacemos unos cuantos preparativos finales y entonces comenzamos a instalar los paquetes La instalaci n de estos programas es bastante sencilla Aunque en muchos casos las instrucciones podr a
176. es personas de las diversas listas de correo de LFS y BLFS que han hecho que este libro sea posible mediante sus sugerencias probando el libro y suministrando informes de errores instrucciones y sus experiencias con la instalaci n de diversos paquetes Traductores e Manuel Canales Esparcia lt macanaQ macana es com gt Proyecto de traducci n al castellano de LFS 265 Linux From Scratch Version 6 2 e Johan Lenglet lt johan linuxfromscratch org gt Proyecto de traducci n al franc s de LFS e Anderson Lizardo lt lizardo linuxfromscratch org gt Proyecto de traducci n al portugu s de LFS e Thomas Reitelbach lt tr erdfunkstelle de gt Proyecto de traducci n al alem n de LFS Administradores de la red de r plicas Am rica del Norte e Scott Kveton lt scott osuosl org gt lfs oregonstate edu e Mikhail Pastukhov lt miha xuy biz gt Ifs 130th net e William Astle lt lost 1 w net gt ca linuxfromscratch org e Jeremy Polen lt jpolen Orackspace com gt us2 linuxfromscratch org e Tim Jackson lt tim idge net gt linuxfromscratch idge net e Jeremy Utley lt jeremy linux phreak net gt Ifs linux phreak net Am rica del Sur e Andres Meggiotto lt sysop O mesi com ar gt lfs mesi com ar e Manuel Canales Esparcia manuel linuxfromscratch org gt lfsmirror fs es info e Eduardo B Fonseca lt ebf aedsolucoes com br gt br linuxfromscratch org mirror Europa
177. es simb licos de un rbol de directorios Un envoltorio para lex y yacc 154 Linux From Scratch Version 6 2 6 27 Bash 3 1 El paquete Bash contiene la Bourne Again SHell Tiempo estimado de construcci n 0 4 SBU Espacio requerido en disco 25 8 MB 6 27 1 Instalacion de Bash Si descargaste el paquete con la documentaci n de Bash y deseas instalar la documentaci n HTML ejecuta los siguientes comandos tar xvf bash doc 3 1 tar gz amp amp sed i s htmldir htmldir htmldir usr share doc bash 3 1 Makefile in Los desarrolladores han corregido diversos problemas desde la liberaci n inicial de Bash 3 1 Aplica dichas correcciones patch Npl i bash 3 1 fixes 8 patch Prepara Bash para su compilaci n configure prefix usr bindir bin without bash malloc with installed readline Significado de la opci n de configure with installed readline Esta opci n le indica a Bash que utilice la librer a readline que se encuentra en el sistema en vez de utilizar su propia versi n de Readline Compila el paquete make Para comprobar los resultados ejecuta make tests Instala el paquete make install Lanza el programa bash reci n compilado sustituyendo al que estabas ejecutando hasta ahora exec bin bash login h Nota Los par metros utilizados hacen del proceso bash un int rprete interactivo de ingreso y contin a desactivando su tabla interna de rutas para
178. escripciones cortas bigram Se usaba originalmente para generar bases de datos de locate code Se usaba originalmente para generar bases de datos de locate Es el antecesor de frcode find Busca en los rboles de directorios indicados los ficheros que cumplan el criterio especificado frcode Es llamado por updatedb para comprimir la lista de nombres de ficheros Utiliza front compression que reduce el tama o de la base de datos en un factor de 4 o 3 164 locate updatedb xargs Linux From Scratch Version 6 2 Busca en una base de datos de nombres de ficheros y muestra los nombres que contienen la cadena indicada o cumplen un patr n dado Actualiza la base de datos de locate Explora por completo el sistema de ficheros incluidos otros sistemas de ficheros que se encuentren montados a no ser que se le indique lo contrario e inserta todos los nombres de ficheros que encuentre en la base de datos Puede usarse para aplicar un comando a una lista de ficheros 165 Linux From Scratch Version 6 2 6 33 Flex 2 5 33 El paquete Flex contiene una utilidad para generar programas que reconocen patrones de texto Tiempo estimado de construcci n 0 1 SBU Espacio requerido en disco 8 4 MB 6 33 1 Instalacion de Flex Prepara Flex para su compilacion configure prefix usr Compila el paquete make Para comprobar los resultados ejecuta make check Instala el paquete make install Ciertos paquetes es
179. eso PID Eres libre de modificar la forma en que funciona el proceso de arranque despu s de todo es tu propio sistema LES Los ficheros aqu mostrados son un ejemplo de c mo puede hacerse 226 Linux From Scratch Version 6 2 7 4 Manejo de dispositivos y modulos en un sistema LFS En el Cap tulo 6 se instal el paquete Udev Antes de entrar en detalles sobre c mo funciona repasaremos los anteriores m todos de manejo de dispositivos Tradicionalmente los sistemas Linux en general utilizan un m todo est tico de creaci n de dispositivos implicando que un gran n mero de nodos de dispositivo son creados en dev literalmente cientos de nodos sin tener en cuenta si el dispositivo hardware correspondiente existe en realidad Esto se hace t picamente mediante un gui n MAKEDEYV que contiene una serie de llamadas al programa mknod con los n meros mayor y menor correspondientes a cada posible dispositivo que pudiera existir en el mundo Con el uso del m todo Udev s lo se crear n los nodos correspondientes a aquellos dispositivos detectados por el n cleo Debido a que estos nodos de dispositivo se crear n cada vez que se inicie el sistema se almacenar n en un sistema de ficheros tmpfs el cual existe por completo en memoria Los nodos de dispositivo no necesitan mucho espacio por lo que la memoria utilizada es muy poca 7 4 1 Historia En Febrero de 2000 un nuevo sistema de ficheros llamado devfs fue incluido en los n
180. estar preparado para reiniciarse dentro del nuevo sistema LFS Linux From Scratch Version 6 2 Este es el proceso en pocas palabras La informaci n detallada sobre cada paso a dar se expone en los siguientes cap tulos y descripciones de los paquetes Los temas que pueden parecer complicados se aclarar n y todo estar en su sitio a medida que te embarques en la aventura del LES Linux From Scratch Version 6 2 1 2 Que hay de nuevo desde la ltima publicaci n A continuci n hay una lista de los paquetes actualizados desde la anterior publicaci n del libro Actualizado a e Automake 1 9 6 e Bash 3 1 e Binutils 2 16 1 e Bison 2 2 e Coreutils 5 96 e E2fsprogs 1 39 e File 4 17 Findutils 4 2 27 e Flex 2 5 33 e Gawk 3 1 5 e GCC 4 0 3 e Gettext 0 14 5 e Glibc 2 3 6 e GRUB 0 97 JANA Etc 2 10 e IPRoute2 2 6 16 060323 e Less 394 e LFS Bootscripts 6 2 e Libtool 1 5 22 e Linux 2 6 16 27 e Linux Libc Headers 2 6 12 0 e M41 4 4 e Man pages 2 34 e Ncurses 5 5 e Perl 5 8 8 e Procps 3 2 6 e Psmisc 22 2 e Readline 5 1 e Sed 4 1 5 Shadow 4 0 15 TCL 8 4 13 Udev 096 Vim 7 0 Zlib 1 2 3 Revertido a Groff 1 18 1 1 Anadido bash 3 1 fixes 8 patch Berkeley DB 4 4 20 bzip2 1 0 3 bzgrep_security 1 patch bzip2 1 0 3 install_docs 1 patch db 4 4 20 fixes 1 patch gawk 3 1 5 segfault_fix 1 patch gcc 4 0 3 specs 1 patch glibc 2 3 6 inotify 1 patch glibc 2 3 6 linux_types 1 patch groff 1 18
181. ete Module Init Tools contiene programas para manejar m dulos del n cleo en n cleos Linux con versi n mayor o igual a 2 5 47 Tiempo estimado de construcci n less than 0 1 SBU Espacio requerido en disco 7 MB 6 47 1 Instalaci n de Module Init Tools Primero corrige un problema potencial cuando los m dulos son especificados usando expresiones regulares patch Np1 i module init tools 3 2 2 modprobe 1 patch Ejecuta los siguientes comandos para efectuar las pruebas advierte que el comando make distclean es necesario para limpiar el rbol de las fuentes pues las fuentes son recompiladas como parte del proceso de pruebas configure amp amp make check amp amp make distclean Prepara Module Init Tools para su compilaci n configure prefix enable zlib Compila el paquete make Instala el paquete make INSTALL install install Significado del par metro de make INSTALL install Normalmente make install no instalar los bin rios si estos ya existen Esta opci n modifica dicho comportamiento invocando a install en vez de usar el gui n envoltorio utilizado por defecto 6 47 2 Contenido de Module Init Tools Programas instalados depmod generate modprobe conf insmod insmod static Ismod modinfo modprobe y rmmod Descripciones cortas depmod Crea un fichero de dependencias bas ndose en los s mbolos que encuentra en el conjunto existente de m dulos del n cleo A este fichero lo usa modprobe
182. eutils Grep M4 Make Perl Sed y Texinfo El banco de pruebas depende de Automake Diffutils Findutils GCC y Libtool Debe instalarse antes de Automake Automake Para su instalaci n depende de Autoconf Bash Coreutils Gettext Grep M4 Make Perl Sed y Texinfo El banco de pruebas depende de Binutils Bison Bzip2 DejaGNU Diffutils Expect Findutils Flex GCC Gettext Gzip Libtool y Tar Tambi n puede usar otros paquetes no instalados en LES Debe instalarse antes de Ninguno Bash Para su instalaci n depende de Bash Bison Coreutils Diffutils GCC Glibc Grep Make Ncurses Patch Readline Sed y Texinfo El banco de pruebas depende de Diffutils y Gawk Debe instalarse antes de Ninguno Berkeley DB Para su instalaci n depende de Bash Binutils Coreutils Diffutils Gawk GCC Glibc Grep Make y Sed El banco de pruebas depende de No se ejecuta Necesita que TCL sea instalado en el sistema final Debe instalarse antes de Ninguno Binutils Para su instalaci n depende de Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Make Perl Sed y Texinfo El banco de pruebas depende de DejaGNU y Expect 269 Linux From Scratch Version 6 2 Debe instalarse antes de Ninguno Bison Para su instalaci n depende de Bash Binutils Coreutils GCC Gettext Glibc Grep M4 Make y Sed El banco de pruebas depende de Diffutils y Findutils Debe instalarse antes de Flex Kbd y Tar Bzip2 Para
183. ev rules file October 9 2005 e matt Emphasise the fact that one must delete the source directory after each package has been installed Fixes bug 1638 Thanks to Chris Staub October 8 2005 e archaic Added patch to fix poor tempfile creation in Texinfo 4 8 that can lead to a symlink attack 22 Linux From Scratch Version 6 2 e matt Upgrade to iproute2 051007 October 7 2005 e matt Upgrade to gcc 4 0 2 October 4 2005 e matt Prevent GCC from running the fixincludes script in chapter5 pass2 and chapter 6 fixes bug 1636 Thanks to Tushar and Greg for their contributions on this issue September 29 2005 e matt Add more explicit reader prerequisites fixes bug 1629 e matt Add v to commands that accept it fixes bug 1612 September 26 2005 e matt Upgrade to man pages 2 08 September 24 2005 e matt Upgrade to gawk 3 1 5 e matt Upgrade to man 1 6b e matt Upgrade to util linux 2 12r September 20 2005 e matt Upgrade to bison 2 1 September 17 2005 e matt Upgrade to udev 070 and remove the unnecessary udevdir dev parameter e matt Added patch for coreutils to improve echo s POSIX and bash compatibility and to recognise xhh syntax as required by the test suite in udev 069 and later September 15 2005 e archaic Added patch for util linux to prevent a umount vulnerability September 8 2005 e jhuntwork Upgrade to groff 1 19 2 September 6 2005
184. ew Use non deprecated format for accessing MODALIAS keys in the Udev rules file and prevent the from being expanded by the shell e matthew Add patches 009 and 010 from Bash upstream e matthew Upgrade to Man pages 2 24 February 19 2006 e matthew Upgrade Perl libc patch to prevent Perl from trying to find headers on the host system Fixes bug 1695 e matthew Expand the Udey module handling rule to run for every subsystem not just USB e matthew Upgrade to Linux 2 6 15 4 e matthew Upgrade to Udev 085 e matthew Install Sed s HTML documentation by using enable html instead of editing the 15 Linux From Scratch Version 6 2 Makefile Thanks to Greg Schafer for the report and the fix Add upstream fixes 001 002 for Readline Add upstream fixes 001 008 for Bash Upgrade to Sed 4 1 5 matthew matthew matthew matthew Upgrade to Man pages 2 23 matthew Upgrade to Coreutils 5 94 matthew Upgrade to DB 4 4 20 matthew Upgrade to Perl 5 8 8 removing the now unneeded vulnerability and DB module patches matthew Add the verbose parameter to a couple of commands in Linux Libc Headers and DB matthew Create udev specific directories in udev s instructions instead of the more generic creatingdirs xml Add pts and shm directories to 1ib udev devices so that they can be mounted successfully at boot time February 10 2006 manuel
185. ext 87 Linux From Scratch Version 6 2 5 21 Grep 2 5 1a El paquete Grep contiene programas para buscar dentro de ficheros Tiempo estimado de construcci n 0 1 SBU Espacio requerido en disco 4 8 MB 5 21 1 Instalaci n de Grep Prepara Grep para su compilaci n configure prefix tools disable perl regexp Significado de la opci n de configure disable perl regexp Esto asegura que grep no se enlaza contra alguna librer a PCRE que pudiese estar presente en el anfitri n y que no estar disponible una vez que entremos en el entorno chroot Compila el paquete make Para comprobar los resultados ejecuta make check Instala el paquete make install Los detalles sobre este paquete se encuentran en la Secci n 6 37 2 Contenido de Grep 88 Linux From Scratch Version 6 2 5 22 Gzip 1 3 5 El paquete Gzip contiene programas para comprimir y descomprimir ficheros Tiempo estimado de construcci n less than 0 1 SBU Espacio requerido en disco 2 2 MB 5 22 1 Instalaci n de Gzip Prepara Gzip para su compilaci n configure prefix tools Compila el paquete make Este paquete no incluye un banco de pruebas Instala el paquete make install Los detalles sobre este paquete se encuentran en la Secci n 6 39 2 Contenido de Gzip 89 5 23 M4 1 4 4 El paquete M4 contiene un procesador de macros Tiempo estimado de construcci n less than 0 1 SBU Espacio r
186. ficaba esto Decid no utilizar paquetes precompilados de ning n tipo ni CD ROMs o discos de arranque que instalasen las utilidades b sicas Quer a usar mi actual sistema Linux para desarrollar mi propio sistema personalizado Este sistema Linux perfecto deber a tener toda la potencia de los otros sistemas sin sus debilidades Al principio la idea fue bastante desalentadora pero me mantuve aferrado a la idea de que pod a construir un sistema que tuviese en consideraci n mis necesidades y deseos en vez de usar un est ndar que no se ajustaba a lo que andaba buscando Despu s de sortear todos los problemas de dependencias circulares y errores de compilaci n cre un sistema Linux personalizado hecho a medida y completamente funcional Este proceso me permiti adem s crear un sistema compacto y ajustado que era m s r pido y ocupaba menos espacio que cualquier sistema operativo tradicional Llam a este sistema Linux From Scratch Linux Desde Cero o sistema LES para acortar Cuando compart mis metas y experiencias con otros miembros de la comunidad Linux se hizo palpable que hab a un amplio inter s en las ideas que surgieron de mis aventuras con Linux No s lo porque dicho sistema LFS de construcci n personalizada pod a cubrir las especificaciones y requerimientos del usuario sino tambi n porque ofrec a una gran oportunidad para el aprendizaje a los programadores y administradores de sistemas y ampliar su conocimiento sobre Li
187. ficheros M4 con estilo aclocal aclocal Genera ficheros aclocal m4 basados en el contenido de ficheros configure in aclocal 1 9 6 Enlace duro a aclocal automake Herramienta para generar autom ticamente los Makefile in a partir de ficheros Makefile am Para crear todos los ficheros Makefile in para un paquete ejecuta este programa en el directorio de m s alto nivel Mediante la exploraci n de los configure in autom ticamente encuentra cada Makefile am apropiado y genera el correspondiente Makefile in automake 1 9 6 Enlace duro a automake compile Un envoltorio wrapper para compiladores config guess Gui n que intenta averiguar el triplete can nico para la construcci n anfitri n o arquitectura destino dada config sub Gui n con subrutinas para la validaci n de configuraciones depcomp Gui n para compilar un programa que aparte de la salida deseada tambi n genera informaci n sobre las dependencias elisp comp Compila en octetos c digo Lisp de Emacs 153 install sh mdate sh missing mkinstalldirs py compile symlink tree ylwrap Linux From Scratch Version 6 2 Gui n que instala un programa gui n o fichero de datos Gui n que imprime la fecha de modificaci n de un fichero o directorio Gui n que act a como sustituto com n de programas GNU no encontrados durante una instalaci n Gui n que genera una rbol de directorios Compila un programa Python Gui n para crear un rbol de enlac
188. fo afmtodit eqn eqn2graph geqn enlace a eqn grn grodvi groff groffer grog grolbp grolj4 grops grotty gtbl enlace a tbl hpftodit indxbib Ikbib lookbib mmroff neqn nroff 174 Linux From Scratch Version 6 2 pfbtops pic pic2graph post grohtml pre grohtml refer soelim tbl tfmtodit y troff Descripciones cortas addftinfo afmtodit eqn eqn2graph geqn grn grodvi groff groffer grog grolbp grolj4 grops grotty gtbl hpftodit indxbib Ikbib lookbib mmroff neqn Lee un fichero de fuentes troff y afiade alguna informacion adicional sobre la m trica de la fuente que es usada por el sistema groff Crea un fichero de fuentes para usarlo con groff y grops Compila las descripciones de las f6rmulas embebidas en los ficheros de entrada troff a comandos que pueda entender troff Convierte una ecuaci n EQN en una imagen Enlace a eqn Un preprocesador groff para ficheros gremlin Un controlador para groff que genera formatos dvi de TeX Una interfaz para el sistema de formateado de documentos groff Normalmente lanza el programa troff y un post procesador apropiado para el dispositivo seleccionado Muestra ficheros groff y paginas de manual en las X y en consola Lee ficheros y averigua cu l de las opciones e man me mm ms p S y t de groff se necesitan para imprimir los ficheros y muestra el comando de groff incluyendo esas opciones Un controlad
189. fuente lat1 16 junto con la aplicaci n de mapa de caract res 8859 1 que es lo correcto en USA establece esta variable a lat1 16 m 8859 1 Si no se establece la variable el gui n de arranque no lanzar el programa setfont y se usar la fuente VGA por defecto junto con la aplicaci n de mapa de caract res por defecto UNICODE Establece esta variable a 1 yes o true para poner la consola en modo UTF 8 Es til en locales basadas en UTF 8 e inofensiva en el resto LEGACY_CHARSET Para muchos esquemas de teclado no hay un mapa de teclado Unicode base en el paquete Kdb El gui n de arranque console convertir al vuelo un mapa de teclado disponible a UTF 8 si esta variable se establece a la codificaci n del mapa de teclado no UTF 8 disponible Sin embargo ten en cuenta que las teclas muertas las teclas que no generan un caracter por s mismas pero a aden un acento sobre el caracter generado por la siguiente tecla No existen teclas muertas en los teclas US normales y la composici n es decir presionar Ctrl A E para generar el caracter no funcionar n en modo UTF 8 sin un parche especial del n cleo Esta variable s lo es til en modo UTF 8 BROKEN_COMPOSE Establece esto a 0 si vas a aplicar el parche del n cleo en el Cap tulo 8 Advierte que tambi n tendr s que a adir el grupo de caracteres esperado por las reglas de composici n de tu mapa de teclado a la variable FONT tras la opci
190. futils 2 8 1 i18n 1 patch El parche anter or provocar que el sistema de construcci n de Diffutils intente reconstruir la p gina de manual diff 1 usando el programa help2man que no est disponible El resultado es una p gina de manual de diff ilegible Podemos evitar esto actualizando la marca de tiempo del fichero man diff 1 touch man diff 1 Prepara Diffutils para su compilaci n configure prefix usr Compila el paquete make Este paquete no incluye un banco de pruebas Instala el paquete make install 6 29 2 Contenido de Diffutils Programas instalados cmp diff diff3 y sdiff Descripciones cortas cmp Compara dos ficheros e informa en d nde o en qu bytes difieren diff Compara dos ficheros o directorios e informa qu l neas de los ficheros difieren diff3 Compara tres ficheros l nea a l nea sdiff Mezcla dos ficheros y muestra los resultados interactivamente 159 Linux From Scratch Version 6 2 6 30 E2fsprogs 1 39 El paquete E2fsprogs contiene las utilidades para manejar el sistema de ficheros ext 2 Tambi n soporta los sistemas de ficheros ext 3 con registro de transacciones Tiempo estimado de construcci n 0 4 SBU Espacio requerido en disco 31 2 MB 6 30 1 Instalaci n de E2fsprogs Se recomienda construir E2fsprogs en un subdirectorio del rbol de las fuentes mkdir v build cd build Prepara E2fsprogs para su compilaci n configure prefix usr with root prefix
191. guring rules fixes bug 1622 e matt Upgrade to Man 1 6a August 20th 2005 e matt Stop moving some of coreutils binaries to bin as they aren t required to be there fixes bug 1620 August 19th 2005 e matt Upgrade to Udev 068 24 Linux From Scratch Version 6 2 e matt Upgrade to IANA etc 2 00 e matt Upgrade to file 4 15 August 18th 2005 e matt Simplify the method for finding where GCC s default specs file and private include directory live Additionally don t assume the host s sed supports the i switch e ken Add a patch to sanitise bzgrep s handling of filenames August 16th 2005 e matt Install sed s man page to usr share doc sed 4 1 4 instead of usr share doc fixes bug 1600 e matt Upgraded to linux 2 6 12 5 August 15th 2005 e matt Alter the GCC fomit frame pointer sed to protect from multiple invocations Greg Schafer August 14th 2005 e ken Upgrade shadow to 4 0 11 1 with enable shadowgrp as advised by Greg Schafer e matt Mention the common libmudflap test failures in GCC fixes bug 1615 e matt Added patch to install documentation for bzip2 fixes bug 1603 e matt Upgrade to linux 2 6 12 4 e matt Add sed to chapter05 gcc pass2 and chapter06 gcc to ensure they get built with fomit frame pointer so it matches the bootstrap build in chapter05 gcc pass1 fixes bug 1609 e matt Upgrade to udev 067 including a fix for the failing test bug 161
192. h Sama MDS a47c281lafdda457ba4033498f973400d e GRUB Disk Geometry Patch 28 KB Descarga http www linuxfromscratch org patches Ifs 6 2 grub 0 97 disk_geometry 1 patch Sima MDS bf1594e82940e25d089 feca74c6f1879 e Gzip Security Patch 2 KB Descarga http www linuxfromscratch org patches Ifs 6 2 gzip 1 3 5 security_fixes 1 patch Sima MDS 107844f01fc49446654ae4a8f8a0728 e Inetutils GCC 4 x Fix Patch 1 3 KB Descarga http www linuxfromscratch org patches Ifs 6 2 inetutils 1 4 2 gcc4_fixes 3 patch Sima MDS 5204fbc503c9fb6a8e353583818db6b9 e Inetutils No Server Man Pages Patch 4 1 KB Descarga http www linuxfromscratch org patches lfs 6 2 inetutils 1 4 2 no_server_man_pages 1 patch Sama MDS eb477 532bc6d26e7025fcfc4452511d e Kbd Backspace Delete Fix Patch 11 KB Descarga http www linuxfromscratch org patches Ifs 6 2 kbd 1 12 backspace 1I patch Sima MDS 692c88bb76906d99cc20446fadfb6499 e Kbd GCC 4 x Fix Patch 1 4 KB Descarga http www linuxfromscratch org patches Ifs 6 2 kbd 1 12 gcc4_fixes 1 patch Sama MDS 615bc1e381ab646f04d8045751led1 69 e Linux kernel UTF 8 Composing Patch 11 KB Descarga http www linuxfromscratch org patches lfs 6 2 linux 2 6 16 27 utf8_input 1 patch Suma MDS5 d67b53e1e99c782bd28d879elleelb6c3 e Linux Libc Headers Inotify Patch 4 7 KB Descarga http www linuxfromscratch org patches lfs 6 2 linux libc headers 2 6 12 0 inotify 3 patch S ma MDS 8 d71a4bd3344380bd16
193. hero etc resolv conf Si el sistema va a estar conectado a Internet necesitar alg n tipo de resoluci n de nombres DNS para resolver los nombres de dominio de Internet a direcciones IP y viceversa Esto se consigue mejor colocando la direcci n IP del servidor DNS facilitado por el ISP o administrador de red en etc resolv conf Crea este fichero ejecutando lo siguiente cat gt etc resolv conf lt lt EOF i Begia eta reso ly Coni domain lt Your Domain Name gt nameserver lt IP address of your primary nameserver gt nameserver lt IP address of your secondary nameserver gt End ete resolv cont EOF Sustituye lt direcci n IP del servidor de nombres gt con la direcci n IP del servidor DNS m s apropiado para tu configuraci n Con frecuencia hay m s de una entrada los requisitos establecen servidores secundarios como respaldo Si s lo necesitas o deseas un servidor DNS elimina la segunda l nea nameserver del fichero La direcci n IP pueder ser incluso un enrutador de la red local 248 Linux From Scratch Version 6 2 Capitulo 8 Hacer el sistema LFS arrancable 8 1 Introduccion Es hora de hacer arrancable el sistema LFS En este cap tulo se explica la creaci n de un fichero fstab la construcci n de un n cleo para el nuevo sistema LFS y la instalaci n del gestor de arranque GRUB para que el sistema LFS se pueda seleccionar para arrancar al inicio 249 Linux From Scratch Version 6 2 8 2
194. hero de especificaciones del compilador y los guiones del enlazador todav a apunten a tools No podemos ajustar las especificaciones y el enlazador antes de instalar Glibc porque entonces las comprobaciones del autoconf de Glibc dar an resultados err neos y esto arruinar a nuestro objetivo de conseguir una construcci n limpia El paquete glibc libidn a ade a Glibc soporte para nombres de dominio internacionalizados IDN Muchos programas que soportan IDN requieren la librer a libidn completa mira http www linuxfromscratch org blfs view svn general ibidn html no este a adido Desempaquetalo desde dentro del directorio de las fuentes de Glibc tar xf glibc libidn 2 3 6 tar bz2 Aplica el siguiente parche para corregir errores de construcci n en paquetes que incluyen linux types h depues de sys kd h patch Np1 i glibc 2 3 6 linux _types 1 patch A ade una cabecera que define las funciones de llamadas al sistema para la caracter stica inotify disponible en los nuevos n cleos Linux patch Np1 i glibc 2 3 6 inotify 1 patch En la locale vi_VN TCVN bash entra en un bucle infinito al inicio Se desconoce si esto es un fallo de bash o un problema de Glibc Desactiva la instalaci n de dicha locale para evitar el problema sed i vi_VN TCVN d localedata SUPPORTED Cuando se ejecuta make install un gui n llamado test installation plrealiza un peque a prueba de sanidad de nuestra reci n instalada Glibc Sin embargo debi
195. i n de Autoconf Prepara Autoconf para su compilaci n configure prefix usr Compila el paquete make Para comprobar los resultados ejecuta make check Esto tarda bastante tiempo unos 3 SBUs Adem s se ignoran 2 pruebas que necesitan Automake Para una mayor cobertura de las pruebas puedes volver a probar Autoconf tras instalar Automake Instala el paquete make install 6 25 2 Contenido de Autoconf Programas instalados autoconf autoheader autom4te autoreconf autoscan autoupdate e ifnames Descripciones cortas autoconf autoheader autom4te autoreconf autoscan autoupdate ifnames Genera guiones del int rprete de comandos que automaticamente configuran paquetes de c digo fuente adapt ndolos a muchas clases de sistemas tipo UNIX Los guiones de configuraci n que genera son independientes para ejecutarlos no es necesario el programa autoconf Es una herramienta para crear plantillas de declaraciones define de C utilizadas por el gui n configure Es un envoltorio para el procesador de macros M4 Ejecuta autom ticamente y en el orden correcto autoconf autoheader aclocal automake gettextize y libtoolize para ahorrar tiempo cuando se hacen cambios en las plantillas de autoconf y automake Ayuda a crear un fichero configure in para un paquete de software Analiza los ficheros fuente en un rbol de directorios buscando problemas comunes de portabilidad y crea un fichero configure
196. i la partici n LFS es peque a es bueno saber que se pueden eliminar algunas cosas innecesarias Los binarios y librer as que se han construido contienen unos 70 MB de s mbolos de depuraci n innecesarios Elimina esos s mbolos con strip strip debug tools lib strip strip unneeded tools s bin El ltimo de los comandos anteriores se saltar una veintena de ficheros avisando que no reconoce su formato Muchos de ellos son guiones en vez de binarios Ten cuidado de no utilizar strip unneeded con las librer as Las est ticas se destruir an y tendr as que construir de nuevo los tres paquetes de las herramientas principales Para recuperar unos 20 MB mas elimina la documentaci n rm rf tools info man En este momento deber as tener como m nimo 850 MB de espacio libre en LFS para poder construir e instalar Glibc en el siguiente cap tulo Si puedes construir e instalar Glibc podr s construir e instalar el resto 98 Linux From Scratch Version 6 2 5 32 Cambio del propietario Nota Tanto estos comandos como los del resto del libro deben realizarse como usuario root no como usuario 1fs Igualmente vuelve a comprobar que LFS est definido en el entorno de LOOT En estos momentos el directorio LFS tools pertenece al usuario 1fs que s lo existe en el sistema anfitri n Si el directorio SLFS tools se conserva como est los ficheros pertenecer n a un ID de usuario sin su correspondiente cuenta Esto
197. ibdb_cxx 128 129 libdl 112 117 libe2p 160 162 libexpect 5 43 73 74 libext2fs 160 162 libfl a 166 166 libform 138 140 libg 112 117 libgce 124 127 libgettextlib 171 172 libgettextpo 171 172 libgettextsre 171 172 libhistory 147 148 libiberty 121 122 libieee 112 117 libltdl 144 144 libm 112 117 libmagic 163 163 libmcheck 112 117 283 libmemusage 112 117 libmenu 138 140 libncurses 138 140 libnsl 112 117 libnss 112 117 libopcodes 121 123 libpanel 138 140 libpcprofile 112 117 libproc 141 142 libpthread 112 117 libreadline 147 148 libresolv 112 117 librpcsve 112 117 librt 112 117 libSegFault 112 117 libshadow 197 200 libss 160 162 libstdc 124 127 libsupc 124 127 libtc18 4 so 72 72 libthread_db 112 118 libutil 112 118 libuuid 160 162 liby a 137 137 libz 149 150 Guiones checkfs 223 223 cleanfs 223 223 console 223 223 configuraci n 232 functions 223 223 halt 223 223 ifdown 223 223 ifup 223 223 localnet 223 223 etc hosts 242 configuraci n 241 mountfs 223 223 mountkernfs 223 223 network 223 223 etc hosts 242 configuraci n 245 rc 223 223 reboot 223 223 sendsignals 223 224 setclock 223 224 configuraci n 231 static 223 224 swap 223 224 sysklogd 223 224 configuraci n 235 Linux From Scratch Version 6 2 template
198. ibe Headers 2 0120 viciado sven nedadenn coantees sb sacs decias redadas 110 A case O ARTE a 111 6 9 Gb 2 TO as AA UE a AA EA AT DU r a 112 6 10 Reajistar las Nerranne nas s n faba A Dn O ira aas 119 6 11 Bimutils 2 TON daa 121 Ge OCC 03 aa 124 6 13 Berkeley DB 4 4 20 nasal e ein cad ot DD O DA basta 128 A TE 130 6 13 lana Ete 2 Das a ici 135 E A eas ee ces wang a Beate 136 6 17 A a a a O 137 RANO E e a E ON 138 6 19 PTOCPS I LO Mistress n EE aE EEE EEE DAS E TAE E S TEE 141 A A E AR Un A dag a a ie aa e e arene fais 143 LI e a te do 144 6 22 ET A OR ERE cats a e ta N S ANO 145 6 23 Readlnme Sl ina de Sanaa eh an e E A I a A anada 147 A AIA N A O SEG Gc een 149 GD A O 151 G26 PUPA A A tc 153 6 27 Bash 3 T ada 155 6 28BZAP2 AO A O A r a a O 157 O29 DIUS SN A A A a a aa Ea 159 o n a a SES ICON TRAS O 160 6 31 FUCA a i 163 032 Findit SA2 2T rati A e E nC a e i ee eee E DD 164 iv Linux From Scratch Version 6 2 60 33 LO A A ania aes 166 6 34 GRUB 0 A O 167 6 35 GAWK 3i LO a n 169 6 3607 Gettext OLA A ee eae ee er Or Ree ieee A 171 AN O 173 O 174 6 39 GAP in ita 177 GAO netti S kE cease O 179 6 41 IPROUte 22216 116 060323 e e a eae as 181 ST P S A O 183 0 43 Less 394 unid 185 644 MaS FSM ict O as 186 6 43 Man DB 243 sai ira 187 GAG ITI ta A ace tae eM aad et a aA au cl Oa ee CMa La Ss 191 6 47 Module Tnit Tools LLL a inn oracion caian ade 192 CAS Pateh 2 SA Ads 194 0 49 EA A A IS 195 E 197 6 51
199. icando el fichero de configuraci n correspondiente mientras lo copiamos a su destino sed e s MD5_CRYPT_ENAB no MD5_CRYPT_ENAB yes e s var spool mail var mail etc login defs gt etc login defs Nota Si construyes Shadow con soporte para Cracklib ejecuta lo siguiente sed i s DICTPATH DICTPATH t lib cracklib pw_dict etc login defs Mueve un programa mal ubicado a su lugar correcto mv v usr bin passwd bin Mueve las librer as de Shadow a un lugar m s apropiado mv v lib libshadow a usr lib rm v lib libshadow so ln sfv lib libshadow so 0 usr lib libshadow so La opci n D del programa useradd requiere el directorio etc default para funcionar correctamente mkdir v etc default 6 50 2 Configuracion de Shadow Este paquete contiene utilidades para a adir modificar o eliminar usuarios y grupos establecer y cambiar sus contrase as y otras tareas administrativas Puedes encontrar una completa explicaci n de lo que significa password shadowing ocultaci n de contrase as en el fichero doc HOWTO dentro del rbol de las fuentes Hay una cosa que debes recordar si decides usar soporte para Shadow los programas que necesiten verificar contrase as administradores de sesi n programas FTP demonios pop3 etc necesitar n ser compatibles con Shadow esto es necesitan ser capaces de trabajar con contrase as ocultas Para habilitar las contrase as ocultas ejecuta el siguiente com
200. ico The Linux Documentation Project El Proyecto de Documentaci n Linux Trivial File Transfer Protocol Protocolo Trivial de Transferencia de Ficheros Thread Local Storage Almacenamiento Local de Hilos User Identifier Identificador de Usuario user file creation mask m scara de creaci n de ficheros del usuario Universal Serial Bus Bus Serie Universal Coordinated Universal Time Tiempo Universal Coordinado Universally Unique Identifier Identificador Universalmente Unico Virtual Console Consola Virtual Video Graphics Array Matr z de Gr ficos de V deo Virtual Terminal Terminal Virtual 264 Linux From Scratch Version 6 2 Apendice B Agradecimientos Queremos agradecer a las siguientes personas y organizaciones su contribuci n al Proyecto LFS ES e Gerard Beekmans por crear el apasionante proyecto Linux From Scratch e Red ECOLNET por prestarnos su apoyo incondicional desde el primer momento y facilitarnos los servicios de SVN listas de correo y espacio web que son vitales para realizar nuestro trabajo e Alberto Ferrer por poner a nuestra disposici n los servicios de hospedaje de Dattatec e Al Equipo del LFS ES por su dedicaci n e inter s en conseguir que este proyecto funcione y que las traducciones tengan la mejor calidad posible e A todos aquellos que leen nuestras traducciones con inter s pues es para ellos para quienes las escribimos Queremos agradecer a las siguientes personas y organ
201. id 211 213 setterm 211 213 sfdisk 211 213 sg 197 200 sh 155 156 shalsum 130 133 showconsolefont 183 184 showkey 183 184 shred 130 133 shtags pl 215 218 shutdown 203 204 size 121 122 skill 141 141 slabtop 141 141 sleep 130 133 sln 112 116 snice 141 141 soelim 174 176 sort 130 133 Linux From Scratch Version 6 2 splain 145 146 split 130 133 sprof 112 116 ss 181 182 stat 130 133 strings 121 122 strip 121 122 stty 130 133 su 197 200 sulogin 203 204 sum 130 134 swapoff 211 213 swapon 211 213 symlink tree 153 154 sync 130 134 sysctl 141 141 syslogd 201 202 tac 130 134 tack 138 139 tail 130 134 tailf 211 214 talk 179 180 tar 205 205 tbl 174 176 tc 181 182 tclsh 72 72 tclsh8 4 72 72 tcltags 215 218 tee 130 134 telinit 203 204 telnet 179 180 tempfile 191 191 test 130 134 texi2dvi 206 207 texi2pdf 206 207 texindex 206 207 tfmtodit 174 176 tftp 179 180 tic 138 139 tload 141 141 toe 138 140 top 141 141 touch 130 134 tput 138 140 tr 130 134 troff 174 176 true 130 134 tset 138 140 tsort 130 134 tty 130 134 tune2fs 160 162 tunelp 211 214 282 tzselect 112 117 udevcontrol 208 209 udevd 208 209 udevinfo 208 209 udevmonitor 208 209 udevsettle 208 209 udevtest 208 209 udevtrigger 20
202. idos getopt obstack strerror 122 Linux From Scratch Version 6 2 strtol y strtoul libbfd La libreria del Descriptor de Fichero Binario libopcodes Una librer a para manejar mnem nicos Se usa para construir utilidades como objdump Los mnem nicos son las versiones en texto legible de las instrucciones del procesador 123 Linux From Scratch Version 6 2 6 12 GCC 4 0 3 El paquete GCC contiene la colecci n de compiladores GNU que incluye los compiladores C y C Tiempo estimado de construcci n 22 SBU testsuite included Espacio requerido en disco 566 MB testsuite included 6 12 1 Instalaci n de GCC Aplica una sustituci n sed que suprimir la instalaci n de libiberty a Se usar en su lugar la versi n de libiberty a suministrada por Binutils sed i s install_to INSTALL DEST libiberty Makefile in El proceso bootstrap realizado en Secci n 5 4 GCC 4 0 3 Fase 1 construye GCC con la opci n fomit frame pointer Las construcciones no bootstrap omiten dicha opci n as que aplica el siguiente sed para usarla y asegurar construcciones consistentes del compliador sed i s XCFLAGS amp fomit frame pointer gcc Makefile in Se sabe que el gui n fixincludes en ocasiones intenta corregir erroneamente las cabeceras instaladas anteriormente en el sistema Como se sabe que las cabeceras instaladas por GCC 4 0 3 y Glibc 2 3 6 no necesitan correcci n ejecuta el siguiente
203. ientemente de la numeraci n original proporcionada por el n cleo es decir las interfaces eth0 y eth1 originales ya no existir n a no ser que tu pongas dichos nombres descriptivos en las llaves NAME Utiliza los nombres descriptivos enpleados en las reglas Udev en vez de ethO en los siguientes ficheros de configuraci n de las interfaces de red 245 Linux From Scratch Version 6 2 Ten en cuenta que las reglas anteriores no funcionan con todas las configuraciones Por ejemplo las reglas basadas en MAC fallan cuando se usan puentes o VLAN debido a que los puentes y VLAN tienen la misma direcci n MAC que la tarjeta de red Uno quiere renombrar s lo la interfaz de la tarjeta de red no la interfaz del puente o de la VLAN pero la regla de ejemplo coincide para ambos Si utilizas dichas interfaces virtuales tienes dos posibles soluciones Una es a adir la clave DRIVER tras SUBSYSTEM net en las reglas basadas en MAC para que no detecte las interfaces virtuales Se sabe que esto falla con algunas tarjetas Ethernet antiguas debido a que no tienen la variable DRIVER en el uevent y por tanto la regla no detecta dichas tarjetas Otra soluci n es cambiar a reglas que utilicen la posici n en el bus como llave El segundo caso que se sabe que no funciona es con tarjetas wireless que utilizan los controladores Mad Wifi o HostAP debido a que estos crean al menos dos interfaces con la misma direcci n MAC y posici n en
204. iernas manpages es man pages es 1 55 tar bz2 pueden instalarse con los siguientes comandos mv man7 iso_8859 7 7 X convert mans UTF 8 ISO 8859 1 man mv man7 iso_8859 7 7 X make install 189 Nota Linux From Scratch Version 6 2 La necesidad de excluir el fichero man7 iso_8859 7 7 del proceso de conversi n debido a que ya est en ISO 8859 les por un error en el empaquetado de man pages es 1 55 Futuras versiones no deber an necesitar este apa o 6 45 3 Contenido de Man DB Programas instalados accessdb apropos catman convert mans lexgrog man mandb manpath whatis y zsoelim Descripciones cortas accessdb apropos catman convert mans lexgrog man mandb manpath whatis zsoelim Vuelca el contenido de la base de datos de whatis a formato legible Busca en la base de datos de whatis y muestra las descripciones cortas de los comandos del sistema que contienen la cadena dada Crea o actualiza las paginas de manual preformateadas Reformatea p ginas de manual para que Man DB pueda leerlas Muestra informaci n sumarizada en una l nea sobre la p gina de manual dada Formatea y muestra la p gina de manual solicitada Crea o actualiza la base de datos de whatis Muestra el contenido de MANPATH o si MANPATH no est definido la ruta de b squeda disponible basada en los ajuste de man conf y el entorno del usuario B sca en la base de datos de whatis y muestra las descripciones cortas
205. ificado de las opciones de configure prefix tools Esto le indica al gui n configure que los programas de Binutils se instalar n en el directorio tools disable nls Esta opci n desactiva la internacionalizaci n pues i18n no es necesario en las herramientas temporales Compila el paquete make La compilaci n se ha completado Normalmente deber amos ejecutar ahora el banco de pruebas pero en esta temprana fase el entorno de trabajo para los bancos de pruebas Tcl Expect y DejaGnu todav a no est en su sitio Los beneficios de ejecutar las pruebas ahora son m nimos pues los programas de esta primera fase pronto ser n sustituidos por los de la segunda Instala el paquete make install Prepara el enlazador para la posterior fase de ajuste 62 Linux From Scratch Version 6 2 make C ld clean make C ld LIB PATH tools 1ib cp v ld ld new tools bin Significado de los par metros de make C ld clean Esto le indica al programa make que elimine todos los ficheros compilados que haya en el subdirectorio Ld C ld LIB_PATH tools lib Esta opci n vuelve a construir todo dentro del subdirectorio 1d Especificar la variable LIB_PATH del Makefile en la l nea de comandos nos permite obviar su valor por defecto y apuntar a nuestro directorio de herramientas temporales El valor de esta variable especifica la ruta de b squeda de librer as por defecto del enlazador Estos preparativos se utilizan m s tar
206. ificador num rico en hexadecimal de la m quina actual Muestra o establece el nombre de la m quina actual Muestra los identificadores efectivos de usuario y grupo y los grupos a los que pertenece del usuario actual o de un usuario dado Copia ficheros mientras establece sus permisos y si es posible su propietario y grupo Une a partir de dos ficheros las l neas que tienen campos de uni n id nticos Crea un enlace duro con el nombre indicado de un fichero dado Crea enlaces duros o blandos simb licos entre ficheros 132 logname Is md5sum mkdir mkfifo mknod nice nl nohup od paste pathchk pinky pr printenv printf ptx pwd readlink rm rmdir seq shalsum shred sleep sort split stat stty Linux From Scratch Version 6 2 Muestra el nombre de acceso del usuario actual Lista el contenido de cada directorio indicado Muestra o verifica sumas de comprobaci n MDS Mensaje de Res men 5 Crea directorios con los nombres indicados Crea tuber as FIFO el primero en entrar el primero en salir con los nombres indicados Crea nodos de dispositivos con los nombres indicados Un nodo de dispositivo es un fichero especial de caracteres o un fichero especial de bloques o una tuber a Mueve o renombra ficheros o directorios Ejecuta un programa con una prioridad distinta Numera las l neas de los ficheros dados Ejecuta un comando que no se interrumpe cuando se cierra la sesi n
207. in bash gt gt etc passwd 130 Linux From Scratch Version 6 2 Ahora todo esta preparado para ejecutar el banco de pruebas Primero ejecuta las pruebas que requieren que se ejecuten como root make NON_ROOT_USERNAME dummy check root A continuaci n ejecuta el resto como usuario dummy src su dummy c make RUN_EXPENSIVE_TESTS yes check Cuando termines con las pruebas elimina los grupos y el usuario ficticios sed i dummy d etc passwd etc group Instala el paquete make install Mueve los programas a la localizaci n especificada por el FHS mv v usr bin cat chgrp chmod chown cp date dd df echo bin mv v usr bin false hostname 1n 1s mkdir mknod mv pwd rm bin mv v usr bin rmdir stty sync true unamej bin mv v usr bin chroot usr sbin Algunos de los guiones del paquete LFS Bootscripts dependen de head sleep y nice Como usr puede no estar disponible en las primeras fases del arranque es necesario que estos binarios se encuentren en la partici n ra z mv v usr bin head sleep nice bin 6 14 2 Contenido de Coreutils Programas instalados 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 link In logname ls mdSsum mkdir mkfifo mknod mv nice nl nohup od paste pathchk pinky pr printenv printf
208. inutils Coreutils Diffutils GCC Gettext Glibc Make Patch Sed y Texinfo El banco de pruebas depende de Diffutils y Gawk Debe instalarse antes de Man DB Groff Para su instalaci n depende de Bash Binutils Bison Coreutils Gawk GCC Glibc Grep Make Patch Sed y Texinfo El banco de pruebas depende de No incluye un banco de pruebas Debe instalarse antes de Man DB y Perl GRUB Para su instalaci n depende de Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Ncurses Sed y Texinfo El banco de pruebas depende de Ninguno Debe instalarse antes de Ninguno Gzip Para su instalaci n depende de Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Patch Sed y Texinfo El banco de pruebas depende de No incluye un bamco de pruebas Debe instalarse antes de Man DB lana Etc Para su instalaci n depende de Coreutils Gawk y Make El banco de pruebas depende de No incluye un bamco de pruebas Debe instalarse antes de Perl Inetutils Para su instalaci n depende de Bash Binutils Coreutils GCC Glibc Grep Make Ncurses Patch Sed y Texinfo El banco de pruebas depende de No incluye un bamco de pruebas Debe instalarse antes de Tar IProute2 272 Linux From Scratch Version 6 2 Para su instalaci n depende de Bash Berkeley DB Bison Coreutils Flex GCC Glibc Make y Linux Libc Headers El banco de pruebas depende de No incluye un bamco de pruebas Debe ins
209. inutos en un sistema r pido pero puede tardar hasta tres d as en uno lento As que en vez de proporcionar tiempos reales se usar la unidad de medida Standard Build Unit SBU Unidad de Construcci n Estandar Funciona de la siguiente forma El primer paquete que se compila en este libro es en el Cap tulo 5 Binutils El tiempo que tarde en compilar este paquete es lo que llamamos Unidad de Construcci n Estandar o SBU Todos los dem s tiempos de compilaci n se expresar n con relaci n a este tiempo Por ejemplo considera un paquete cuyo tiempo de compilaci n es de 4 5 SBUs Esto significa que si un sistema tarda en compilar e instalar el primer paso de Binutils 10 minutos tardar aproximadamente 45 minutos en construir dicho paquete Por suerte bastantes de los tiempos de construcci n son mucho m s cortos que el de Binutils En general los SBU no son muy exactos debido a que dependen de muchos factores no s lo la versi n de GCC del anfitri n Advierte que en m quinas basadas en Multiprocesadores Sim tricos SMP los SBU son a n menos exactos Se han suministrado aqu para mostrar una aproximaci n de cuanto podr a tardar la instalaci n de un paquete pero los n meros pueden variar en docenas de minutos en algunos casos Para ver los tiempos reales de un cierto n mero de m quinas concretas recomendamos visitar The LinuxFromScratch SBU Home Page que se encuentra en http www linuxfromscratch org sbu 56 Li
210. iones del n cleo Udev no est pensado para cargar controladores envoltorio como snd pcm oss o controladores que no pertenecen al hardware como loop 7 4 3 2 Un m dulo del n cleo no se carga autom ticamente y Udev no intenta cargarlo Si el m dulo envoltorio s lo ampl a la funcionalidad proporcionada por otro m dulo del modo que snd pcm oss ampl a la funcionalidad de snd pcm haciendo que las tarjetas de sonido est n disponibles para aplicaciones OSS configura modprobe para cargar el envoltorio despues de que Udev carge el m dulo envuelto Para hacer esto a ade una l nea install en etc modprobe conf Por ejemplo install smd acm SloLia mocoicclos i Sincl jocim p sbin modprobe snd pem oss true Si el m dulo en cuenti n no es un envoltorio y es til por si mismo configura el gui n de arranque S05modules para cargar dicho m dulo en el arranque del sistema Para hacer esto a ade una nueva l nea con el nombre del m dulo al fichero etc sysconfig modules Esto tambi n funciona para m dulos envoltorio pero no es ptimo en dicho caso 7 4 3 3 Udev carga m dulos no deseados Entonces no construyas el m dulo o ignoralo en el fichero etc modprobe conf como se hace en el siguiente ejemplo para el m dulo forte blacklist forte Los m dulos ignorados a n pueden cargarse manualmente usando el comando modprobe 7 4 3 4 Udev crea un dispositivo incorrectamente o hace un enlace simb lico e
211. ip 1 3 5 324 KB P gina web http www gzip org Descarga ftp alpha gnu org gnu gzip gzip 1 3 5 tar gz Sama MDS 3d6c191dfd2b 307014b421c12dc8469 e lana Etc 2 10 184 KB P gina web http www sethwklein net projects iana etc Descarga http www sethwklein net projects iana etc downloads iana etc 2 10 tar bz2 S ma MDS 53dea53262b281322143c744ca60ffbb e Inetutils 1 4 2 1 019 KB P gina web http www gnu org software inetutils Descarga http ftp gnu org gnu inetutils inetutils 1 4 2 tar gz S ma MDS d 0909a586ddac2b7a0d62795eea4206 e IPRoute2 2 6 16 060323 378 KB P gina web http linux net osdl org index php lproute2 Descarga http developer osdl org dev iproute2 download iproute2 2 6 16 060323 tar gz Sama MDS 31d4516b35bbfeaa72c762f5959e97c e Kbd 1 12 618 KB Descarga http www kernel org pub linux utils kbd kbd 1 12 tar bz2 Sama MDS 069d1175b4891343b107a8ac2b4a39f6 e Less 394 286 KB P gina web http www greenwoodsoftware com less Descarga http www greenwoodsoftware com less less 394 tar gz Sima MDS a9f072ccefa0d315b325f3e9cdbd4b97 e LFS Bootscripts 6 2 24 KB Descarga http www linuxfromscratch org fs downloads 6 2 fs bootscripts 6 2 tar bz2 Sama MDS 45 9efc6b75c26751ddb74dlad0276cl 43 Linux From Scratch Version 6 2 e Libtool 1 5 22 2 856 KB Pagina web http www gnu org software libtool Descarga http ftp gnu org gnu libtool ibtool
212. istema Empresarial de Administraci n de Vol menes second extended file system segundo sistema de ficheros extendido third extended file system tercer sistema de ficheros extendido Frequently Asked Questions Cuestiones Preguntadas Frecuentemente Filesystem Hierarchy Standard Est ndar de la Jerarqu a de Sistemas de Ficheros First In First Out Primero en Entrar Primero en Salir Fully Qualified Domain Name Nombre de Dominio Completamente Cualificado File Transfer Protocol Protocolo de Transferencia de Ficheros Gibabytes GNU Compiler Collection Colecci n GNU de Compiladores 262 GID GMT GPG HTML IDE IEEE IO IP IPC IRC ISO ISP KB LED LFS LSB MB MBR MDS NIC NLS NNTP NPTL OSS PCH PCRE PID PLFS PTY QA QOS RAM Linux From Scratch Versi n 6 2 Group Identifier Identificador de Grupo Greenwich Mean Time Tiempo del Meridiano de Greenwich GNU Privacy Guard Guardi n GNU de Privacidad Hypertext Markup Language Lenguaje de Marcas de Hipertexto Integrated Drive Electronics Controlador Electr nico Integrado Institute of Electrical and Electronic Engineers Instituto de Ingenieros en Electricidad y Electr nica Input Output Entrada Salida Internet Protocol Protocolo de Internet Inter Process Communication Comunicaci n Entre Procesos Internet Relay Chat Charlas en Internet International Organization for Standardization Organizaci n Internacional para la Estandar
213. istrar destructores C para objetos est ticos locales y objetos globales Es esencial para un manejo de destructores completamente compatible con los est ndares Tambi n afecta al ABI de C obteniendo librer as compartidas y programas C interoperables con otras distribuciones Linux enable languages C Cc Esta opci n asegura que se construyan tanto el compilador de C como el de C disable libstdcxx pch No construye la cabecera precompilada PCH para 1ibstdc Necesita mucho espacio y nosotros no la utilizamos Compila el paquete make Aqu no hace falta usar el objetivo bootstrap ya que el compilador que estamos utilizando para construir GCC ha sido construido a partir de la misma versi n de las fuentes de GCC que usamos antes 77 Linux From Scratch Version 6 2 La compilaci n est completa Como se mencion antes no es obligatorio ejecutar los bancos de pruebas de las herramientas temporales en este cap tulo Si de todas formas deseas ejecutar el banco de pruebas de GCC hazlo con el siguiente comando make k check La opci n k se usa para que el banco de pruebas se ejecute por completo y sin detenerse ante el primer error El banco de pruebas de GCC es muy exhaustivo y es casi seguro que generar algunos fallos Para una relaci n de las pruebas fallidas m s importantes mira en Secci n 6 12 GCC 4 0 3 Instala el paquete make install Atenci n En este punto es obligatorio parar y
214. iva los dispositivos y ficheros de paginaci n e intercambio y lista los dispositivos y ficheros en uso 213 tailf tunelp ul umount vidmode whereis write Linux From Scratch Version 6 2 Observa el crecimiento de un fichero de registro Muestra las ltimas 10 l neas de un fichero y continua mostrando cualquier nueva entrada en el fichero cuando es creada Ajusta los par metros de la l nea de impresi n Un filtro para traducir marcas de texto a la secuencia de escape que indica subrayado para el terminal en uso Desmonta un sistema de ficheros del rbol de ficheros del sistema Establece el modo de v deo en una imagen de arranque Localiza el binario las fuentes y la p gina del manual de un comando Env a un mensaje a otro usuario s ese usuario no ha desactivado dichos mensajes 214 Linux From Scratch Version 6 2 6 57 Vim 7 0 El paquete Vim contiene un poderoso editor de texto Tiempo estimado de construcci n 0 4 SBU Espacio requerido en disco 47 4 MB Alternativas a Vim Si prefieres otro editor en vez de Vim como Emacs Joe o Nano mira en http www linuxfromscratch org blfs view stable postlfs editors html las instrucciones de instalaci n sugeridas 6 57 1 Instalaci n de Vim Primero desempaqueta en el mismo directorio tanto vim 7 0 tar bz2 como opcionalmente vim 7 0 lang tar gz Luego parchea Vim con diversas correcciones creadas por el desarrollador desde la liberaci n i
215. izaci n Internet Service Provider Proveedor de Servicios de Internet Kilobytes Light Emitting Diode Diodo Emisor de Luz Linux From Scratch Linux Standard Base Est ndar Base de Linux Megabytes Master Boot Record Registro Maestro de Arranque Message Digest 5 Res men 5 del Mensaje Network Interface Card Tarjeta de Interfaz de Red Native Language Support Soporte para Lenguaje Nativo Network News Transport Protocol Protocolo de Red para Transporte de Noticias Native POSIX Threading Library Librer a Nativa de Hilos POSIX Open Sound System Sistema Abierto de Sonido Pre Compiled Headers Cabeceras Precompiladas Perl Compatible Regular Expression Expresi n Regular Compatible de Perl Process Identifier Identificador del Proceso Pure Linux From Scratch Linux From Scratch Puro pseudo terminal Quality Assurance Control de Calidad Quality Of Service Calidad Del Servicio Random Access Memory Memoria de Acceso Aleatorio 263 RPC RTC SBU SCO SGR SHA1 SMP TLDP TFTP TLS UID umask USB UTC UUID vc VGA VT Linux From Scratch Version 6 2 Remote Procedure Call Llamada a Procedimiento Remoto Real Time Clock Reloj de Tiempo Real Standard Build Unit Unidad Est ndar de Construcci n The Santa Cruz Operation Select Graphic Rendition Interpretaci n de la Selecci n Gr fica Secure Hash Algorithm 1 Algoritmo 1 de Tabla Segura Symmetric Multi Processor Multiprocesador Sim tr
216. izaciones su contribuci n al Proyecto Linux From Scratch e Gerard Beekmans lt gerard O linuxfromscratch org gt Creador de LFS lider del Proyecto LFS e Matthew Burgess lt matthew Olinuxfromscratch org gt L der del proyecto LES escritor editor t cnico de LFS administrador de la publcaci n de LFS e Archaic lt archaicOlinuxfromscratch org gt Editor escritor t cnico de LFS lider del proyecto HLES editor del BLFS mantenedor de los Proyectos Hints y Patches e Nathan Coulson lt nathan Olinuxfromscratch org gt Mantenedor de LFS Bootscripts e Bruce Dubbs lt bdubbs linuxfromscratch org gt Lider del Proyecto BLFS e Manuel Canales Esparcia lt manuel linuxfromscratch org gt Mantenedor de los XML y XSL de LFS BLFS HLES e Jim Gifford lt jim linuxfromscratch org gt Escritor t cnico de LFS lider del Proyecto Patches e Jeremy Huntwork lt jhuntwork O linuxfromscratch org gt Escritor t cnico de LFS mantenedor del LiveCD de LFS lider del Proyecto ALFS e Anderson Lizardo lt lizardo linuxfromscratch org gt Mantenedor de los guiones de generaci n del sitio web e Ryan Oliver lt ryan linuxfromscratch org gt Mantenedor de las herramientas principales de LFS e James Robertson lt jwrober linuxfromscratch org gt Mantenedor de Bugzilla e Tushar Teredesai lt tushar linuxfromscratch org gt Editor del libro BLES lider de los Proyectos Hints y Patches Innumerabl
217. l n cleo sean estables En su lugar crea tus propias reglas para crear enlaces simb licos con nombres estables basadas en alg n atributo estable del dispositivo como un n mero de serie o la salida de las diversas utilidades _id instaladas por Udev Mira los ejemplos en Secci n 7 12 Crear enlaces simb licos persnalizados a los dispositivos y Secci n 7 13 Configuraci n del gui n network 7 4 4 Lectura til En los siguientes sitios hay documentaci n de ayuda adicional e Una implementaci n de devfs en espacio de usuario http www kroah com linux talks ols_2003_udev_paper Reprint Kroah Hartman OLS2003 pdf e FAQ de Udev http www kernel org pub linux utils kernel hotplug udev FAQ e El sistema de ficheros sysfs http www kernel org pub linux kernel people mochel doc papers ols 2005 mochel pdf 230 Linux From Scratch Version 6 2 7 5 Configuracion del guion setclock El gui n setclock lee la hora del reloj interno del ordenador conocido tambi n como reloj BIOS o CMOS Semiconductor de Oxido de Metal Complementario Si el reloj hardware est establecido a la hora UTC este gui n la convierte a la hora local mediante el fichero etc localtime que le indica al programa hwclock en qu zona horaria se encuentra el usuario No hay manera de detectar autom ticamente si el reloj utiliza UTC o no as que esto se debe configurar manualmente Si no puedes recordar si el reloj hardware est en UTC o no aver g
218. lazados din micamente y sin los bits suid o sgid Precargar la librer a puede causar algunos efectos indeseados durante la instalaci n por lo que se han de realizar algunas pruebas para asegurar que el administrador de paquetes no rompe nada y registrar todos los ficheros pertinentes 6 3 2 6 Crear archivos de paquetes En este esquema la instalaci n del paquete es falseada dentro de un rbol separado como se describe en la administraci n de paquetes por medio de enlaces Tras la instalaci n se crea un archivo del paquete usando los ficheros instalados Entonces se utiliza este archivo para instalar el paquete en la m quina local o incluso puede usarse para instalar el paquete en otras m quinas Este m todo es el usado por muchos de los administradores de paquetes que se encuentran en las distribuciones comerciales Ejemplos de administradores de paquetes que siguen este m todo son RPM que es el requerido por Linux Standard Base Specification pkg utils apt de Debian y el sistema Portage de Gentoo Una receta describiendo c mo adaptar este estilo de administraci n de paquetes a sistemas LFS se encuentra en http www linuxfromscratch org hints downloads files fakeroot txt 6 3 2 7 Administraci n basada en usuario Este esquema que es propio de LFS fu desarrollado por Matthias Benkmann y est disponible en el Proyecto Hints En este esquema cada paquete se instala con un usuario diferente dentro de las localizaciones est n
219. link to rdev script setfdprm setsid setterm sfdisk swapoff link to swapon swapon tailf tunelp ul umount vidmode link to rdev whereis y write Descripciones cortas agetty arch blockdev cal cfdisk chkdupexe col colcrt colrm column ctrlaltdel cytune ddate dmesg elvtune fdformat flock fdisk fsck cramfs fsck minix getopt hexdump hwclock ipcrm ipcs isosize Abre un puerto de terminal espera la introducci n de un nombre de usuario e invoca al comando login Muestra la arquitectura de la m quina Permite llamar a los controles de entrada salida ioctls de los dispositivos de bloque desde la l nea de comandos Muestra un calendario simple Se usa para manipular la tabla de particiones del dispositivo indicado Encuentra ejecutables duplicados Elimina avances de l nea inversos Filtra la salida de nroff para terminales a los que les faltan ciertas caracter sticas como el sobrerefresco o semil neas Elimina las columnas indicadas Formatea un fichero a m ltiples columnas Establece la funci n de la combinaci n de teclas Ctrl Alt Del para un reinicio duro o blando Ajusta los par metros de los controladores de l nea serie para tarjetas Cyclades Muestra la fecha Discordante o convierte las fechas Gregorianas en fechas Discordantes Muestra los mensajes de arranque del n cleo Puede usarse para afinar el rendimiento y la interactividad de un dispositivo de bloque
220. los problemas de seguridad reci n descubiertos y ocasionalmente sus posibles correcciones La informaci n para subscribirse est disponible en http www securityfocus com archive e Mas All de Linux From Scratch El libro M s All de Linux From Scratch BLFS cubre los procesos de instalaci n de paquetes muy diferentes que est n fuera del objetivo del Libro LFS Puedes encontrar el proyecto BLFS en http www linuxfromscratch org blfs e Recetas de LFS Las recetas de LFS son una serie de documentos educacionales suministrados por voluntarios a la comunidad LFS Las recetas est n disponibles en http www linuxfromscratch org hints list html e Listas de Correo Hay varias listas de correo sobre LFS a las que puedes suscribirte si necesitas ayuda si quieres mantenerte al corriente de los ltimos desarrollos si quieres contribuir al proyecto y m s Para m s informaci n consulta el Cap tulo 1 Listas de correo El Proyecto de Documentaci n de Linux TLDP El objetivo del Proyecto de Documentaci n de Linux es colaborar en todo lo relacionado con la creaci n y publicaci n de la documentaci n sobre Linux El LDP ofrece una gran colecci n de C MOS Gu as y p ginas de manual y puedes encontrarlo en http www tldp org Su filial en castellano se encuentra en http es tldp org 260 Linux From Scratch Version 6 2 Parte IV Apendices Linux From Scratch Version 6 2 Apendice A Acronimos y terminos
221. ls sloiay shutdown sel a r NoN O OS W EOF Linux From Scratch Versi n 6 2 2345 respawn sbin agetty tty3 9600 2345 respawn sbin agetty tty4 9600 2345 respawn sbin agetty tty5 9600 2345 respawn sbin agetty tty6 9600 End etc inittab 6 52 3 Contenido de Sysvinit Programas instalados bootlogd halt init killall5 last lastb enlace a last mesg mountpoint pidof enlace a killall5 poweroff enlace a halt reboot enlace a halt runlevel shutdown sulogin telinit enlace a init utmpdump y wall Descripciones cortas bootlogd halt init killall5 last lastb mesg mountpoint pidof poweroff reboot runlevel shutdown sulogin telinit utmpdump wall Registra los mensajes de arranque en un fichero Suele invocar a shutdown con la opci n h excepto cuando el sistema ya se encuentra en el nivel de ejecuci n 0 en cuyo caso le indica al n cleo que apague el sistema Anota en var log wtmp que el sistema se va a cerrar El primer proceso que se inicia cuando el n cleo ha inicializado el hardware el cual toma el control sobre el arranque e inicia todos los procesos que se le han indicado Env a una se al a todos los procesos excepto a los procesos de su propia sesi n para que no mate el int rprete de comandos desde el que fue llamado Muestra los ltimos usuarios conectados y desconectados buscando hacia atr s en el fichero var log wtmp Tambi n muestra los i
222. m Por ltimo el condicional if junto con set background dark corrige lo que vim se imagina sobre el color de fondo de ciertos emuladores de terminal Esto le da a la coloraci n sem ntica un mejor esquema de color para utilizarlo sobre el fondo negro de estos programas Se puede obtener informaci n sobre las opciones disponibles ejecutando el siguiente comando vim c options Nota Por defecto Vim instala ficheros de correcci n ortogr fica solamente para ingl s Para instalar los ficheros para tu idioma preferido descarga los ficheros spl1 y opcionalmente los S110 para tu idioma y codificaci n de caract res desde ftp ftp vim org pub vim runtime spell y guardalos en usr share vim vim70 spell Para utilizar estos ficheros ortogr ficos es necesario configurar etc vimrc por ejemplo set spelllang en es set spell Para m s informaci n mira el README que se encuentra en la anterior URL 6 57 3 Contenido de Vim Programas instalados efm_filter pl efm_perl pl ex enlace a vim less sh mve awk pltags pl ref rview enlace a vim rvim enlace a vim shtags pl tcltags vi enlace a vim view enlace a vim vim vim132 vim2html pl vimdiff enlace a vim vimm vimspell sh vimtutor y xxd Descripciones cortas efm_filter pl Un filtro para crear un fichero de error que puede ser le do por vim efm_perl pl Formatea los mensajes de error del int rprete Perl para usarlos con el modo quickfix de vim
223. m Scratch Version 6 2 LFS Estos parches opcionales solucionan peque os problemas o activan alguna funcionalidad que no lo est por defecto Eres libre de examinar la base de datos de parches que se encuentra en http www linuxfromscratch org patches y elegir cualquier parche adicional que cubra las necesidades del sistema 50 Linux From Scratch Version 6 2 Capitulo 4 Ultimos preparativos 4 1 Sobre LFS Durante este libro la variable de entorno LFS se usar frecuentemente Es importante que esta variable est siempre definida Deber a establecerse al punto de montaje que elegiste para tu partici n LFS Comprueba que tu variable LF S est correctamente establecida con echo LFS Aseg rate de que la salida muestra la ruta a tu punto de montaje de la partici n LFS que es mnt 1fs si seguiste el ejemplo aqu usado Si la salida es err nea puedes establecer la variable con export LFS mnt lfs Tener establecida esta variable significa que si se indica que ejecutes un comando como mkdir LFS tools puede teclearse literalmente El int rprete de comandos sustituir LFS con mnt lfs o aquello a lo que est establecida la variable cuando procese la l nea de comandos No olvides comprobar que LF S est establecida cada vez que salgas y vuelvas al entorno o cuando hagas su a root o a otro usuario 51 Linux From Scratch Version 6 2 4 2 Creacion del directorio LFS tools Todos los programas c
224. ma GNU Linux Cuando enciendes tu ordenador lo primero que se carga del sistema operativo es el n cleo Este detecta e inicializa todos los componentes hardware del ordenador poniendo estos 253 System map 2 6 16 27 Linux From Scratch Versi n 6 2 componentes a disposici n del software como si fuesen un rbol de ficheros y convierte una CPU nica en una m quina multi tarea capaz de ejecutar concurrentemente varios programas casi al mismo tiempo Un listado de direcciones y s mbolos Mapea los puntos de entrada y direcciones de todas las funciones y estructuras de datos del n cleo 254 Linux From Scratch Version 6 2 8 4 Hacer el sistema LFS arrancable Tu nuevo y brillante sistema LFS esta casi completo Una de las ultimas cosas por hacer es asegurarse de que puede ser arrancado Las siguientes instrucciones s lo son aplicables en ordenadores de arquitectura IA 32 o sea PCs La informaci n sobre cargadores de arranque para otras arquitecturas deber a estar disponible en las localizaciones usuales de recursos espec ficos para esas arquitecturas El arranque puede ser una tarea compleja Primero unas palabras de advertencia Familiar zate con tu actual gestor de arranque y con cualquier otro sistema operativo presente en tu s disco s duro s que desees mantener arrancable Aseg rate de que tienes preparado un disco de arranque de emergencia para poder rescatar el ordenador si este quedase inutilizable no
225. mando nroff usando groff Transforma una fuente en formato p b de PostScript a ASCII Compila descripciones de gr ficos embebidos dentro de ficheros de entrada troff o TeX a comandos que puedan ser entendidos por TeX o troff Convierte un diagrama PIC en una imagen Transforma la salida de GNU troff a HTML Transforma la salida de GNU troff a HTML Copia el contenido de un fichero en la salida est ndar excepto que las l neas entre y son interpretadas como citas y las l neas entre R y R2 son interpretadas como comandos sobre c mo deben ser procesadas las citas Lee ficheros y reemplaza l neas de la forma fichero so por el contenido de fichero Compila descripciones de tablas embebidas dentro de ficheros de entrada troff a comandos que puedan ser entendidos por troff Crea un fichero de fuentes para su uso con groff Tdvi Es altamente compatible con Unix troff Normalmente debe ser invocado usando el comando groff que tambi n lanzar los preprocesadores y post procesadores en el orden correcto y con las opciones necesarias 176 Linux From Scratch Version 6 2 6 39 Gzip 1 3 5 El paquete Gzip contiene programas para comprimir y descomprimir ficheros Tiempo estimado de construcci n less than 0 1 SBU Espacio requerido en disco 2 2 MB 6 39 1 Instalaci n de Gzip Gzip tiene dos vulnerabilidades de seguridad conocidas El siguiente parche corrige ambas patch Np1 i gzip 1 3 5 security fixes 1 patch
226. mas Esto ayuda a evitar que cualquier cabecera del anfitri n contamine el entorno de construcci n Ejecuta los siguientes comandos para eliminr dichos ficheros de cabecera puede que encuentres m s facil copiar y pegar estos comandos en vez de teclearlos debido a su longitud GCC_INCLUDEDIR dirname gcc print libgcc file name include amp amp find GCC_INCLUDEDIR maxdepth O xtype d exec rm rvf amp amp rm vf grep 1 DO NOT EDIT THIS FILE GCC_INCLUDEDIR amp amp unset GCC _INCLUDEDIR 70 Linux From Scratch Version 6 2 Atencion En este punto es obligatorio parar y asegurarse de que las operaciones b sicas compilaci n y enlazado de las nuevas herramientas funcionan como se espera Para esto vamos a hacer una simple comprobaci n echo main gt dummy c cc dummy c readelf l a out grep tools Si todo funciona correctamente no debe haber errores y la salida del ultimo comando debe ser Requesting program interpreter COOLS lilo lel Linux 0 2 Int rprete de programa solicitado cOOls Lils l Limwx 80 2 Confirma que tools 1lib aparezca como el prefijo de tu enlazador din mico Si no recibes una salida como la mostrada arriba o no hay salida alguna algo est seriamente mal Investiga y revisa tus pasos para encontrar el problema y corregirlo El problema debe resolverse antes de continuar Primero repite la comprobaci n de sanid
227. matthew Upgrade to file 4 17 e matthew Use updated version of the coreutils suppression patch to prevent coreutils version of the su man page from being installed Fixes 1690 March 11 2006 e matthew Upgrade to GCC 4 0 3 March 8 2006 e matthew Upgrade to Man pages 2 25 14 Linux From Scratch Version 6 2 e matthew Remove an example of poor Udev support as it does not apply to the kernel used in the book Thanks to Alexander Patrakov e matthew Upgrade to Linux 2 6 15 6 e matthew Upgrade to udev 087 e matthew Udev s run_program rules require a null device to be present at an early stage so create one in lib udev devices March 7 2006 e matthew Update Udev rules file to load SCSI modules and upload firmware to devices that need it Improve explanations of device and module handling Thanks to Alexander Patrakov e archaic Replaced the debian specific groff patch with an LFS style patch March 3 2006 e gerard Remove D_GNU_SOURCE from chapter 5 Patch Thanks to Dan Nicholson for the patch March 1 2006 e archaic Create the Udev directories before creating the symlinks e jhuntwork Added a description of perl configure flags that help perl deal with a lack of groff Thanks Dan Nicholson February 27 2006 e archaic New bash fixes patch adds patch 011 from Bash upstream Bash patch 010 broke quoting in certain situations February 20 2006 e matth
228. me en lugar del habitual etc Para hacer que hwclock sea conforme a FHS ejecuta lo siguiente sed i s etc adjtime var lib hwclock adjtime g hwclock hwclock c mkdir p var lib hwclock 6 56 2 Instalacion de Util linux Util linux falla al compilarse contra las nuevas versiones de Linux Libc Headers El siguiente parche corrige de forma correcta dicho problema patch Np1 i util linux 2 12r cramfs 1 patch Prepara Util linux para su compilaci n configure Compila el paquete make HAVE_KILL yes HAVE_SLN yes Significado de los par metros de make HAVE_KILL yes Esto evita que el programa kill que ya ha sido instalado por Procps sea construido e instalado de nuevo HAVE_SLN yes Esto evita que el programa sln un In enlazado est ticamente ya instalado por Glibc se vuelva a construir e instalar Este paquete no incluye un banco de pruebas Instala el paquete make HAVE_KILL yes HAVE_SLN yes install 6 56 3 Contenido de Util linux Programas instalados agetty arch blockdev cal cfdisk chkdupexe col colert colrm column ctrlaltdel cytune ddate dmesg elvtune fdformat fdisk flock fsck cramfs fsck minix getopt hexdump hwclock ipcrm ipcs isosize line logger look losetup mcookie mkfs mkfs bfs mkfs cramfs mkfs minix mkswap more mount namei pg pivot_root ramsize link to rdev raw rdev readprofile rename renice rev 211 Linux From Scratch Version 6 2 rootflags
229. mencion brevemente el sistema de ficheros sysfs Uno podr a preguntarse c mo conoce sysfs los dispositivos presentes en el sistema y qu n meros de dispositivo debe usar Los crontroladores que se han compilado directamente dentro del n cleo registran sus objetos en sysfs a medida que son detectados por el n cleo Para los controladores compilados como m dulos esto suceder cuando se cargue el m dulo Una vez montado el sistema de ficheros sysfs en sys los datos registrados en sysfs por los controladores est n disponibles para los procesos de usuario y para que udevd cree los nodos de dispositivo 7 4 2 2 Gui n de inicio de Udev El gui n de inicio 10udev se ocupa de la creaci n de dichos nodos de dispositivo cuando se inicia Linux Este gui n desactiva sbin hotplug como manejador uevent Esto se hace debido a que el n cleo ya no necesita llamar a binarios externos En su lugar udevd escuchar en un conector de red los uevent que el 227 Linux From Scratch Version 6 2 n cleo genere A continuaci n el gui n de arranque copia los nodos de dispositivo est ticos que encuentre en 1ib udev devices a dev Esto es necesario ya que algunos dispositivos directorios y enlaces simb licos son requeridos antes de que el proceso de manejo din mico de dispositivos est disponible durante las primeras fases del arranque del sistema La creaci n de nodos de dispositivo est ticos en 1ib udev devices proporciona tambi n una sol
230. misc mke2fs jv dev lt xxx gt cd tmp rm rfv e2fsprogs 1 39 Si se cre una partici n de intercambio swap necesitar que la inicialices ejecutando el siguiente comando Si utilizas una partici n de intercambio ya existente no es necesario formatearla mkswap dev lt yyy gt Sustituye lt yyy gt por el nombre de la partici n de intercambio 38 Linux From Scratch Version 6 2 2 4 Montar la nueva particion Ahora que se ha creado un sistema de ficheros es necesario hacer accesible la partici n Para esto debe montarse en el punto de montaje elegido Para los prop sitos de este libro se asume que el sistema de ficheros se monta en mnt 1fs pero la elecci n del directorio se deja para ti Elige un punto de montaje y as gnalo a la variable de entorno LF S ejecutando export LFS mnt lfs Crea el punto de montaje y monta el sistema de ficheros LFS ejecutando mkdir pv LFS mount v t ext3 dev lt xxx gt LFS Sustituye lt xxx gt por el nombre de la partici n LFS Si utilizas m ltiples particiones para LFS digamos que una para y otra para usr m ntalas usando mkdir pv LFS mount v t ext3 dev lt xxx gt LFS mkdir v LFS usr mount v t ext3 dev lt yyy gt LFS usr Sustituye lt xxx gt e lt yyy gt por los nombres de partici n apropiados Aseg rate de que esta nueva partici n no se monte con permisos muy restrictivos como las opciones nosuid nodev o noatime Ejecuta el comando m
231. mpat so libnss_dns so libnss_files so libnss_hesiod so libnss_nis so libnss_nisplus so libpcprofile so libpthread a so libresolv fa soj librpcsvc a _librt a so libthread_db so y libutil a so Descripciones cortas catchsegv Puede usarse para crear una traza de la pila cuando un programa termina con una violaci n de segmento gencat Genera cat logos de mensajes getconf Muestra los valores de configuraci n del sistema para variables espec ficas del sistema de ficheros getent Obtiene entradas de una base de datos administrativa iconv Realiza conversiones de juego de caracteres iconvconfig Crea un fichero de configuraci n para la carga r pida del m dulo iconv Idconfig Configura las asociaciones en tiempo de ejecuci n para el enlazador din mico Idd Muestra las librer as compartidas requeridas por cada programa o librer a especificados Iddlibc4 Asiste a Idd con los ficheros objeto locale Mustra informaci n diversa sobre la locale actual localedef Compila las especificaciones de locales mtrace Lee e interpreta un fichero de traza de memoria y muestra un sumario en formato legible nscd Un demonio que suministra una cach para las peticiones mas comunes al servidor nscd_nischeck de nombres Comprueba si es necesario o no un modo seguro para b squedas NIS pcprofiledump Vuelca la informaci n generada por un perfil de PC pt_chown Un programa de ayuda para grantpt que establece el propietario
232. mplate y udev Descripciones cortas checkfs Comprueba la integridad de los sistemas de ficheros antes de ser montados con la excepci n de los que usan registros de transacciones journal o los que se montan desde la red cleanfs Elimina los ficheros que no deben guardarse cuando se arranca de nuevo el sistema como aquellos en var run y var lock Regenera var run utmp y elimina los ficheros etc nologin fastboot y forcefsck si existen console Carga el mapa de teclado correcto para el tipo de teclado deseado Tambi n establece la fuente de pantalla functions Contiene funciones com nes como la comprobaci n de errores y estado usadas por diferentes guiones de arranque halt Cierra el sistema ifdown Ayuda al gui n network para detener los dispositivos de red ifup Ayuda al gui n network para iniciar los dispositivos de red localnet Establece el nombre de m quina usado por el sistema hostname y activa el dispositivo de red interna loopback mountfs Monta todos los sistemas de ficheros que no est n marcados como noauto o que no se monten a trav s de la red mountkernfs Monta los sistemas de ficheros virtuales del n cleo como proc network Activa las interfaces de red como las tarjetas de red y establece la puerta de enlace por defecto gateway cuando es necesario rc El controlador maestro de los niveles de arranque Es el responsable de lanzar todos los dem s guiones de arranque uno a uno en una secuencia
233. mportante raz n para la existencia de LFS es ense ar a la gente c mo trabaja internamente un sistema Linux Construir un sistema LFS ayuda a demostrar lo que hace que Linux funcione c mo trabajan juntas las distintas partes y c mo unas dependen de otras Una de las mejores cosas que este proceso de aprendizaje proporciona es la habilidad para adaptar Linux a tus propios gustos y necesidades Uno de los beneficios claves de LFS es que tienes el control de tu sistema sin tener que confiar en la implementaci n de Linux de nadie Con LFS tu est s en el asiento del conductor y puedes dictar cada aspecto de tu sistema como la estructura de directorios y la configuraci n de los guiones de arranque Tambi n podr s decidir d nde por qu y c mo se instalan los programas Otro beneficio de LFS es que puedes crear un sistema Linux verdaderamente compacto Cuando instalas una distribuci n normal acabas instalando muchos programas que probablemente nunca usar s Tan s lo est n ah ocupando espacio de disco o peor a n ciclos de CPU No es muy dif cil conseguir un sistema LFS instalado en menos de 100 MB lo que es notablemente m s peque o que la mayor a de instalaciones existentes Todav a te parece demasiado Algunos de nosotros hemos estado trabajando para crear un sistema LFS embebido realmente peque o Hemos instalado un sistema que contiene lo suficiente para ejecutar un servidor web Apache utilizando tan s lo 8 MB de espacio en disco
234. multiarranque 168 Linux From Scratch Version 6 2 6 35 Gawk 3 1 5 El paquete Gawk contiene programas para manipular ficheros de texto Tiempo estimado de construcci n 0 2 SBU Espacio requerido en disco 18 2 MB 6 35 1 Instalaci n de Gawk Bajo ciertas circustancias Gawk 3 1 5 intenta liberar un fragmento de memoria que no fu ocupado Dicho error lo corrige el siguiente parche patch Np1 i gawk 3 1 5 segfault_fix 1 patch Prepara Gawk para su compilaci n configure prefix usr libexecdir usr lib Debido a un fallo en el gui n configure Gawk falla al detectar ciertos aspectos del soporte para locales de Glibc Este error provoca por ejemplo fallos en el banco de pruebas de Gettext Evita este problema a adiendo las definiciones de macro ausentes en config h cat gt gt config h lt lt EOF define HAVE_LANGINFO_CODESET 1 define HAVE_LC_MESSAGES 1 EOF Compila el paquete make Para comprobar los resultados ejecuta make check Instala el paquete make install 6 35 2 Contenido de Gawk Programas instalados awk enlace a gawk gawk gawk 3 1 5 grcat igawk pgawk pgawk 3 1 5 y pwcat Descripciones cortas awk Enlace a gawk gawk Un programa para manipular ficheros de texto Es la implementaci n GNU de awk gawk 3 1 5 Enlace duro a gawk grcat Vuelca la base de datos de grupos etc group igawk Otorga a gawk la capacidad de incluir ficheros pgawk Es la versi n de gawk con
235. n acortarse y ser m s gen ricas hemos optado por suministrar las instrucciones completas para cada paquete para minimizar la posibilidad de errores La clave para aprender qu hace que un sistema Linux funcione es conocer para qu se utiliza cada paquete y por qu el usuario o el sistema lo necesita Para cada paquete instalado se incluye un sumario con su contenido seguido de una concisa descripci n de cada programa y librer a instalados por el paquete Si piensas usar optimizaciones para la compilaci n durante este cap tulo m rate la receta de optimizaci n en http www linuxfromscratch org hints downloads files optimization txt Las optimizaciones del compilador pueden hacer que un programa funcione m s r pido pero tambi n pueden dificultar la compilaci n e incluso dar problemas al ejecutar el programa Si un paquete rehusa compilar cuando se usan optimizaciones prueba a compilarlo sin ellas y mira si el problema desaparece Incluso si el paquete se compila usando optimizaci n existe el riesgo de que pueda haberse compilado incorrectamente debido a las complejas interacciones entre el c digo y las herramientas de construcci n Ten en cuenta tambi n que las opciones march y mtune pueden causar problemas en las herramientas principales Binutils GCC y Glibc La peque a ganancia que se consigue usando optimizaciones en la compilaci n generalmente queda ensombrecida por los riesgos Aconsejamos a los constructores primerizos de
236. n cat logo de traducci n Aplica un filtro a todas las traducciones de un cat logo de traducci n Compila el binario de un cat logo de mensajes a partir de un cat logo de traducciones Extrae todos los mensajes de un cat logo de traducci n que cumplan cierto criterio o pertenezcan a alguno de los ficheros fuente indicados Crea un nuevo fichero po inicializando la informaci n con valores procedentes del entorno del usuario Combina dos traducciones directas en un nico fichero Descompila cat logos de mensajes binarios en traducciones directas de texto Unifica las traducciones duplicadas en un cat logo de traducci n Muestra traducciones en lenguaje nativo de un mensaje textual cuya forma gramatical depende de un n mero Extrae las l neas de mensajes traducibles de los ficheros fuente indicados para hacer la primera plantilla de traducci n Define la clase autosprintf que hace utilizable la salida formateada de las rutinas de C en programas C para usar con las cadenas lt string gt y los flujos lt iostream gt Una librer a privada que contiene rutinas comunes utilizadas por diversos programas de Gettext No es indicada para uso general Utilizada para escribir programas especializados que procesan ficheros po Esta librer a se utiliza cuando las aplicaciones est ndar incluidas con Gettext no son suficiente como msgcomm msgcmp msgattrib y msgen Una librer a privada que contiene rutinas comunes utiliz
237. n el guion configure Cuando algo va mal mientras se ejecuta el gui n configure consulta el fichero config log Este fichero puede contener errores encontrados por configure que no se mostraron en pantalla Incluye las l neas relevantes si necesitas pedir ayuda 1 5 3 Problemas de compilaci n Tanto la salida por pantalla como el contenido de varios ficheros son tiles para determinar la causa de los problemas de compilaci n La salida por pantalla del gui n configure y del comando make pueden ser tiles No es necesario incluir toda la salida pero incluye suficiente informaci n relevante A continuaci n hay un ejemplo del tipo de informaci n a incluir de una sal da por pantalla de make gcc DALIASPATH mnt lfs usr share locale DLOCALEDTR mnt lfs usr share locale 32 Linux From Scratch Version 6 2 DLIBDIR mnt lfs usr lib INCA IDA A iS Sie Line luce DAS ONE Hi g 0 O getopt ane goo o 02 Suaule O make ar arecam o COMMANCS Cll 0 expand O Lille o LUMCTLOMN O gero o lmalicin o JOO Marmo misc o read o remake o rule o signame o variable o vpath o default o renorte Stus o versiono ojtl o l til Joo os Ta Funcrtlom load Coo niga E lis itmo make 3 79 1 jolo c315652 Underimes rererene to getloadavg collect2 ld returned 1 exit status Make PA make O I melva 218 Leavi
238. n estar en la misma l nea que los comandos Crea el fichero usando el siguiente comando cat gt etc inputre lt lt EOF Begla ete inputs Modified by Chris Lynn lt roryo roryo dynup net gt Allow the command prompt to wrap to the next line set horizontal scroll mode Off Enable 8bit input ser meta flag Om set input meta On p Purns Orie Biel lowe Siewaljooiling set convert meta Off Keep the 8th bit for display ser ouIue merca Om none visible or am ublo le set bell style non All of the following map th scape sequence of the value contained inside the 1st argument to the readline specific functions eOd backward word eOc forward word itor linux Console Mu e s beginning or line Helat en so Lim MelS loecialinimaling Oit lai Story W E Gata end 9 M1 story els delere clacie e 2 quoted insert for xterm eOH beginning of line Acorus end of lin 236 for Konsole Mie We beginning of line e irs QUC OE ALI End etc inputre EOF 237 Linux From Scratch Versi n 6 2 Linux From Scratch Version 6 2 7 9 Los ficheros de inicio de Bash El int rprete de comandos bin bash al que nos referiremos como el int rprete utiliza una colecci n de ficheros de inicio para ayudar a crear un entorno de trabajo Cada fichero tiene un uso espec fico y pueden generar diferentes entornos de ingreso o interactivos Los fiche
239. n formato correcto para los valores monetarios horarios y fechas Este gui n establece tambi n la variable de entoro INPUTRC que hace que Bash y Readline utilicen el fichero etc inputrc creado anteriormente Sustituye a continuaci n lt 11 gt con el c digo de dos letras del idioma deseado por ejemplo en y lt CC gt con el c digo de dos letras de tu pa s por ejemplo GB lt charmap gt debe reemplazarse por el nombre can nico del mapa de caracteres para tu locale elegida Tambi n pueden estar presentes modificadores opcionales como euro Puedes obtener la lista de todas las locales soportadas por Glibc ejecutando el siguiente comando locale a Los mapas de caract res pueden tener una serie de sin nimos por ejemplo ISO 8859 1 se referencia tambi n como iso8859 1 y iso88591 Algunas aplicaciones no pueden manejar correctamente los diversos sin nimos poe ejemplo necesitan que UTF 8 se escriba como UTF 8 no utf8 por lo que es m s seguro elegir el nombre can nico de la locale Para determinar el nombre can nico en el que lt nombre de la locale gt es la salida mostrada por locale a para tu locale preferida en_GB iso88591 en nuestro ejemplo LC_ALL lt nombre de la locale gt locale charmap Para la locale en_GB iso88591 el anterior comando mostrar 238 Linux From Scratch Version 6 2 SOS nl Esto resulta en un ajuste final para la
240. n glibc to describe the most recent results July 13 2006 bdubbs Moved the executables nice find kbd_mode openvt and setfont to bin to support boot scripts Added datadir lib kbd to kbd s configure so that keyboard data will always be on the root partition bdubbs Updated text in section 7 9 The Bash Shell Startup Files to better explain the Xlib example July 12 20006 bdubbs Updated to man pages 2 34 bdubbs Updated to e2fsprogs 1 39 dnicholson Changed text explaining the installation of the udev config rules Thanks to Matthew Burgess dnicholson Various fixes and additions for examples of custom rules in Udev courtesy of Alexander Patrakov Added the Creating custom symlinks page which includes examples of 8 Linux From Scratch Version 6 2 creating persistent device symlinks including CD ROMs Added a second set of guidelines for creating persistent symlinks for network cards Other text touch ups on the configuration pages involving Udev Closes ticket 1818 bdubbs Updated udev config and bootscripts download location dnicholson Added commands to create the vi to vim man page symlink in all available languages Closes ticket 1811 Thanks to Alexander Patrakov dnicholson Updated to udev 096 and udev config 20060712 Removed the bug c program and the cd symlinks script The cd symlinks will be covered in Chapter 7 Closes ticket 1804 Thanks to Alexander Patrakov for
241. n la consola Linux a menos que se utilice framebuffer Si uno quiere tener colores brillantes sin framebuffer y puede vivir sin los caract res que no pertenecen a su idioma es posible usar una fuente de 256 glifos especifica para el idioma como se muestra a continuaci n cat gt etc sysconfig console lt lt EOF Inicio de etc sysconfig console UNICODE 1 KEYMAP bg_bds ut 8 FONT cyr sunl6 Pin de ete syscont toy console EOF 233 Linux From Scratch Version 6 2 El siguiente ejemplo ilustra la autoconversi n del mapa de teclado de ISO 8859 15 a UTF 8 y activa las teclas muertas en modo Unicode cat gt etc sysconfig console lt lt EOF Inicio de ete sysconiig console UNICODE 1 KEYMAP de latinl KEYMAP_CORRECTIONS euro2 LEGACY _CHARSET iso 8859 15 BROKEN_COMPOSE 0 FONT LatArCyrHeb 16 m 8859 15 Fin de etc sysconfig console EOF Para chino japon s coreano y algunos idiomas mas la consola Linux no puede configurarse para mostrar los caract res necesarios Los usuarios que necesiten dichos idiomas deber an instalar el sistema X Window fuentes que cubran los rangos de caract res necesarios y el m todo de entrada adecuado por ejemplo SCIM soporta una gran variedad de idiomas Nota El fichero etc sysconfig console s lo controla la consola de texto Linux No tiene nada que ver con establecer el mapa de teclado y fuentes de terminal correctas en el sistema
242. n la que se empaquetaron Esto normalmente no es problema para cualquier otro paquete que instales debido a que eliminas las fuentes tras la instalaci n Pero con frecuencia el rbol de las fuentes de Linux se guarda durante mucho tiempo por lo que es posible que el ID de usuario del empaquetador sea asignado a alguien en tu m quina y entonces dicha persona podr a tener permiso de escritura en las fuentes del n cleo Si vas a guardar el rbol de las fuentes del n cleo ejecuta chown R 0 0 sobre el directorio linux 2 6 16 27 para asegurar que todos los ficheros son propiedad de root Aviso Cierta documentaci n del n cleo recomienda crear un enlace simb lico usr src linux que apunte al directorio de las fuentes del n cleo Esto es espec fico para n cleos anteriores a la serie 2 6 y no debe ser creado en un sistema LFS pues puede causar problemas con los paquetes que desees instalar una vez que tu sistema LFS est completo Igualmente las cabeceras del directorio include del sistema deber as ser siempre aquellas contra las que se compil Glibc es decir las procedentes del paquete Linux Libc Headers y por tanto nunca deben reemplazarse con las cabeceras del n cleo 8 3 2 Contenido de Linux Ficheros instalados config 2 6 16 27 Ifskernel 2 6 16 27 and System map 2 6 16 27 Descripciones cortas config 2 0 16 27 Contiene todas las opciones de configuraci n del n cleo lfskernel 2 6 16 27 El coraz n del siste
243. n pages 2 17 December 16 2005 e jhuntwork Move Procps to before Perl in chapter 6 Perl s testsuite uses ps December 13 2005 e jhuntwork Install Tcl s internal headers to tools include allowing us to drop its source directory right away Origin is Greg Schafer and thanks to Dan Nicholson for the report fixes bug 1670 December 12 2005 e jhuntwork Updated texinfo patch Fixes segfault issues with texindex Thanks to Randy McMurchy for the report and Bruce Dubbs and Joe Ciccone for the fix December 11 2005 e jhuntwork Upgrade to tcl 8 4 12 e jhuntwork Upgrade to less 394 e jhuntwork Upgrade to readline 5 1 Also removed bash 3 0 and readline 5 0 specific patches e jhuntwork Upgrade to bash 3 1 Also fixed Tcl to work with the new bash version Thanks to Alexander Patrakov and ultimately Greg Schafer for the fix e jhuntwork Changed variable used in readline for linking in ncurses Thanks to Alexander Patrakov for the fix 19 Linux From Scratch Version 6 2 December 9 2005 e matt Upgrade to man pages 2 16 e matt Upgrade to module init tools 3 2 2 matt Upgrade to findutils 4 2 27 December 7 2005 e matt Mention the testsuites or lack of them for all packages fixes bug 1664 Thanks to Chris Staub for the report and analysis of affected packages November 26 2005 e matt Don t install the Linuxthreads man pages the POSIX threading API is documented in the man3
244. n un grupo de herramientas para manejar tablas de caracteres Unicode para fuentes de consola Cambia la idea del n cleo sobre el tama o de la consola Permite cambiar las fuentes EGA y VGA de la consola Carga las entradas de la tabla de correspondencia de c digo de exploraci n scan code a c digo de teclas del n cleo Es ltil si el teclado tiene teclas inusuales Establece los LEDs y las opciones del teclado Mucha gente encuentra til tener el bloqueo num rico Num Lock activado por defecto Define c mo se manejan las teclas meta del teclado Muestra la fuente de pantalla EGA VGA actual de la consola Muestra los c digos de exploraci n c digos de tecla y c digos ASCII de las teclas presionadas en el teclado Pone el teclado y la consola en modo UNICODE No uses este programa a menos que tu mapa de teclado sea para codoficaci n ISO 8859 1 Para otras codificaciones esta utilidad produce resultados incorrectos Revierte el teclado y la consola del modo UNICODE 184 Linux From Scratch Version 6 2 6 43 Less 394 El paquete Less contiene un visor de ficheros de texto Tiempo estimado de construcci n 0 1 SBU Espacio requerido en disco 2 6 MB 6 43 1 Instalaci n de Less Prepara Less para su compilaci n configure prefix usr sysconfdir etc Significado de la opci n de configure sysconfdir etc Esta opci n le indica al programa creado por el paquete que busque en etc sus ficheros d
245. ng clreccory Lis twmo makea 3 79 1 make is ss all recursive mirow I makelij Leaving directos 1is tmo maka 3 79 1 makes ssw elil recursive am merco 2 En este caso mucha gente simplemente incluye la secci n final a partir de males 218 make miror 1 Esto no es suficiente informaci n para diagnosticar el problema porque s lo nos dice que algo fue mal no qu fue mal Lo que se deber a incluir para resultar til es la secci n completa tal y como aparece en el ejemplo anterior ya que incluye el comando que se estaba ejecutando y sus mensajes de error En http catb org esr faqs smart questions html hay disponible un art culo excelente sobre c mo buscar ayuda en Internet Lee y sigue los consejos de este documento para aumentar las posibilidades de obtener la ayuda que necesitas 33 34 Linux From Scratch Version 6 2 Linux From Scratch Version 6 2 Parte Il Preparativos para la construccion Linux From Scratch Version 6 2 a 7 Capitulo 2 Preparar una nueva particion 2 1 Introduccion En este capitulo se preparar la partici n que contendr el sistema LFS Se crear la propia partici n se crear un sistema de ficheros en ella y se montar 36 Linux From Scratch Version 6 2 2 2 Crear una nueva particion Como muchos otros sistemas operativos LFS se instala normalmente en una partici n dedicada El m todo recomendado para construir un sistema LFS es utilizar una pa
246. nicial de Vim 7 0 patch Npl i vim 7 0 fixes 7 patch Esta versi n de Vim instala las p ginas de manual traducidas en directorios en los que Man DB no las buscar Parchea Vim para que instale sus p ginas de manual en los directorios apropiados y permita a Man DB transcodificar la p gina al formato deseado patch Np1 i vim 7 0 mandir 1 patch Hay un problema introducido por uno de los parches del desarrollador que genera un error al descargar ficheros ortogr ficos por HTTP Hasta que esto sea actualizado por los desarrolladores el siguiente parche corrige el problema patch Npl i vim 7 0 spellfile 1 patch Por ltimo cambia la localizaci n por defecto del fichero de configuraci n vimrc a etc echo define SYS VIMRC FILE etc vimrc gt gt src feature h Prepara Vim para su compilaci n configure prefix usr enable multibyte Significado de la opci n de configure enable multibyte Este par metro a ade a vim el soporte para la edici n de ficheros codificados con caracteres multibyte Esto es necesario si se utiliza un conjunto de caracteres multibyte Tambi n permite editar ficheros creados inicialmente en distribuciones Linux como Fedora Core que utilizan UTF 8 como conjunto de caracteres por defecto Compila el paquete make 215 Linux From Scratch Version 6 2 Para comprobar los resultados ejecuta make test Sin embargo este banco de pruebas mostrar por pantalla un mont n
247. nicios y paradas del sistema y los cambios de nivel de ejecuci n Muestra los intentos fallidos de acceso al sistema que se registran en var log btmp Controla si otros usuarios pueden o no enviar mensajes al terminal del usuario actual Comprueba si el directorio es un punto de montaje Muestra los identificadores de proceso PIDs de los programas especificados Le indica al n cleo que cierre el sistema y apague la m quina ver halt Le indica al n cleo que reinicie el sistema ver halt Muestra los niveles de ejecuci n anterior y actual tal y como figura en el ltimo registro de nivel de ejecuci n de var run utmp Provoca el cierre del sistema de una forma segura enviando se ales a todos los procesos y notificando a todos los usuarios conectados Permite el ingreso de root al sistema Suele ser invocado por init cuando el sistema entra en el modo monousuario Le indica a init a qu nivel de ejecuci n debe cambiar Muestra el contenido de un fichero de registro de accesos dado en un formato comprensible por el usuario Env a un mensaje a todos los usuarios conectados 204 Linux From Scratch Version 6 2 6 53 Tar 1 15 1 El paquete Tar contiene un programa de archivado Tiempo estimado de construcci n 0 2 SBU Espacio requerido en disco 13 7 MB 6 53 1 Instalaci n de Tar Aplica un parche para corregir ciertos problemas con el banco de pruebas cuando se usa GCC 4 0 3 patch Npl i tar 1 15 1 9cc4_fix
248. nstall libs 160 Linux From Scratch Version 6 2 6 30 2 Contenido de E2fsprogs Programas instalados badblocks blkid chattr compile_et debugfs dumpe2fs e2fsck e2image e2label filefrag findfs fsck fsck ext2 fsck ext3 logsave Isattr mk_cmds mke2fs mkfs ext2 mkfs ext3 mklost found resize2fs tune2fs y uuidgen Librer as instaladas libblkid a so libcom_err a so libe2p a so libext2fs a so libss a so y libuuid a so Descripciones cortas badblocks blkid chattr compile_et debugfs dumpe2fs e2fsck e2image e2label filefrag findfs fsck fsck ext2 fsck ext3 logsave Isattr mk_cmds mke2fs mkfs ext2 mkfs ext3 Busca bloques da ados en un dispositivo normalmente una partici n de disco Una utilidad de l nea de comandos para localizar y mostrar atributos de dispositivos de bloque Cambia los atributos de los ficheros en un sistema de ficheros ext2 y tambi n en sistemas de ficheros ext 3 la versi n con registro de transacciones del sistema de ficheros ext 2 Un compilador de tablas de error Convierte una tabla de c digos de error y mensajes en un fichero fuente C apropiado para usar con la librer a com_err Un depurador de sistemas de ficheros Puede usarse para examinar y cambiar el estado de un sistema de ficheros ext 2 Muestra la informaci n del superbloque y de los grupos de bloques del sistema de ficheros presente en un determinado dispositivo Se
249. nstrucci n son a n compilables echo INPUT Ilncursesw gt usr lib libcursesw so amp amp ln sfv libncurses so usr lib libcurses so amp amp ln sfv libncursesw a usr lib libcursesw a amp amp ln sfv libncurses a usr lib libcurses a Nota Las instrucciones anteriores no crean las librer as Ncurses que no son de ancho del caracter pues ning n paquete compilado desde las fuentes podria enlazarse contra ellas en tiempo de ejecuci n Si necesitas tener dichas librer as debido a que las necesita alguna aplicaci n de la que s lo tengas los ejecutables construyelas con los siguientes comandos make distclean amp amp configure prefix usr with shared without normal without debug without cxx binding amp amp make sources libs amp amp cp av lib lib so 5 usr lib 6 18 2 Contenido de Ncurses Programas instalados captoinfo enlace a tic clear infocmp infotocap enlace a tic reset enlace a tset tack tic toe tput y tset Librer as instaladas libcursesw a so enlace y gui n de enlazado libncursesw a so libformw a so libmenuw a so libncurses w a libncursesw a so libpanelw a so y sus correspondientes sin la w en el nombre de la librer a para las que no son de ancho del caracter Descripciones cortas captoinfo Convierte una descripci n termcap en una descripci n terminfo clear Limpia la pantalla si es posible infocmp Compara o imprime en pantalla una
250. nux Con este creciente inter s naci el Proyecto Linux From Scratch El libro Linux From Scratch otorga a los lectores el conocimento y las instrucciones para dise ar y construir un sistema Linux a medida Este libro resalta el proyecto Linux From Scratch y los beneficios que conlleva el uso de este sistema Los usuarios pueden definir todos los aspectos de su sistema incluida la jerarqu a de directorios los guiones de arranque y la seguridad El sistema resultante se compilar por completo a partir del c digo fuente y el usuario podr especificar d nde por qu y c mo se instalar n los programas Este libro permite a sus lectores adaptar por completo sus sistemas Linux seg n sus propias necesidades y ofrece a los usuarios un mayor control sobre el sistema Espero que pas is buenos momentos trabajando en vuestro sistema LES y que disfrut is de los numerosos beneficios de tener un sistema que es realmente vuestro Gerard Beekmans gerard O linuxfromscratch org vil Linux From Scratch Version 6 2 2 Audiencia Existen muchas razones por las que alguien podria querer leer este libro La principal raz n es instalar un sistema Linux a partir del c digo fuente La pregunta que mucha gente se hace es Por qu pasar por todo el embrollo de instalar manualmente un sistema Linux desde cero cuando te puedes limitar a descargar e instalar uno ya existente Es una buena pregunta y es el motivo de esta secci n del libro Una i
251. nux From Scratch Version 6 2 4 6 Sobre los bancos de pruebas Muchos paquetes proporcionan un banco de pruebas Ejecutar el banco de pruebas para un paquete reci n construido es una buena idea pues puede proporcionar una verificaci n de calidad indicando que todo se ha compilado correctamente Un banco de pruebas que supere sus comprobaciones normalmente confirma que el paquete esta funcionando tal y como el desarrollador espera Pero esto sin embargo no garantiza que el paquete esta totalmente libre de errores Algunos bancos de pruebas son m s importantes que otros Por ejemplo los bancos de pruebas de los paquetes de las herramientas principales GCC Binutils y Glibc son de la mayor importancia debido a su papel central en el correcto funcionamiento del sistema Los bancos de pruebas para GCC y Glibc pueden tardar bastante tiempo en completarse sobre todo en hardware lento pero son muy recomendables Nota La experiencia ha mostrado que se gana poco ejecutando los bancos de pruebas en el Cap tulo 5 No se puede escapar del hecho de que el sistema anfitri n siempre ejerce cierta influencia sobre las pruebas en dicho cap tulo causando con frecuencia fallos inexplicables Debido a que las herramientas construidas en el Cap tulo 5 son temporales y descartables no recomendamos el lector medio ejecutar los bancos de pruebas en el Cap tulo 5 Las instrucciones para ejecutarlos se suministran en benficio de los verificadores y de
252. o est realmente mal Necesitar s investigar y revisar tus pasos para encontrar el problema y corregirlo La raz n m s probable es que algo sali mal durante el anterior arreglo del fichero specs Deber s resolver todos los problemas antes de seguir con el proceso Una vez que todo funcione coorectamente borra los ficheros de prueba rm v dummy c a out dummy log 6 12 2 Contenido de GCC Programas instalados c cc enlace a gcc cpp g gcc gccbug y gcov Librer as instaladas libgcc a libgcc_eh a libgcc_s so libstdc a so y libsupc a Descripciones cortas cc cpp c g gcc gccbug gcov El compilador de C El preprocesador de C Lo usa el compilador para expandir las sentencias include define y similares en los ficheros fuente El compilador de C El compilador de C El compilador de C Un gui n del int rprete de comandos que ayuda a crear notificaciones de errores Una herramienta para pruebas de rendimiento Se usa para analizar programas y encontrar qu optimizaciones tendr n el mayor efecto 126 libgec libstdc libsupe Linux From Scratch Version 6 2 Contienen el soporte en tiempo de ejecuci n para gcc La librer a est ndar de C Proporciona rutinas de soporte para el lenguaje de programaci n c 127 Linux From Scratch Version 6 2 6 13 Berkeley DB 4 4 20 El paquete Berkeley DB contiene programas y utilidades usadas por muchas otras
253. o hay raz n para instalar ahora las locales Las instalaremos en el siguiente cap tulo Si de todas formas deseas instalar las locales usa las instrucciones que se encuentran en Secci n 6 9 Glibc 2 3 6 Los detalles sobre este paquete se encuentran en la Secci n 6 9 4 Contenido de Glibc 69 Linux From Scratch Version 6 2 5 7 Ajustar las herramientas Ahora que se han instalado las librer as de C temporales todas las herramientas que compilemos en el resto de este cap tulo deber an enlazarse contra ellas Para conseguirlo deben ajustarse el enlazador y el fichero specs del compilador El enlazador que se ajust al final del primer paso de Binutils debe renombrarse para que pueda ser encontrado y utilizado correctamente Primero haz una copia de seguridad del enlazador original despues reemplazalo con el enlazador ajustado Tambi n haremos un enlace a su contraparte en tools gcc dumpmachine bin mv v tools bin 1d 1d old mv v tools gcc dumpmachine bin 1d 1d old mv v tools bin ld new ld ln sv tools bin ld tools gcc dumpmachine bin ld Desde ahora todo se enlazar solamente contra las librer as que hay en too1s 1ib Lo siguiente esapuntar GCC al nuevo enlazador din mico Esto se hace volcando el fichero specs de GCC a un lugar en el que GCC lo busque por defecto Entonces una simple sustituci n sed altera el enlazdor in mic que GCC usar SPECFILE
254. ocesos que usan los ficheros o sistemas de ficheros especificados killall Mata procesos por su nombre Env a una se al a todos los procesos que ejecutan alguno de los comandos especificados oldfuser Muestra los n meros de identificaci n PIDs de los procesos que utilizan los ficheros o 195 Linux From Scratch Version 6 2 sistemas de ficheros dados pstree Muestra los procesos en ejecuci n en forma de rbol pstree x11 Es igual que pstree excepto que espera confirmaci n antes de salir 196 Linux From Scratch Version 6 2 6 50 Shadow 4 0 15 El paquete Shadow contiene programas para manejar contrase as de forma segura Tiempo estimado de construcci n 0 3 SBU Espacio requerido en disco 18 6 MB 6 50 1 Instalaci n de Shadow Nota Si deseas forzar el uso de contrase as fuertes consulta http www linuxfromscratch org blfstview svn postlfs cracklib html para instalar Cracklib antes de construir Shadow Entonces a ade with 1ibcrack al siguiente comando configure Prepara Shadow para su compilaci n configure libdir lib enable shared without selinux Significado de la opci n de configure without selinux El soporte para selinux esta activado por defecto pero selinux no se construye en el sistema LFS base El gui n configure fallar si no se utiliza esta opci n Suprime la instalaci n del programa groups y sus p ginas de manual pues Coreutils proporciona una versi n mejor
255. odr a ser et h0O y la tarjeta Realtek ser eth1 En algunos casos tras un reinicio las tarjetas podr an ser numeradas al contrario Para evitar esto crea reglas Udev que asignen nombres estables a las tarjetas de red basados en sus direcciones MAC o posici n en el bus Si vas a usar direcciones MAC para identificar tus tarjetas de red encuentra las direcciones con el siguiente comando grep H sys class net address Para cada tarjeta de red pero no para la interfaz loopback inventa un nombre descriptivo como realtek y crea reglas Udev similares a las siguientes cat gt etc udev rules d 26 network rules lt lt EOF ACTI N AS ESAS SS a SS ARI NAME realtek ACTION acldl SUBSYSTEME Hec SYSFS address 00 20092 182DI8 0300 NAME intel EOF Nota Aunque los ejemplo de este libro funcionan correctamente ten en cuenta que Udev no reconoce la barra inversa como continuaci n de l nea Si modificas las reglas Udev con un editor asegurate de poner cada regla en una sola l nea Si vas a usar como clave la posici n en el bus crea reglas Udev similares a las siguientes cat gt etc udev rules d 26 network rules lt lt EOF ACTION add SUBSYSTEM net BUS pci ID 0000 00 0c 0 NAME realtek ACTION add SUBSYSTEM net BUS pci ID 0000 00 0d 0 NAME intel EOF Estas reglas siempre renombrar n las tarjetas de red a realtek e intel independ
256. omando sobreescribir tu actual gestor de arranque No ejecutes el comando si esto no es lo que quieres Por ejemplo si utilizas otro gestor de arranque para administrar tu MBR Master Boot Record Registro Maestro de Arranque En este escenario posiblemente tenga m s sentido instalar GRUB en el sector de arranque de la partici n LFS en cuyo caso dicho comando ser a setup hd0 3 Ind cale a GRUB que se instale en el MBR de hda setup hd0 Si todo est bien GRUB informar que ha encontrado sus ficheros en boot grub Esto es todo para activarlo Cierra el int rprete de comandos de grub quit 255 Linux From Scratch Version 6 2 RAS Crea un fichero de lista de men para definir el men de arranque de GRUB cat gt boot grub menu lst lt lt EOF Begin boot grub menu lst By default boot the first menu entry default 0 Allow 30 seconds before booting the default timeout 30 wf USE joreiccler colors color green black light green black i Mas fiirt entiy ls ror ES eels LES 6 2 oo ne kernel joo liskemnel 2 6 16 27 woor cev inca4 EOF Si lo desas a ade una entrada para la distribuci n anfitriona Tendr un aspecto similar a este cat gt gt boot grub menu lst lt lt EOF title Red Hat coo acd 2 kernel boot kernel 2 6 5 root dev hda3 imitere Moor y imitiel Z 6 5 EOF Si necesitas un arranque dual a Windows la siguiente entrada deber a permitir
257. ompilados en el Capitulo 5 se instalar n bajo LFS tools para mantenerlos separados de los programas compilados en el Cap tulo 6 Los programas compilados aqu son s lo herramientas temporales y no formar n parte del sistema LFS final Al mantener estos programas en un directorio aparte podr n eliminarse f cilmente tras su uso Esto tambi n evita que acaben en los directorios de producci n de tu anfitri n que es f cil que ocurra por accidente en el Cap tulo 5 Crea el directorio necesario ejecutando lo siguiente como root mkdir v LFS tools El pr ximo paso es crear un enlace tools en el sistema anfitri n Este apuntar al directorio que acabamos de crear en la partici n LFS Ejecuta este comando tambi n como root ln sv LFS tools Nota El comando anterior es correcto El comando In tiene bastantes variaciones de sintaxis por lo que aseg rate de comprobar info coreutils In y 1n 1 antes de informar de lo que puedes pensar que es un error El enlace simb lico creado posibilita que el conjunto de herramientas se compile siempre en referencia a tools de forma que el compilador ensamblador y enlazador funcionar n en este cap tulo en el que todav a estamos utilizando algunas herramientas del sistema anfitri n y en el siguiente cuando cambiemos la ra z a la partici n LES 52 Linux From Scratch Version 6 2 4 3 A adir el usuario Ifs Si se trabaja como root un simple error puede da ar o destr
258. onseguir que funcionen las PTYs Como se explic anteriormente en Secci n 5 7 Ajustar las herramientas bajo circunstancias normales el gui n fixincludes de GCC se ejecuta para corregir posibles ficheros de cabecera rotos Como GCC 4 0 3 y Glibc 2 3 6 ya han sido instalados en este punto y se sabe que sus respectivos ficheros de cabecera no necesitan ser corregidos no se necesita el gui n fixincludes Como se mencion anteriormente de hecho el gui n puede contaminar el entorno de construcci n al instalar cabeceras corregidas procedentes del anfitri n dentro del directorio privado de cabeceras de GCC La ejecuci n del gui n fixincludes puede evitarse ejecutando los siguientes comandos cp v gcc Makefile inf orig amp amp sed s fixinc sh c true gcc Makefile in orig gt gcc Makefile in El proceso bootstrap realizado en Secci n 5 4 GCC 4 0 3 Fase 1 construye GCC con la opci n fomit frame pointer Las construcciones no bootstrap omiten dicha opci n as que aplica el siguiente sed para usarla y asegurar construcciones consistentes del compliador cp v gcc Makefile in tmp amp amp sed s XCFLAGS amp fomit frame pointer gcc Makefile in tmp gt gcc Makefile in Aplica el siguiente parche para cambiar la localizaci n del enlazador din mico de GCC normalmente 1d 1linux so 2 patch Np1 i gcc 4 0 3 specs 1 patch 76 Linux From Scratch Version 6 2 El parche anterior elimin
259. or de groff para las impresoras Canon CAPSL series LBP 4 y LBP 8 de impresoras l ser Un controlador para groff que produce salidas en el formato PCL5 adecuado para impresoras HP LaserJet 4 Transforma la salida de GNU troff a PostScript Transforma la salida de GNU troff en un formato adecuado para dispositivos tipo m quina de escribir Enlace a tbl Crea un fichero de fuentes para usar con groff Tlj4 a partir de ficheros de marcas de fuentes m tricas de HP Hace un ndice inverso para la base de datos bibliogr fica un fichero espec fico para usarlo con refer lookbib y Ikbib Busca en las bases de datos bibliogr ficas referencias que contengan las claves especificadas y muestra cualquier referencia encontrada Muestra un aviso en la salida de error est ndar excepto si la entrada est ndar no es un terminal lee de la entrada est ndar una l nea conteniendo un grupo de palabras clave busca en las bases de datos bibliogr ficas de un fichero especificado las referencias que contengan dichas claves muestra cualquier referencia encontrada en la salida est ndar y repite el proceso hasta el final de la entrada Un preprocesador simple para groff Formatea ecuaciones para salida ASCII C digo Est ndar Americano para Intercambio de Informaci n 175 nroff pfbtops pic pic2graph post grohtml pre grohtml refer soelim tbl tfmtodit troff Linux From Scratch Version 6 2 Un gui n que emula al co
260. orge net tcl tcl8 4 13 src tar gz download Sima MDS c6b655ad5db0 95ee73227113220c0523 e Texinfo 4 8 1 487 KB Pagina web http www gnu org software texinfo Descarga http ftp gnu org gnu texinfo texinfo 4 8 tar bz2 Sima MDS 6ba369 bbfe4dafaa56122e65b3ee3a68c e Udev 096 190 KB P gina web http www kernel org pub linux utils kernel hotplug udev html Descarga http www kernel org pub linux utils kernel hotplug udev 096 tar bz2 Sima MDS f4effef7807celdc91lab581686ef197b e Udev Configuration Tarball 4 KB Descarga http www linuxfromscratch org lfs downloads 6 2 udev config 6 2 tar bz2 S ma MDS 9 f2667ab0f7bfe8182966ef690078a0 e Util linux 2 12r 1 339 KB Descarga http www kernel org pub linux utils util linux util linux 2 12r tar bz2 S ma MDS af9d9e03038481fbf79 ea3ac33f116f9 e Vim 7 0 6 152 KB P gina web http www vim org Descarga ftp ftp vim org pub vim unix vim 7 0 tar bz2 Sama MDS 4ca69757678272 718b1041c810d82d8 e Vim 7 0 language files optional 1 228 KB P gina web http www vim org Descarga ftp ftp vim org pub vim extra vim 7 0 lang tar gz Suma MDS 6d43efaff570b5c86e76b833ea0c6a04 e Zlib 1 2 3 485 KB P gina web hittp www zlib net Descarga http www zlib net zlib 1 2 3 tar gz S ma MDS5 debc62758716a169df9f62e6ab2bc634 Tama o total de estos paquetes 180 MB 46 Linux From Scratch Version 6 2 3 3 Parches necesarios Aparte de lo
261. os ejecuta make check Instala el paquete make install 6 16 2 Contenido de M4 Programa instalado m4 Descripci n corta Linux From Scratch Versi n 6 2 m4 Copia los ficheros dados expandiendo en el proceso las macros que contengan Estas macros pueden ser internas o definidas por el usuario y pueden tomar cualquier n mero de argumentos Adem s de hacer la expansi n de macros m4 tiene funciones internas para incluir los ficheros indicados lanzar comandos UNIX hacer aritm tica entera manipular texto de diversas formas recursi n etc El programa m4 puede ser usado como interfaz para un compilador o como procesador de macros por s mismo 136 Linux From Scratch Version 6 2 6 17 Bison 2 2 El paquete Bison contiene un generador de analizadores sint cticos Tiempo estimado de construcci n 0 6 SBU Espacio requerido en disco 11 9 MB 6 17 1 Instalaci n de Bison Prepara Bison para su compilaci n configure prefix usr El sistema de configuraci n hace que Bison se construya sin soporte de internacionalizaci n en los mensajes error si un programa bison no se encuentra ya en el PATH La siguiente adici n corregir esto echo define YYENABLE_NLS 1 gt gt config h Compila el paquete make Para comprobar los resultados ejecuta make check Instala el paquete make install 6 17 2 Contenido de Bison Programas instalados bison y yacc Libreria instalada liby a Descripciones cortas
262. os consultar en la base de datos de Udev informaci n sobre cualquier dispositivo actualmente presente en el sistema Tambi n proporciona un m todo para consultar cualquier dispositivo en el rbol sysfs ayudando a crear reglas Udev udevmonitor Muestra el evento recibido del n cleo y el entorno que Udev env a tras el proceso de reglas udevsettle Vigila la colo de eventos Udev y sale si todos los uevents actuales han sido manejados udevtest Simula un uevent para el dispositivo dado y muestra el nombre del nodo que el udevd real podr a crear o el nombre de la interfaz de red 209 udevtrigger usb_id vol_id etc udev Linux From Scratch Versi n 6 2 renombrada Dispara los uevents de dispositivos del n cleo para que sean repetidos Proporciona a Udev informaci n sobre dispositivos USB Proporciona a Udev la etiqueta y el uuid de un sistema de ficheros Contiebe ficheros de configuraci n de Udev permisos de dispositivos y reglas para la denominaci n de dispositivos 210 Linux From Scratch Version 6 2 6 56 Util linux 2 12r El paquete Util linux contiene una miscel nea de utilidades Entre otras hay utilidades para manejar sistemas de ficheros consolas particiones y mensajes Tiempo estimado de construcci n 0 2 SBU Espacio requerido en disco 17 2 MB 6 56 1 Notas sobre la conformidad con el est ndar FHS El est ndar FHS recomienda que usemos var lib hwclock para la ubicaci n del fichero adjti
263. ostlfs filesystems html podr s encontrar la instrucciones para construir otros sistemas de ficheros Para crear un sistema de ficheros ext 3 en la partici n LES ejecuta lo siguiente mke2fs jv dev lt xxx gt Sustituye lt xxx gt por el nombre de la partici n LFS hda5 en nuestro ejemplo anterior Nota Algunas distribuciones usadas como anfitri n utilizan caracter sticas personalizadas en sus herramientas de creaci n de sistemas de ficheros E2fsprogs Esto puede causar problemas cuando arranques tu nuevo LFS en el Cap tulo 9 pues dichas caracter sticas no estar n soportadas por el E2fsprogs instalado en LFS Obtendr s un error similar a unsupported filesystem features upgrade your e2fsprogs Para comprobar si tu sistema anfitri n utliza ampliaciones personalizadas ejecuta el siguiente comando debugfs R feature dev lt xxx gt Si la salida contiene caracter sticas diferentes a has_journal dir_index filetype large_file resize_inode sparse_super or needs_recovery entonces tu sistema anfitri n posiblemente tenga ampliaciones personalizadas En este caso para evitar posteriores problemas deber as compilar el paquete e2fsprogs base y utilizar los binarios resultantes para recrear el sistema de ficheros de tu partici n LES cd tmp tar xjvf ruta a sources e2fsprogs 1 39 tar bz2 cd e2fsprogs 1 39 mkdir v build cd build configure make advierte que no se hace make install aqui
264. ount sin par metros para ver con qu opciones est montada la partici n LFS Si ves nosuid nodev o noatime necesitar s remontarla Si est s usando una partici n swap asegurate de que est activada usando el comando swapon sbin swapon v dev lt zzz gt Reenplaza lt z zz gt con el nombre de la partici n de intercambio Ahora que se ha establecido un lugar en el que trabajar es hora de descargar los paquetes 39 Linux From Scratch Version 6 2 Capitulo 3 Paquetes y parches 3 1 Introduccion Este capitulo incluye una lista con los paquetes que se han de descargar para construir un sistema Linux b sico Los n meros de versi n listados corresponden a versiones de los programas que se sabe que funcionan y este libro se basa en ellos Recomendamos encarecidamente que no uses versiones m s nuevas pues los comandos de construcci n para una versi n puede que no funcionen con la nueva Los paquetes m s nuevos pueden tambi n tener problemas que necesiten soluciones Dichas soluciones se desarrollar n y estabilizar n en la versi n de desarrollo del libro Las localizaciones de descarga puede que no est n siempre disponibles En el caso de que una localizaci n de descarga haya cambiado desde la publicaci n de este libro Google http www google com es una til herramienta de b squeda para muchos paquetes Si la b squeda no da resultados prueba uno de los m todos alternativos de descarga listados en http ww
265. p section provided by the man pages package fixes bug 1660 e matt Remove the incorrect note about not having to dump check a journalled filesystem fixes bug 1662 e matt Upgrade to module init tools 3 2 1 e matt Prevent installing the internationalized man pages for Shadow s groups binary thanks to Randy McMurchy for the report e matt Upgrade to man pages 2 14 e matt Upgrade to findutils 4 2 26 e manuel Changed strip path to strip components in the unpack of module init tools testsuite package November 23 2005 e gerard Corrected reference to man page to HTML documentation in chapter 6 sec November 18 2005 e manuel Fixed the unpack of the module init tools testsuite package November 16 2005 e jhuntwork Textual correction concerning gettext in chapter 5 and the use of disable shared November 15 2005 e archaic Changed the chapter 6 Perl Dpager configure option to reflect the new location of the less binary November 14 2005 e jhuntwork Only install msgfmt from gettext in chapter 5 This is all that is necessary and prevents gettext from trying to pull in unnecessary elements from the host Thanks to Greg Schafer for 20 Linux From Scratch Version 6 2 pointing this out November 12 2005 e matt Improve the heuristic for determining a locale that is supported by both Glibc and packages outside LFS bug 1642 Many thanks to Alexander Patrakov for highlighting
266. para cargar autom ticamente los m dulos necesarios generate modprobe conf Crea un fichero modprobe conf a partir de una configuraci n de m dulos 2 2 o 2 4 existente 192 insmod insmod static Ismod modinfo modprobe rmmod Linux From Scratch Version 6 2 Instala un m dulo dentro del n cleo en ejecuci n Una versi n de insmod compilada est ticamente Muestra todos los m dulos cargados Examina un fichero objeto asociado con un m dulo del n cleo y muestra la informaci n que pueda encontrar Usa un fichero de dependencias creado por depmod para cargar autom ticamente los m dulos necesarios Descarga m dulos del n cleo en ejecuci n 193 Linux From Scratch Version 6 2 6 48 Patch 2 5 4 El paquete Patch contiene un programa para modificar o crear ficheros mediante la aplicaci n de un fichero parche creado normalmente con el programa diff Tiempo estimado de construcci n less than 0 1 SBU Espacio requerido en disco 1 6 MB 6 48 1 Instalaci n de Patch Prepara Patch para su compilaci n configure prefix usr Compila el paquete make Este paquete no incluye un banco de pruebas Instala el paquete make install 6 48 2 Contenido de Patch Programa instalado patch Descripcion corta patch Modifica ficheros seg n lo indicado en un fichero parche Normalmente un parche es una lista de diferencias creada por el programa diff Al aplicar estas diferencias a los fichero
267. para casos especiales y es raro utilizarlos Mira init 8 para m s detalles y cada uno de ellos indica lo que debe hacer el sistema durante el arranque El nivel de ejecuci n por omisi n es el 3 He aqu una breve descripci n de los distintos niveles de ejecuci n como suelen implementarse 0 parada del sistema 1 modo monousuario 2 modo multiusuario sin red 3 modo multiusuario con red 4 reservado para personalizar si no hace lo mismo que el 3 5 Igual que el 4 Normalmente se utiliza para iniciar el entorno gr fico mediante xdm de X o kdm de KDE 6 reinicio del sistema Para cambiar el nivel de ejecuci n se utiliza el comando init lt nivel de ejecuci n gt donde lt nivel de ejecuci n representa el nivel de ejecuci n que se desea arrancar Por ejemplo para reiniciar el sistema se utilizar a el comando init 6 El comando reboot no es m s que un alias de dicho comando al igual que el comando halt lo es de init 0 Debajo de etc rc d existe una serie de directorios rc d donde representa el n mero del nivel de ejecuci n m s el directorio rcsysinit d que contienen un conjunto de enlaces simb licos Los nombres de estos enlaces simb licos empiezan con K o con S seguidos de 2 cifras Los enlaces que comienzan por una K indican la parada kill de un servicio mientras que la S indica su inicio start Las dos cifras determinan el orden de ejecuci n desde 00 hasta 99 cuanto menor sea el n mero antes se ej
268. peran encontrar la librer a lex en el directorio usr 1ib Crea un enlace simb lico para solventar esto ln sv libfl a usr lib libl a Algunos programas a n no conocen flex e intentan encontrar a su predecesor lex Para complacer a estos programas crea un gui n envoltorio de nombre 1ex que llame a flex en modo de emulaci n lex cat gt usr bin lex lt lt EOF bin sh Begin usr bin lex exec usr bin ilez i Sse End usr bin lex EOF chmod v 755 usr bin lex 6 33 2 Contenido de Flex Programas instalados flex y lex Libreria instalada libfl a Descripciones cortas flex Una herramienta para generar programas capaces de reconocer patrones de texto Su versatilidad permite establecer las reglas de busqueda erradicando la necesidad de desarrollar un programa especializado lex Gui n que ejecuta flex en el modo de emulaci n de lex libfl a La librer a flex 166 Linux From Scratch Version 6 2 6 34 GRUB 0 97 El paquete GRUB contiene el GRand Unified Bootloader Gran Gestor de Arranque Unificado Tiempo estimado de construcci n 0 2 SBU Espacio requerido en disco 10 2 MB 6 34 1 Instalacion de GRUB Se sabe que este programa se comporta mal si se cambian sus par metros de optimizaci n incluyendo las opciones march y mcpu Si tienes definida cualquier variable de entorno que altere las optimizaciones por defecto como CFLAGS 0 CXXFLAGS desact vala cuando construyas GRUB Comienz
269. ptx pwd readlink rm rmdir seq shalsum shred sleep sort split stat stty sum sync tac tail tee test touch tr true tsort tty uname unexpand uniq unlink users vdir wc who whoami y yes Descripciones cortas basename Elimina cualquier ruta y sufijo indicado de un nombre de fichero cat Concatena ficheros en la salida estandar chgrp Cambia el grupo propietario de ficheros y directorios chmod Cambia los permisos de cada fichero dado al modo indicado El modo puede ser una representaci n simb lica de los cambios a hacer o un n mero octal que representa los nuevos permisos chown Cambia el usuario y o el grupo propietario de ficheros y directorios chroot Ejecuta un comando usando el directorio especificado como directorio cksum Muestra la suma de comprobaci n CRC Comprobaci n C clica Redundante y cuenta los bytes de cada fichero especificado 131 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 link In Linux From Scratch Version 6 2 Compara dos ficheros ordenados sacando en tres columnas las l neas que son nicas y las l neas que son comunes Copia ficheros Trocea un fichero en varios nuevos ficheros separ ndolos de acuerdo a un patr n indicado o a un n mero de l neas y muestra el n mero de bytes de cada nuevo fichero Imprime fragmento
270. que los nuevos programas sean encontrados a medida que est n disponibles 6 27 2 Contenido de Bash 155 Linux From Scratch Version 6 2 Programas instalados bash bashbug y sh enlace a bash Descripciones cortas bash bashbug sh Un int rprete de comandos ampliamente usado Realiza muchos tipos de expansiones y sustituciones en una linea de comandos dada antes de ejecutarla lo que hace de este int rprete una herramienta poderosa Un gui n que ayuda al usuario en la composici n y env o de informes de errores relacionados con bash usando un formato est ndar Enlace simb lico al programa bash Cuando se invoca como sh bash intenta imitar el comportamiento de las versiones antiguas de sh lo mejor posible mientras que tambi n cumple los est ndares POSIX 156 Linux From Scratch Version 6 2 6 28 Bzip2 1 0 3 El paquete Bzip2 contiene programas para comprimir y descomprimir ficheros Comprimir ficheros de texto con bzip2 proporciona un mayor porcentaje de compresi n que el tradicional gzip Tiempo estimado de construcci n less than 0 1 SBU Espacio requerido en disco 5 3 MB 6 28 1 Instalaci n de Bzip2 Aplica un parche para instalar la documentaci n de este paquete patch Npl i bzip2 1 0 3 install_docs 1 patch El comsndo bzgrep no escapa l y amp en los nombres de los ficheros que se le pasan Esto permite que se ejecuten comandos arbitrarios con los privilegios del usuario que ejecuta bzg
271. r 121 122 arch 211 212 arpd 181 181 277 as 121 122 ata_id 208 209 autoconf 151 151 autoheader 151 151 autom4te 151 151 automake 153 153 automake 1 9 6 153 153 autopoint 171 171 autoreconf 151 151 autoscan 151 151 autoupdate 151 151 awk 169 169 badblocks 160 161 basename 130 131 bash 155 156 bashbug 155 156 bigram 164 164 bison 137 137 blkid 160 161 blockdev 211 212 bootlogd 203 204 bunzip2 157 158 bzcat 157 158 bzcmp 157 158 bzdiff 157 158 bzegrep 157 158 bzfgrep 157 158 bzgrep 157 158 bzip2 157 158 bzip2recover 157 158 bzless 157 158 bzmore 157 158 c 124 126 c filt 121 122 c2ph 145 146 cal 211 212 captoinfo 138 139 cat 130 131 catchsegv 112 116 catman 187 190 cc 124 126 cdrom_id 208 209 cfdisk 211 212 chage 197 199 chattr 160 161 chfn 197 199 chgpasswd 197 199 chgrp 130 131 chkdupexe 211 212 chmod 130 131 chown 130 131 chpasswd 197 199 Linux From Scratch Version 6 2 chroot 130 131 chsh 197 199 chvt 183 184 cksum 130 131 clear 138 139 cmp 159 159 code 164 164 col 211 212 colert 211 212 colrm 211 212 column 211 212 comm 130 132 compile 153 153 compile_et 160 161 compress 177 177 config charset 171 171 config guess 153 153 config rpath 171 171 config sub 153 153 convert mans 187
272. r las entradas apropiadas en los ficheros etc passwd y etc group Crea el fichero etc passwd ejecutando el siguiente comando cat gt etc passwd lt lt EOF woot xs Os Os 00 2 00 Ada loa a EOF eo La contrase a real para root la x es s lo un sustituto se establecer m s adelante Crea el fichero etc group ejecutando el siguiente comando cat gt etc group lt lt EOF TOOK 58 Os lola le SWS 233828 kmem x 3 Eye Ae tape x 5 daemon x 6 ELOY 73 ESKERO E TEER calowe s x3 103 On 1 videos 12 e HEME 313 lasing x3 14 s Cerone xs 15 3 EOF Los grupos creados no son parte de ning n est ndar son grupos escogidos en parte por los requisitos de la configuraci n de Udev en este cap tulo y en parte por la pr ctica com n empleada por una serie de distribuciones Linux existentes El LSB Linux Standard Base disponible en http www linuxbase org s lo recomienda que aparte del grupo root con GID 0 est presente un grupo bin con GID 1 Todos los dem s nombres de grupos y sus GID pueden ser elegidos libremente por el usuario pues los programas correctamente escritos no dependen del n mero GID sino que utilizan el nombre del grupo 108 Linux From Scratch Version 6 2 Para eliminar el I have no name del simbolo del sistema iniciaremos un nuevo int rprete de comandos Puesto que instalamos una Glibc completa en el Cap tulo 5 y acabamos de crear los ficheros e
273. r lo que no hace falta crear otra si el sistema anfitri n tiene una activada Inicia un programa de particionado como cfdisk o fdisk pas ndole como argumento el nombre del disco duro en el que debe crearse la nueva partici n por ejemplo dev hda para el disco IDE primario Crea una partici n Linux nativa y si hace falta una partici n de intercambio Por favor consulta cfdisk 8 o fdisk 8 si todav a no sabes c mo usar estos programas Recuerda la denominaci n de tu nueva partici n por ejemplo hda5 Este libro se referir a ella como la partici n LFS Recuerda tambi n la denominaci n de la partici n de intercambio Estos nombres se necesitar n posteriormente para el fichero etc fstab 37 Linux From Scratch Version 6 2 2 3 Crear un sistema de ficheros en la particion Ahora que hay preparada una partici n en blanco ya puede crearse el sistema de ficheros El m s usado en el mundo de Linux es el llamado second extended file system segundo sistema de ficheros extendido o ext2 pero con la gran capacidad de los discos duros actuales los llamados sistemas de ficheros con registro de transacciones journaling se han hecho muy populares El tercer sistema de ficheros extendido ext 3 es una evoluci n mpliamente usada de ext 2 que a ade capacidad de registro de transacciones y es compatible con las utilidades de E2fsprogs Crearemos un saitema de ficheros ext3 En http www linuxfromscratch org blfs view svn p
274. rado como se indic anteriormente el men est establecido para que LFS 6 2 arranque autom ticamente Una vez terminado el reinicio el sistema LES est listo para su uso y puedes a adir m s software para cubrir tus necesidades 239 Linux From Scratch Version 6 2 9 4 Y ahora que Gracias por leer el libro LFS Esperamos que lo hayas encontrado til y hayas aprendido algo sobre el proceso de creaci n del sistema Ahora que el sistema LFS est instalado puede que te preguntes Y ahora qu Para responder esta cuesti n te hemos preparado una lista de recursos e Mantenimiento Con regularidad se hacen informes con los errores y fallos de seguridad para todo el software Puesto que el sistema LES se compila desde las fuentes eres t quien debe estar al tanto de dichos informes Hay diversos recursos en l nea para monitorizar dichos informes A continuaci n se muestran algunos de ellos e Freshmeat net http freshmeat net Freshmeat puede notificarte por correo electr nico de las nuevas versiones de los paquetes instalados en tu sistema e CERT Computer Emergency Response Team CERT tiene una lista de correo en la que publica alertas de seguridad concernientes a varios sistemas operativos y aplicaciones La informacion para subscribirse esta disponible en http www us cert gov cas signup html e Bugtraq Bugtraq es una lista de correo de acceso total sobre seguridad en ordenadores Publica
275. rchaic Updated to man pages 2 31 e archaic Updated to iana etc 2 10 iE e archaic Updated to tcl8 4 13 May 1 2006 e archaic Added two seds to avoid symlink problems with Readline during reinstallation Thanks to Dan and Manuel for the fix and for testing Fixes ticket 1770 e archaic Fixed issue where module init tools would not re install its binaries 11 Linux From Scratch Version 6 2 e archaic Updated to linux 2 6 16 11 e archaic Updated to udev 091 Moved to a tarball based set of udev rules Updated the bootscripts to support the new udevsettle program April 27 2006 e manuel Added SEO Company Canada to donators acknowledgements April 23 2006 e manuel Fixed command to change LFS tools ownership Resolves ticket 1780 April 22 2006 e manuel Revised again the Host System Requirements page wording and look Thanks to Bruce Dubbs for the patch Resolves ticket 1779 April 21 2006 e manuel Added commands to determine the version of the required packages installed on the host Thanks to Bruce Dubbs for the commands list and Randy McMurchy for reviewing the wording e manuel Alphabetized patches list Thanks to Justin R Knierim for the patch April 20 2006 e jhuntwork Updated bash to 3 1 17 via an updated patch Resolves Ticket 1775 e manuel Reworded why a 2 6 kernel compiled with GCC 3 is required on the host system e manuel Revised d
276. rep Aplica el siguiente parche para solventar esto patch Npl i bzip2 1 0 3 bzgrep_security 1 patch El gui n bzdiff usa todav a el depreciado programa tempfile Actualizalo para usar mktemp en su lugar sed i s tempfile d tmp p bz mktemp p tmp bzdiff Prepara Bzip2 para su compilaci n make f Makefile libbz2_so make clean Significado del par metro de make tooldir usr Esto provocar que Bzip2 sea construido usando un fichero Makefile diferente en este caso el fichero Makefile libbz2_so el cual crea una librer a din mica libbz2 so y enlaza las utilidades de Bzip2 con ella Compila el paquete y comprueba los resultados make Si reinstalas Bzip2 primero tendr s que hacer un rm vf usr bin bz en caso contrario el siguiente make install fallar Instala los programas make install Instala el binario din mico bzip2 en el directorio bin crea algunos enlaces simb licos necesarios y haz limpieza cp v bzip2 shared bin bzip2 cp av libbz2 so lib ln sv lib libbz2 s0 1 0 usr lib libbz2 so rm v usr bin bunzip2 bzcat bzip2 ln sv bzip2 bin bunzip2 157 Linux From Scratch Version 6 2 ln sv bzip2 bin bzcat 6 28 2 Contenido de Bzip2 Programas instalados bunzip2 enlace a bzip2 bzcat enlace a bzip2 bzcmp bzdiff bzegrep bzfgrep bzgrep bzip2 bzip2recover bzless y bzmore Librer as instaladas libbz2 a so Descripciones cortas bunzip2 bzcat bzcmp bzdiff
277. ristine Barczak lt theladyskye linuxfromscratch org gt Editora del libro LFS e Timothy Bauscher e Robert Briggs e Tan Chilton e Jeroen Coumans lt jeroenOlinuxfromscratch org gt Desarrollador del sitio web mantenedor de la FAQ e Alex Groenewoud Escritor t cnico de LFS e Marc Heerdink e Mark Hymers e Seth W Klein Mantenedor de las FAQ e Nicholas Leippe lt nicholasOlinuxfromscratch org gt Mantenedor del Wiki e Simon Perreault e Scot Mc Pherson lt scot linuxfromscratch org gt Mantenedor de la pasarela NNTP de LFS e Alexander Patrakov lt semzx newmail ru gt Escritor t cnico de LFS e Greg Schafer lt gschafer zip com au gt Escritor t cnico de LFS e Jesse Tie Ten Quee Escritor t cnico de LFS e Jeremy Utley lt jeremy Olinuxfromscratch org gt Escritor t cnico de LFS mantenedor del Bugzilla mantenedor de LFS Bootscripts e Zack Winkles lt zwinkles gmail com gt Escritor t cnico de LFS Un agradecimiento muy especial a nuestros donadores e Dean Benson lt dean vipersoft co uk gt por m ltiples donaciones monetarias e Hagen Herrschaft lt hrx hrxnet de gt por donar un sistema P4 a 2 2GHz que ahora corre bajo el nombre de Lorien e SEO Company Canada apoya a proyectos de c digo abierto y a diversas distribuciones Linux 267 Linux From Scratch Version 6 2 e VA Software que en nombre de Linux com don una estaci n de trabajo VA Linux 420 antes
278. rnacionalizados en la funci n getaddrinfo nombres de dominio La librer a criptogr fica La librer a de interfaz del enlazado din mico Librer a vac a que no contiene funciones Anteriormente era una librer a en tiempo de ejecuci n para g Al enlazar contra este m dulo se fuerzan las reglas de manejo de errores para funciones matem ticas seg n se define por el Instituto de Ingenieros Electricos y Electr nicos IEEE Por defecto se usa manejo de errores POSIX 1 La librer a matem tica Activa la comprobaci n de ocupaci n de memoria cuando se enlaza contra ella Usada por memusage para ayudar a recoger informaci n sobre el uso de memoria de un programa La librer a de servicios de red Las librer as Name Service Switch Interruptor del Servicio de Nombres Contienen funciones para resolver nombres de sistemas usuarios grupos alias servicios protocolos y similares Contiene funciones de perfiles utilizadas para observar la cantidad de tiempo de CPU utilizado por l neas concretas del c digo fuente La librer a de hilos POSIX Proporciona funciones para la creaci n env o e interpretaci n de paquetes de datos a servidores de nombres de dominio de Internet Proporciona funciones para una miscel nea de servicios RPC Proporciona funciones para muchas de las interfaces especificadas por el POSIX 1b Realtime Extension Extensiones en Tiempo Real POSIX 1b 117 Linux From Scratch Version 6
279. roblemas y ejecutar correctamente los comandos listados En particular y como m nimo imprescindible el lector deber a tener la habilidad para usar la l nea de comandos shell para copiar o mover ficheros y directorios listar directorios y el contenido de ficheros y cambiar de directorio Tambi n se espera que el lector tenga un conocimiento razonable sobre el uso y la instalaci n de software Linux Debido a que el libro asume al menos este nivel basico es improblable que los diversos foros de soporte de LFS puedan proporcionarte mucha ayuda al respecto Encontrar s que tus preguntas sobre dichos conocimientos b sicos no ser n respondidas o simplemente ser s reenviado a la lista de lecturas pr vias esenciales del LFS Antes de construir un sistema LFS recomendamos que leas los siguientes C MOS e Software Building HOWTO Construcci n de Software COMO http www tldp org HOWTO Software Building HOWTO html Esta es una gu a asequible sobre c mo construir e instalar los paquetes de software Unix gen ricos bajo Linux e The Linux Users Guide La Gu a del Usuario de Linux Versi n en castellano http es tldp org Manuales LuCAS GLUP glup_0 6 1 1 html 1 1 Versi n en ingl s http www linuxhq com guides LUG guide html Esta gu a cubre el uso de una amplia gama de software Linux e The Essential Pre Reading Hint Receta de las lecturas previas esenciales http www linuxfromscratch org hints downloads files es
280. rom Scratch Version 6 2 and rewrote the page to mount bind dev and mount all other kernel filesystems while outside chroot Rewrote note about re entering chroot and remounting kernel filesystems Removed dev from the list of dirs created in chroot and added it before chroot March 30 2006 e ken Correct my erroneous comment about UTF 8 locales in Man DB Thanks to Alexander for explaining it e ken upgraded to Linux 2 6 16 1 Iproute2 2 6 16 060323 and Udev 088 March 29 2006 e ken Upgrade to shadow 4 0 15 and add convert mans script to convert its UTF 8 man pages Thanks to Alexander and Archaic for the script and commands Fixes tickets 1748 and 1750 March 22 2006 e archaic Updated to lfs bootscripts udev_update 20060321 March 21 2006 e archaic Updated the bootscripts Removed references to hotplug and the bootscripts udev patch Removed reference to udevstart Added text and commands for generating Udev bug reports March 18 2006 e matthew Do not run configure manually for iproute2 as it is run automatically by the Makefile Thanks to Chris Staub for the patch Fixes ticket 1734 e matthew Make bzdiff use mktemp instead of the deprecated tempfile command Thanks to Chris Staub for the patch Fixes ticket 1713 e matthew Upgrade to flex 2 5 33 e matthew Upgrade to readline 5 1 004 e matthew Upgrade to bash 3 1 014 de e matthew Upgrade to psmisc 22 2 e
281. ros del directorio etc proporcionan ajustes globales Si existe un fichero diferente en el directorio personal este puede sobreescribir los ajustes globales Un int rprete de ingreso interactivo se inicia tras ingresar en el sistema usando bin login mediante la lectura del fichero etc passwad Un int rprete interactivo de no ingreso se inicia en la l nea de comandos es decir prompt bin bash Un int rprete no interactivo est presente usualmente cuando se ejecuta un gui n del int rprete de comandos Es no interactivo porque est procesando un gui n y no esperando indicaciones del usuario entre comandos Para m s informaci n consulta en info bash la secci n Bash Startup Files and Interactive Shells Ficheros de inicio de Bash e int rpretes interactivos Los ficheros etc profile y bash_profile son leidos cuando el int rprete se invoca como un int rprete interactivo de ingreso El siguiente fichero etc profile b sico establece algunas variables de entorno necesarias para el soporte de idioma nativo Al establecerlas correctamente se obtiene e La salida de los programas traducida al idioma nativo e Correcta clasificaci n de los caracteres en letras d gitos y otros tipos Esto es necesario para que bash acepte correctamente los caracteres no ASCII en la l nea de comandos en idiomas diferentes al ingl s e La correcta ordenaci n alfab tica propia del pa s e Un apropiado tama o de papel por defecto e U
282. roups from the list of programs installed by shadow as we use the version provided by coreutils instead Randy McMurchy e matt Updated to mktemp 1 5 add_tempfile 3 patch which adds license and copyright information to the previous version July 23rd 2005 matt Moved FORMER_CONTRIBUTORS information into the book so as people can actually see it The space constraint argument in that file was weak it only added another 10 lines to a 255 page document PDF Now at least we publically acknowledge the efforts of previous contributors e matt Updated to man pages 2 07 e matt Updated to zlib 1 2 3 July 22nd 2005 e manuel Added obfuscate sh and modified the Makefile to obfuscate e mail addresses in XHTML output July 21st 2005 26 Linux From Scratch Version 6 2 e matt Add GCC 4 related patches to chapter06 glibc e matt Unset the GCC_INCLUDEDIR variable once it s no longer needed July 19th 2005 e matt Removed flex from the list of installed files as it is no longer present Randy McMurchy July 18th 2005 e matt Re added the explanation of the fixincludes process and rewording where necessary Chris Staub and reworded description of the specs patch e matt Remove all host headers brought in via the fixincludes process not just pthread h and sigaction h July 17th 2005 e matt Slightly adjusted the specs file seds to prevent multiple seds from adversely affecting them e
283. rramientas tiles La segunda etapa utiliza estas herramientas para construir el resto de herramientas esenciales Los ficheros compilados en este cap tulo se instalar n bajo el directorio LFS tools para mantenerlos separados de los ficheros que se instalen en el siguiente cap tulo y de los directorios de producci n de tu anfitri n Puesto que los paquetes compilados aqu son puramente temporales no queremos que estos ficheros contaminen el futuro sistema LFS Importante Antes de ejecutar las instrucciones de construcci n de un paquete debes desempaquetarlo como usuario 1fs y hacer un ed para entrar al directorio creado Las instrucciones de construcci n asumen que est s usando el int rprete de comandos bash Varios de los paquetes deben parchearse antes de compilarlos pero s lo cuando el parche es necesario para solucionar un problema Con frecuencia el parche es necesario tanto en ste como en el siguiente cap tulo pero a veces s lo es necesario en uno de ellos Por lo tanto no te preocupes si parece que faltan las instrucciones para uno de los parches descargados Igualmente cuando se aplique un parche ocasionalmente ver s un mensaje de aviso sobre offset o fuzz No debes preocuparte por estos avisos pues el parche se aplicar correctamente Durante la compilaci n de muchos paquetes ver s aparecer en pantalla diversos avisos warnings Esto es normal y puedes ignorarlos con tranquilidad No son m s que eso avisos
284. rroneo Esto sucede normalmento cuando una regla concuerda inesperadamente con un dispositivo Poe ejemplo una regla pobremente escrita puede coincidir en cuanto al vendedor tanto con un disco SCSI como se desea como con el correspondiente dispositivo SCSI gen rico incorrecto Encuentra la regla erronea y hazla m s espec fica 7 4 3 5 Udev no crea un dispositivo Se asume que el controlador ha sido compilado est ticamente dentro del n cleo o que ya ha sido cargado como m dulo y que ya has comprobado que Udev no crea un dispositivo equivocado Udev no tiene la informaci n necesaria para crear un nodo de dispositivo si un controlador del n cleo no exporata sus datos a sysfs Este es el caso m s com n con controladores externos al rbol del n cleo Crea un nodo de dispositivo est tico en 1ib udev devices con los n meros mayor menor apropiados mira 229 Linux From Scratch Version 6 2 el fichero devices txt en la documentaci n del n cleo o la documentaci n proporcionada por el distribuidor del controlador externo El nodo de dispositivo est tico ser copiado a dev por el gui n de arranque S10udev 7 4 3 6 El orden de denominaci n de los dispositivos cambia aleatoriamente tras un reinicio Esto se debe al hecho de que Udev por dise o maneja los uevent y la carga de m dulos en paraleo y por tanto en un orden impredecible Esto nunca ser fijado No deber as confiar en que los nombres de dispositivos de
285. rtici n libre vac a o si tienes suficiente espacio sin particionar crear una Sin embargo un sistema LFS de hecho incluso varios sistemas LFS puede instalarse tambi n en una partici n que ya est ocupada por otro sistema operativo y los diferentes sistemas coexistir n pac ficamente El documento http www linuxfromscratch org hints downloads files lfs_next_to_existing_systems txt explica c mo implementar esto mientras que este libro muestra el m todo para utilizar una nueva partici n en la instalaci n Un sistema m nimo necesita una partici n de 1 3 GB m s o menos Esto es suficiente para almacenar todos los archivos de c digo fuente y compilar los paquetes Sin embargo si se piensa usar el sistema LFS como sistema Linux principal probablemente se instalar software adicional necesitando m s espacio 2 3 GB El propio sistema LFS no ocupa mucho espacio Una gran parte de este espacio es requerido para proporcionar suficiente espacio libre temporal Compilar paquetes puede necesitar mucho espacio en disco que ser liberado tras instalar el paquete Como casi nunca hay suficiente memoria RAM disponible para los procesos de compilaci n es buena idea utilizar una peque a partici n como espacio de intercambio swap Este espacio lo usa el n cleo para almacenar los datos menos usados y hacer sitio en memoria para los procesos activos La partici n de intercambio para el sistema LFS puede ser la misma del sistema anfitri n po
286. rupo de caract res usr share il8n locales de_DE con la definici n de mapa de caract res usr share il8n charmaps ISO 8859 1 gz y a ade el resultado al fichero usr lib locale locale archive Las siguientes instrucciones instalar n el conjunto m nimo de locales necesario para una correcta cobertura de las pruebas mkdir pv usr lib locale localedef i de DE f ISO 8859 1 de DE localedef i de DE euro f ISO 8859 15 de DE euro localedef i en HK f ISO 8859 1 en HK localedef i en PH f ISO 8859 1 en PH localedef i en US f ISO 8859 1 en US localedef i en US f UTF 8 en _US UTF 8 localedef i es MX f ISO 8859 1 es MX localedef i fa IR f UTF 8 fa IR localedef i fr FR f ISO 8859 1 fr FR localedef i fr FR euro f ISO 8859 15 fr FR euro localedef i fr FR f UTF 8 fr FR UTF 8 localedef i it IT f ISO 8859 1 it IT localedef i ja_JP f EUC JP ja_JP Adicionalmente instala la locale para tu propio pais idioma y conjunto de caract res Alternativamente instala todas las locales listadas en el fichero glibc 2 3 6 localedata SUPPORTED incluye todas las locales listadas arriba y muchas mas con el siguiente comando el cual tarda bastante tiempo en finalizar make localedata install locales Entoces usa el comando localedef para crear e instalar las locales no listadas en el fichero glibc 2 3 6 localedata SUPPORTED en el improbable caso de que las necesites 6 9 2 Configuraci n de Glibc
287. s Convierte ficheros de bases de datos a un formato de fichero plano legible por db_load Crea capturas de copias de respaldo en caliente o recuperaci n de fallos en caliente de las bases de datos Berkeley DB Se usa para crear ficheros de bases de datos a partir de ficheros en texto plano Convierte ficheros de registro de bases de datos a texto legible por humanos Se usa para restaurar una base de datos a un estado consistente despues de un fallo Mustra las estad sticas de las bases de datos Berkeley Se usa para actualizar los ficheros de bases de datos a una nueva versi n de Berkeley DB Se usa para realizar comprobaciones de consistencia en ficheros de bases de datos Contiene funciones para manipular bases de datos desde programas C Contiene funciones para manipular bases de datos desde programas C 129 Linux From Scratch Version 6 2 6 14 Coreutils 5 96 El paquete Coreutils contiene utilidades para mostrar y establecer las caracter sticas b sicas del sistema Tiempo estimado de construcci n 1 1 SBU Espacio requerido en disco 58 3 MB 6 14 1 Instalaci n de Coreutils Un problema conocido en el programa uname de este paquete es que la opci n p siempre devuelve unknown desconocido El siguiente parche corrige este comportamiento en arquitecturas Intel patch Np1 i coreutils 5 96 uname 1 patch Evita que Coreutils instale binarios que ser n instalados m s tarde por otros paque
288. s y tc Descripciones cortas arpd Demonio ARP a nivel de usuario til en redes realmente grandes en las que la implementaci n ARP del n cleo es insufuciente o cuando se configura un honeypot ctstat Utilidad para el estado de la conexi n ifcfg Un gui n del int rprete de comandos que act a como envoltorio para el comando ip ifstat Muestra las estad sticas de las interfaces incluida la cantidad de paquetes enviados y recibidos por la interfaz ip El ejecutable principal Tiene diferentes funciones ip link lt dispositivo gt permite a los usuarios ver el estado del dispositivo y hacer cambios ip addr permite a los usuarios ver las direcciones y sus propiedades a adir nuevas direcciones y borrar las antiguas ip neighbor permite a los usuarios ver los enlaces de vecindad a adir nuevas entradas de 181 Instat nstat routef routel rtacct rtmon rtpr rtstat ss te Linux From Scratch Versi n 6 2 vecindad y borrar las antiguas ip rule permite a los usuarios ver las pol ticas de enrutado y cambiarlas ip route permite a los usuarios ver las tablas de enrutado y cambiar las reglas de las tablas ip tunnel permite a los usuarios ver los t neles IP y sus propiedades y cambiarlos ip maddr permite a los usuarios ver las direcciones multienlace y sus propiedades y cambiarlas ip mroute permite a los usuarios establecer cambiar o borrar el enrutado multienlace ip monitor permite a los usuarios monitoriz
289. s 1688 and 1689 Thanks to Alexander Patrakov matthew Add information about package management Thanks to the BLFS project for the text January 24 2006 matthew Upgrade to Groff 1 18 1 1 11 January 23 2006 matthew Upgrade to Man pages 2 21 matthew Upgrade to Psmisc 22 1 17 Linux From Scratch Version 6 2 e matthew Upgrade to Shadow 4 0 14 e matthew Install documentation for the Linux kernel Thanks to Tushar for the report Fixes bug 1683 e matthew Added a patch to enable Perl s DB_File module to compile with the latest version of Berkeley DB Thanks to Alexander Patrakov for the patch January 20 2006 e jhuntwork Added a patch to fix the sprintf security vulnerability in Perl Thanks to Tim van der Molen for pointing it out January 17 2006 e jhuntwork Fixed locale generation for French UTF 8 Thanks to Dan McGhee for the report and Alexander Patrakov for the fix January 10 2006 e ken Define YYENABLE_NLS in bison to resolve a code difference shown up by Iterative Comparison Analysis Thanks to Greg Schafer e ken Revert my move of mktemp and add a sed to correct gccbug January 7 2006 e ken Alter the Perl instructions to always create an etc hosts file This fixes a potential difference in the hostcat recorded in Config_heavy pl Thanks to Bryan Kadzban for explaining this e ken Move grep ahead of libtool so that the latter will correctly refer
290. s de l neas seleccionando los fragmentos de acuerdo a los campos o posiciones indicadas Muestra la fecha y hora actual en un formato determinado o establece la fecha y hora del sistema Copia un fichero usando el tama o y n mero de bloques indicado mientras que opcionalmente realiza conversiones en l Muestra la cantidad de espacio disponible y usado en todos los sistemas de ficheros montados o solo del sistema de ficheros en el que se encuentran los ficheros seleccionados Lista el contenido del directirio indicado lo mismo que ls Imprime comandos para modificar la variable de entorno LS_COLOR para cambiar el esquema de color usado por ls Elimina los sufijos que no son directorios del nombre de un fichero Muestra la cantidad de espacio en disco usado por el directorio actual o por cada directorio indicado incluyendo todos sus subdirectorios o por cada fichero indicado Muestra la cadena indicada Ejecuta un programa en un entorno modificado Convierte las tabulaciones a espacios Eval a expresiones Muestra los factores primos de los n meros enteros especificados No hace nada infructuoso Siempre termina con un c digo de estado que indica un fallo Reformatea cada p rrafo de los ficheros especificados Reajusta la longitud de l nea en cada fichero dado Muestra los grupos a los que pertenece un usuario Imprime las 10 primeras l neas o el n mero de l neas indicado de un fichero Muestra el ident
291. s originales patch crea las versiones parcheadas 194 Linux From Scratch Version 6 2 6 49 Psmisc 22 2 El paquete Psmisc contiene programas para mostrar informaci n sobre procesos en ejecuci n Tiempo estimado de construcci n less than 0 1 SBU Espacio requerido en disco 2 2 MB 6 49 1 Instalaci n de Psmisc Prepara Psmisc para su compilaci n configure prefix usr exec prefix Significado de la opci n de configure exec prefix Esto asegura que los binarios de Psmisc se instalen en bin en lugar de usr bin Este es el lugar correcto seg n el FHS pues algunos de los binarios de Psmisc son usados por el paquete LFS Bootscripts Compila el paquete make Este paquete no incluye un banco de pruebas Instala el paquete make install No hay raz n para que los programas pstree y pstree x11 residan en bin Por tanto los moveremos a usr bin mv v bin pstree usr bin El programa pidof de Psmisc no se instala por defecto Normalmente esto no es ning n problema ya que m s tarde instalaremos el paquete Sysvinit el cual nos facilita una versi n mejor del programa pidof Pero si no vas a usar Sysvinit debes completar la instalaci n de Psmisc creando el siguiente enlace simb lico ln sv killall bin pidof 6 49 2 Contenido de Psmisc Programas instalados fuser killall pstree y pstree x11 enlace a pstree Descripciones cortas fuser Muestra los n meros de identificaci n PID de los pr
292. s paquetes tambi n se necesitan varios parches Estos parches corrigen pequefios errores en los paquetes que deber a solucionar su desarrollador Los parches tambi n hacen peque as modificaciones para facilitar el trabajo con el paquete Los siguientes parches son necesarios para construir un sistema LFS e Bash Upstream Fixes Patch 23 KB Descarga http www linuxfromscratch org patches Ifs 6 2 bash 3 1 fixes 8 patch Suma MDS5 bc337045fa4c5839babf0306cc9df 6d0 e Bzip2 Bzgrep Security Fixes Patch 1 2 KB Descarga http www linuxfromscratch org patches lfs 6 2 bzip2 1 0 3 bzgrep_security 1 patch S ma MDS 4eae50e4fd690498f f23d3057dfad7066 e Bzip2 Documentation Patch 1 6 KB Descarga http www linuxfromscratch org patches lfs 6 2 bzip2 1 0 3 install_docs 1 patch Sama MDS 9e5dfbf 4814b71ef986b872c9af8 4488 e Coreutils Internationalization Fixes Patch 101 KB Descarga http www linuxfromscratch org patches lfs 6 2 coreutils 5 96 i18n 1 patch Sama MDS 3df2e6fdblb5a5cl3afedd3d3e05600f e Coreutils Suppress Uptime Kill Su Patch 13 KB Descarga http www linuxfromscratch org patches lfs 6 2 coreutils 5 96 suppress_uptime_kill_su 1 patch S ma MD5 227d41a6d0 13c31375153eae91e913d e Coreutils Uname Patch 4 6 KB Descarga http www linuxfromscratch org patches Ifs 6 2 coreutils 5 96 uname 1 patch Sima MDS c05b735710 bd62239588c07084852a0 e Database Berkeley Upstream Fixes Patch 3 8 KB Download http
293. s unas herramientas principales autocontenidas y autohospedadas Deber a tenerse en cuenta que el proceso de construcci n ha sido dise ado de forma que se minimice el riesgo para los nuevos lectores y al mismo tiempo se proporcione el m ximo valor educacional Importante Antes de continuar deber as informarte del nombre de tu plataforma de trabajo conocido con frecuencia como target triplet triplete del objetivo Para muchos el target triplet posiblemente sea 686 pc linux gnu Una forma simple de determinar tu target triplet es ejecutar el gui n config guess que se incluye con las fuentes de muchos paquetes Desempaqueta las fuentes de Binutils ejecuta el gui n config guess y anota el resultado Igualmente necesitar s saber el nombre del enlazador din mico de tu plataforma tambi n conocido como cargador din mico no debe confundirse con el enlazador est ndar Id que es parte de Binutils El enlazador din mico suministrado por Glibc encuentra y carga las librer as compartidas necesarias para un programa prepara el programa y lo ejecuta Usualmente el nombre del enlazador din mico es 1d 1inux so 2 En plataformas menos conocidas puede ser 1d so 1 y en las nuevas plataformas de 64 bits puede que incluso sea algo totalmente diferente El nombre del enlazador din mico de tu plataforma puede determinarse mirando en el directorio 1ib de tu sistema anfitri n Un modo seguro es inspeccionar un binario cualquiera de tu
294. samblador como su enlazador en dos ubicaciones tools bin y tools STARGET_TRIPLET bin Las herramientas de una ubicaci n son enlaces duros a la otra Un aspecto importante del enlazador es su orden de b squeda de librer as Puede obtenerse informaci n detallada de Id pas ndole la opci n verbose Por ejemplo un Id verbose grep SEARCH mostrar las rutas de b squeda actuales y su orden Puedes ver qu ficheros son realmente enlazados por ld compilando un programa simulado y pas ndole la opci n verbose Por ejemplo gcc dummy c W1 verbose 2 gt amp 1 grep succeeded te mostrar todos los ficheros abiertos con xito durante el enlazado El siguiente paquete instalado es GCC y durante su fase configure ver s por ejemplo checking what assembler to use tools i686 pc 1linux gnu bin as checking what linker to use Tools 1686 pe linus gnu oLn Lel comprobando qu ensamblador usar tools 1i686 pec linux gnu bin as comprobando qu enlazador usar tools 1080901 imw 03m1 10m Lol Esto es importante por la raz n mencionada antes Tambi n demuestra que el gui n configure de GCC no explora los directorios del PATH para encontrar las herramientas a usar Sin embargo durante la operaci n real del propio gcc no se utilizan necesariamente las mismas rutas de b squeda Para saber cu l es el enlazador est ndar que utilizar gec ejecuta gcc print prog name 1d
295. sarrolladores pero son estrictamente opcionales Un problema com n al ejecutar los bancos de pruebas de Binutils y GCC es quedarse sin seudo terminales PTYs El s ntoma es un n mero inusualmente alto de pruebas fallidas Esto puede suceder por diferentes razones pero lo m s probable es que el sistema anfitri n no tenga el sistema de ficheros devpt s configurado correctamente En el Cap tulo 5 se tratar este tema con mayor detalle En ocasiones los bancos de pruebas de los paquetes muestran falsos fallos pero por razones conocidas por los desarrolladores y que no consideran cr ticas Consulta los registros que se encuentran en http www linuxfromscratch org lfs build logs 6 2 para verificar si estos fallos son normales o no Este sitio es v lido para todas las pruebas que aparecen en el libro 57 Linux From Scratch Version 6 2 Capitulo 5 Construir un sistema temporal 5 1 Introduccion Este cap tulo muestra c mo compilar e instalar un sistema Linux m nimo Este sistema contendr s lo las herramientas necesarias para poder iniciar la construcci n del sistema LFS definitivo en el Cap tulo 6 permitiendo un entorno de trabajo algo m s amigable para el usuario que el que un entorno m nimo ofrecer a La construcci n de este sistema minimalista se har en dos etapas La primera es construir un conjunto de herramientas independiente del sistema anfitri n compilador ensamblador enlazador librer as y unas pocas he
296. scan que sirve como versi n preliminar del fichero configure in para dicho paquete Modifica un fichero configure in que todav a llame a las macros de autoconf por sus antiguos nombres para que utilice los nombre de macro actuales Ayuda a escribir ficheros configure in para un paquete de software Escribe los 151 Linux From Scratch Version 6 2 identificadores que el paquete usa en condicionales del preprocesador de C Si un paquete esta preparado para tener cierta portabilidad este programa ayuda a determinar lo que configure necesita comprobar Puede corregir ciertas carencias en un fichero configure in generado por autoscan 152 Linux From Scratch Version 6 2 6 26 Automake 1 9 6 El paquete Automake contiene programas para generar Makefiles que se utilizan con Autoconf Tiempo estimado de construcci n less than 0 1 SBU Espacio requerido en disco 7 9 MB 6 26 1 Instalaci n de Automake Prepara Automake para su compilaci n configure prefix usr Compila el paquete make Para comprobar los resultados ejecuta make check Esto tarda bastante tiempo unos 10 SBUs Instala el paquete make install 6 26 2 Contenido de Automake Programas instalados acinstall aclocal aclocal 1 9 6 automake automake 1 9 6 compile config guess config sub depcomp elisp comp install sh mdate sh missing mkinstalldirs py compile symlink tree e ylwrap Descripciones cortas acinstall Gui n que instala
297. sed i s groups EXEEXT src Makefile find man name Makefile exec sed i groups d Desactiva la instalaci n de las p ginas de manual en chino y coreano pues Man DB no puede formatearlas correctamente sed i e s ko e s zh_CN zh_TW man Makefile Shadow incluye otras p ginas de manual en codificaci n UTF 8 Man DB podr mostrarlas en las codificaciones recomendadas usando el gui n convert mans que instalamos anteriormente for iin de es fi fr id it pt_BR do convert mans UTF 8 ISO 8859 1 man i done for i in cs hu pl do convert mans UTF 8 ISO 8859 2 man i done convert mans UTF 8 EUC JP man j3a convert mans UTF 8 KOI8 R man ru convert mans UTF 8 ISO 8859 9 man tr Compila el paquete 197 Linux From Scratch Version 6 2 make Este paquete no incluye un banco de pruebas Instala el paquete make install Shadow utiliza dos ficheros para configurar los ajustes de autenticaci n para el sistema Instala estos ficheros de configuraci n cp v etc limits login access etc En vez de usar el m todo por defecto crypt utiliza el m todo de encriptaci n de contrase as MD5 que es m s seguro y adem s permite contrase as de m s de 8 caracteres Tambi n es necesario cambiar la obsoleta localizaci n var spool mail que Shadow utiliza por defecto para los buzones de los usuarios a var mail que es la localizaci n usada hoy en d a Ambas cosas pueden hacerse modif
298. sential_prereading txt Esta es una receta del LFS escrita espec ficamente para los nuevos usuarios de Linux Incluye un listado de enlaces a excelentes fuentes de informaci n sobre un amplio rango de t picos Cualquier persona que intente instalar LFS deber a comprender muchos de los t picos mencionados en esta receta Linux From Scratch Version 6 2 4 Requisitos del sistema anfitrion Tu sistema anfitri n deber a tener el siguiente software con las versiones m nimas indicadas Esto no deber a ser un problema para la mayor a de las distribuciones Linux modernas Debes tener en cuenta tambi n que muchas distribuciones ponen las cabeceras del software en paquetes separados con frecuencia de la forma lt nombre del paquete gt devel o lt nombre del paquete gt dev Asegurate de instalarlos si tu distribuci n los proporciona Bash 2 05a Binutils 2 12 No se recomiendan las versiones superiores a 2 16 1 debido a que no han sido probadas Bzip2 1 0 2 Coreutils 5 0 o Sh Utils 2 0 Textutils 2 0 y Fileutils 4 1 Diffutils 2 8 Findutils 4 1 20 Gawk 3 0 Gec 2 95 3 No se recomiendan las versiones superiores a 4 0 3 debido a que no han sido probadas Glibe 2 2 5 No se recomiendan las versiones superiores a 2 3 6 debido a que no han sido probadas Grep 2 5 Gzip 1 2 4 Linux Kernel 2 6 x compilado con GCC 3 0 o superior La raz n por la que se requiere tal versi n del n cleo es que el soporte para almacenaniento lo
299. sici n unos apuntes tiles con informaci n adicional sobre los paquetes 1 4 5 Servidores alternativos El proyecto LFS tiene por todo el mundo varios servidores alternativos para facilitar el acceso a las p ginas web y la descarga de los paquetes requeridos Por favor visita el sitio web http www linuxfromscratch org mirrors html para consultar la lista de los servidores alternativos actuales El proyecto LFS ES que se ocupa de la traducci n al castellano de los textos del LFS dispone de los siguientes servidores e EcolNet Espa a Varios servidores ADSL http www escomposlinux org lfs es e Dattatec com Argentina 100 Mbits http www lfs es info e Balaguer Espa a ADSL 512 Kbits de salida http www macana es com 30 Linux From Scratch Version 6 2 1 4 6 Informacion de contacto Por favor env a todas tus preguntas y comentarios a una de las listas de correo de LFS o LFS ES ver arriba 31 Linux From Scratch Version 6 2 1 5 Ayuda Si mientras est s usando este libro te surge alg n problema o duda consulta primero las FAQ que hay en http www linuxfromscratch org faq generalfaq Probablemente tu pregunta est contestada aqu Si no es as prueba a encontrar la fuente del problema La siguiente receta puede darte algunas ideas para encontrar la soluci n http www linuxfromscratch org hints downloads files errors txt Si no puedes encontrar tu problema en la FAQ busca en las listas
300. sion 6 2 e Diffutils 2 8 1 762 KB Pagina web http www gnu org software diffutils Descarga http ftp gnu org gnu diffutils diffutils 2 8 1 tar gz Sima MDS 71f9c5ae19b60608f6c7f162da86a428 e E2fsprogs 1 39 3 616 KB Pagina web http e2fsprogs sourceforge net Descarga http prdownloads sourceforge net e2fsprogs e2fsprogs 1 39 tar gz download Sima MDS 06f7806782e357797fad1d34b7ced0c6 e Expect 5 43 0 514 KB Pagina web http expect nist gov Descarga http expect nist gov src expect 5 43 0 tar gz Sima MDS 43e1dc0e0bc9492cf2ela6f59f276bc3 e File 4 17 544 KB Descarga ftp ftp gw com mirrors pub unix file file 4 17 tar gz Sima MDS5 50919c65e0181423d66bb25d7fe7b0fd Nota File 4 17 puede que no est disponible en la localizaci n indicada En ocasiones los administradores de la localizaci n principal de descarga eliminan las versiones antiguas cuando se libera una nueva Puedes encontrar una localizaci n alternativa de descarga con la versi n correcta en http www linuxfromscratch org lfs download htmiAftp e Findutils 4 2 27 1 097 KB P gina web http www gnu org software findutils Descarga http ftp gnu org gnu findutils findutils 4 2 27 tar g2 S ma MD5 fle0dadf09f28f8102ff3b90f3b5bc920 e Flex 2 5 33 680 KB P gina web http flex sourceforge net Descarga http prdownloads sourceforge net flex flex 2 5 33 tar bz2 download S ma MDS5 343374a00b38d9e39d1158b71af37150 e
301. sos Xlib espera que el mapa de caracteres sea listado en may sculas y con guiones Por ejemplo ISO 8859 1 en vez de iso88591 Tambi n es posible encontrar una especificaci n apropiada eliminando de la especificaci n de la locale la parte del mapa de caracteres Esto puede cmprobarse ejecutando el comando locale charmap en ambas locales Por ejemplo podr as tener que cambiar de_DE ISO 8859 15 euro por de_DE euro para hacer que Xlib reconociese esta locale Otros paquetes tambi n pueden funcionar incorrectamente pero no necesariamente mostrar un mensaje de error si el nombre de la locale no cumple sus especificaciones En estos casos investigar c mo otras distribuciones Linux soportan tu locale podr a proporcionar informaci n til Una vez hayas determinado los ajustes correctos para el idioma crea el fichero etc profile cat gt etc profile lt lt EOF Begin etc profile export LANG lt 11 gt _ lt CC gt lt charmap gt lt fmodifiers gt export INPUTRC etc inputre i mad ete porofile EOF Las locales C la que se tiene por defecto y en_US la recomendada para los usuarios de habla inglesa de los Estados Unidos son diferentes C utiliza el grupo de caract res US ASCII de 7 bits y trata bytes con el bit alto establecido como caracter inv lido Esto es por lo que por ejemplo el comando Is los sustituye con interrogantes en dicha locale Tambi n un intento de enviar correo con dichos carac
302. su instalaci n depende de Bash Binutils Coreutils Diffutils GCC Glibc Make y Patch El banco de pruebas depende de Ninguno Debe instalarse antes de Ninguno Coreutils Para su instalaci n depende de Bash Binutils Coreutils GCC Gettext Glibc Grep Make Patch Perl Sed y Texinfo El banco de pruebas depende de Diffutils Debe instalarse antes de Bash Diffutils Findutils Man DB y Udev DejaGNU Para su instalaci n depende de Bash Coreutils Diffutils GCC Grep Make y Sed El banco de pruebas depende de No incluye un banco de pruebas Debe instalarse antes de Ninguno Diffutils Para su instalaci n depende de Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Make Patch Sed y Texinfo El banco de pruebas depende de No incluye un banco de pruebas Debe instalarse antes de Ninguno Expect Para su instalaci n depende de Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Patch Sed y Tel El banco de pruebas depende de Ninguno Debe instalarse antes de Ninguno E2fsprogs Para su instalaci n depende de Bash Binutils Coreutils Gawk GCC Gettext Glibc Grep Gzip Make Sed y Texinfo El banco de pruebas depende de Diffutils 270 Linux From Scratch Version 6 2 Debe instalarse antes de Util Linux File Para su instalaci n depende de Bash Binutils Coreutils Diffutils Gawk GCC Glibc Grep Make Sed y Zlib El banco de pruebas depende de No incluye
303. t res desde Mutt o Pine resulta en que se envie un mensaje de no conformancia con RFC el grupo de caract res en el mensaje de salida se indoca como desconocido de 8 bit Por tanto puedes usar la locale C s lo si est s seguro de que n nca necesitar s caract res de 8 bits 239 Linux From Scratch Version 6 2 Las locales basadas en UTF 8 no estan bien soportadas por muchos programas Por ejemplo el programa watch mustra s lo caract res ASCII en locales UTF 8 y no tiene dicha restricci n en locales tradicionales de 8 bits como en_US Se esta trabajando en documentar y si es posible corregir dichos problemas Mira http www linuxfromscratch org blfs view svn introduction locale issues html 240 Linux From Scratch Version 6 2 7 10 Configuracion del guion localnet Parte del trabajo del gui n localnet es establecer el nombre de la m quina Esto se configura en el fichero etc sysconfig network Crea el fichero etc sysconfig network e introduce el nombre de tu m quina ejecutando echo HOSTNAME lt lfs gt gt etc sysconfig network Debes substituir lt 1 s gt por el nombre con el que debe de conocerse tu m quina No escribas el FQDN nombre completo de la m quina incluido su dominio Esa informaci n la escribiremos m s tarde en el fichero etc hosts 241 Linux From Scratch Version 6 2 7 11 Personalizar el fichero etc hosts Si se va a configurar una tarjeta de red decide la direcci n IP
304. ta con los cambios realizados desde la anterior versi n del libro NOTA las entradas no est n traducidas por falta de tiempo Cambios e August 3 2006 e dnicholson Fixed typo in list of acceptable ext3 features Thanks to Randy McMurchy e dnicholson Updated Berkeley DB patch to contain all available upstream fixes Fixed md3sum for glibc inotify patch e August 2 2006 e dnicholson Fixed Berkeley DB patch to conform to LFS style e dnicholson Added to the list of acceptable features in ext3 file systems Thanks to George Gowers e August 1 2006 e dnicholson Added text describing a potential failure in the E2fsprogs testsuite when there is not enough memory available and suggest enabling swap space to address this Also added an explicit swapon to the Chapter 2 mounting instructions to ensure that the user has enabled their swap space if desired Thanks to Nathan Coulson and Alexander Patrakov e dnicholson Added text warning that the Udev testsuite will produce messages in the host s logs Fixes 1846 Thanks to Archaic e dnicholson Finished adding system inotify support Split the patch so that the syscall functions are part of the Glibc installation Thanks to Alexander Patrakov for supplying the proper syscall bits e July 31 2006 e bdubbs Added a patch vim to fix a spellfile download problem Thanks to Alexander Patrakov e July 30 2006 e bdubbs Added notes that udev does not re
305. talarse antes de Ninguno Kbd Para su instalaci n depende de Bash Binutils Bison Coreutils Flex GCC Gettext Glibc Gzip Make Patch y Sed El banco de pruebas depende de No incluye un bamco de pruebas Debe instalarse antes de Ninguno Less Para su instalaci n depende de Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Ncurses y Sed El banco de pruebas depende de No incluye un bamco de pruebas Debe instalarse antes de Ninguno Libtool Para su instalaci n depende de Bash Binutils Coreutils Diffutils Gawk GCC Glibc Grep Make Sed y Texinfo El banco de pruebas depende de Findutils Debe instalarse antes de Ninguno Linux Kernel Para su instalaci n depende de Bash Binutils Coreutils Diffutils Findutils GCC Glibc Grep Gzip Make Module Init Tools Ncurses y Sed El banco de pruebas depende de No incluye un bamco de pruebas Debe instalarse antes de Ninguno M4 Para su instalaci n depende de Bash Binutils Coreutils GCC Glibc Grep Make y Sed El banco de pruebas depende de Diffutils Debe instalarse antes de Autoconf y Bison Man DB Para su instalaci n depende de Bash Berkeley DB Binutils Bzip2 Coreutils Flex GCC Gettext Glibc Grep Groff Gzip Less Make y Sed El banco de pruebas depende de No se ejecuta Requiere un paquete extra con el banco de pruebas de Man DB 213 Linux From Scratch Version 6 2 Debe instalarse antes de Ninguno
306. tc passwd y etc group la resoluci n de nombres de usuarios y grupos funcionar ahora exec tools bin bash login h Advierte el uso de la directiva h Esto le indica a bash que no utilice su tabla interna de rutas Sin esta directiva bash recordar a la ruta a los binarios que ha ejecutado Para poder usar los binarios reci n compilados tan pronto como sean instalados se usar la directiva h durante el resto de este cap tulo Los programas login getty e init entre otros mantienen una serie de ficheros de registro con informaci n sobre quienes est n y estaban dentro del sistema Sin embargo estos programas no crean dichos ficheros si no existen Crea los ficheros de registro con sus permisos correctos touch var run utmp var log btmp lastlog wtmp chgrp v utmp var run utmp var log lastlog chmod v 664 var run utmp var log lastlog El fichero var run utmp lista los usuarios que est n actualmente dentro del sistema var log wtmp registra todos los ingresos y salidas El fichero var log lastlog muestra para cada usuario cuando fue la ltima vez que ingres y el fichero var log btmp lista los intentos de ingreso fallidos 109 Linux From Scratch Version 6 2 6 7 Linux Libc Headers 2 6 12 0 El paquete Linux Libc Headers contiene las cabeceras saneadas del n cleo Tiempo estimado de construcci n less than 0 1 SBU Espacio requerido en disco 27 MB 6 7 1 Instalaci n de Linux Libc Headers D
307. te make SHLIB LIBS lncurses Significado de la opci n de make SHLIB_LIBS l1ncurses Esta opci n fuerza a Readline a enlazarse contra la liberia libncurses en realidad contra libncursesw Este paquete no incluye un banco de pruebas Instala el paquete make install Asigna a las librer as din micas de Readline unos permisos m s apropiados chmod v 755 lib lib readline history so Mueve las librer as est ticas a una ubicaci n m s correcta mv v lib lib readline history a usr lib Ahora elimina los ficheros so del directorio 1ib y reenlazalos a usr lib rm v lib lib readline history so ln sfv lib libreadline so 5 usr lib libreadline so ln sfv lib libhistory so 5 usr lib libhistory so 147 Linux From Scratch Version 6 2 6 23 2 Contenido de Readline Librerias instaladas libhistory a so y libreadline a so Descripciones cortas libhistory Proporciona una interfaz de usuario consistente para la rellamada de l neas de historial libreadline Asiste en la consistencia de la interfaz de usuario entre programas discrecionales que necesitan suministrar una interfaz de l nea de comandos 148 Linux From Scratch Version 6 2 6 24 Zlib 1 2 3 El paquete Zlib contiene rutinas de compresi n y descompresi n usadas por algunos programas Tiempo estimado de construcci n less than 0 1 SBU Espacio requerido en disco 3 1 MB 6 24 1 Instalaci n de Zlib Nota
308. te iniciarlo cat gt gt boot grub menu lst lt lt EOF title Windows rootnoverify hd0 0 chainloader 1 EOF Si info grub no te dice todo lo que quieres saber puedes encontrar m s informaci n sobre GRUB en su sitio web localizado en http www gnu org software grub El est ndar FHS estipula que el fichero menu lst debe tener un enlace simb lico a etc grub menu lst Para satisfacer este requisito ejecuta el siguiente comando mkdir v etc grub amp amp ln sv boot grub menu lst etc grub 256 Linux From Scratch Version 6 2 Capitulo 9 El final 9 1 El final Bien hecho El nuevo sistema LFS est instalado Te deseamos mucha diversi n con tu flamante sistema Linux hecho a la medida Puede ser una buena idea crear un fichero etc l1fs release Teniendo este fichero te ser muy f cil y a nosotros si es que vas a pedir ayuda en alg n momento saber qu versi n de LFS tienes instalada en tu sistema Crea este fichero ejecutando echo 6 2 gt etc lfs release 257 Linux From Scratch Version 6 2 9 2 Registrarse Ahora que has terminado el libro qu te parecer a poder registrarte como usuario de LFS Visita http www linuxfromscratch org cgi bin lfscounter cgi y reg strate como usuario de LFS introduciendo tu nombre y la primera versi n de LFS que has usado Arranquemos ahora el sistema LFS 258 Linux From Scratch Version 6 2 9 3 Reinicio del sistema Ahora que se h
309. ter 6 s Glibc make check so the output can be seen on screen as well as Linux From Scratch Version 6 2 captured in the log file May 30 2006 e matthew Removed an out of date comment regarding having to run pwconv to reset passwords after enabling password shadowing Thanks to Chris Staub for the report e matthew Removed getunimap setlogons and setvesablank from the list of programs installed by kbd Thanks to Chris Staub for the patch May 30 2006 e matthew Removed swapdev from the list of files installed by util linux Thanks to Chris Staub for the patch May 27 2006 e jhuntwork Remove the refer back s in the gcc pass2 and chapter06 gcc pages Better organizes the commands and data so that the flow of the book is not lost e jhuntwork Add a note about installing spell files for Vim in a language other than English e jhuntwork Correct Vim s installation of man pages to work well with Man DB Patch from Alexander Patrakov and Ag Hatzim May 26 2006 e jhuntwork Some version corrections in the vim page May 25 2006 e jhuntwork Updated to Vim 7 0 Fixes 1793 e jhuntwork Fixed generation of diffs man page Thanks Randy McMurchy for the report and Ken Moffat for the fix Fixes 1800 May 22 2006 e jim Fixed a constant support question asked in IRC and the mailing lists about shadow s additional sed command for cracklib Using a complete sed command instead May 15 2006
310. tes patch Np1 i coreutils 5 96 suppress_uptime kill_su 1 patch POSIX requiere que los programas de Coreutils reconozcan correctamente la amplitud de los caract res incluso en locales multibytes El siguiente parche corrigue este incumplimiento y otros errores relacionados con la internacionalizaci n patch Npl i coreutils 5 96 il8n 1 patch Para poder superar la prueba a adida por este parche deben cambierse los permisos del fichero de la prueba chmod x tests sort sort mb tests Nota En el pasado se encontraron muchos errores en dicho parche Cuando informes de nuevos fallos a los mantenedores de Coreutils comprueba primero si estos son reproducibles sin el parche Se ha encontrado que en ocasiones los mensajes traducidos saturan un buffer en el comando who Hu Incrementa el tama o del buffer sed i s LEN 6 _LEN 20 src who c Prepara Coreutils para su compilaci n configure prefix usr Compila el paquete make El banco de pruebas de Coreutils hace ciertas suposiciones relativas a la presencia de usuarios y grupos en el sistema que no son v lidas dentro del entorno m nimo actual Por tanto hay que preparar varias cosas antes de poder ejecutar las pruebas Si decides no ejecutar el banco de pruebas salta hasta Instala el paquete Crea dos grupos y un usuario ficticios echo dummy1 x 1000 gt gt etc group echo dummy2 x 1001 dummy gt gt etc group echo dummy x 1000 1000 root b
311. the numerous issues and for reviewing the various suggested fixes e j huntwork Move sed to earlier in the build e jhuntwork Move m4 to earlier in the build Thanks Chris Staub November 11 2005 e matt Omit running Bzip2 s testsuite as a separate step as make runs it automatically bug 1652 November 10 2005 e jhuntwork Initial re ordering of packages Thanks to Chris Staub bug 684 November 7 2005 e matt Install the binaries from Less to usr bin instead of bin fixes bug 1643 e matt Remove the libexecdir option from both passes of GCC in chapter 5 fixes bug 1646 Also change the libexecdir option for Findutils to conform with the usr lib packagename convention already prevalent in the book fixes bug 1644 November 6 2005 e matt Remove the optimization related warnings from the toolchain packages bug 1650 e matt Install Vim s documentation to usr share doc vim 7 0 instead of usr share vim vim64 doc bug 1610 Thanks to Randy McMurchy for the report and Jeremy Huntwork for the fix e matt Stop Udev from killing udevd processes on the host system fixes bug 1651 Thanks to Alexander Patrakov for the report and the fix e matt Upgrade to Coreutils 5 93 e matt Upgrade to Psmisc 21 8 e matt Upgrade to Glibc 2 3 6 November 5 2005 e matt Add a note to the toolchain sanity check in chapter 5 to explain that if TCL fails to build it s an indication of a broken
312. tocap 138 139 init 203 204 insmod 192 193 insmod static 192 193 install 130 132 install info 206 207 install sh 153 154 instmodsh 145 146 ip 181 181 iperm 211 212 ipcs 211 212 isosize 211 212 join 130 132 kbdrate 183 184 kbd_mode 183 184 kill 141 141 killall 195 195 killall5 203 204 klogd 201 202 last 203 204 lastb 203 204 lastlog 197 199 ld 121 122 Idconfig 112 116 Idd 112 116 lddlibc4 112 116 less 185 185 less sh 215 217 lessecho 185 185 lesskey 185 185 lex 166 166 lexgrog 187 190 lfskernel 2 6 16 27 252 253 libnetcfg 145 146 libtool 144 144 libtoolize 144 144 line 211 213 link 130 132 Ikbib 174 175 In 130 132 Linux From Scratch Version 6 2 Instat 181 182 loadkeys 183 184 loadunimap 183 184 locale 112 116 localedef 112 116 locate 164 165 logger 211 213 login 197 199 logname 130 133 logoutd 197 199 logsave 160 161 look 211 213 lookbib 174 175 losetup 211 213 Is 130 133 lsattr 160 161 lsmod 192 193 m4 136 136 make 186 186 makeinfo 206 207 man 187 190 mandb 187 190 manpath 187 190 mapscrn 183 184 mbchk 167 168 mcookie 211 213 md5sum 130 133 mdate sh 153 154 mesg 203 204 missing 153 154 mkdir 130 133 mke2fs 160 161 mkfifo 130 133 mkfs 211 213 mkfs bfs 211 213 mkfs cramfs 211
313. top html Descarga http ftp gnu org gnu readline readline 5 1 tar gz Sima MDS 7ee5a692db88b30ca48927a13fd60e46 e Sed 4 1 5 781 KB P gina web http www gnu org software sed Descarga http ftp gnu org gnu sed sed 4 1 5 tar gz S ma MDS 7alcbbbb3341287308e140bd4834c3ba e Shadow 4 0 15 1 265 KB Descarga ftp ftp pld org pl software shadow shadow 4 0 15 tar bz2 Sima MDS a0452fa989f8ba45023cc5a08136568e Nota Shadow 4 0 15 puede no estar disponible en la localizaci n anterior Los administrador del sitio principal de descarga en ocasiones eliminan las versiones antiguas cuando se libera una nueva Puedes encontrar una localizaci n alternativa de descarga con la versi n correcta en http www linuxfromscratch org lfs download htmlKftp e Sysklogd 1 4 1 80 KB P gina web http www infodrom org projects sysklogd Descarga http www infodrom org projects sysklogd download sysklogd 1 4 1 tar gz S ma MDS d214aa40beabf 7bdb0c9b3c64432c774 e Sysvinit 2 86 97 KB Descarga ftp ftp cistron nl pub people miquels sysvinit sysvinit 2 86 tar gz Sama MDS 7d5d61c026122ab791lac04c8a84db967 e Tar 1 15 1 1 574 KB 45 Linux From Scratch Version 6 2 Pagina web http www gnu org software tar Descarga http ftp gnu org gnu tar tar 1 15 1 tar bz2 Sima MDS 57da3c38f8e06589699548a34d5a5d07 e Tcl 8 4 13 3 432 KB Pagina web http tcl sourceforge net Descarga http prdownloads sourcef
314. ts LFS dev pts mount vt tmpfs shm LFS dev shm mount vt proc proc LFS proc mount vt sysfs sysfs LFS sys 102 Linux From Scratch Version 6 2 6 3 Adiministracion de paquetes Frecuentemente se solicita la inclusi n de la administraci n de paquetes en el libro LFS Un administrador de paquetes permite supervisar la instalaci n de ficheros facilitando la eliminaci n y actualizaci n de ficheros Y antes de que empieces a preguntar NO esta secci n no habla sobre un administrador de paquetes en concreto ni recomienda alguno Lo que suministra es un paseo por las t cnicas m s populares y su m todo de trabajo El administrador de paquetes perfecto para ti puede encontrarse entre estas t cnicas o puede ser una combinaci n de dos o m s de ellas Esta secci n menciona brevemente los problemas que pueden surguir cuando se actualizan paquetes Algunas razones por las que ning n administrador de paquetes se menciona en LFS or BLFS e Tratar la administraci n de paquetes se sale de los objetivos de estos libros ense ar c mo se construye un sistema Linux e Hay m ltiples soluciones para la administraci n de paquetes cada una con sus limitaciones y problem tica Incluir uno que satisfaga a todo el mundo es dificil Se han escrito diversas recetas sobre este tema Visita el Subproyecto Hintspara ver si alguna de ellas cubre tus necesidades 6 3 1 Cuestiones de actualizaci n Un administrador de paquetes facilita la actu
315. tt Updated to man 1 6 e matt Updated to file 4 14 e matt Updated to man pages 2 05 June 12th 2005 e matt Upgraded to gettext 0 14 5 e matt Upgraded to perl 5 8 7 Je matt Upgraded to tcl 8 4 10 e matt Upgraded to man pages 2 03 May 24th 2005 e jim Changed gcc specs patch to 2 May 23nd 2005 e jim Changed changelog to use version entities May 22nd 2005 e matt Updated to Udev 058 e matt Updated to Libtool 1 5 18 e matt Updated to Gce 3 4 4 ll e matt Updated to Binutils 2 16 May 15th 2005 28 Linux From Scratch Version 6 2 e matt Updated to Grub 0 97 e matt Updated to Libtool 1 5 16 e jim Updated to udev 057 e April 14 2005 e jim Updated to man pages 2 02 e April 13 2005 e jim Updated to glibc 2 3 5 e jim Updated to gettext 0 14 4 e April 12 2005 e manuel Small redaction changes e April 11 2005 e manuel Several tags and text corrections e April 6 2005 e jim Removed IPRoute2 patch for a sed Ryan Oliver Branch frozen for LFS 6 1 as of April 5 2005 Some packages and patches updates related with security up to July 9 2005 29 Linux From Scratch Version 6 2 1 4 Recursos 1 4 1 FAQ Si durante la construcci n del sistema LFS encuentras alg n fallo tienes preguntas o encuentras un error tipogr fico en el libro consulta primero las FAQ Preguntas Hechas Frecuentemente que se
316. ualo ejecutando el comando hwclock localtime show Esto mostrar la hora actual seg n el reloj hardware Si dicha hora coincide con la de tu reloj entonces el reloj hardware est a la hora local Si la salida de hwelock no es la hora local seguramente est en la hora UTC Verifica esto a adiendo o restando la cantidad de horas correspondiente a tu zona local a la hora mostrada por hwelock Por ejemplo si vives en la zona horaria MST conocida tambi n como GMT 0700 a ade siete horas a la hora local Cambia abajo el valor de la variable UTC a O cero si el reloj hardware no utiliza la hora UTC Crea un nuevo fichero etc sysconfig clock ejecutando lo siguiente cat gt etc sysconfig clock lt lt EOF Begin etc sysconfig clock UTC 1 End etc sysconfig clock EOF En http www linuxfromscratch org hints downloads files time txt hay disponible una buena receta que trata sobre la hora en LFS En ella se explican conceptos como las zonas horarias UTC y la variable de entorno TZ 231 Linux From Scratch Version 6 2 7 6 Configurar la consola Linux Esta secci n explica c mo configurar el gui n de arranque console el cual establece el mapa del teclado y la fuente de consola Si no se van a utilizar caracteres no ASCII como por ejemplo la Libra inglesa y el Euro y el teclado es del tipo U S s ltate esta secci n Sin el fichero de configuraci n el gui n de inicio console no har nada El gui n console
317. uci n para aquellos dispositivos no soportados por la infraestructura de manejo din mico de dispositivos Entonces el gui n de arranque iniciar el demonio Udev udevd que actuar sobre cualquier uevent recibido Por ltimo el gui n de arranque fuerza al n cleo a repetir los uevents de los dispositivos que ya hayan sido registrados y espera a que udevd los maneje 7 4 2 3 Creaci n de nodos de dispositivo Para obtener los n meros mayor y menor correctos de un dispositivo Udev utiliza la informaci n proporcionada por sysfs en sys Por ejemplo sys class tty vcs dev contiene la cadena 7 0 Esta cadena es usada por udevd para crear un nodo de dispositivo con n mero mayor 7 y menor 0 Los permisos y modos de los nodos creados en el directorio dev son determinados por las reglas especificadas en los ficheros que hay en el directorio etc udev rules d Estas se encuentran numeradas en un formato similar al del paquete LFS Bootscripts Si udevd no puede encontrar una regla para el dispositivo que est creando utilizar los permisos 660 y como propietario root root La documentaci n sobre la sintaxis de los ficheros de reglas de configuraci n de Udev se encuentra en usr share doc udev 096 index html 7 4 2 4 Manejo de m dulos Los controladores de dispositivos compilados como m dulos pueden tener alias dentro de ellos Los alias son visibles en la salida del programa modinfo y normalmente est n relacionados con el identificados
318. ui n network activar la NIC Interfaz de Tarjeta de Red correspondiente durante el arranque del sistema Si contiene cualquier otro valor el gui n network ignorar la NIC correspondiente y no la activar La entrada SERVICE define el m todo usado para obtener la direcci n IP Los guiones de arranque de LES tienen un formato de asignaci n de IP modular y mediante la creaci n de ficheros adicionales en etc sysconfig network devices services se permiten otros m todos de asignaci n IP Esto se utiliza com nmente para DHCP Protocolo de Configuraci n Din mica del Anfitri n que se explica en el libro BLFS La variable GATEWAY deber a contener la direcci n IP de la puerta de enlace por efecto si hay alguna Si no comenta la variable La variable PREFIX debe contener el n mero de bits usados en la subred Cada octeto de una direcci n IP tiene 8 bits Si la m scara de subred es 255 255 255 0 estonces est usando los primeros tres octetos 24 246 Linux From Scratch Version 6 2 bits para especificar el n mero de red Si la m scara de red es 255 255 255 240 podria estar usando los primeros 28 bits Los prefijos mayores de 24 bits son usados normalmente por ISPs Suministradores de Servicios de Internet para DSL o cable En este ejemplo PREFIX 24 la mascara de red es 255 255 255 0 Aj sta la variable PREFIX de acuerdo a tu propia subred 247 Linux From Scratch Version 6 2 7 13 3 Creacion del fic
319. uir un sistema Por tanto recomendamos construir los paquetes del siguiente cap tulo como un usuario sin privilegios Puedes usar tu propio nombre de usuario pero para facilitar la creaci n de un entorno de trabajo limpio crea un nuevo usuario llamado lfs como miembro de un nuevo grupo llamado tambi n 1fs y utilizalo para el proceso de construcci n Como root ejecuta el siguiente comando para a adir el nuevo usuario groupadd lfs useradd s bin bash g lfs m k dev null lfs Significado de las opciones s bin bash Esto hace de bash el int rprete de comandos por defecto para el usuario 1fs g lfs Esta opci n a ade el usuario 1fs al grupo 1fs m Esto crea el directorio personal para 1 s k dev null Este par metro evita que se copien ficheros procedentes de un posible esqueleto de directorio por defecto es etc skel cambiando la localizaci n de entrada al dispositivo especial nulo ifs Este es el nombre real del usuario y grupo creados Para ingresar como 1fs en vez de cambiar al usuario 1fs cuando se est como root que no precisa que el usuario 1 fs tenga una contrase a as gnale una contrase a a 1fs passwd lfs Concede a 1 fs acceso completo a SLFS tools d ndole la propiedad del directorio chown v lfs LFS tools Si creaste un directorio de trabajo como te sugerimos haz que el usuario 1fs sea tambi n el propietario de este directorio chown v lfs LFS sources A continuaci n entra como
320. unas otras librer as instaladas Para m s informaci n lee la documentaci n de Vim y la p gina de instalaci n de Vim en el libro BLES en http www linuxfromscratch org blfs view svn postlfs editors html postlfs editors vim 6 57 2 Configuraci n de Vim Por defecto vim se ejecuta en modo no compatible con vi Esto puede ser nuevo para los usuarios que han utilizado otros editores anteriormente Se incluye a continuaci n la opci n nocompatible para resaltar el hecho de que se va a usar este nuevo comportamiento Esto tambi n les recuerda a aquellos que quieran cambiar al modo compatible que deber a ser la primera entrada en el fichero de configuraci n Esto es necesario porque cambia otros ajustes y las modificaciones deber an ir tras este ajuste Crea un fichero de configuraci n por defecto de vim ejecutando lo siguiente cat gt etc vimre lt lt EOF u Begin sue vimes set nocompatible set backspace 2 syntax on if amp term iterm amp term putty set background dark endif W mad Sie wali 216 Linux From Scratch Version 6 2 EOF La opci n set nocompatible hace que vim se comporte de un modo el modo por defecto m s til que el modo compatible con vi Elimina el no si quieres el antiguo comportamiento vi La opci n set backspace 2 permite el retroceso en saltos de l nea autoindentaci n e inicio de inserci n La opci n syntax on activa la coloraci n sem ntica de vi
321. unos ajustes para asegurar que la b squeda y el enlazado tengan lugar solamente dentro de nuestro directorio tools Instalaremos un Id ajustado que tiene limitada su ruta de b squeda interna a tools 1lib Entonces retocaremos el fichero specs de gece para que apunte a nuestro nuevo enlazador din mico en tools 1ib Este ltimo paso es vital para el proceso completo Como se mencion antes dentro de cada ejecutable compartido ELF se fija la ruta a un enlazador din mico Puedes verificar esto mediante readelf 1 lt nombre del binario grep interpreter Retocando el ficheros specs de gec estaremos seguros de que todo binario compilado desde aqu hasta el final de este cap tulo usar nuestro nuevo enlazador din mico en tools 1lib La necesidad de utilizar el nuevo enlazador din mico es tambi n la raz n por la que aplicamos el parche Specs en la segunda fase de GCC De no hacer esto los propios programas de GCC incluir an dentro suyo el nombre del enlazador din mico del directorio 1ib del sistema anfitri n lo que arruinar a nuestro objetivo 60 Linux From Scratch Version 6 2 de librarnos del anfitri n Durante la segunda fase de Binutils podremos usar la opci n with lib path de configure para controlar la ruta de b squeda de librer as de Id A partir de este punto el coraz n de las herramientas est autocontenido y autohospedado El resto de los paquetes del Cap tulo 3 se construir n todos contra la nueva Glibc en
322. urante a os ha sido una pr ctica com n utilizar las cabeceras crudas del n cleo procedentes de un paquete del n cleo en usr include pero en los ltimos a os los desarrolladores del n cleo han expresado su firme opini n de que eso no debe hacerse Esto di lugar al nacimiento del proyecto Linux Libc Headers que fue dise ado para mantener una versi n estable de la API de la cabeceras Linux A ade una cabecera de espacio de usuario y soporte para las llamadas al sistema para la caracter stica inotify disponible en nlos nuevos n cleos Linux patch Np1 i linux libc headers 2 6 12 0 inotify 3 patch Instala los ficheros de cabecera install dv usr include asm cp Rv include asm i386 usr include asm cp Rv include linux usr include Aseg rate de que todas las cabeceras son propiedad de root chown Rv root root usr include asm linux Aseg rate de que los usuarios pueden leer las cabeceras find usr include asm linux type d exec chmod v 755 find usr include asm linux type f exec chmod v 644 6 7 2 Contenido de Linux Libc Headers Cabeceras instaladas usr include asm linux h Descripcion corta usr include fasm linux h La API de las cabeceras de Linux 110 Linux From Scratch Version 6 2 6 8 Man pages 2 34 El paquete Man pages contiene alrededor de 1 200 paginas de manual Tiempo estimado de construcci n less than 0 1 SBU Espacio requerido en disco 18
323. usa para chequear y opcionalmente reparar sistemas de ficheros ext2 y tambi n ext3 Se usa para salvar informaci n cr tica de un sistema de ficheros ext 2 en un fichero Muestra o cambia la etiqueta de un sistema de ficheros ext 2 situado en el dispositivo especificado Informa sobre lo mal fragmentado que puede estar un sistema de ficheros en concreto Encuentra un sistema de ficheros por su etiqueta o UUID Identificador Universal Unico Se usa para chequear y opcionalmente reparar un sistema de ficheros Por defecto comprueba los sistemas de ficheros listados en etc fstab Por defecto comprueba sistema de ficheros ext 2 Por defecto comprueba sistemas de ficheros ext 3 Salva la salida de un comando en un fichero de registro Muestra los atributos de un fichero en un sistema de ficheros ext 2 Convierte una tabla de nombres de comandos y mensajes de ayuda en un fichero fuente C preparado para usarlo con la librer a del subsistema libss Crea un sistema de ficheros ext 2 o ext 3 en un dispositivo dado Por defecto crea un sistema de ficheros ext 2 Por defecto crea un sistema de ficheros ext 3 161 mklost found resize2fs tune2fs uuidgen libblkid libcom_err libe2p libext2fs libss libuuid Linux From Scratch Versi n 6 2 Se usa para crear un directorio lost found en un sistema de ficheros ext 2 Reserva bloques de disco para este directorio facilitando la tarea de e2fsck Se usa p
324. usuario 1fs Esto se puede hacer mediante una consola virtual con un administrador de sesi n gr fico o con el siguiente comando de sustituci n de usuario su lfs El le indica a su que inicie un int rprete de comandos de ingreso en lugar de uno de no ingreso La diferencia entre estos dos tipos de int rpretes de comandos se encuentra detallada en bash 1 e info bash 53 Linux From Scratch Version 6 2 4 4 Configuracion del entorno 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 1 fs ejecuta los siguientes comandos para crear un bash profile nuevo cat gt bash_profile lt lt EOF exec envy HOME s HOME TERMS TERM SIS NENAS losin Dash EOF Cuando entras como usuario 1fs 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 variables HOME 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
325. v LFS dev proc sys 6 2 1 Crear los nodos de dispositivo iniciales Cuendo el n cleo arranca el sistema este necesita la presencia de ciertos nodos de dispositivo en particular los dispositivos console y null Los nodos de dispositivo ser n creados en el disco duro para que est n disponibles antes de que udevd sea iniciado y adicionalmente cuando Linux es iniciado con init bin bash Crea los dispositivos ejecutando los siguientes comandos mknod m 600 SLFS dev console c 5 1 mknod m 666 SLFS dev null c 1 3 6 2 2 Montar y poblar dev El m todo recomendado para poblar el directorio dev con dispositivos es montar un sistema de ficheros virtual como tmpfs en el directorio dev y permitir que los dispositivos sean creados din micamente en dicho sistema de ficheros virtual a medida que son detectados o accedidos Esto lo hace generalmente Udev durante el arranque Puesto que este nuevo sistema no tiene a n Udev y no ha sido arrancado es necesario montar y poblar dev manualmente Esto se consige mediante un montaje enlazado del directorio dev del sistema anfitri n Un montaje enlazado es un tipo especial de montaje que te permite crear una replica de un directorio o punto de montaje en otra localizaci n Utiliza el siguiente comando para hacer esto mount bind dev SLFS dev 6 2 3 Montar los sistemas de ficheros virtuales del n cleo Ahora monta el resto de sistemas de ficheros virtuales del n cleo mount vt devpts devp
326. vs rules lt lt EOF Persistent symlinks for webcam and tuner NS SIS O A OA SyvSrS acvemcor O08il SYMLINK webcam NA SS Sa Eva OS AS SS IAN SYMLINK tvtuner EOF El resultado es que los dispositivos dev video0 y dev video a n se refieren de forma aleatoria al sintonizador o a la c mara web y por tanto nunca deben usarse directamente pero los enlaces simb licos dev tvtuner y dev webcam siempre apuntar n al dispositivo correcto Puedes encontrar m s informaci n sobre la creaci n de reglas Udev en usr share doc udev 096 index html 244 Linux From Scratch Version 6 2 7 13 Configuracion del guion network Esta secci n solamente es aplicable en el caso de que vayas a configurar una tarjeta de red Si no tienes tarjeta de red es muy probable que no vayas a crear ninguna configuraci n relacionada con ellas En ese caso elimina los enlaces simb licos network de todos los directorios de los niveles de ejecuci n etc rc d rc d 7 13 1 Crear nombres estables para las tarjetas de red Si solo tienes una tarjeta de red las instrucciones de esta secci n son opcionales Con Udev y controladores de red modulares la numeraci n de las interfaces de red no es persintente entre reinicios debido a que los controladores se cargan en paralelo y por tanto en orden aleatorio Por ejemplo en un ordenador que tenga dos tarjetas de red fabricadas por Intel y Realtek la tarjeta de red fabricada por Intel p
327. w linuxfromscratch org patches lfs 6 2 tar 1 15 1 security_fixes 1 patch S ma MDS 19876e726d9cec9cel508e3af74dc22e e Tar Sparse Fix Patch 0 9 KB Descarga http www linuxfromscratch org patches lfs 6 2 tar 1 15 1 sparse_fix 1 patch S ma MDS 9e3623f 7c88d8766878ecb27c980d86a e Texinfo Multibyte Fixes Patch 1 5 KB Descarga http www linuxfromscratch org patches Ifs 6 2 texinfo 4 8 multibyte 1 patch Suma MDS 6cb5b760cfdd2dd53a0430eb572a8aaa e Texinfo Tempfile Fix Patch 2 2 KB Descarga http www linuxfromscratch org patches lfs 6 2 texinfo 4 8 tempfile_fix 2 patch S ma MDS 559bdal36a2ac7777ecb67511227af85 e Util linux Cramfs Patch 2 8 KB Descarga http www linuxfromscratch org patches Ifs 6 2 util linux 2 12r cramfs 1 patch Sama MDS 1c3 40b30e12738eb7b66a35b7374572 e Vim Upstream Fixes Patch 42 KB Descarga http www linuxfromscratch org patches Ifs 6 2 vim 7 0 fixes 7 patch Sima MDS d274219566702b0bafcb83ab4685bbde e Vim Man Directories Patch 4 2 KB Descarga http www linuxfromscratch org patches Ifs 6 2 vim 7 0 mandir 1 patch Sama MDS b6426eb4192fabale867ddd502323f5b e Vim Spellfile Patch 1 2 KB Descarga http www linuxfromscratch org patches lfs 6 2 vim 7 0 spellfile 1 patch S ma MDS 98e59 e34cb6e16a8d4671247cebd64ee Tama o total de estos parches 775 9 KB Aparte de los anteriores parches necesarios hay una serie de parches opcionales creados por la comunidad 49 Linux Fro
328. w linuxfromscratch org lfs packages html Ser necesario guardar todos los paquetes y parches descargados en alg n sitio que est disponible durante toda la construcci n Tambi n se necesita un directorio de trabajo en el que desempaquetar las fuentes y construirlas Puede usarse LFS sources tanto para almacenar los paquetes y parches como directorio de trabajo Al usar este directorio los elementos requeridos se encontrar n en la partici n LFS y estar n disponibles durante todas las fases del proceso de construcci n Para crear este directorio ejecuta el siguiente comando como usuario root antes de comenzar la sesi n de descarga mkdir v LFS sources Haz este directorio escribible y pegajoso sticky Pegajoso significa que aunque diversos usuarios tengan permisos de escritura en un mismo directorio s lo el propietario de un fichero puede borrarlo El siguiente comando activar los modos de escritura y pegajoso chmod v a wt SLFS sources 40 Linux From Scratch Version 6 2 3 2 Todos los paquetes Descarga u obt n por otros m todos los siguientes paquetes e Autoconf 2 59 904 KB P gina web http www gnu org software autoconf Descarga http ftp gnu org gnu autoconf autoconf 2 59 tar bz2 Sama MDS lee40f7a676b3cfdc0e3f7cd81551b5f e Automake 1 9 6 748 KB Pagina web http www gnu org software automake Descarga http ftp gnu org gnu automake automake 1 9 6 tar bz2 Sima MDS c11b8100bb
329. www linuxfromscratch org patches lfs 6 2 db 4 4 20 fixes 1 patch MDS sum 32b28d1d1108dfcd837fe10c4eb0fbad e Diffutils Internationalization Fixes Patch 18 KB Descarga http www linuxfromscratch org patches lfs 6 2 diffutils 2 8 1 i18n 1 patch Sama MDS c8d481223db274a33b121fb8c25af9f7 e Expect Spawn Patch 6 8 KB Descarga http www linuxfromscratch org patches lfs 6 2 expect 5 43 0 spawn 1 patch Sima MDS ef 6d0d0221c571fb420afb7033b3bbba e Gawk Segfault Patch 1 3 KB Descarga http www linuxfromscratch org patches lfs 6 2 gawk 3 1 5 segfault_fix 1 patch Sima MDS 7679530d88bf3eb56c42eb6aba342ddb e GCC Specs Patch 15 KB Descarga http www linuxfromscratch org patches Ifs 6 2 gcc 4 0 3 specs 1 patch Sima MDS 0aa7d4c6be50c3855fe812f6faabc306 e Glibc Linux Types Patch 1 1 KB Descarga http www linuxfromscratch org patches Ifs 6 2 glibc 2 3 6 linux_types 1 patch Sama MDS 30ea59ae747478aa9315455543b5bb43 47 Linux From Scratch Version 6 2 e Glibc Inotify Syscall Functions Patch 1 4 KB Descarga http www linuxfromscratch org patches lfs 6 2 glibc 2 3 6 inotify 1 patch Suma MDS 94f6d26ae50a0fe6285530fdbae90bbf e Grep RedHat Fixes Patch 55 KB Descarga http www linuxfromscratch org patches Ifs 6 2 grep 2 5 la redhat_fixes 2 patch Sima MDS 2c67910be2d0a54714f63ce350e6d8a6 e Groff Debian Patch 360 KB Descarga http www linuxfromscratch org patches lfs 6 2 groff 1 18 1 1 debian_fixes 1 patc
330. xpandirse para incluir usr pkg foo Para m s de unos pocos paquetes este esquema se hace inmanejable 6 3 2 3 Administraci n de paquetes por medio de enlaces Esta es una variante de la t cnica anterior Cada paquete se instala de forma similar a la del esquema anterior Pero en vez de hacer el enlace cada fichero se enlaza en la jerarqu a usr Esto elimina la necesidad de ampliar las variables de entorno Aunque el usuario puede crear los enlaces para automatizar su creaci n se han escrito diversos administradores de paquetes basados en este sistema Algunos de los m s populares son Stow Epkg Graft y Depot Es necesario falsear la instalaci n para que el paquete piense que se instala en usr aunque en realidad sea instalado en la jerarqu a usr pkg Instalar de esta forma no es una tarea trivial Por ejemplo considera que instalas un paquete libfoo 1 1 Las siguientes instrucciones no instalar n el paquete correctamente configure prefix usr pkg libfoo 1 1 make make install La instalaci n funcionar pero los paquetes que dependan de ella no se enlazar n con libfoo como cabr a esperar Si compilas un paquete que se enlaza contra libfoo advertir s que se enlaza a usr pkg libfoo 1 1 1ib libfoo so 1 en lugar de usr lib libfoo so 1 como esperabas El m todo correcto es usar la estrat gia DESTDIR para falsear la instalaci n del paquete Este m todo funciona as configure prefix usr make
331. y realmente solucione el problema El obejtivo de LFS es construir un sistema basado en niveles completo y utilizable Los lectores que no deseen construir su propio sistema LFS no se podr n beneficiar de la informaci n que hay en este libro Si s lo quieres saber lo que sucede mientras arranca tu ordenador entonces te recomendamos el From Power Up To Bash Prompt HOWTO De La Puesta En Marcha Al Indicador De Bash C MO que podr s encontrar en http axiom anu edu au okeefe p2b o en el sitio web The Linux Documentation Project TLDP http 4www tldp org HOWTO From PowerUp To Bash Prompt HOWTO html Este C MO construye un sistema que es similar al de este libro pero lo enfoca estrictamente hacia la creaci n de un sistema capaz de iniciar el s mbolo del sistema de BASH Considera tu objetivo Si lo que quieres es construirte tu propio sistema Linux y aprender mientras lo haces este libro es la mejor opci n viii Linux From Scratch Version 6 2 Hay muy buenas razones para construir tu propio sistema LFS aparte de las aqui listadas Esta secci n es s lo la punta del iceberg A medida que avances en tu experiencia con LFS encontrar s por ti mismo el poder que la informaci n y el conocimiento realmente brindan 1X Linux From Scratch Version 6 2 3 Prerrequisitos Construir un sistema LFS no es una tarea facil Se necesita tener un cierto nivel de conocimientos en la administraci n de sistemas Unix para poder resolver p
332. ye direcciones de descarga COMOs o sitios web cat gt LFS etc group lt lt EOF TOOIE 258 O02 lime Le Este formato se usa para la creaci n de ficheros de configuraci n El primer comando solicita al sistema que cree el fichero LFS etc group a partir de lo que se teclee en las l neas siguientes hasta encontrar la secuencia de f n de fichero EOF Por lo tanto la secci n entera debe teclearse tal cual lt TEXTO A REEMPLAZAR gt Este formato se utiliza para encapsular texto que no debe ser escrito tal y como aparece TEXTO OPCIONAL Este formato se utiliza para encapsular texto que es opcional passwd 5 Este formato se usa para referirse a una p gina de manual espec fica El n mero entre par ntesis indica la secci n concreta dentro de man Por ejemplo passwd tiene dos p ginas de manual Siguiendo las instrucciones de instalaci n del LFS dichas paginas se encontrar n en usr share man manl passwd 1 y usr share man man5 passwd 5 Ambas contienen diferente informaci n Cuando el libro utiliza passwd 5 se refiere exactamente a usr share man man5 passwd 5 man passwd mostrar la primera p gina de manual que encuentre referente a passwd que ser usr share man manl passwd 1 Para este ejemplo tendr s que ejecutar man 5 passwd para leer la p ginal de manual concreta que se referencia Deber a tenerse en cuenta que muchas p ginas de manual no tienen nombres duplicados en diferentes secciones Por tanto man
333. ysklogd 1 4 1 8bit 1 patch Compila el paquete make Este paquete no incluye un banco de pruebas Instala el paquete make install 6 51 2 Configuraci n de Sysklogd Crea un nuevo fichero etc syslog conf ejecutando lo siguiente cat gt etc syslog conf lt lt EOF Begia etre syslog coni auth authpriv var log auth log gt ema QUE OR LT mone var Log sys log daemon var log daemon log sm var log kern Log mailo var lo0 malil log user vai 100 1822 Log emerg End etc syslog conf EOF 6 51 3 Contenido de Sysklogd Programas instalados klogd y syslogd Descripciones cortas 201 klogd syslogd Linux From Scratch Version 6 2 Un demonio del sistema que intercepta y registra los mensajes del n cleo Registra los mensajes que los programas del sistema ofrecen Cada mensaje registrado contine al menos una marca de tiempo y un nombre de m quina y normalmente tambi n el nombre del programa pero depende de c mo de verboso se le pide al demonio de registro que sea 202 6 52 Sysvinit 2 86 Linux From Scratch Version 6 2 El paquete Sysvinit contiene programas para controlar el arranque ejecuci n y cierre del sistema Tiempo estimado de construcci n less than 0 1 SBU Espacio requerido en disco 1 MB 6 52 1 Instalaci n de Sysvinit Cuando se cambia de nivel de ejecuci n por ejemplo cuando apagamos el sistema el programa init env a
334. zar tu sistema en la receta http www linuxfromscratch org hints downloads files optimization txt 219 Linux From Scratch Version 6 2 6 59 Eliminar los simbolos de nuevo Si no eres un programador y no planeas depurar el software de tu sistema puedes reducir tu sistema en unos 90 MB eliminando los s mbolos de depuraci n de los binarios y librer as Este proceso no produce ning n otro inconveniente que no sea no poder depurar los programas nunca m s La mayor a de la gente que usa el comando mencionado m s adelante no experimenta ning n problema Pero es f cil cometer un error al escribirlo e inutilizar tu sistema por lo que antes de ejecutar el comando strip posiblemente sea buena idea hacer una copia de respaldo del sistema LFS en su estado actual Antes de hacer la eliminac n de s mbolos se ha de tener mucho cuidado para asegurar que no se est ejecutando ning n binario que vaya a ser procesado Si no est s seguro de si entraste al entorno chroot con el comando mostrado en la Secci n 6 4 Entrar al entorno chroot entonces sal primero del chroot logout Luego vuelve a entrar con gt chroot SLFS tools bin env i HOME root TERM STERM PS1 u w S PATH bin usr bin sbin usr sbin tools bin bash login Ahora puedes procesar con tranquilidad los binarios y librerias tools bin find usr bin 1lib sbin type f exec tools bin strip strip debug Se avisar de que no se reconoce

Download Pdf Manuals

image

Related Search

Related Contents

Lindab SA ASTRON BUILDINGS ASTRON LMR 600 ROOF  ViewSonic N2690w User's Manual  安全データシート  LevelOne HVE-0201    

Copyright © All rights reserved.
Failed to retrieve file