The wikis are now using the new authentication system.
If you did not migrate your account yet, visit https://idp-portal-info.suse.com/

SDB:Actualización de la distribución

Saltar a: navegación, buscar
Esta guía muestra cómo se usa Zypper para realizar una actualización de la distribución en vivo (es decir, desde internet) de openSUSE.
Probado en openSUSE Artículos recomendados Artículos relacionados
Icon-checked.png

Icon-manual.png Icon-ayuda.png
Versión: 11.2+A partir de openSUSE 11.2, es oficialmente posible la actualización en vivo desde la versión anterior a la actual. Esto permite que se haga una actualización completa del sistema operativo sin tener que empezar desde cero.

En inglés se emplean dos términos con diferencias sutiles: update y upgrade (ambas significan actualización). Las actualizaciones (updates) son las modificaciones del programa o programas que no varían la versión. Suelen ser corrección de errores, de fallos de seguridad, etc. Upgrade suele utilizarse para actualizar los programas a nuevas versiones de los mismos. Las distribuciones Linux como openSUSE tienen dist upgrade, que es la actualización de la distribución objeto de este artículo. Así por ejemplo durante su periodo de soporte openSUSE Leap 15.1 recibe actualizaciones para todos sus paquetes, mientras que el proceso de pasar a Leap 15.2 se denomina upgrade o bien dist upgrade. De forma adicional, los distintos repositorios que se añadan al sistema más allá de los oficiales, Packman y openSUSE-guide pueden tener sus propias políticas de publicación de versiones. Comprueba su disponibilidad antes de iniciar la actualización de la distribución.

Dialogo informacion 64x64.png

Resumen

En esta página se explica cómo se ejecutan una herramienta o una serie de comandos para actualizar el sistema a la última versión de openSUSE.

Una actualización en vivo tiene sus ventajas, pero por otro lado hay importantes desventajas.

Entre las ventajas están:

  • Solo descargas los paquetes que necesitan actualizarse, usando así mucho menos ancho de banda y menos tiempo.
  • Durante la actualización puedes seguir usando el equipo (aunque no se recomienda); el único periodo de inactividad se produce al reiniciar después de la actualización.
  • No hay que usar un DVD ni es necesaria una unidad lectora (también podrías arrancar desde la red o una memoria USB e instalar el resto desde la red).

Las desventajas:

  • Si la actualización se interrumpe por algún motivo (por ejemplo, un fallo eléctrico o una desconexión de la red) y el proceso no puede continuar, podrías acabar con un sistema estropeado (esto, por supuesto, depende del punto en el que se detuvo el proceso, generalmente bastaría con volver a ejecutar el comando de actualización).
  • Si tienes que actualizar varios sistemas, usas ancho de banda para cada uno, así que puede ser mejor descargar la imagen ISO.
  • No hace toda la limpieza y mantenimiento que realiza una actualización usando el DVD.
  • Si la configuración del sistema hace que se ejecute el bloqueador de pantallas después de su actualización pero antes de acabar de actualizar el sistema gráfico, el bloqueo puede fallar. Generalmente esto puede solventarse ejecutando un comando en un terminal texto (p.ej. CTRL+ALT+F1).

¡No saltes ninguna versión al actualizar! Por ejemplo, no actualices de 15.0 a 15.2. En vez de eso, hazlo de 15.0 a 15.1 y, entonces, a 15.2.

Dialogo advertencia 64x64.png

Otra posibilidad es la actualización local, es decir, la tradicional usando el DVD. Para recibir más información lee actualización fuera de línea (en inglés). Este método es más seguro y versátil.


Escenarios válidos

No se soporta la actualización de openSUSE de 32 bits a Leap. Leap es solo para sistemas de 64 bits. Si tu hardware admite x86_64, puedes actualizar primero 13.2 a 64 bits. Una vez hecho, actualizarías el mismo a Leap.

Para la arquitectura AArch64 (ARM de 64 bits), la actualización de Leap 15.0 a 15.1 no es posible. Haz una instalación desde cero en dichos sistemas.

Ten en cuenta que, en principio, el proceso de actualización solo se considera algo hecho "con la mejor intención". Esto quiere decir que, debido a paquetes de terceros y a la miríada de posibles configuraciones, es posible que algunas de estas configuraciones produzcan una actualización fallida.

Además, ten en cuenta las siguientes reglas importantes:

  • Debes hacer una copia de respaldo de todos los datos importantes antes de empezar con el proceso de actualización.
  • Debes poner al día el sistema instalando las últimas actualizaciones para la versión que esté usando antes de ejecutar zypper dup.
  • Solo se puede hacer zypper dup a la versión siguiente de la que esté usando. Los saltos de más de una versión, 42.1 a 15.1 por ejemplo, no están soportados.

Nota: De acuerdo con factory mail list se ha testeado en openQA la actualización directa desde openSUSE 12.x a Tumbleweed (hasta la instantánea 1101). En noviembre de 2017 el proceso se había testeado desde la 13.x y la 42.x directamente a Tumbleweed. De todas formas, ¡esto no significa que tú debas hacerlo! Podrías encontrate con algún problema desconocido.


Asegúrate de estar al día

El punto de partida soportado es la última publicación de openSUSE con todas las actualizaciones aplicadas. Esto no incluye repositorios arbitrarios del openSUSE Build Service que puedas haber añadido. Te recomendamos desactivar dichos repositorios en primer lugar, realizar la actualización y después reactivarlos. Los siguientes pasos muestran como actualizar tu distribución openSUSEa los paquetes actuales antes de hacer la actualización a la siguiente versión de openSUSE Leap.

Línea de Comandos

1. Comprueba si el respositorio de actualización ya existe y está activo y actualizado antes de actualizar.

zypper repos --uri

Comprueba si http://download.opensuse.org/update/leap/15.0/oss/ (para openSUSE Leap 15 o posterior, reemplaza 15.0 por tu versión) existe en valores de la columna URI, y Yes (o ) en la columna Enabled (o Activo), como en el ejemplo que sigue:

#  | Alias           | Name            | Enabled | Refresh | URI
---+-----------------+-----------------+---------+---------+----------------------------------------------------
1  | repo-update     | repo-update     | Yes     | Yes     | http://download.opensuse.org/update/leap/15.0/oss/

Si la columna Enabled indica No, actívala utilizando el siguiente comando:

zypper modifyrepo --enable repo-update
donde ‘repo-update’ es el nombre del repositorio de actualización.

Si existe y está activado, continúa al paso 4.


2. Añade el repositorio de actualización

(Si tu sistema a actualizar 15.0 y el repositorio de actualización no existe ya):

zypper addrepo --check --refresh --name 'openSUSE-Leap-15.0-Update' http://download.opensuse.org/update/leap/15.0/oss/ repo-update
reemplaza 15.0 arriba con tu versión de openSUSE actual.


3. Mueve /var/cache a un subvolumen separado

Nota: Si el sistema de ficheros raíz no es Btrfs o estás actualizando desde una versión 15.0 o posterior, entonces salta este paso y continúa en el paso 4.

Dialogo informacion 64x64.png

/var/cache contiene un montón de datos muy volátiles, tal como la caché de Zypper con las diferentes versiones de cada paquete de cada actualización. Como resultado de almacenar data que es mayoritariamente redundante pero altamente volátil, la cantidad de espacio de disco que ocupa una instantánea crece muy rápido. Para resolver este problema mueve /var/cache a un volumen separado:

  • Determina el nombre del dispositivo de tu sistema de ficheros raíz:
df /
  • Identifica el subvolumen padre de todos los demás subvolúmenes. Para instalaciones de openSUSE 15.1 este subvolumen se nombra con @:
btrfs subvolume list / | grep '@'
  • Si la salida de este comando está vacía, no tienes un subvolumen nombrado con @. En tal caso, debes de proceder con el subvolumen ID 5 que es lo usado en versiones anteriores de openSUSE.
  • Monta el subvolumen específico en un punto de montaje tmporal:
mount /dev/<root-device> -o subvol=@ /mnt
Si no tienes un @ en el nombre del subvolumen, monta el subvolumen ID 5 en su lugar:
mount /dev/<root-device> -o subvolid=5 /mnt
  • /mnt/var/cache puede que ya exista y podría estar en el mismo directorio como /var/cache. Para evitar pérdida de datos, muévelo:
mv /mnt/var/cache /mnt/var/cache.old
  • Crea un nuevo subvolumen:
btrfs subvol create /mnt/var/cache
  • Si ahora ahy un directorio /var/cache.old, muévelo a una nueva localización:
mv /var/cache.old/* /mnt/var/cache
Si no es el caso, en su lugar haz:
mv /var/cache/* /mnt/var/cache/
  • Después de moverlo (opcionalmente) elimina /mnt/var/cache.old:
rm -rf /mnt/var/cache.old
  • Desmonta el subvolumen de su punto de montaje temporal:
umount /mnt
  • Añade una entrada en el fichero /etc/fstab para le nuevo subvolumen /var/cache. Utiliza un subvolumen existente como plantilla para copiarlo. Asegúrate de dejar sin tocar el UUID (es el UUID del fichero raíz del sistema) y cambia el nombre del subvolumen y su punto de montaje de forma consistente para /var/cache.
  • Monta el nuevo subvolumen especificado en /etc/fstab:
mount /var/cache


4. Actualiza el sistema a los últimos paquetes

zypper refresh
zypper update

Para más información lee Uso de Zypper.

Graphical tool

Pendiente....


Ejecutando la actualización de la distribución

Los siguientes pasos te mostrarán como actualizar tu distribución openSUSE a la siguiente publicación (p.ej. 15.1 -> 15.2). Como ya se ha mencionado, cualquier repositorio de terceros o del OBS puede causar problemas, por lo que se recomienda desactivarlo o eleminarlo antes de proceder.

Antes de empezar

Asegúrate de que has leído la lista de bugs conocidos para la nueva versión que vas a instalar: alguno de ellos podría afectar al procedimiento de actualización. Normalmente, junto con el bug se lista alguna solución o apaño, así que asegúrate de estar preparado para los posibles problemas.

Además lee las Notas de publicación que lista cambios y problemas técnicos de la nueva publicación.

Línea de Comandos

A modo de ejemplo, lols siguietnes pasos muestran cómo actualizar la distribución a 15.2:

  • Cambia y refresca todos los repositorios a 15.2
    # zypper --releasever=15.2 ref
    
  • Ahora ejecuta la actualización de distribución completa.

Lo de arriba sól trabajará si tus repos de Leap definidos en /etc/zypp/repos.d/ ya están usando la variable $releasever. Si aún están codificadas con un número de versión particular, necesitarás modificarlo primero. Por ejemplo, asumiendo Leap 15.1, puedes hacerlo así: sudo sed -i 's/15.1/$releasever/g' /etc/zypp/repos.d/*.repo

Dialogo informacion 64x64.png

Si has hecho la actualización de la distribución anterior antes de la fecha de publicación oficial (p. ej. 22-05-2019 para Leap 15.1), debes de tener instalada una Candidata a Publicarse o Release Candidate (RC) o quizás una versión hito o milestone, y por tanto necesitarás repetir el paso final zypper dup para recibir la versión final.

Dialogo informacion 64x64.png


Se recomienda firmemente hacer esta actualización de distribución fuera del modo gráfico X-window. Por ello es recomendable que ejecutes el comando ya sea en el nivel de ejecución 3 (texto + red), o en una consola virtual. Desafortunadamente muchas veces la conexión WIFI es gestionada solamente en el nivel de ejecución 5, así que una consola de texto virtual al tiempo que se está conectado a una consola gráfica puede ser la mejor opción. A alguna gente sus sesiones X se les han parado o estropeado durante la actualización, causando que la actualización aborte. Eso deja al sistema en un estado inconsistente. También puede suceder que falle el bloqueador de pantallas si está activo, necesitando que se restaure en una consola de texto virtual con el comando

loginctrl unlock-session 1
aunque el sistema gráfico ya advertirá de esta circunstancia y su solución con un mensaje adecuado. Para cambiar al nivel de ejecución 3, echa un vistazo a SDB:Cambiar_nivel_de_ejecución. Para mantenerte en el nivel de ejecución 5 pero usando una "consola virtual", pulsa control+alt+F1, por ejemplo.

Dialogo advertencia 64x64.png
# zypper --releasever=15.2 dup
Con este comando, zypper descargará todos los paquetes requeridos y los instalará en pilas. Para descargar todos los paquetes por adelantado, utiliza
# zypper --releasever=15.2 dup --download-in-advance
  • Busca los repositorios actualizados de terceros compatibles con openSUSE Leap 15.2 que utilizabas antes —si todavía los necesitas —, y añádelos.Plantilla:Warning
    zypper addrepo --name <name> <url> <alias>
    
    O, si tienes la URL de un fichero .repo:
    # zypper ar <url.repo>
    
  • Después de actualizar la distribución, reinicia para arrancar el nuevo núcleo y las veriones nuevas de todo.

Como añadido, ejecuta zypper up de cuando en cuando para asegurar que tienes los últimos paquetes disponibles desde los repositorios varios que tengas activados. YOU (Yast Online Update) sólo se ocupa de actualizaciones de seguridad de los repositorios oficiales.

Dialogo informacion 64x64.png

Enlaces a otros proyectos de openSUSE o SUSE

Los foros de openSUSE

Enlaces externos