Cómo usar make install en Ubuntu: Guía completa para compilar e instalar desde el código fuente

目次

1. Introducción

Cuando utilizas Ubuntu, es posible que al instalar software te encuentres con el procedimiento make install. Normalmente, la instalación de aplicaciones se realiza mediante paquetes con el comando apt, pero no todo el software está registrado en los repositorios oficiales. Si deseas usar la versión más reciente o ejecutar un programa propio, necesitarás descargar el código fuente, compilarlo e instalarlo manualmente.

En este proceso entra en juego make install.

make install es un comando que coloca los programas compilados desde el código fuente en las ubicaciones adecuadas del sistema. No solo compila (make), sino que también automatiza la copia de los archivos en los directorios del sistema. En entornos Linux, es uno de los procedimientos básicos que se utilizan con bastante frecuencia.

En este artículo explicaremos de forma clara y detallada, incluso para principiantes, cómo compilar desde el código fuente e instalar software en Ubuntu utilizando make install. También abordaremos los errores comunes que pueden surgir durante el proceso y cómo resolverlos.

Comencemos preparando las herramientas de desarrollo necesarias para la compilación.

侍エンジニア塾

2. Instalación de las herramientas de desarrollo necesarias

Para compilar e instalar desde el código fuente, primero es necesario contar con un conjunto de herramientas de desarrollo en Ubuntu. Si estas no están disponibles, no podrás ejecutar el comando make o se presentarán errores frecuentes durante la compilación. Para trabajar sin contratiempos, lo primero es configurar el entorno de desarrollo.

Instalación del paquete esencial build-essential

En Ubuntu, existe un paquete llamado build-essential que incluye el compilador C (gcc), las herramientas de construcción (make) y librerías relacionadas. Instalar este paquete te permitirá contar con el entorno mínimo necesario.

El procedimiento de instalación es el siguiente:

sudo apt update
sudo apt install build-essential

Primero se actualiza la información de paquetes del sistema y luego se instala build-essential. Con esto tendrás disponibles todas las herramientas básicas necesarias para la compilación.

Verificación después de la instalación

Para comprobar si se instaló correctamente, ejecuta los siguientes comandos:

gcc --version
make --version

Si aparece la información de versión de gcc (compilador C) y make (herramienta de construcción), la instalación fue exitosa. En caso de error, revisa cuidadosamente el mensaje y vuelve a instalar el paquete si es necesario.

Con esto, ya tendrás la base lista para empezar a compilar código fuente en Ubuntu. El siguiente paso será obtener y descomprimir el código fuente.

3. Obtención y extracción del código fuente

Una vez instaladas las herramientas de desarrollo, el siguiente paso es conseguir el código fuente que se va a compilar. Esto implica descargar el código proporcionado por los desarrolladores y extraerlo en un directorio de trabajo. A continuación, explicamos los métodos más comunes para obtener y preparar el código.

Métodos para obtener el código fuente

Generalmente, el código fuente puede obtenerse de las siguientes formas:

Descarga desde el sitio web oficial

Muchos proyectos de código abierto distribuyen sus fuentes en formato comprimido (tar.gz, tar.bz2, etc.) desde su sitio oficial. Por ejemplo, puedes descargarlos con el siguiente comando:

wget https://example.com/software-1.2.3.tar.gz

Sustituye la URL por el enlace proporcionado en la página oficial de descargas del software.

Clonar desde GitHub u otros repositorios

Cada vez más proyectos utilizan servicios como GitHub para compartir su código. En ese caso, puedes clonar el repositorio con Git.

Si aún no tienes Git instalado, hazlo con:

sudo apt install git

Luego clona el repositorio con:

git clone https://github.com/username/repository.git

Asegúrate de comprobar la URL del repositorio en la página oficial de cada proyecto.

Extracción de archivos comprimidos

Si el código se proporciona en un archivo comprimido, deberás descomprimirlo con el comando adecuado.

Los formatos más comunes y sus comandos de extracción son:

  • Formato .tar.gz:
  tar -xvzf software-1.2.3.tar.gz
  • Formato .tar.bz2:
  tar -xvjf software-1.2.3.tar.bz2
  • Formato .zip:
  unzip software-1.2.3.zip

Tras la extracción, se generará un directorio con el nombre y la versión del software. Accede a él para continuar con el proceso:

cd software-1.2.3

Ahora ya estás listo para iniciar la compilación e instalación del software.

4. Procedimiento de compilación e instalación

Con el código fuente listo, llega el momento de compilar e instalar. En este capítulo explicaremos, paso a paso, el flujo habitual de compilación e instalación en Ubuntu.

Preparación antes de la compilación: ejecutar ./configure

Muchos códigos fuente incluyen un “script de configuración” para preparar el entorno antes de la compilación. Generalmente, dentro del directorio del código se ejecuta:

./configure

Este comando revisa el estado del sistema y genera automáticamente el archivo Makefile (que contiene las instrucciones de compilación). Si faltan librerías o herramientas, se producirán errores aquí. En tal caso, revisa el mensaje y añade los paquetes necesarios.

Si el script configure no existe, revisa los archivos README o INSTALL para conocer las instrucciones específicas de compilación.

Compilación del software: comando make

Una vez configurado, procede a la compilación. Este proceso convierte el código fuente en programas ejecutables.

make

El comando ejecuta automáticamente la compilación según lo definido en el Makefile. Puede tardar un tiempo, así que espera mientras verificas que no aparezcan errores.

Si surgen errores, generalmente se deben a dependencias faltantes o problemas de librerías. Soluciona los mensajes indicados antes de continuar.

Instalación del programa: sudo make install

Cuando la compilación finaliza sin errores, llega el paso de instalar el programa en el sistema. Como requiere escribir en directorios del sistema (por ejemplo /usr/local/bin), se necesitan privilegios de administrador:

sudo make install

Esto copia los archivos compilados en las rutas adecuadas y el programa queda disponible globalmente en Ubuntu.

Errores comunes durante el proceso

Al compilar e instalar, es habitual encontrar algunos errores:

  • Permission denied (error de permisos)
    → Verifica que uses sudo al ejecutar make install.
  • Missing dependencies (dependencias faltantes)
    → Revisa el mensaje y añade los paquetes o librerías necesarios.
  • configure: command not found
    → Puede que el script configure no exista o no tenga permisos. Usa chmod +x configure o revisa la documentación del proyecto.

La clave está en leer cuidadosamente los mensajes y resolver cada problema paso a paso.

5. Verificación después de la instalación

Tras instalar con sudo make install, es importante confirmar que todo se realizó correctamente. Si la instalación falló, el programa podría no funcionar o no encontrarse en el sistema. A continuación, se explican las comprobaciones básicas.

Comprobar la ubicación del programa instalado

Para saber dónde se encuentra el binario instalado, utiliza el comando which:

which nombre_programa

Ejemplo, si instalaste un programa llamado sample:

which sample

Si aparece una ruta como /usr/local/bin/sample, la instalación fue exitosa. Si no devuelve nada, la instalación falló o la ruta no está en el PATH.

Comprobar con la información de versión

Muchos programas permiten verificar su versión con --version o -v. Esto es útil para confirmar su funcionamiento:

sample --version

Si muestra la versión esperada, todo está correcto. Si aparece un error o no se encuentra el comando, revisa nuevamente los pasos de instalación.

Verificar la variable de entorno PATH

Por lo general, los binarios se instalan en /usr/local/bin. Si esta ruta no está incluida en la variable PATH, el sistema no reconocerá el comando.

Para comprobar la configuración actual:

echo $PATH

Si /usr/local/bin no aparece en la lista, edita el archivo de configuración de tu shell (~/.bashrc o ~/.zshrc) y añade:

export PATH=/usr/local/bin:$PATH

Para aplicar los cambios, reinicia la terminal o ejecuta:

source ~/.bashrc

Así podrás ejecutar el programa correctamente desde cualquier ubicación.

6. Método de desinstalación

Los programas instalados desde código fuente no quedan gestionados por el sistema de paquetes (apt), por lo que deben desinstalarse manualmente. A continuación, veremos las formas más comunes en Ubuntu.

Desinstalación con make uninstall

Algunos proyectos incluyen un objetivo de desinstalación en el Makefile. En ese caso, basta con ejecutar:

sudo make uninstall

Esto eliminará automáticamente los archivos instalados. No obstante, no todos los programas ofrecen esta opción, por lo que conviene revisar la documentación antes de usarlo.

Importante:

  • Debe ejecutarse en el mismo directorio del código fuente usado para instalar.
  • Si eliminaste el código fuente, ya no podrás usar make uninstall.

Eliminación manual de archivos

Si make uninstall no está disponible, deberás borrar manualmente los archivos instalados. Generalmente estarán en /usr/local/bin, /usr/local/lib, entre otros.

Por ejemplo, para eliminar un binario de /usr/local/bin:

sudo rm /usr/local/bin/nombre_programa

Es más difícil eliminar todos los archivos relacionados, así que lo ideal es revisar qué rutas fueron usadas durante la instalación.

Gestión con checkinstall

Una alternativa recomendada es usar checkinstall en lugar de make install. Este genera un paquete .deb, lo que permite instalar y desinstalar fácilmente con apt o dpkg.

Instálalo con:

sudo apt install checkinstall

Luego de compilar, ejecuta:

sudo checkinstall

De esta forma, la instalación quedará registrada como un paquete, facilitando su eliminación posterior. Es muy útil si planeas instalar frecuentemente desde código fuente.

7. Instalación en entornos sin conexión

En algunos casos, es necesario instalar software en Ubuntu sin acceso a Internet. Aunque normalmente la descarga de paquetes y dependencias requiere estar en línea, con algunos métodos es posible realizar compilaciones e instalaciones con make install en un entorno offline. En este capítulo veremos cómo hacerlo.

Preparar build-essential en un entorno offline

Para compilar, se necesita obligatoriamente el conjunto de herramientas de desarrollo (build-essential). En un entorno sin conexión, deberás preparar estos paquetes desde otra máquina con Internet.

Usar apt-offline

Con la herramienta apt-offline puedes descargar los paquetes y sus dependencias en una máquina con acceso a Internet y luego transferirlos por USB a la máquina offline.

En la máquina con Internet, instala apt-offline:

sudo apt install apt-offline

Luego genera un archivo de solicitud en la máquina offline, descárgalo en la máquina online y aplica los paquetes en la offline. Esto asegura que todas las dependencias estén disponibles.

Usar el medio de instalación de Ubuntu como fuente APT

Otra opción es utilizar el DVD o USB de instalación de Ubuntu como repositorio APT. Estos medios incluyen los paquetes básicos necesarios, incluyendo build-essential.

Primero monta el medio de instalación y añádelo como fuente:

sudo mount /dev/sdb1 /mnt
sudo apt-cdrom -d=/mnt add

Luego puedes instalar paquetes normalmente:

sudo apt update
sudo apt install build-essential

De esta manera podrás configurar el entorno de compilación sin necesidad de Internet.

Copiar y extraer el código fuente

Una vez listas las herramientas de compilación, copia el código fuente previamente descargado (por ejemplo, en una memoria USB) a la máquina offline. Después descomprímelo e ingresa en el directorio:

tar -xvzf software-1.2.3.tar.gz
cd software-1.2.3

A partir de ahí, sigue el flujo normal: ./configuremakesudo make install.

Precauciones

En entornos sin conexión es común que falten dependencias, provocando fallos en la compilación. Por eso, lo recomendable es identificar previamente los paquetes necesarios ejecutando una compilación de prueba en un entorno online y anotando las dependencias antes de replicar el proceso en offline.

8. Preguntas frecuentes (FAQ)

A continuación, algunas dudas comunes sobre el uso de make install en Ubuntu:

Q1. Al ejecutar make install aparece “Permission denied”. ¿Qué hago?

A1.
Este comando requiere permisos de administrador porque copia archivos en directorios del sistema. Debes ejecutarlo con sudo:

sudo make install

Q2. Al ejecutar ./configure aparece “No such file or directory”. ¿Por qué?

A2.
El error ocurre porque el script configure no existe en el directorio. Posibles causas:

  • El código fuente está incompleto o corrupto.
  • El proyecto no usa autotools, sino CMake u otro sistema de construcción.
  • El archivo existe pero no tiene permisos de ejecución.

Verifica si el archivo está presente y revisa la documentación (README, INSTALL) para conocer el procedimiento correcto.

Q3. El comando make no se encuentra. ¿Qué hago?

A3.
Significa que las herramientas de compilación no están instaladas. Solución:

sudo apt update
sudo apt install build-essential

Q4. ¿Cómo instalar build-essential en un entorno offline?

A4.
Puedes hacerlo de dos formas:

  • Usando apt-offline para descargar previamente los paquetes y sus dependencias.
  • Usando el medio de instalación de Ubuntu como repositorio APT.

El segundo método suele ser más sencillo cuando no hay acceso a Internet.

9. Conclusión

En Ubuntu, el uso de make install es una técnica fundamental para instalar software desde código fuente. A diferencia del sistema de paquetes, este método permite instalar versiones más recientes o personalizadas, aportando flexibilidad al entorno Linux.

En esta guía cubrimos la preparación de herramientas, descarga y extracción del código, compilación, instalación, verificación, desinstalación y métodos para trabajar incluso en entornos offline. Con estos conocimientos podrás afrontar con confianza la instalación de programas no disponibles en repositorios oficiales.

También revisamos errores comunes y sus soluciones, organizados en formato FAQ. Aunque al inicio pueda parecer complicado, la compilación en Linux no es difícil si comprendes los pasos básicos.

Dominar make install te permitirá explorar y aprovechar al máximo el ecosistema de software en Ubuntu, abriendo la puerta a un entorno de desarrollo y operación mucho más flexible.

年収訴求