Cómo actualizar openSUSE a una versión inmediatamente superior. Por ejemplo de la Leap 42.2 a la 42.3.


En openSUSE, y como en otras distribuciones, se puede actualizar de una versión a la siguiente de forma sencilla, sin necesidad de hacer una instalación limpia, sobre todo cuando se trata de una versión que podemos denominar “menor”, es decir de la 12.2 a la 12.3, o en el momento actual de la Leap 42.2 a la 42.3. En versiones con numeración discontinuas, por ejemplo 42.1 a 42.3, o en versiones “mayores”, nunca lo he acometido, así que no puedo, ni debo, opinar.

El procedimiento en definitiva consiste en apuntar todos los repositorios a la nueva versión, deshabilitar los repositorio no oficiales, y ejecutar el comando “zypper dup”. Y después actualizar los paquetes de los repositorios de la comunidad de forma genérica o individualizada según el uso y gestión que hagamos de cada uno de estos. Aún así, aquí detallo el procedimiento para aquellos que no se sientan seguros y confiados por si les es de utilidad.

1. Unas notas previas sobre los repositorios

1.1. Repositorios oficiales. openSUSE sólo garantiza la estabilidad del sistema con estos repositorios, que son:

-Repositorio Principal de Actualizaciones
-Repositorio principal (OSS)
-Repositorio principal (NON-OSS)
-Repositorio de actualizaciones (No OpenSource)

Estos siempre los tenemos habilitados, salvo los “sources” y “debug” que si no los necesitamos, que es lo normal en usuarios de escritorio, pueden estar perfectamente deshabilitados.

1.2. Repositorios de la comunidad. Para completar nuestro sistema, o para tener una versión más actual de determinadas aplicaciones de nuestro interés, obviamente, los necesitamos. Podemos distinguir dos grupos según cómo usualmente los utilicemos:

1.2.1. Repositorios Tipo 1 o siempre habilitados. Son repositorios que siempre tenemos habilitados y desde los que se actualizan las aplicaciones y librerías de forma automática. Me refiero, por ejemplo a Packman, este tras haberlo incluido en las fuentes de software cambiamos todos los paquetes instalados desde los oficiales a este (zypper dup --from Packman) y lo mantenemos siempre activo, incluso con mayor prioridad. Este puede ser el caso también del repositorio LibreOffice u otros; depende de cada usuario.

1.2.2. Repositorio Tipo 2 no siempre habilitados. De estos sólo instalamos aquellos paquetes que no están en los repositorios oficiales y, también, paquetes más actuales a los disponibles en estos y que están relacionados con una aplicación sobre la que tenemos un interés. En estos lo recomendable es mantenerlos inhabilitados y activarlos sólo para acometer esos casos que hemos comentado. Como ejemplo durante la exposición me referiré al repositorio de la comunidad Graphics que siempre utilizo en este sentido.

Para más detalles sobre los repositorios y su gestión SEGUIR LEYENDO ⇒

2. Imagen de seguridad del sistema

Es una MUY buena costumbre hacer una imagen de seguridad antes de acometer la actualización por lo que pueda pasar -algún fallo durante el proceso, o un simple corte de luz por ejemplo- y que suponga todo un desastre del sistema. Si les es de interés aquí disponen de una tutorial de cómo generar una imagen de seguridad con Clonezilla ⇒, y, en su caso, de cómo restaurar el sistema ⇒.

3. Preparar el sistema para actualizar openSUSE a una versión inmediatamente superior

3.1. Actualizar la versión actual

Antes de nada, lo primero es actualizar el sistema con la versión de partida, en este caso la 42.2.

# su (contraseña)
# zypper ref
# zypper up

3.2. Configurar las fuentes de software para actualizar a la nueva versión

En el módulo “Repositorios de software” de YaST (en adelante “módulo Repositorios”), deshabilitamos todos los repositorio que no sean los oficiales y, también, los “sources” y “debug” , y nos quedaran habilitados: Repositorio Principal de Actualizaciones, Repositorio principal (OSS), Repositorio principal (NON-OSS) y Repositorio de actualizaciones (No OpenSource).

Cambiamos el número de la versión de partida por el de la versión a la que vamos actualizar el sistema.





Esto lo hacemos con todos los repositorios, oficiales y de la comunidad, y de esto últimos comprobamos que permanecen deshabilitados. Para ello, señalando cada repositorio picamos en “Editar”, y cambiamos la numeración en en la URL del repositorio, pero también en el nombre cuando esté indicado para no confundirnos posteriormente.


4. Actualizar la versión de openSUSE

En terminal algo tan simple como:

# su (contraseña)
# zypper ref
# zypper dup

Nota: dup o dist-update

Cuando termine reiniciamos el sistema.

4.1. Actualizar paquetes desde los repositorios de la comunidad Tipo1, por ejemplo Packman

En YaST lo “Habilitamos” y, cambiamos los paquetes de proveedor desde los oficiales a Packman. En el módulo “Software” picamos en “Repositorios”, señalamos Packman, y “Cambiar paquetes de sistema”. También lo podemos hacer por consola como superusuario:

# zypper dup --from Packman

Nota: Para invocar a los repositorios por terminal el nombre de estos no puede tener espacios en blanco. Si el nombre es Packman repository no funcionará, hay que editarlo en el módulo Repositorios, y, o bien, dejamos simplemente Packman, o lo reescribimos como Packman_repository.

4.2. Actualizar paquetes desde repositorio Tipo 2, por ejemplo Graphics

Personalmente prefiero actualizar las aplicaciones de otros repositorios de forma individualizada. Por ejemplo, Darktable y lensfun-data me gusta tenerlos más actualizados desde Graphics, para ello primero “Habilito” el repositorio, y después en el módulo “Software” de YaST, busco el paquete darktable, lo señalo y en la pestaña inferior “Versiones” aparece el repositorio desde el que está instalado y los repositorios desde donde está disponible, marco Graphics y “Aceptar”.


5. Alguna aplicación no funciona correctamente

Por el momento no he tenido ningún problema, pero si después de actualizar el sistema a la nueva versión detectamos que alguna aplicación no funciona correctamente, esto se suele solucionar simplemente reinstalando la aplicación. Y para ello lo que suele ser más efectivo es utilizar el comando:

# zypper remove --clean-deps nombre_paquete

Ya que elimina paquetes junto con todas sus dependencias no requeridas por otros, y ahí puede estar el problema. Seguidamente volvemos a instalar el paquete:

# zypper install nombre_paquete

Si persiste el problema, puede que esa aplicación genere una carpeta con archivos de configuración en nuestro usuario y aquí resida el problema. Eliminamos la carpeta correspondiente después de desinstalar la aplicación. Esta se generará nuevamente cuando volvamos a instalar la aplicación.

Saludos flamencos,

Comentarios

  1. Los repos que tienes como:

    -Repositorio Principal de Actualizaciones
    -Repositorio principal (OSS)
    -Repositorio principal (NON-OSS)
    -Repositorio de actualizaciones (No OpenSource)

    ¿de donde salieron?

    ResponderEliminar
  2. Disculpa la pregunta anterior, ya entendí, es que.., nombras con un alias distinto a los repos oficiales a como los nombro yo.

    ResponderEliminar
    Respuestas
    1. No hay por qué Virgilio. Los alias son los que tengo por defecto, en cualquier caso puse la imagen donde están las URL de cada uno por si hay dudas.

      Saludos flamencos,

      Eliminar

Publicar un comentario