Repositorios y gestión de programas en las distribuciones Linux

Los repositorios, tal como indica su nombre, son almacenes de programas accesibles desde Internet, pueden ser tanto de distribuciones enteras como de diferentes programas de software que se ofrecen.

Para garantizar el correcto funcionamiento de los sistemas Linux  cada distribución tiene sus propios repositorios situados en muchísimos sitios del mundo que dan respuesta a su sistema. Ver web:



Además, existen entidades oficiales y privadas que ofrecen libremente repositorios de diferentes distribuciones y programas, un ejemplo de esto último sería Rediris.
 
Ver webs siguientes:



Existen muchos repositorios en todos los países. Por ejemplo en España se dispone, entre otros muchos, de Rediris que depende directamente del Estado español. Observad que detallan en su página web:

"RedIRIS es la red académica y de investigación española que proporciona servicios avanzados de comunicaciones a la comunidad científica y universitaria nacional. Está financiada por el Ministerio de Ciencia, Innovación y Universidades, e incluida en su mapa de Instalaciones Científico-Técnicas Singulares (ICTS). Se hace cargo de su gestión la entidad pública empresarial Red.es, del Ministerio de Economía y Empresa."
 
Flatpak
 
Es el nuevo repositorio que ofrece las últimas versiones de software empaquetados con sus dependencias de forma que puede funcionar en cualquier distribución linux. Se pueden instalar programas tanto desde los centros de software como desde terminal. Todas la distribuciones pueden utilizarlo y cada vez su uso está más generalizado. En la siguiente web se puede ver como se utiliza y instala en cada distribución:
 


Para acceder a un repositorio desde nuestra distribución deben seguirse siempre unos pasos:
- Primero instalar el repositorio en nuestro sistema.
- Segundo seguir órdenes para instalar o borrar programas. Esto puede hacerse de dos formas:
a.- Desde un Terminal o consola con unas ordenes específicas (apt, dnf,      pacman, etc.), este proceso siempre es más rápido pero exige más experiencia.

b.- Desde un programa gráfico de software que nos ayude como dnfdragora, synapic, el proceso es más amigable.
 
c.- Desde los centros de software que todas las distribuciones han implementado, que, sin duda,  es la opción más sencilla y aconsejable para las personas que no quieren problemas o con poca experiencia en las distribuciones Linux y que desean utilizarlas.

Vamos a repasar la forma de instalar repositorios en las distribuciones Linux que consideramos más características.

Debian

La distribución Debian dispone de un archivo de texto para los repositorios de la comunidad que está en /etc/apt/sources.list y de una carpeta /etc/apt/sources.list.d/ donde deben crearse archivos de texto para agregar los repositorios que no pertenecen a la comunidad, nombrados siempre nombre_escogido.list, estos siempre necesitan instalar las llaves correspondientes para que sean activos.

Dentro de este archivo sources.list se especifican los repositorios libres y no libres,  un ejemplo seria:

# nano /etc/apt/sources.list



# Todos los repositorios main contrib non-free-firmware

deb http://deb.debian.org/debian/ bookworm main non-free-firmware contrib
deb-src http://deb.debian.org/debian/ bookworm main non-free-firmware contrib

#Actualizaciones de seguridad

deb http://security.debian.org/debian-security bookworm-security main non-free-firmware contrib
deb-src http://security.debian.org/debian-security bookworm-security main non-free-firmware contrib

 
deb http://deb.debian.org/debian/ bookworm-updates main non-free-firmware contrib
deb-src http://deb.debian.org/debian/ bookworm-updates main non-free-firmware contrib

# Backports para las últimas versiones de los  programas
 
deb https://ftp.debian.org/debian/ bookworm-backports contrib main non-free non-free-firmware
deb-src https://ftp.debian.org/debian/ bookworm-backports contrib main non-free non-free-firmware


#Multimedia optativo
deb http://www.deb-multimedia.org bookworm main non-free

 

También se pude utilizar, entre otros, este sencillo generador de sources.list en la siguiente web
 

La carpeta /etc/apt/sources.list.d/  está prevista para poner los repositorios que no son de la comunidad,  un ejemplo del proceso seria:

Primero se bajan y se instalan las llaves, para que el sistema Debian acepte el nuevo repositorio.

$ sudo wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add -

Segundo se agrega un archivo de texto con el nuevo repositorio.

$ sudo nano /etc/apt/sources.list.d/google.chrome.list

deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main

Este segundo paso también se puede hacer directamente con la orden:

$sudo echo 'deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main' | sudo tee /etc/apt/sources.list.d/google-chrome.list

Todos los programas de esta  comunidad Debian se nombran de la forma siguiente:

nombre_paquete-version.deb

Ahora, desde un Terminal o consola veamos cuales son la ordenes más relevantes para instalar y desinstalar programas.

$ sudo apt install paquete, instalará o actualizará un determinado paquete.
$ sudo apt update, actualizará la lista de paquetes instalados.
$ sudo apt upgrade, actualizará todos los paquetes instalados. 
$ sudo apt remove nombre_paquete : eliminará el paquete indicado del sistema.
$ sudo apt check, verificará la correcta resolución de las dependencias.
$ sudo apt clean, limpiará la cache desde los paquetes descargados.
$ sudo apt search, buscará los paquetes que le indiquemos. No hace falta poner el nombre completo, se buscaran todos los que tengan la cadena indicada.

En caso de que obtengamos un programa nombrado nombre_paquete-version.deb desde una  web, la forma de instalarlo seria:

 $ sudo dpkg -i  nombre_paquete-version.deb

Por ejemplo, para el programa que permite editar toda clase de ficheros pdf llamado Master pdf editor, la instalación sería:

Primero bajar el fichero desde su web con el siguiente nombre:
master-pdf-editor-5.1.60_qt5.amd64.deb

http://code-industry.net/free-pdf-editor.php

 Y luego utilizar la orden dpkg ara instalarlo.

$ sudo  dpkg -i master-pdf-editor-5.1.60_qt5.amd64.deb

Está claro que el nombre del fichero va cambiando a medida que salen nuevas versiones por lo que la orden anterior debe adaptarse en cada caso.

Para hacer toda esta gestión de paquetes de forma gráfica y sencilla pueden utilizarse dos programas:

1.- Synaptic


2.-  En caso de utilizar el entorno gráfico Gnome se utiliza el Centro de Software y en el resto de entornos gráficos este se puede instalar (en Debian sería el paquete gnome-software-common). Este centro es una poderosa herramienta para divulgar y facilitar el acceso de todo el mudo a los programas Libres. Ya que se dispone de mucha información que permite escoger  los programas que necesitamos, y su instalación y borrado son muy sencillos. Este Centro de software también puede instalarse en otros entornos gráficos.

Ahora con esta herramienta el proceso de implementación de Linux está totalmente simplificado y cualquier persona aficionada puede construirse su propio sistema con mucha facilidad.

Fedora

En la distribución Fedora  es parecido aunque no igual. En las distribuciones con programas rpm se suelen añadir los repositorios de rpm Fusion, tanto libres como no libres.

Esto pude hacerse de dos formas:

- Añadirlos de consola shell con la orden siguiente:

$ sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

- O también se pueden añadir los repositorios RPM Fusion desde la propia web. Se bajan los paquetes y con el botón derecho del ratón se escoge la opción: abrir con el instalador de paquetes dnfdragora.

https://rpmfusion.org/Configuration



Acceder a la carpeta Descargas y instalar primero el free y después el Nonfree. Con el botón derecho del ratón:

Botón derecho -- Abrir  con instalador dnfdragora


Libdvdcss es una libreria libre para el acceso y des-protección  DVD encriptados. Es parte del proyecto VideoLAN y es usado por VLC media player y otros reproductores de DVD. Aunque actualmente la mayoría de portátiles no disponen de DVD por lo que el siguiente proceso no es necesario.

Para poder instalar libdvdcss agregar el repositorio livna hacer lo siguiente:

$ sudo rpm -ivh http://rpm.livna.org/livna-release.rpm
$ sduo dnf update
$ sudo dnf install libdvdcss

Y ya estáis en condiciones de instalar los programas que queráis. Veamos cuales son las órdenes más relevantes para instalar y desinstalar programas desde un Terminal.

$ sudo dnf install paquete, instalará o actualizará un determinado paquete.
$ sudo dnf update, actualizará y instalará la lista de paquetes instalados.
$ sudo dnf remove nombre_paquete, eliminará el paquete indicado del sistema.
$ sudo dnf clean, limpiará la cache desde los paquetes descargados.
$ sudo dnf search cadena, buscará todos los paquetes con la cadena indicada.

En caso de que obtengamos un programa nombrado nombre_paquete-version.rpm desde alguna web, la forma de instalarlo seria:

 $ sudo rpm -i  nombre_paquete-version.rpm

Por ejemplo, para el programa que permite editar toda clase de ficheros pdf llamado Master pdf editor, la instalación sería:

Primero bajar el fichero desde su web con el siguiente nombre:

master-pdf-editor-5.1.60_qt5.amd64.rpm

http://code-industry.net/free-pdf-editor.php

 Y luego utilizar la orden rpm para instalarlo.

$ sudo  rpm -i master-pdf-editor-5.1.60_qt5.amd64.rpm
 
Aunque este programa ha perdido su interés, pues ahora deja una marca de agua impresionante, cosa que antes no hacía.


Si se desea instalar Google chrome debe añadirse el repositorio correspondiente

$ sudo dnf  install fedora-workstation-repositories
$ sudo dnf config-manager --set-enabled google-chrome
$ sudo dnf -y install google-chrome

Para hacer toda esta gestión de paquetes también pude hacerse de forma gráfica y sencilla. Pueden utilizarse dos programas:

1.- Dnfdragora, de forma parecida a synaptic de Debian.


2.-  En caso de utilizar el entorno gráfico Gnome el Centro de Software igual que en apartado Debian. Está claro que esta es la opción de futuro para extender Linux al gran público. Ahora todo el proceso de implementación de Linux esta totalmente simplificado y cualquier persona aficionada o no puede construirse su propio sistema con mucha facilidad.


 

Archlinux

Usaremos los repositorios de la comunidad y siempre instalaremos  desde el Terminal o consola. En esta distribución está pensada así sin programas gráficos de ayuda. Es una opción para los usuarios más experimentados, no es aconsejable sin tener experiencia.

También pueden añadirse repositorios externos,  ver artículo Archlinux de este blog.

Ver página

https://wiki.archlinux.org/index.php/Pacman_(Espa%C3%B1ol)

Los más sencillos serán

$ sudo pacman -S nombre_paquete
Para instalar paquetes

$ sudo pacman -Rs nombre_paquete
Elimina el paquete y sus dependencias

Elimina el paquete, sus dependencias y todos los paquetes que dependen de las  dependencias.

$ sudo pacman -Sy

Sincroniza los repositorios con el sistema

$ sudo pacman -Su

Actualizar el sistema

Se puede utilizar "pacman-Syu" para realizar las dos operaciones a la vez.

$ sudo pacman -Ss

Se utiliza pera buscar paquetes en la base de datos de nuestro repositorio, no hace falta poner el nombre entero.
ejemplo:

$ sudo pacman -Sc

Limpia la caché de paquetes descargados.

$ sudo pacman -Qtdq 

Limpia todos los paquetes huérfanos.

Ver página web para ver el buscador de programas que nos ofrece Archlinux para ayudar a encontrar los paquetes.

https://www.archlinux.org/packages/


Para el caso de Unix FreeBSD, ver el artículo correspondiente de este blog.

Rotura de actualizaciones o paquetes rotos

Si existe algún problema que causa  rotura de las actualizaciones, por ejemplo fallo temporal de la conexión a Internet. Se aconseja cambiar el nombre de los archivos de texto que guardan la información de las actualizaciones realizadas, así el sistema lo comprobará de nuevo y la instalará.


$ sudo mv /var/lib/dpkg/lock /var/lib/dpkg/lock.copia
$ sudo mv /var/lib/aptitude/lock /var/lib/aptitude/lock.copia
$ sudo mv /var/cache/apt/archives/lock /var/cache/apt/archives/lock.copia
$ sudo mv /var/lib/apt/lists/lock /var/lib/apt/lists/lock.copia
$ sudo mv /var/lock/aptitude /var/lock/aptitude.copia

Y después volver a probar la instalación o actualización de la forma normal.