InicioLinuxLinux From Scratch: Empezando una aventura.

Linux From Scratch: Empezando una aventura.

Linux1/3/2014
Hola Gente de Gnu/Linux.
Estas palabras en rojo son mias, lo demas un salvaje Copy/Paste.
Quiero empezar diciendo, que visiten el blog del enlace de la fuente.
Este post lo dejo 7 dias y lo BORRO. Yo no trabajo gratis, para nadie. (Aunque no sea mio el contenido, google direcciona a Taringa, y no al blog del compañero).
La unica razon de que lo comparta, es que hay "mucha" gente que me a dado una mano, y le puede interesar.
Son 38 partes, sin desperdicio
Sin mas, me despido deseandoles un Feliz año nuevo! Y gracias a los que me ayudaron, (y ayudan) en mi camino en GNU/Linux.


Linux From Scratch: Empezando una aventura.

Voy a empezar el primer post de este blog con una de las cosas que siempre he querido hacer. Desde hace tiempo, linux es mi pasión. No voy a hablar aquí sobre sus características, sus bondades o sus defectos, que también los tiene, porque no es el objetivo de este post y quien quiera puede conseguir esa información facilmente en multitud de sitios. En lugar de eso, voy a ir directamente al grano. Lo que pretendo con la serie de posts que comienzo hoy es instalar un Linux From Scratch y contaros mi experiencia a todos los que la queráis leer.

¿Qué es Linux From Scratch?

Linux From Scratch es una forma de instalar Linux desde cero partiendo del código fuente de todos los programas necesarios. Compilándolos, configurándolos e instalándolos. Esto incluye todos y cada uno de los componentes de una distribución linux completa: kernel, herramientas de GNU, programas adicionales, sistema gráfico, todo.

Aunque algunos lo consideran así, yo no veo a Linux From Scratch como una distribución. No hay una ISO de Linux From Scratch que te puedas descargar para instalarlo. El único requisito necesario para instalar Linux From Scratch es disponer de una serie de herramientas básicas con las que lanzar los comandos necesarios. Se puede hacer desde cualquier sistema UNIX-like que tengamos instalado como por ejemplo, otro linux.

Para quien no tenga a su disposición ninguna manera de lanzar estos comandos, Linux From Scratch permite descargar un LiveCD con las herramientas necesarias. Sin embargo, ese LiveCD no es Linux From Scratch. Linux From Scratch es en realidad un libro con todas las instrucciones necesarias para hacer la instalación completa paquete por paquete. Yo no utilizaré ese LiveCD para nada, voy a realizar la instalación desde mi ArchLinux.

¿Qué ventajas tengo al usar Linux From Scratch?

Esta es la pregunta que muchos suelen hacerse. Para mí no es la pregunta correcta. Primero porque no veo a Linux From Scratch como un sistema para usar habitualmente ni es lo que pretendo. Para mí, instalar Linux From Scratch es una forma de aprender. Conocer cómo funciona mi sistema operativo. Saber cómo es y cómo se hace una distribución de linux. Cómo personalizarlo todo y hacer que el sistema entero se comporte como yo quiero. Cómo se relacionan los programas entre sí. Qué más cosas existen que yo no conozca…

Creo que son razones bastante poderosas para cualquiera que esté interesado en el tema. No tiene sentido pretender que la gente use habitualmente un sistema como Linux From Scratch. Mantener un sistema como ese actualizado día a día llevaría demasiado tiempo y no mantenerlo implicaría usar un equipo que, con el tiempo, se llenaría de fallos de seguridad no parcheados y sería un riesgo de seguridad. Entiendo que la gente quiere usar algo que les permita realizar el trabajo que les interesa sin tener que dedicar media vida a mantenerlo, pero Linux From Scratch es una forma estupenda de aprender.

Manos a la obra

Lo primero que hay que hacer es leer, informarse bien y comprobar los prerequisitos. Entre ellos están las versiones de los paquetes que tengo que tener instalados en mi máquina para poder hacer la compilación. Usar ArchLinux es una ventaja respecto a esto. Al ser una distro que permite compilar fácilmente paquetes desde el AUR, es normal tener ya instalados los paquetes necesarios para realizar compilaciones. Según el libro de Linux From Scratch, los paquetes que tengo que tener instalados, con sus correspondientes versiones son los siguientes:

  Bash-3.2
Binutils-2.17
Bison-2.3
Bzip2-1.0.4
Coreutils-6.9
Diffutils-2.8.1
Findutils-4.2.31
Gawk-3.1.5
Gcc-4.1.2
Glibc-2.5.1
Grep-2.5.1a
Gzip-1.3.12
Linux Kernel-2.6.25
M4-1.4.10
Make-3.81
Patch-2.5.4
Perl-5.8.8
Sed-4.1.5
Tar-1.18
Texinfo-4.9
Xz-5.0.0  


Así que voy a comprobar las versiones que tengo instaladas. En arch sería así:

 [~]$ pacman -Q bash binutils bison bzip2 coreutils diffutils findutils gawk gcc glibc grep gzip linux m4 make patch perl sed tar texinfo xz  

  bash 4.2.039-1
binutils 2.23.1-1
bison 2.6.5-1
bzip2 1.0.6-4
coreutils 8.20-1
diffutils 3.2-1
findutils 4.4.2-4
gawk 4.0.1-1
gcc 4.7.2-2
glibc 2.16.0-5
grep 2.14-1
gzip 1.5-1
linux 3.6.9-1
m4 1.4.16-2
make 3.82-5
patch 2.7.1-1
perl 5.16.2-1
sed 4.2.1-4
tar 1.26-2
texinfo 4.13a-7
xz 5.0.4-1  


Parece que las versiones son suficientes para hacer la instalación. Sin embargo, en el libro aparecen más condiciones. Algunos ejecutables tienen que ser enlaces a ciertos ficheros. Por suerte, en el libro también hay un script que muestra la información necesaria para comprobar todo esto fácilmente. Incluso hace una pequeña prueba de compilación con el gcc. Parece buena idea usarlo, así que lanzo el script y la salida que obtengo es esta:

  bash, version 4.2.39(2)-release
/bin/sh -> /bin/bash
Binutils: (GNU Binutils) 2.23.1
bison (GNU Bison) 2.6.5
/usr/bin/yacc -> /usr/bin/yacc
bzip2,  Version 1.0.6, 6-Sept-2010.
Coreutils:  8.20
diff (GNU diffutils) 3.2
find (GNU findutils) 4.4.2
GNU Awk 4.0.1
/usr/bin/awk -> /usr/bin/gawk
gcc (GCC) 4.7.2
(GNU libc) 2.16
grep (GNU grep) 2.14
gzip 1.5
Linux version 3.6.9-1-ARCH (tobias@T-POWA-LX) (gcc version 4.7.2 (GCC) ) #1 SMP PREEMPT Tue Dec 4 08:04:10 CET 2012
m4 (GNU M4) 1.4.16
GNU Make 3.82
GNU patch 2.7.1
Perl version='5.16.2';
GNU sed version 4.2.1
tar (GNU tar) 1.26
Texinfo: makeinfo (GNU texinfo) 4.13
xz (XZ Utils) 5.0.4
gcc compilation OK  


La versión del gcc que tengo es la 4.7.2. Según el libro, las superiores a la 4.7.1 no se recomiendan porque no han sido testeadas. Voy a intentarlo de todos modos. Siempre es buen momento para probar con una versión nueva.

En cuanto al yacc, según el libro tiene que ser un enlace a bison o un script que lanza bison. Parece que no es un enlace a bison. ¿Tendre que dar media vuelta y huir con el rabo entre las piernas? ¡Eso nunca! Vamos a ver si es un script:

 [~]$ file $(which yacc)
/usr/bin/yacc: POSIX shell script, ASCII text executable
[~]$ cat $(which yacc)
#! /bin/sh
exec '/usr/bin/bison' -y "$@" 


Parece que sí que es un script que lanza bison. Por ahora todo bien. Cumplo los prerequisitos… o casi.

EOF
Datos archivados del Taringa! original
58puntos
522visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
6visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

d
danielarario🇦🇷
Usuario
Puntos0
Posts104
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.