Cómo instalar software usando Git en Linux

Código en la pantalla de una computadora portátil
MchlSkhrv / Shutterstock

¿Le han dicho que «clone el repositorio y lo cree» y no sabe qué hacer a continuación? Le mostraremos cómo hacer que ese programa en GitHub se ejecute en Linux, incluso si es un principiante.

Las instrucciones que componen un programa de computadora se escriben, editan y guardan en archivos de texto. Un programa llamado compilador procesa estos archivos. Esto  produce la versión ejecutable del programa. Los archivos de texto de las instrucciones se denominan código fuente. La versión del programa que realmente se puede ejecutar en una computadora se llama binario o ejecutable.

Esa es una versión simplificada de los eventos, pero presenta una imagen correcta, aunque generalizada. En la práctica, encontrará todo tipo de variaciones en ese modelo. A veces, otros programas generan los archivos de texto. Otras veces, el código fuente se ejecuta dentro de un intérprete y no es necesario compilarlo, etc.

Sin embargo, la única verdad universal en todos los proyectos de software es la siguiente: los archivos de código fuente son las joyas de la corona  y deben cuidarse con el mismo cuidado.

Programas de control de versiones

Todos los archivos de código fuente dentro de un proyecto se denominan base de código. Los proyectos grandes a menudo tienen muchos desarrolladores trabajando en la base de código. Cada cambio de código debe ser rastreado e identificable. Si es necesario, los cambios deben ser reversibles. Si diferentes desarrolladores realizan cambios en el mismo archivo de código fuente, sus ediciones deben fusionarse.

No es sorprendente, entonces, que existan programas de software llamados sistemas de control de versiones para facilitar la gestión de cambios en la base de código. Los sistemas de control de versiones mantienen todas las versiones anteriores de cada archivo en la base de código, y cada cambio se registra, comenta y rastrea.

Una cosita llamada Git

Linus Torvalds, el creador del kernel de Linux , desarrolló un programa de control de versiones llamado Git para administrar el código base del kernel de Linux. Ahora es el software de control de versiones más adoptado del mundo. Hay millones de personas que lo utilizan, literalmente.

Con Git, el código base de un proyecto se almacena en repositorios . Además de los repositorios locales que se encuentran en las computadoras de los desarrolladores y, quizás, en un servidor central en la red, es una buena práctica tener un repositorio remoto o fuera del sitio.

Y ahí es donde entra GitHub.

GitHub

GitHub se creó como resultado del gitéxito de. Los fundadores vieron la necesidad emergente de gitrepositorios remotos alojados de forma segura . Lanzaron un negocio que proporciona una plataforma en la nube  para permitir que los equipos de desarrollo alojen repositorios remotos. En abril de 2019, GitHub aloja más de 100 millones de repositorios.

Relacionado:  Cómo verificar el uso de memoria desde la terminal de Linux

Si una aplicación es un proyecto de código abierto, es muy probable que se aloje en GitHub. Hay otras plataformas de repositorio disponibles, como BitBucket y GitLab , pero GitHub tiene la mayor parte de los repositorios de código abierto.

Anatomía de un repositorio

Un repositorio de GitHub se compone de carpetas que contienen archivos como los archivos de código fuente más importantes. Por lo general, hay muchos otros tipos de archivos en el repositorio. Puede haber archivos de documentación, páginas de manual, archivos de licencia de software, instrucciones de compilación y archivos de script de shell. No hay reglas sobre lo que debe o debe contener un repositorio, pero hay convenciones.

Si conoce una cocina, puede navegar por cualquier cocina. Lo mismo ocurre con los repositorios. Una vez que comprenda las convenciones, sabrá adónde ir para encontrar lo que necesita.

Entonces, ¿cómo se obtiene una copia del repositorio en su computadora y cómo se construye el programa en un ejecutable binario?

El archivo Léame

Es tradicional incluir un archivo Léame en un repositorio. Puede llamarse Léame, Léame o Léame. Puede tener una extensión de «.md» o ninguna extensión.

Echemos un vistazo al repositorio de GitHub para el editor Atom . Verá una larga lista de carpetas y archivos. Desplácese hacia abajo y verá el contenido del archivo README.md.

GitHub coloca automáticamente el contenido del archivo Léame en la página principal del repositorio. Si el archivo Léame tiene una extensión «.md», contendrá el lenguaje de marcado Markdown . Esto permite a los desarrolladores utilizar elementos de estilo, como fuentes, viñetas e imágenes.

Sección del archivo readme.md para el editor atom en github.

Por lo general, un archivo Léame tiene secciones que le indican de qué se trata el proyecto, cuál es el tipo de licencia, quién mantiene el proyecto, cómo participar y cómo construir y ejecutar la aplicación.

Si no enumera las instrucciones de construcción reales, le dirá dónde encontrar esta información. Otra información útil para construir la aplicación, como las herramientas de compilación necesarias y otras dependencias, puede aparecer aquí o un enlace puede llevarlo a esa información.

El repositorio de cajas

Nuestra misión es clonar el repositorio de cajas y luego construir la boxesaplicación.

El repositorio sigue el mismo diseño que el de Atom. Hay una lista de carpetas y archivos y debajo está el contenido del archivo Léame. Sigue el diseño estándar de un repositorio, pero es un proyecto más pequeño, por lo que hay menos carpetas y archivos.

El archivo Léame también es más breve. Tiene una sección llamada «Desarrollo». En esa sección hay un enlace titulado «construcción desde la fuente». Si seguimos ese enlace,  deberíamos encontrar la información que necesitamos.

Enlace a las instrucciones de construcción de la aplicación de cajas.

Por lo general, se necesita algo de investigación ligera para navegar por el repositorio y encontrar la información que desea, pero no es difícil. Lea todo en la página del repositorio con atención. A veces, la información está ahí, pero es posible que no se muestre de forma destacada.

Las dependencias

La página «Construir desde el código fuente» tiene una sección llamada «Construir en Linux», y eso es justo lo que necesitamos. Dice que debemos tener un compilador de C , Bison y Flex instalados.

Relacionado:  Cómo aplicar un parche a un archivo (y crear parches) en Linux

Juego de herramientas necesarias para la construcción de la aplicación de cajas

Las instrucciones de compilación dicen que emita el makecomando, por lo que también lo necesitaremos make.

Las herramientas necesarias para crear esta aplicación son un compilador de C, Bison, Flex  makey Git (para clonar el repositorio en su computadora).

Este artículo se investigó en computadoras que ejecutan las distribuciones Linux Ubuntu, Fedora y Manjaro. Ninguno de los miembros de la distribución tenía todas estas herramientas instaladas; había que instalar algo en cada una de ellas.

Instalación del juego de herramientas

Ubuntu tenía que tener Git, Flex, Bison e makeinstalado. Aquí están los comandos:

sudo apt-get install git

"sudo apt-get install git" en una ventana de terminal.

sudo apt-get install flex

"sudo apt-get install flex" en una ventana de terminal.

sudo apt-get install bison

"sudo apt-get install bison" en una ventana de terminal.

sudo apt-get install make

"sudo apt-get install make" en una ventana de terminal.

Fedora tenía que tener Flex, Bison e makeinstalado. Aquí están los comandos:

sudo dnf instalar flex

"sudo dnf install flex" en una ventana de terminal

sudo dnf instalar bison

"sudo dnf install bison" en una ventana de terminal.

sudo dnf instalar hacer

"sudo dnf install make" en una ventana de terminal.

Manjaro tenía que tener instalados el compilador GCC, Flex y Bison. Aquí están los comandos:

sudo pacman -Syu gcc

"sudo pacman -Syu gcc" en una ventana de terminal.

sudo pacman -Syu flex

"sudo pacman -Syu flex" en una ventana de terminal.

sudo pacman -Syu bison

"sudo pacman -Syu bison" en una ventana de terminal.

Clonación del repositorio

Cada repositorio de GitHub tiene una dirección web específica que se usa con Git para clonar el repositorio en su computadora. En la página principal del repositorio de cajas, hay un botón verde con la etiqueta «Clonar o descargar».

El botón "Clonar o Descargar" en GitHub.

Haga clic en el botón para ver la dirección web. Esta es la dirección que debemos pasar al git comando cuando clonemos el repositorio.

Cambie al directorio en el que queremos clonar el repositorio y luego use este comando. Si la ventana de su terminal lo admite, puede copiar y pegar la dirección web en el comando. Presione Ctrl + Shift + V para pegar en una ventana de terminal GNOME.

"git clone https://github.com/ascii-boxes/boxes.git" en una ventana de terminal.

Git clona el repositorio remoto y crea uno local en su computadora. Nos dice que está clonando en un directorio llamado «cajas».

Repositorio clonado en una ventana de terminal.

El directorio de cajas se crea dentro del directorio desde el que emitió el gitcomando. Si cambiamos al directorio de cajas y miramos el contenido, vemos la misma lista de archivos y carpetas que vimos en la página de GitHub.

El contenido del repositorio de cajas en una ventana de terminal.

¡Excelente! Hemos clonado con éxito el código fuente y otros archivos en nuestra computadora. Ahora, necesitamos compilar la aplicación.

Construyendo la Aplicación

Para construir la aplicación, debemos seguir las instrucciones del repositorio de GitHub. A veces, ejecutamos un archivo de shell en particular y otros ejecutamos  make. Las instrucciones de compilación que seguimos nos dicen que corramos make.

La make utilidad lee y ejecuta un conjunto de instrucciones de un archivo MAKE. Estas instrucciones indican makecómo compilar el programa y vincularlo. makepasa las instrucciones al compilador y otras herramientas de construcción.

El comando que se nos dice que usemos llamará makedos veces. La primera llamada a make compila la aplicación y la segunda ejecuta un conjunto de pruebas.

El comando que las instrucciones de construcción nos dijeron que usemos es:

hacer && hacer prueba

"make && make test" en una ventana de terminal.

Muchas líneas de salida se desplazan rápidamente en la ventana del terminal. En un minuto más o menos, volverá a la línea de comandos.

Relacionado:  Cómo comprobar si su sistema Linux es de 32 bits o de 64 bits

Implementación de la aplicación Box

La aplicación ha sido construida y tenemos un binario ejecutable. Ahora debemos copiar el binario al directorio / usr / bin /. Esto permite que el shell lo encuentre cuando intentamos usarlo.

Para algunas aplicaciones, esto podría ser todo lo que tiene que hacer. En otros casos, es posible que deba copiar archivos adicionales, como páginas de manual y archivos de configuración, en ubicaciones del sistema de archivos. Esto último es lo que tenemos que hacer con nuestra nueva aplicación porque estaba en las instrucciones de construcción.

Comandos de copia de archivos de GitHub.

Úselo sudopara ejecutar estos comandos. El primer comando copia una página de manual en el directorio man1:

sudo cp doc / boxes.1 / usr / share / man / man1

"sudo cp doc / boxes.1 / usr / share / man / man1" en una ventana de terminal.

A continuación, copie el archivo de configuración global a un directorio en / usr / share /:

sudo cp boxes-config / usr / share / boxes

"sudo cp boxes-config / usr / share / boxes" en una ventana de terminal.

Finalmente, copie el binario en / usr / bin:

sudo cp src / boxes / usr / bin

"sudo cp src / boxes / usr / bin" en una ventana de terminal.

Prueba de la aplicación de cajas

¡Veamos si funciona todo! Intente abrir la página de manual del boxescomando.

cajas de hombre

"cajas de hombre" en una ventana de terminal.

¡Eso es alentador! Verá una página de manual que le indicará cómo usar el boxescomando.

la página "boxes man" en una ventana de terminal.

Presione “Q” para salir del sistema man e intente usar el boxescomando.

echo How-To Geek | cajas

"cuadros How-To Geek" en una ventana de terminal.

Y obtenemos la respuesta:

Cajas de salida en una ventana de terminal.

Esto puede parecer un poco decepcionante considerando todo el esfuerzo que ha realizado, pero el objetivo de este ejercicio fue guiarlo a través de la extracción de un repositorio de GitHub y la construcción de la aplicación.

El boxescomando le permite ajustar el texto que se le envía en una amplia variedad de marcos. Algunos de ellos podrían usarse como comentarios en archivos de código fuente. El formato anterior funcionaría como comentario en un archivo de código fuente C, por ejemplo. Otros son puramente decorativos. La -dopción (diseño) le permite elegir el estilo del marco.

echo How-To Geek | cajas -d whirly
echo How-To Geek | cajas -d c-cmt2

"echo How-To Geek | boxes -d whirly" en una ventana de terminal.

Hay una larga lista de diseños entre los que puede elegir. Para verlos todos, use este comando:

cajas -l | Menos

Construcción completa

Los pasos para compilar desde el código fuente suelen ser sencillos:

  • Revise las instrucciones de compilación en el repositorio.
  • Compruebe que tiene instaladas las herramientas necesarias e instale las que falten.
  • Clona el repositorio en tu computadora.
  • Siga las instrucciones de construcción, que a menudo son tan simples como escribir make.
  • Copie el (los) archivo (s) en las ubicaciones requeridas.

Si hay pasos en las instrucciones de compilación que no están claros, vea si el proyecto tiene un foro o una comunidad a la que pueda enviar una pregunta. Si la aplicación tiene un sitio web, es posible que tenga una página de «Contáctenos». El desarrollador que mantiene el proyecto de boxes tiene su correo electrónico en la página «Acerca de» del sitio web de boxes . Ese es un gesto generoso de su parte y típico de la comunidad de código abierto en general.