Regístrate para acceder a más de 15 cursos gratuitos de programación con un simulador

Gestor de paquetes Fundamentos de la línea de comandos

Cuando usamos Windows, lo normal es entrar a un sitio web, descargar un instalador y hacer doble clic para instalar un programa, ¿cierto? Pero en sistemas basados en Unix, como Linux o macOS, ese método es menos común. En cambio, usamos una herramienta poderosa y práctica: el gestor de paquetes.

Vamos a aprender juntos qué es un gestor de paquetes, cómo se usa y por qué es tan útil, especialmente si estás comenzando a aprender programación.


¿Qué es un gestor de paquetes?

El gestor de paquetes es una herramienta que nos permite instalar, actualizar y eliminar programas o bibliotecas fácilmente, desde la terminal. No necesitamos ir a buscarlos en internet uno por uno. Solo escribimos un comando y listo.

Por ejemplo, en macOS se usa un gestor llamado brew, y en Ubuntu (una distribución de Linux) usamos uno llamado apt.


Usando apt en Ubuntu

Vamos a usar el gestor de paquetes apt, que ya viene instalado por defecto en Ubuntu. Así evitamos tener que instalar nada extra por ahora.

¿Cómo instalamos un programa?

Supongamos que queremos instalar un programa que se llama "htop", que sirve para monitorear procesos del sistema.

# Usamos sudo porque modificamos el sistema.
sudo apt install htop

Al ejecutar eso:

  1. El sistema va al catálogo de paquetes y busca htop.
  2. Descarga el programa si lo encuentra.
  3. Lo instala automáticamente.
  4. Te preguntará primero si deseas continuar con la instalación—solo debes confirmar.

Después, puedes verificar que el programa quedó instalado:

htop --version

¿Qué pasa si no usamos sudo?

La mayoría de operaciones de instalación modifican partes del sistema que solo el usuario administrador (también llamado root) puede tocar. Si no usas sudo, vas a recibir un error como este:

apt install htop
# Resultado:
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?

Entonces, siempre que vayas a instalar o eliminar un programa, antepone sudo.


¿Y si quiero eliminar un programa?

Con apt remove puedes hacerlo:

sudo apt remove htop

El sistema también te preguntará si deseas continuar. Y una vez confirmes, eliminará el programa sin dejar rastro.


¿Cómo sabe apt qué se puede instalar?

Aquí entra en juego algo llamado el catálogo de paquetes. Este catálogo es una lista enorme (y bien organizada) de todos los programas disponibles.

Cuando usas apt install, se consulta ese catálogo. Si escribes mal el nombre del paquete o si no está en el catálogo, obtendrás un error como este:

sudo apt install programaquenoexiste
# Resultado:
E: Unable to locate package programaquenoexiste

El índice local: ¿por qué a veces no encuentra un paquete?

apt guarda una copia local del catálogo para trabajar más rápido. Pero esta copia puede estar desactualizada. Es como si tu computador tuviera una lista guardada, pero no revisara qué hay de nuevo allá afuera. Para actualizarlo, usamos:

sudo apt update

Luego de esto, puedes volver a intentar instalar el paquete.


¿Cómo sé qué paquete debo instalar?

Si no sabes el nombre exacto del paquete, hay dos formas:

  1. Visita la web oficial del programa y busca las instrucciones para instalar en Ubuntu o Linux. Normalmente te dirán el nombre exacto del paquete y el comando que debes usar.

  2. Busca en Google algo como:

cómo instalar <programa> en ubuntu

A medida que practiques, irás memorizando los nombres más comunes.


¿Es lo mismo un paquete que un programa?

No exactamente. Un paquete es el archivo o conjunto de archivos que contienen un programa y sus instrucciones para instalarse. El programa está ahí adentro, pero no sabe nada sobre el paquete donde viene.

Puedes pensar en el paquete como una caja, y el programa como el contenido. El gestor de paquetes se encarga de abrir la caja y poner las cosas en su lugar.


Cada sistema o distribución tiene sus propios responsables que gestionan qué programas están disponibles.

  • Algunos catálogos aceptan solo software muy verificado, lo cual es seguro, pero puede ser más lento para recibir actualizaciones.
  • Otros son más abiertos y permiten incorporaciones rápidamente.

Este proceso de inclusión es lo que da personalidad a cada distribución de Linux.


Otros gestores de paquetes que vas a encontrar

Los gestores de paquetes no son exclusivos de sistemas operativos. Los lenguajes de programación usan los suyos propios para instalar bibliotecas o herramientas adicionales.

Lenguaje Gestor de Paquetes
Node.js npm
Python pip
Ruby RubyGems

Estos gestores funcionan de manera similar: se conectan a un catálogo, descargan un paquete y lo instalan, todo usando comandos desde la terminal.


Resumen

  • En Linux y macOS, la forma más eficiente de instalar software es usando un gestor de paquetes.
  • apt es el gestor de paquetes que se usa en Ubuntu.
  • Siempre usamos sudo para instalar o eliminar software con apt.
  • Podemos actualizar la lista de paquetes disponibles con sudo apt update.
  • Un paquete es un contenedor que trae un programa y sus archivos listos para instalar.
  • Cada gestor consulta un catálogo de paquetes; si el programa no está en ese catálogo, no puede instalarse.
  • Existen gestores de paquetes también en lenguajes de programación como npm, pip o RubyGems.

Con esta base, ya podemos comenzar a trabajar de una forma más profesional con nuestros sistemas y herramientas. En las próximas lecciones veremos cómo estos conocimientos se aplican en el desarrollo de software.


Trabajo independiente

Usa el comando tree

Primero, instala tree usando un gestor de paquetes. Por ejemplo:

En Ubuntu/Debian:

sudo apt install tree

En Mac (con Homebrew):

brew install tree

Una vez instalado, pruébalo con:

tree ~

Y explora su documentación con:

man tree

Para acceder completo a curso necesitas un plan básico

El plan básico te dará acceso completo a todos los cursos, ejercicios y lecciones de Códica, proyectos y acceso de por vida a la teoría de las lecciones completadas. La suscripción se puede cancelar en cualquier momento.

Obtener acceso
130
cursos
1000
ejercicios
2000+
horas de teoría
3200
test

Obtén acceso

Cursos de programación para principiantes y desarrolladores experimentados. Comienza tu aprendizaje de forma gratuita

  • 130 cursos, 2000+ horas de teoría
  • 1000 ejercicios prácticos en el navegador
  • 360 000 estudiantes
Al enviar el formulario, aceptas el «Política de privacidad» y los términos de la «Oferta», y también aceptas los «Términos y condiciones de uso»

Nuestros graduados trabajan en empresas como:

Bookmate
Health Samurai
Dualboot
ABBYY