En el artículo anterior comenté las diferentes formas de instalar programas en Linux. Ahora voy a referirme a la forma más común de instalación describiendo los repositorios de Ubuntu.
Aunque no vengas del mundo Linux, seguramente estarás familiarizado con el concepto de las tiendas de aplicaciones de tus dispositivos móviles. Las tiendas de aplicaciones son una evolución de dos conceptos originarios del mundo Linux: los repositorios y los gestores de paquetes
Los gestores de paquetes
En el artículo anterior te conté que un gestor de paquetes es una herramienta que sirve para automatizar el proceso de búsqueda, instalación, actualización, desinstalación y configuración de paquetes.
Los gestores de paquetes guardan una copia local con información de los paquetes como el nombre y la versión, la descripción y la ubicación desde donde descargarlo. Parte del procedimiento de actualización es poner al día esa copia.
Los originales de los que se nutre esa copia están en los repositorios. Los repositorios son los servidores en los que se alojan los paquetes.
Podemos distinguir entre dos tipos de repositorios
- Repositorios de Ubuntu.
- Repositorios de terceros.
Los repositorios de Ubuntu
Ubuntu incluye los siguientes repositorios:
- Main: Incluye software libre y de código abierto a los que Canonical, la empresa detrás de Ubuntu le da soporte y mantenimiento durante todo el ciclo de vida de la versión.
- Universe: Contiene software libre y de código abierto de cuyo mantenimiento y actualizaciones se encarga la comunidad.
- Multiverse Aquí encontramos programas que por diferentes motivos no pueden considerarse de código abierto o tienen restricciones para su distribución. Suele suceder con los codecs multimedia.
- Restricted: Son programas que no están bajo licencias libres, pero contribuyen a que el sistema funcione mejor. El el caso de los controladores de dispositivos.
- Partners: En vías de desaparición, este repositorio incluye programas, usualmente no de código abierto, que Canonical distribuye por acuerdos con los desarrolladores.
- Backports: El ciclo de desarrollo de Ubuntu no siempre coincide con el de las aplicaciones que incluye. Sin embargo, en algunos casos es posible instalar desde este repositorio las versiones más actuales de un programa que ya fue empaquetada para la siguiente versión de Ubuntu.
- Security: Como su nombre lo indica, incluye las actualizaciones de seguridad.
Hay mucho que decir en favor de limitarse a utilizar los repositorios oficiales. Se reducen los problemas de seguridad y se garantiza que todo funcionará en armonía. Sin embargo, no siempre las versiones de paquetes incluidos en los repositorios son las más actuales. También es posible que la aplicación que deseamos utilizar no esté en ellos.
Esto se soluciona con los repositorios de terceros
Los repositorios de terceros
Cualquier persona puede crear su propio repositorio de software solo con seguir las especificaciones establecidas por los desarrolladores de Debian y Ubuntu. Luego bastará hacer pública la dirección para que los interesados la agreguen a su lista de repositorios. A partir de allí los usuarios que lo hayan hecho podrán instalar y actualizar los paquetes que se hayan incluido.
Hay una solución intermedia entre esperar que Ubuntu apruebe la inclusión de un paquete en los repositorios oficiales o mantener un repositorio propio: Los paquetes PPA:
Los paquetes PPA
La sigla PPA refiere a la traducción al inglés de Paquetes de Archivos Personales. Los repositorios de estos paquetes son creados y alojados en Launchpad, la plataforma de desarrollo de software mantenida por Canonical.
Aunque ni Canonical ni la comunidad Ubuntu dan soporte a este tipo de paquetes, en Launchpad existe un código de conducta. Esto puede protegernos en cierta forma de los delincuentes informáticos.
Otra ventaja de los archivos personales de paquetes es que tienen su propia lista de repositorios por lo que cualquier modificación de la misma no afectará el funcionamiento normal del sistema.
El uso de repositorios para instalar y desinstalar programas significa un ahorro de tiempo ya que podemos hacer cualquier tarea relacionada con ellos desde el gestor de paquetes. Como contrapartida, cualquier modificación en el sistema puede afectar su funcionamiento. Es por eso que en el próximo artículo hablaremos de los paquetes autocontenidos