SDB:Actualización de la distribución

Saltar a: navegación, buscar
Icono-reciclar.png ¡Este artículo puede reciclarse!

Este artículo no cumple los estándares esperados en la wiki de openSUSE.
Con toda probabilidad, este artículo esté desfasado; sin embargo, puede que contenga suficiente material aprovechable. Estás invitado a ayudar a reciclar el artículo. Para más información ver el equipo del wiki.

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
  • Todas las versiones desde la 11.2

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.

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).
  • 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.

¡No salte versiones al actualizar! Por ejemplo, no actualice de 42.1 a 42.3. En vez de eso, hágalo de 42.1 a 42.2 y, entonces, a 42.3.

Dialogo advertencia 64x64.png

Otra posibilidad es la actualización local, es decir, la tradicional usando el DVD. Para recibir más información lea actualización fuera de línea (en inglés). Este método es más seguro y versátil. A menos que tenga una buena razón para hacer lo contrario, úselo.

Escenarios válidos

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

Para la arquitectura AArch64 (ARM de 64 bits), la actualización de Leap 42.1 a 42.2 no es posible. Haga una actualización desde cero en dichos sistemas.

Tenga 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, tenga en cuenta las siguientes reglas importantes:

  • Debe hacer una copia de respaldo de todos los datos importantes antes de empezar con el proceso de actualización.
  • Debe 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 42.3 por ejemplo, no están soportados.

Asegúrese de que tiene el sistema actualizado

El punto de partida válido es la versión anterior a la actual de openSUSE con todas las actualizaciones aplicadas. Esto no incluye repositorios arbitrarios del openSUSE Build Service (OBS) que haya podido añadir. Recomendamos que deshabilite todos los repositorios del OBS primero, que haga la actualización, y que los vuelva a habilitar después. Los pasos siguientes muestran cómo actualizar una distribución openSUSE existente antes de pasar a la siguiente versión.

Notas de la publicación

Puede encontrar una lista con todos los pasos importantes para una actualización, junto con una lista de los paquetes que han cambiado, en las Notas de la publicación.

Desde la línea de comandos

En lo que sigue, sustituya <distribución> por la versión que esté usando. Antes de Leap, distribución era igual a la versión de openSUSE en curso. A partir de Leap, tiene la forma leap/<número de versión>/. Por ejemplo, leap/42.3.

Knotes 128x128.png
  1. Comprueba que el repositorio openSUSE-<distribución>-Update existe y está activo.
  2. zypper repos --uri
    

    Comprueba que http://download.opensuse.org/update/<distribución>/ existe entre los valores de la columna URI, y que aparece Si en la columna Activado, como en el siguiente ejemplo,

    #  | Alias                        | Nombre                                       | Activado | Actualizar | URI
    ---+------------------------------+----------------------------------------------+----------+------------+-------------------------------------------------
    22 | repo-update                  | openSUSE-13.2-Update                         | Si       | Si         | http://download.opensuse.org/update/13.2/
    

    Si en la columna Activado aparece No, actívalo usando el siguiente comando,

    zypper modifyrepo --enable repo-update
    

    donde 'openSUSE-<distribución>-Update' es el nombre del repositorio de actualizaciones. Si ya existe y está activado, continua por el paso 3.

  3. Añade el repositorio openSUSE-<distribución>-Update.
  4. zypper addrepo --check --refresh --name 'openSUSE-<distribución>-Update' http://download.opensuse.org/update/<distribución>/ repo-update
    
  5. Actualiza el sistema a la última versión de los paquetes.
  6. zypper refresh
    zypper update
    

Para obtener más información, lee sobre el uso de zypper.

Usando la herramienta gráfica

Vea actualización en línea.

Realizando la actualización

Los siguientes pasos muestran cómo actualizar el sistema a la siguiente versión (por ejemplo, desde la 12.2 a la 13.2). Como ya se ha dicho, cualquier repositorio de terceros o del OBS puede provocar problemas, así que es recomendable que se desactiven antes de proceder.

Línea de comandos

Como ejemplo vamos a mostrar la actualización desde la versión 42.1 a la 42.2:

  • Mira todos los repositorios que tienes
  • zypper lr
    

    y elimina todos los de terceros y del OBS que no necesites más

    zypper rr <alias>
    
  • Cambia todas las restantes URL por las de la nueva versión de la distribución (debe hacerse como root)
  • cp -Rv /etc/zypp/repos.d /etc/zypp/repos.d.Old
    

    (para hacer una copia de respaldo), y entonces:

    sed -i 's,openSUSE_Leap_42\.1,openSUSE_Leap_42.2,g' /etc/zypp/repos.d/*
    sed -i 's,leap/42\.1,leap/42.2,g' /etc/zypp/repos.d/*
    

    Aunque la modificación anterior con sed puede funcionar para otros repositorios, falla al modificar los repositorios de actualización desde Leap 42.1. Para corregir el problema, pegue y ejecute lo siguiente (todo en una sola línea) en una terminal. Lo que hace es añadir manualmente los repositorios de actualización usando el URI correcto.

    Knotes 128x128.png
    zypper rr repo-update repo-update-non-oss && zypper ar -f http://download.opensuse.org/update/leap/42.2/oss/ openSUSE-Leap-42.2-Update && zypper ar -f http://download.opensuse.org/update/leap/42.2/non-oss/ openSUSE-Leap-42.2-Update-Non-Oss
    
  • Refresque los repositorios (es posible se le pida que acepte una llave gpg nueva)
  • zypper --gpg-auto-import-keys ref
    

    Si no ha eliminado los repositorios de terceros y del OBS, puede que encuentre algunos errores porque es posible que dichos repositorios no existan aún o que tengan una URL distinta que no puedas conocer. Siempre se recomienda que se eliminen y que se añadan sus nuevas versiones después de la actualización.

  • Ahora ejecute la actualización de la distribución completa.
  • Se recomienda encarecidamente que ejecutes ésta en GNU screen o tmux para proteger el proceso de actualización en caso de que alguna cosa saliera mal con la sesión X (gráfica) durante la actualización. Los paquetes tanto para screen como para tmux están disponibles en los repositorios. Posiblemente tmux sea una apuesta más segura porque, por ejemplo, si se actualiza desde 12.1 a 12.2 se pasa a utilizar una versión de GNU screen que usa pipes FIFO a una versión que usa sockets UNIX, y GNU screen tiene un fallo que rompe la compatibilidad entre esas dos aproximaciones, lo que significa que no puedes reanudar una sesión de screen creada en la versión 12.1 usando la versión de screen de la 12.2.

    Dialogo advertencia 64x64.png

    Aún cuando tmux es una opción más segura no está libre de fallos. Si desconectas la sesión, o se desconecta sola al producirse un error, y al intentar conectarla de nuevo con tmux attach recibes un error parecido a

    protocol version mismatch (client 7, server 6)

    no podrás ver qué ocurre en la pantalla donde se está ejecutando el comando que realiza la actualización. En este caso se puede comprobar si dicho comando ha terminado ya o no ejecutando pgrep zypper en una consola (si aparece un número no ha terminado, si no aparece nada sí). Cuando lo haya hecho podrás reiniciar, aunque no podrás los mensajes que han ido apareciendo mientras se realizaba la actualización.

    Dialogo advertencia 64x64.png
    zypper dup
    

    Con el comando anterior, zypper descarga todos los paquetes necesarios y los instala en grupos. Para descargar todos los paquetes antes, utiliza:

    zypper dup --download "in-advance"
    

    Si hiciste la actualización de distribución antes de la aparición oficial de la nueva versión (por ejemplo, 2013-03-13 para 12.3), puede que hayas instalado una versión Release Candidate (candidata a publicar o RC) o milestone (beta) y será necesaria la repetición del último paso zypper dup para recibir la publicación final.

    Dialogo informacion 64x64.png
  • Busca los repositorios actualizados de terceros compatibles con openSUSE 12.3 que usabas antes si aún los necesitas y añádelos.
  • Úsalos con precaución. El uso de repositorios de terceros puede estropear el sistema o producir inestabilidad.

    Dialogo advertencia 64x64.png
    zypper addrepo --name <name> <url> <alias>
    

    O si tienes la URL de un archivo .repo:

    zypper ar <url.repo>
    
  • Después de actualizar se recomienda un reinicio para cargar el nuevo kernel y las nuevas versiones de todo lo demás.
  • Además, se puede ejecutar zypper up de vez en cuando para estar seguros de que se tiene la última versión de paquetes de los repositorios que estén activados. YOU (Yast Online Update) solo gestiona actualizaciones de seguridad de los repositorios oficiales.

    Dialogo informacion 64x64.png