Linux desde cero

Linux desde cero

Actualmente estoy haciendo Linux desde cero. Descargué algunos paquetes. Los descomprimo usando el comando "tar" y hago lo siguiente dentro del paquete extraído:

  1. configurar
  2. hacer
  3. hacer prueba
  4. hacer instalar

Una cosa más, ¿qué es el archivo MAKE?

Por favor explíqueme el propósito de estos comandos, especialmente en términos de LFS. Gracias de antemano.

Respuesta1

(Más o menos) sé lo que hace, pero no estoy seguro de saber cómo explicarlo.

Básicamente, con la secuencia de comandos que mencionaste, estás creando algo en forma ejecutable binaria (un programa, una biblioteca) a partir del código fuente (es decir, código escrito en un lenguaje de programación) e instalándolo en tu sistema operativo (moviéndolo a una carpeta apropiada). , configurar archivos de configuración, etc.).

El makefile es un archivo de texto que utiliza el comando make. Ayuda (automatiza) tareas. Un único archivo MAKE puede contener información para más de una tarea o acción que Make debe realizar. Sin un archivo MAKE, tendrías que realizar muchos pasos manuales complicados para poder hacer las cosas.

"configurar": (explicación tomada deaquí) Comprueba algunos detalles sobre la máquina en la que se va a instalar el software. Este script busca muchas dependencias en su sistema. Para que el software en particular funcione correctamente, es posible que sea necesario que ya existan muchas cosas en su máquina. Si alguno de los requisitos principales falta en su sistema, el script de configuración se cerrará y no podrá continuar con la instalación hasta que obtenga los elementos necesarios. De lo contrario, crea el Makefile que se utilizará en el siguiente paso.

"make" sin parámetros: indica a make que ejecute la acción (regla) predeterminada en el archivo MAKE. Esto generalmente compila, vincula y genera el binario que está intentando crear (es decir, el programa o biblioteca). Esto generalmente implica convertir el código fuente en archivos objeto (que generalmente tienen la .oextensión) y vincularlos a un archivo binario final (que en el caso de los programas de Linux generalmente no tiene extensión o en el caso de las bibliotecas de Linux generalmente tiene la extensión .soo .a). No estoy seguro de los pasos porque soy programador de Java y no realizamos estos pasos con mucha frecuencia).

"make test": realiza pruebas en ese binario.

"make install": básicamente mueve el binario a la ubicación de carpeta adecuada.

Por supuesto, esta explicación puede recibir muchas mejoras, solo intento darle una idea del proceso general.

Este breve tutorialpuede proporcionar algo más de información.

Respuesta2

El uso de a Makefilehace la vida más fácil tanto para el desarrollador como para el usuario final. Básicamente, es una hoja de trucos sobre cómo crear un software en particular. Para un simple "Hola mundo", una g++ hw.cpp -o hello_worldpuede funcionar. Sin embargo, cuando se tiene un software mucho más complejo, a menudo es necesario construir la pieza A antes que la pieza B y, una vez que esas dos están terminadas, se puede construir la pieza C. Escribirlos manualmente, así como insertar rutas a las bibliotecas incluidas, archivos de salida temporales, rutas de instalación final, etc. (generalmente determinadas cuando configurese ejecuta el script), puede generar errores.

información relacionada