Repositorios
Las distribuciones (de Linux) están formadas por paquetes. Un paquete viene a ser una pieza de software que cumple una determinada funcionalidad. Así pues, un paquete puede ser un programa, una biblioteca, un conjunto de plugins... Pueden ser incluso, por ejemplo, iconos.
Una distribución puede verse como un gran LEGO. Cada paquete es una pieza del LEGO. A la hora de construir el LEGO, para colocar algunas piezas, debes haber puesto otras antes (las llamadas dependencias). Algunas piezas son claves, y forman la base para que se puedan colocar todas las demás (como por ejemplo, el kernel linux). Otras, en cambio, sólo son necesarias para piezas muy concretas. Y muchas piezas no tienen nada que ver unas con otras.
Y, al fin, llegamos al concepto de repositorio. El repositorio es un almacén de paquetes (como la caja con las piezas). Los repositorios pueden estar en internet, en un medio extraíble como un CD, en el disco duro.
Hay tanto repositorios oficiales (con todos los paquetes de la distribución, así como sus actualizaciones de seguridad y errores), como repositorios con software que la distribución de linux no puede incluir en los oficiales, como repositorios mantenidos por voluntarios (repositorios comunitarios) con las últimas versiones del software (con los que hay que tener mucho cuidado).
Y, finalmente, nos encontramos con el sistema de gestión de paquetes o gestor de paquetes. Es el encargado de gestionar la instalación, actualización y desinstalación de los paquetes de la distribución linux.
Los repositorios incluyen información sobre cada paquete (para qué sirve, qué ficheros contiene, etc) así con las dependencias de todos los paquetes, es decir, las instrucciones del LEGO. El gestor de paquetes actúa como el constructor del LEGO y utiliza dichas instrucciones para saber qué piezas debe poner antes de una concreta (es decir, resolver las dependencias de los paquetes). - ¿Qué es un repositorio? en BlogDRAKE, 2006
Tres puntos muy importantes a abordar para cualquier distribución de linux y el uso de repositorios:
Solo se deberían usar repositorios de fuentes confiables o muy recomendadas por la comunidad de usuarios de dicha distribución de linux.
Siempre tener en cuenta que la versión y arquitectura del procesador de la distribución de linux coincida con la versión y arquitectura del procesador para la cual esta enfocada el repositorio. Una mala combinación podría dejar inservible a la distribución de linux.
Entre más repositorios sean usados mayor es la posibilidad de que exista un conflicto entre las dependencias de paquetes. Esta situación requiere de una mayor familiaridad con la distribución de linux, la gestión de paquetes y la terminología o documentación asociada a cada paquete.
Actualización del sistema operativo:
Puedes actualizar el sistema operativo con el comando zypper dist-upgrade
. Ejemplos:
Cuando no hay actualizaciones:
root@servidor:~ # zypper dist-upgrade Warning: You are about to do a distribution upgrade with all enabled repositories. Make sure these repositories are compatible before you continue. See 'man zypper' for more information about this command. Loading repository data... Reading installed packages... Computing distribution upgrade... Nothing to do.
Cuando hay actualizaciones:
root@servidor:~ # zypper dist-upgrade Warning: You are about to do a distribution upgrade with all enabled repositories. Make sure these repositories are compatible before you continue. See 'man zypper' for more information about this command. Loading repository data... Reading installed packages... Computing distribution upgrade... The following 2 applications are going to be installed: Showfoto digiKam The following 28 NEW packages are going to be installed: AdobeICCProfiles digikam digikam-doc digikam-lang exiv2 exiv2-lang gimp-help libQt5SerialPort5 libQtAV1 libQtAVWidgets1 libSDL2-2_0-0 libastro1 libavdevice57 libdigikamcore5 libmarblewidget-qt5-27 libopenblas_pthreads0 libopencv-qt56_3 libqt5-qtstyleplugins-platformtheme-gtk2 libtbb2 marble marble-data marble-doc marble-kde marble-lang openSUSE-release-ftp poppler-data showfoto unrar The following 9 packages are going to be upgraded: bundle-lang-gnome-en girepository-1_0 kwin5 libcairo-gobject2 libcairo2 libcroco-0_6-3 libgirepository-1_0-1 openSUSE-release tcl The following product is going to be upgraded: "openSUSE Tumbleweed" 9 packages to upgrade, 28 new. Overall download size: 171.3 MiB. Already cached: 0 B. After the operation, additional 313.7 MiB will be used. Continue? [y/n/...? shows all options] (y):
Se te muestra la lista de paquetes a actualizar y se te cuestiona para aceptar y continuar. Ingresa
y
y aprieta la tecla de Enter.OBSERVACIÓN: este paso puede tardar varios minutos, dependiendo de la cantidad de actualizaciones, el tamaño de los paquetes a actualizar y la velocidad de Internet con el que uno cuente.
Repositorios de paquetes
Este proceso consiste en agregar nuevos repositorios de paquetes a los actualmente ya existentes en el sistema operativo por lo que se llevará a cabo una solo vez.
Como usuario root:
Enlista los repositorios de paquetes:
root@servidor:~ # zypper repos -P # | Alias | Name | Enabled | GPG Check | Refresh | Priority --+----------------+-------------------------------+---------+-----------+---------+--------- 1 | repo-debug | openSUSE-Tumbleweed-Debug | No | ---- | No | 99 3 | repo-non-oss | openSUSE-Tumbleweed-Non-Oss | Yes | (r ) Yes | No | 99 4 | repo-oss | openSUSE-Tumbleweed-Oss | Yes | (r ) Yes | No | 99 6 | repo-source | openSUSE-Tumbleweed-Source | No | ---- | No | 99 7 | repo-update | openSUSE-Tumbleweed-Update | Yes | (r ) Yes | No | 99
Los repositorios activdados y en uso son Non-Oss, Oss y Update. Todos los repositorios mostrados hasta el momento se consideran repositorios oficiales.
Agrega los siguientes repositorios para openSUSE TumbleWeed:
Fonts / Tipos de letras / Tipografías: http://download.opensuse.org/repositories/M17N:/fonts/openSUSE_Tumbleweed/
root@servidor:~ # zypper addrepo -n openSUSE-Tumbleweed-Fonts \ http://download.opensuse.org/repositories/M17N:/fonts/openSUSE_Tumbleweed/ repo-fonts Adding repository 'openSUSE-Tumbleweed-Fonts' ...........................................................[done] Repository 'openSUSE-Tumbleweed-Fonts' successfully added URI : http://download.opensuse.org/repositories/M17N:/fonts/openSUSE_Tumbleweed/ Enabled : Yes GPG Check : Yes Autorefresh : No Priority : 99 (default priority) Repository priorities are without effect. All enabled repositories share the same priority.
KDE Extra: http://download.opensuse.org/repositories/KDE:/Extra/openSUSE_Tumbleweed/
root@servidor:~ # zypper addrepo -n openSUSE-Tumbleweed-KDE-Extra \ http://download.opensuse.org/repositories/KDE:/Extra/openSUSE_Tumbleweed/ repo-kde-extra Adding repository 'openSUSE-Tumbleweed-KDE-Extra' .......................................................[done] Repository 'openSUSE-Tumbleweed-KDE-Extra' successfully added Enabled : Yes GPG Check : Yes Autorefresh : No Priority : 99 URI : http://download.opensuse.org/repositories/KDE:/Extra/openSUSE_Tumbleweed/
Packman: http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/
root@servidor:~ # zypper addrepo -n openSUSE-Tumbleweed-Packman \ http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/ repo-packman Adding repository 'openSUSE-Tumbleweed-Packman' ........................................................[done] Repository 'openSUSE-Tumbleweed-Packman' successfully added Enabled : Yes GPG Check : Yes Autorefresh : No Priority : 99 URI : http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/
Cambia la prioridad (Priority) del repositorio Packman a mayor: 98.
Puedes llevar a cabo esto como usuario root mediante el comando
yast2 repositories
en modo gráfico o bien el la línea de comandos:root@servidor:~ # zypper modifyrepo --priority 98 repo-packman
Puedes ejecutar una vez más el comando
zypper repos -P
para observar la lista de repositorios:root@servidor:~ # zypper repos -P
OBSERVACIÓN: la prioridad de los repositorios va de mayor a menor a partir del 1 en adelante, siendo 99 la prioridad Default, de esta forma:
- La prioridad 98 es mayor a la prioridad 99.
- La prioridad 100 es menor a la prioridad 99.
Actualiza los repositorios de paquetes con el comando
zypper refresh
:Por cada uno de los nuevos repositorios agregados en el paso 2 se te preguntará si quieres confiar en la llave de cifrado del repositorio, responde con a y continua apretando la tecla Enter:
Do you want to reject the key, trust temporarily, or trust always? [r/t/a/? shows all options] (r): a
Puedes una vez más refrescar los repositorios de paquetes para verificar que todo esté bien:
root@servidor:~ # zypper refresh
...
All repositories have been refreshed.
Finalmente, realiza la actualización del sistema operativo.