- ¿Qué es un gestor de paquetes?
- Usando apt en Ubuntu
- ¿Qué pasa si no usamos sudo?
- ¿Y si quiero eliminar un programa?
- ¿Cómo sabe apt qué se puede instalar?
- El índice local: ¿por qué a veces no encuentra un paquete?
- ¿Cómo sé qué paquete debo instalar?
- ¿Es lo mismo un paquete que un programa?
- ¿Cómo llegan los programas al catálogo?
- Otros gestores de paquetes que vas a encontrar
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?
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:
- El sistema va al catálogo de paquetes y busca
htop. - Descarga el programa si lo encuentra.
- Lo instala automáticamente.
- 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:
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.
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.
¿Cómo llegan los programas al catálogo?
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.
aptes el gestor de paquetes que se usa en Ubuntu.- Siempre usamos
sudopara instalar o eliminar software conapt. - 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,pipoRubyGems.
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.