Linux From Scratch

Linux From Scratch

Published on

Hace tiempo que quería escribir al respecto, pues hay demasiado misticismo entorno a Linux From Scratch, tambien suele ser una respuesta a veces irónica otras veces como señal de ignorancia, otras veces para presumir algo:
"Instalé Arch y estoy muy feliz!
- No hay ningún mérito, instala LFS y entonces si"
Lo cierto es que el 99% de las personas que responden así o usan LFS como argumento para hacer distro-shaming, jamás han realizado LFS, probablemente jamás hayan compilado un paquete a mano. Por qué digo esto? Porque quien lo haya hecho, sabe que no es algo que le recomiendes a alguien mas con fines de uso diario.
Entendamos que es LFS, entendiendo primero lo que no es:
  • No es una distribución.
  • No es un sistema para uso diario.
  • No es la graduación del mundo Linux.
  • No es una medalla que te hace el maestro de Linux.
Qué si es LFS?
  • Es un proyecto para desarrollar un sistema desde cero.
Cuál es exactamente el objetivo de LFS? Según su autor, comenzó todo cuando no encontró una distribución de Linux que le satisfajera, se dedico a instalarlo desde cero para despues documentarlo y crear una guía. Eventualmente esto se convirtió mas que en un modelo para crear un sistema propio en un proyecto meramente didáctico.
Cómo se pasa un proyecto tan ambicioso como crear una sistema totalmente a la medida a ser un proyecto didactico?
Primero esta la enorme variedad de hardware existente, reunir documentación para todas las combinaciones de harware existentes es practicamente imposible.
Segundo y clave, el mantenimiento. Usar un LFS como sistema diario es practicamente imposible dado el complejo mantenimiento que se necesita, en alguna vieja y probablemente extinta lista de correo alguna vez se preguntó si LFS podía usarse como 'daily-driver', la respuesta unánime fue: "Si, si tu unico trabajo es mantener una distribución LFS". Instalar cada paquete desde su código fuente inevitablemente llevará a su usuario al llamado 'dependency-hell', infierno de dependencias, que acabaran por hacer al sistema inutilizable.
Estás diciendo que LFS es el diablo, que no debería existir?
- Absolutamente no.
LFS sea quizas uno de los mejores proyectos de aprendizaje del sistema operativo Linux, el gran acierto es al realizarlo aprenderás desde lo más básico como funciona un sistema Linux, que es cada uno de los archivos, que es cada uno de los paquetes y como funcionan todos en conjunto y todo de manera práctica, aprenderás a auditar cada aspecto del sistema, especialmente en terminos de seguridad y tendrás un control absoluto, pues no habrá un solo paquete que no hayas instalado tu, sabrás a detalle que hay en tu sistema, esto es algo que ninguna distribución podrá darte.
Aun así, LFS no es obligatorio, es un ejercicio practico excelente, pero esto tampoco lo convierte en el modo definitivo para aprender, existen hoy en dia, cursos certificados por la Linux Foundation que te enseñaran lo justo y necesario dependiendo de tu interés en el mundo del pingüino.
Necesitas ser un experto y un genio en sistemas para instalar LFS?.
Rotundamente no. Reitero lo dicho antes, lo que mas necesitas para hacer LFS, es mucho, mucho tiempo libre, paciencia y sobre todo, no olvidar que el proyecto LFS per se, es un libro, no una distribución, no un paquete, es un libro y en consecuencia debe ser leido de inicio a fin y en orden, es decir, necesitas leer y comprensión lectora acompañado de la capacidad de seguir instrucciones. Quizas la carencia de hoy en dia de la capacidad lectora y el apego a manuales en formato de video, hacen cada a LFS cada vez mas un unicornio inalcanzable, pero en serio, no lo es no necesitas ser un genio ni un nerd, solo necesitas tiempo, paciencia y dedicación.
Entonces es bueno recomendar o no LFS?
Por supuesto que si, a alguien que quiere aprender, que tiene el tiempo y la disposición de leer mucho, que tiene un equipo extra o que tiene la capacidad de prescindir de su computadora por dias o semanas, incluso como hobby.
A quien NO le recomendaria LFS, a alguien que solo quiere un sistema a la medida para usarlo diario de manera productiva. Para eso hay opciones mas amigables pero sobre todo pragmaticas, como Gentoo, Funtoo, Arch y Slackware.
Victor, tu has hecho LFS? Si, hace 12 años mas o menos me tomó aproximadamente un mes instalar un servidor LAMP con LFS. 5 años después, con considerablemente mejor hardware me tomo 2 semanas hacer BLFS booteable con GUI/KDE. Lo haría una tercera vez? No, ya obtuve lo que necesitaba de LFS y hacerlo de nuevo sería una perdida de tiempo, que ya no tengo en la misma medida que antes.
 

TL/TR

En conclusión, LFS es un excelente metodo de aprendizaje, considerelo si aprender la arquitectura y funcionamiento de un sistema operativo es fundamental en su formación, si esta interesado en la seguridad informatica -de forma seria-.
LFS no es un sistema de uso diario, si alguien te lo recomienda para ello, desestima su opinión con confianza.
Si leyeron hasta aquí, gracias por su tiempo.