5 Actualización con conexión #
SUSE ofrece una herramienta gráfica intuitiva y una de línea de comandos sencilla para actualizar un sistema en ejecución a un nuevo paquete de servicio. Proporcionan asistencia para la “revertir” la actualización de los paquetes de servicios y otros elementos. En este capítulo se explica cómo realizar paso a paso una actualización del paquete de servicio con estas herramientas.
5.1 Descripción conceptual #
SUSE publica nuevos paquetes de servicio para la familia de SUSE Linux Enterprise a intervalos regulares. Para facilitar a los clientes la migración a un nuevo paquete de servicio y reducir el tiempo de inactividad, SUSE admite la migración en línea mientras se esté ejecutando el sistema.
A partir de SLE 12, YaST Wagon se ha sustituido por la migración de YaST (GUI) y la migración de Zypper (línea de comandos). Esto presenta las siguientes ventajas:
El sistema siempre está en un estado definido hasta que se actualiza el primer RPM.
Es posible cancelar hasta que se actualiza el primer RPM.
La recuperación es fácil si se produce un error.
Es posible “realizar una reversión” mediante las herramientas del sistema sin necesidad de hacer copias de seguridad ni restaurarlas.
Se usan todos los repositorios activos.
Es posible omitir un paquete de servicio.
La migración en línea solo es compatible con la migración entre paquetes de servicio. La migración en línea no es compatible con la actualización a nuevas versiones principales. Para obtener información, consulte: Capítulo 1, Vías y métodos de actualización.
Utilice la migración sin conexión para realizar la actualización a una nueva versión principal. Para obtener información, consulte: Capítulo 4, Actualización sin conexión.
Si el sistema que va a actualizar es un cliente de SUSE Manager, no se puede actualizar mediante la migración en línea de YaST ni mediante la migración de zypper.
Utilice en su lugar el procedimiento de migración de cliente. Se describe en la Guía de actualización de SUSE Manager.
5.2 Flujo de trabajo de migración del paquete de servicio #
Es posible ejecutar una migración del paquete de servicio mediante YaST, zypper
o AutoYaST.
Antes de que pueda iniciar una migración de paquete de servicio, el sistema debe estar registrado en el Centro de servicio al cliente de SUSE o en un servidor RMT local. También puede utilizarse SUSE Manager.
Independientemente del método utilizado, la migración de un paquete de servicio consta de los pasos siguientes:
Buscar posibles destinos de migración en los sistemas registrados.
Seleccionar un destino de migración.
Pedir y habilitar nuevos repositorios.
Ejecutar la migración.
La lista de destinos de migración depende de los productos que haya instalado y registrado. Si tiene una extensión instalada para la que aún no haya disponible un paquete de servicio nuevo, puede que no se le ofrezca ningún destino de migración.
La lista de destinos de migración disponibles para el host siempre se recupera desde el Centro de servicios al cliente de SUSE y depende de los productos o extensiones instalados.
5.3 Cancelación de la migración del paquete de servicio #
La migración del paquete de servicio solo se puede cancelar en etapas concretas durante el proceso de migración:
Hasta que se inicia la actualización del paquete, solo hay cambios mínimos en el sistema, como en los servicios y repositorios. Restaure
/etc/zypp/repos.d/*
para revertir el sistema al estado anterior.Cuando se inicia la actualización del paquete, puede volver al estado anterior mediante una instantánea de Snapper (consulte Chapter 7, System Recovery and Snapshot Management with Snapper).
Después de seleccionar el destino de migración, el Centro de servicios al cliente de SUSE cambia los datos del repositorio. Para revertir este estado manualmente, utilice
SUSEConnect
--rollback
.
5.4 Actualización con la herramienta de migración en línea (YaST) #
Para realizar la migración de un paquete de servicio con YaST, use la herramienta
. Por defecto, YaST no instala ningún paquete desde repositorios de otros fabricantes. Si se ha instalado un paquete desde un repositorio de otro fabricante, YaST impide que los paquetes se sustituyan por los mismos paquetes provenientes de SUSE.Al realizar la migración del paquete de servicio, YaST instala todos los paquetes recomendados. Especialmente en el caso de las instalaciones mínimas personalizadas, esto puede aumentar el tamaño de instalación del sistema considerablemente.
Para cambiar este comportamiento por defecto y permitir solo los paquetes necesarios, ajuste la opción solver.onlyRequires
en /etc/zypp/zypp.conf
.
solver.onlyRequires = true
Además, edite el archivo /etc/zypp/zypper.conf
y cambie la opción installRecommends
.
installRecommends=false
Esto cambia el comportamiento de todas las operaciones del paquete, como la instalación de parches o nuevos paquetes. Para cambiar el comportamiento de Zypper para una sola llamada, añada el parámetro --no-recommends
en la línea de comandos.
Para iniciar la migración del paquete de servicio, haga lo siguiente:
Desactive todas las extensiones sin usar del servidor de registro para evitar futuros conflictos de dependencias. Si olvida una extensión, YaST detectará posteriormente los repositorios de extensiones no utilizados y los desactivará.
Si ha entrado en una sesión de GNOME que se esté ejecutando en el equipo que va a actualizar, cambie a una consola de texto. No se recomienda ejecutar la actualización desde una sesión de GNOME. Tenga en cuenta que esto no se aplica cuando se entra desde un equipo remoto (a menos que esté ejecutando una sesión de VNC con GNOME).
Si está suscrito a LTSS, asegúrese de que el repositorio de la extensión LTSS está activado.
Ejecute la actualización en línea de YaST para obtener las actualizaciones más recientes del paquete para su sistema.
Instale el paquete yast2-migration y sus dependencias (en YaST en › ).
Reinicie YaST, o el módulo recién instalado no se mostrará en el Centro de control.
En YaST, seleccione SUSE Linux Enterprise Server desde la que vaya a actualizar, este módulo se categoriza como o ). YaST muestra los destinos de migración posibles y un resumen. Si hay disponible más de un destino de migración para el sistema, seleccione uno en la lista.
(según la versión deSeleccione un destino de migración de la lista y haga clic en
.En caso de que la herramienta de migración ofrezca repositorios de actualización, se recomienda continuar haciendo clic en
.Si la herramienta Migración en línea encuentra repositorios obsoletos provenientes del DVD o de un servidor local, se recomienda encarecidamente inhabilitarlos. Los repositorios obsoletos proceden de un paquete de servicio anterior. Los repositorios antiguos del Centro de servicios al cliente de SUSE o de RMT se eliminan automáticamente.
Revise el resumen y haga clic en
para continuar con la migración. Para confirmar, haga clic en .Cuando se complete correctamente la migración, reinicie el sistema.
5.5 Actualización con Zypper #
Para realizar la migración de un paquete de servicio con Zypper, use la herramienta de línea de comandos zypper
migration
del paquete
zypper-migration-plugin.
Al realizar la migración del paquete de servicio, YaST instala todos los paquetes recomendados. Especialmente en el caso de las instalaciones mínimas personalizadas, esto puede aumentar el tamaño de instalación del sistema considerablemente.
Para cambiar este comportamiento por defecto y permitir solo los paquetes necesarios, ajuste la opción solver.onlyRequires
en /etc/zypp/zypp.conf
.
solver.onlyRequires = true
Además, edite el archivo /etc/zypp/zypper.conf
y cambie la opción installRecommends
.
installRecommends=false
Esto cambia el comportamiento de todas las operaciones del paquete, como la instalación de parches o nuevos paquetes. Para cambiar el comportamiento de Zypper para una sola llamada, añada el parámetro --no-recommends
en la línea de comandos.
Para iniciar la migración del paquete de servicio, haga lo siguiente:
Si ha entrado en una sesión de GNOME que se esté ejecutando en el equipo que va a actualizar, cambie a una consola de texto. No se recomienda ejecutar la actualización desde una sesión de GNOME. Tenga en cuenta que esto no se aplica cuando se entra desde un equipo remoto (a menos que esté ejecutando una sesión de VNC con GNOME).
Si aún no lo ha hecho, registre el equipo en SUSE Linux Enterprise:
tux >
sudo
SUSEConnect
--regcode YOUR_REGISTRATION_CODESi está suscrito a LTSS, asegúrese de que el repositorio de la extensión LTSS está activado.
Ejecute
zypper migration
:tux >
sudo
zypper migration
Executing 'zypper patch-check --updatestack-only' Refreshing service 'Basesystem_Module_15_x86_64'. Refreshing service 'Desktop_Applications_Module_15_x86_64'. Refreshing service 'SUSE_Linux_Enterprise_Server_15_x86_64'. Refreshing service 'Server_Applications_Module_15_x86_64'. Loading repository data... Reading installed packages... 0 patches needed (0 security patches) Executing 'zypper refresh' Repository 'SLE-Module-Basesystem15-Pool' is up to date. Repository 'SLE-Module-Basesystem15-Updates' is up to date. Repository 'SLE-Module-Desktop-Applications15-Pool' is up to date. Repository 'SLE-Module-Desktop-Applications15-Updates' is up to date. Repository 'SLE-Product-SLES15-Pool' is up to date. Repository 'SLE-Product-SLES15-Updates' is up to date. Repository 'SLE-Module-Server-Applications15-Pool' is up to date. Repository 'SLE-Module-Server-Applications15-Updates' is up to date. All repositories have been refreshed. Available migrations: 1 | SUSE Linux Enterprise Server 15 SP2 x86_64 Basesystem Module 15 SP2 x86_64 Desktop Applications Module 15 SP2 x86_64 Python 2 Module 15 SP2 x86_64 Server Applications Module 15 SP2 x86_64 2 | SUSE Linux Enterprise Server 15 SP1 x86_64 Basesystem Module 15 SP1 x86_64 Desktop Applications Module 15 SP1 x86_64 Python 2 Module 15 SP1 x86_64 Server Applications Module 15 SP1 x86_64 [num/q]:Notas sobre el proceso de migración:
Si hay disponible más de un destino de migración para el sistema, Zypper permite seleccionar uno en la lista. Esto es lo mismo que omitir uno o varios paquetes de servicio. Tenga en cuenta que la migración en línea de productos base (SLES y SLED) sigue estando disponible solo entre los paquetes de servicio de una versión principal.
Por defecto, Zypper usa la opción
--no-allow-vendor-change
, que se pasa azypper
dup
. Si se ha instalado un paquete desde un repositorio de otro fabricante, esta opción impide que los paquetes se sustituyan por los mismos paquetes provenientes de SUSE.Si Zypper encuentra repositorios obsoletos provenientes del DVD o de un servidor local, se recomienda encarecidamente inhabilitarlos. Los repositorios antiguos del Centro de servicios al cliente de SUSE o de RMT se eliminan automáticamente.
Revise todos los cambios, sobre todo los paquetes que se van a eliminar. Para continuar, escriba
y
(el número exacto de paquetes para actualizar puede variar en su sistema):266 packages to upgrade, 54 to downgrade, 17 new, 8 to reinstall, 5 to remove, 1 to change arch. Overall download size: 285.1 MiB. Already cached: 0 B After the operation, additional 139.8 MiB will be used. Continue? [y/n/? shows all options] (y):
Use las teclas Mayús–Página ↑ o Mayús–Página ↓ para desplazarse por la shell.
Cuando se complete correctamente la migración, reinicie el sistema.
5.6 Actualización con Zypper simple #
Si el sistema no se registra porque el usuario no tiene acceso a Internet ni a un servidor de registro, no es posible migrar a un nuevo paquete de servicio con la migración de YaST ni con la migración de zypper
. En ese caso, puede realizar la migración a un nuevo paquete de servicio con Zypper simple y algunas interacciones manuales.
Esta vía de migración a un nuevo paquete de servicio solo se admite en los sistemas no registrados que no tienen acceso a Internet o a un servidor de registro. Por ejemplo, puede ser el caso de equipos que se encuentren en una red especialmente protegida. En caso de que tenga un sistema registrado, utilice la migración de YaST o de Zypper.
Esta vía de migración requiere que se proporcionen los orígenes de instalación para el nuevo paquete de servicio en una ubicación a la que pueda acceder el equipo que va a migrar. Puede hacerlo, por ejemplo, configurando un servidor RMT o un servidor SLP.
También es necesario que el sistema tenga acceso a un repositorio de actualización que esté al día para la versión del producto instalada.
Si ha entrado en una sesión gráfica que se ejecuta en la máquina que va a migrar, salga y cambie a una consola de texto. No se recomienda ejecutar la actualización desde una sesión gráfica. Tenga en cuenta que esto no se aplica cuando se entra desde un equipo remoto (a menos que esté ejecutando una sesión de VNC con X).
Actualice las herramientas de gestión del paquete con los repositorios de SUSE Linux Enterprise anteriores:
tux >
sudo
zypper
patch --updatestack-onlyObtenga una lista de los paquetes que no tienen un repositorio asignado actualmente (paquetes huérfanos). Estos paquetes no se migrarán y no se garantiza que funcionen después de la migración (dado que otros paquetes de los que puedan depender hayan cambiado de forma que ya no sean compatibles). Para obtener la lista, ejecute:
tux >
sudo
zypper packages --orphanedRepase cuidadosamente la lista y elimine todos los paquetes huérfanos que ya no sean necesarios. Anote todos los paquetes huérfanos restantes; necesitará esta información más adelante para compararlos.
Obtenga una lista de todos los repositorios a los que está suscrito actualmente el sistema. Para ello, ejecute:
tux >
sudo
zypper repos -uA continuación, tendrá que volver a escribir las URL del repositorio para que dirijan a los repositorios respectivos para el nuevo paquete de servicio (
SLE-15
se debe sustituir porSLE-15-SP1
). Si la URL de un repositorio tiene este aspecto:http://rmt.example.com/repo/SUSE/Products/SLE-15-Product-SLES/x86_64/product/
es necesario cambiarla a:
http://rmt.example.com/repo/SUSE/Products/SLE-15-SP1-Product-SLES/x86_64/product/
Esto debe llevarse a cabo con todos los repositorios habilitados. Puede resultar útil hacerlo también para los repositorios que están inhabilitados, para evitar que haya orígenes de instalación erróneos en el sistema cuando se activen más adelante.
Para modificar las URL de los repositorios, tiene las opciones siguientes:
Mediante
› › . Seleccione un repositorio y haga clic en para realizar los cambios necesarios. Repita este paso para todos los repositorios.Mediante Zypper. Añada un repositorio nuevo y, después, elimine el repositorio antiguo correspondiente:
tux >
sudo
zypper addrepo -f URL NAME-15-SP1tux >
sudo
zypper removerepo NAMEEditando los archivos de configuración del repositorio en
/etc/zypp/repos.d
. Cada repositorio se representa mediante un archivo de configuración. Es necesario cambiar el valor del parámetrobaseurl
en cada archivo.
Revise los cambios ejecutando
zypper repos -u
y actualice los repositorios con:tux >
sudo
zypper refresh -f -sEn caso de que falle la actualización de un repositorio, compruebe si ha introducido una URL errónea. Si el problema no se puede solucionar, se recomienda inhabilitar el repositorio que falla.
Si todos los repositorios están configurados correctamente, ejecute de nuevo:
tux >
sudo
zypper refresh -f -sAsí se asegurará de que todos los repositorios están actualizados.
Antes de iniciar la migración, se recomienda realizar una ejecución de prueba:
tux >
sudo
zypper dup -D --no-allow-vendor-change --no-recommendsEl parámetro
-D
lleva a cabo una ejecución de simulación para probar la migración sin modificar realmente el sistema. En caso de que se produzcan problemas, corríjalos antes de continuar. En caso de que la ejecución de prueba se realice correctamente, realice la migración real ejecutando:tux >
sudo
zypper dup --no-allow-vendor-change --no-recommends-no-allow-vendor-change
garantiza que los RPM de otros fabricantes no sobrescriban los RPM del sistema base. La opción--no-recommends
garantiza que el paquete deseleccionado durante la instalación inicial no se añadirá de nuevo.Después de que finalice la migración y se haya arrancado el sistema con la nueva versión del paquete de servicio, ejecute de nuevo la comprobación de paquetes huérfanos:
tux >
sudo
zypper packages --orphanedCompare la nueva lista con la que generó antes de iniciar la migración. Si hay nuevos paquetes en la lista, puede deberse a que se hayan trasladado a un módulo diferente en el nuevo paquete de servicio. Si no tenía ese módulo en la instalación anterior, el paquete no se habrá actualizado.
Puede comprobar a qué módulo pertenece un paquete en https://scc.suse.com/packages. Añada los módulos que faltan con
zypper addrepo
o con el módulo de repositorios de software de YaST y, después, actualice los paquetes huérfanos ejecutando:tux >
sudo
zypper install --no-recommends LIST OF PACKAGESYa ha completado correctamente la migración a un nuevo paquete de servicio.
5.7 Reversión de un paquete de servicio #
Si un paquete de servicio no funciona, SUSE Linux Enterprise permite revertir el sistema a su estado anterior antes de iniciar la migración. Uno de los requisitos previos es una partición de raíz Btrfs con las instantáneas habilitadas (se trata de la opción por defecto desde SLES 12). Para obtener más información, consulte: Chapter 7, System Recovery and Snapshot Management with Snapper.
Obtenga una lista de todas las instantáneas de Snapper:
tux >
sudo
snapper listRevise el resultado para localizar la instantánea que se creó inmediatamente antes de la migración del paquete de servicios. La columna
contiene la instrucción correspondiente y la instantánea está marcada comoimportante
en la columna Memorice el número de la instantánea de la columna y la fecha de la columna .Rearranque el sistema. En el menú de arranque, seleccione 15 SP2 y arránquela.
y, a continuación, la instantánea con la fecha y el número que memorizó en el paso anterior. Se carga un segundo menú de arranque (el de la instantánea). Seleccione la entrada que empieza por SLESEl sistema arranca en el estado anterior con la partición de sistema montada como de solo lectura. Entre como usuario
root
y compruebe si ha elegido la instantánea correcta. Asegúrese también de que todo funciona como se espera. Tenga en cuenta que, ya que el sistema de archivos raíz se monta como de solo lectura, pueden aplicarse restricciones a la funcionalidad.En caso de problemas o si ha arrancado la instantánea equivocada, vuelva a arrancar y elija otra instantánea de arranque: hasta este momento no se han realizado cambios permanentes. Si la instantánea es correcta y funciona como se espera, haga permanente el cambio ejecutando el comando siguiente:
tux >
sudo
snapper rollbackA continuación, vuelva a arrancar. En la pantalla de arranque, seleccione la entrada de arranque por defecto para arrancar en el sistema restablecido.
Compruebe si la configuración del repositorio se ha restablecido correctamente. Compruebe también que todos los productos estén correctamente registrados. Si alguno de los elementos anteriores no se cumple, podría darse el caso de que no funcione la actualización del sistema a un momento posterior o que el sistema se actualice con los repositorios de paquetes erróneos.
Asegúrese de que el sistema tiene acceso a Internet antes de iniciar este procedimiento.
Para actualizar los servicios y los repositorios, ejecute:
tux >
sudo
zypper ref -fsPara obtener una lista de los repositorios activos, ejecute:
tux >
sudo
zypper lrCompruebe con atención el resultado de este comando. No debería aparecer ningún servicio ni repositorio que se haya añadido para la actualización. Por ejemplo, si realiza una reversión de SLES 15 SP1 a SLES 15, la lista debe contener los repositorios
SLES15
, y no los repositoriosSLES15-SP1
.Si se muestran repositorios incorrectos, suprímalos y, si fuera necesario, sustitúyalos por las versiones que coinciden con su versión de producto o de paquete de servicios. Para obtener una lista de los repositorios para las vías de migración admitidas, consulte la Sección 2.3, “Dependencias de módulos y ciclos de vida”. Tenga en cuenta que la intervención manual no debería ser necesaria, ya que los repositorios deben haberse actualizado automáticamente; pero se trata de una práctica recomendada para verificar y realizar las correcciones necesarias.
Por último, para comprobar el estado de registro de todos los productos instalados, ejecute:
tux >
sudo
SUSEConnect --statusTodos los productos deben mostrarse como
registrados
. Si no fuera el caso, para reparar el registro ejecute:tux >
sudo
SUSEConnect --rollback
Ya ha revertido correctamente el sistema al estado que se capturó inmediatamente antes de que se iniciara la migración del paquete de servicios.
5.8 Actualización con SUSE Manager #
SUSE Manager es una solución de servidor para proporcionar actualizaciones, parches y soluciones de seguridad para los clientes de SUSE Linux Enterprise. Incorpora un conjunto de herramientas y una interfaz de usuario Web para tareas de gestión. Consulte https://www.suse.com/products/suse-manager/ para obtener más información sobre SUSE Manager.
Con este método, puede migrar desde un paquete de servicio (SP) a otro dentro de una versión principal (por ejemplo, de SLES 15 GA a SLES 15 SP1).
Si el equipo se gestiona mediante SUSE Manager, actualícelo tal y como se describe en la documentación de SUSE Manager. El procedimiento de migración del cliente se describe en la Guía de actualización de SUSE Manager, disponible en https://documentation.suse.com/suma/.
5.9 Actualización de openSUSE Leap a SUSE Linux Enterprise Server #
Puede actualizar una instalación de openSUSE en línea a SUSE Linux Enterprise Server. El procedimiento es similar al descrito en la Sección 5.5, “Actualización con Zypper”, pero se requieren algunos pasos adicionales. Antes de ejecutar este procedimiento en el sistema de producción, se recomienda ejecutarlo en un sistema de prueba en el que se replique la configuración de producción.
Para ver qué versiones de openSUSE Leap admiten la migración, lea la Sección 1.1, “Vías de actualización a SLE 15 SP2 admitidas”.
Los repositorios de openSUSE proporcionan más paquetes que los disponibles en los repositorios de SUSE Linux Enterprise Server. Si tiene alguno de estos paquetes instalado, dejará de recibir actualizaciones después de la migración. Estos paquetes se eliminarán si lleva a cabo el procedimiento descrito a continuación.
Asegúrese de que todos los paquetes que necesita para que funcione el sistema están disponibles en el repositorio SUSE Linux Enterprise Server. También puede comprobar si los paquetes están disponibles en el repositorio SUSE Package Hub. Para obtener información, consulte: Sección 20.3, “SUSE Package Hub”.
Para migrar desde openSUSE Leap, ejecute el siguiente procedimiento:
Cambie a un TTY, por ejemplo, pulsando Ctrl–Alt–F1. Luego inicie sesión como usuario
root
.Instalación SUSEConnect.
root #
zypper in SUSEConnect
Regístrese en SCC para obtener los repositorios de SUSE Linux Enterprise Server.
root #
SUSEConnect -r REGISTRATION_CODE -p SLES/15.1/x86_64
Muestre e inhabilite todos los repositorios de openSUSE del sistema.
root #
zypper lr
root #
zypper mr -d REPO_IDS
Sustituya REPO_IDS por una lista separada por espacios de todos los repositorios de openSUSE habilitados.
Ahora añada los módulos que necesite para la instalación.
root #
SUSEConnect --list-extensions
[...]root #
SUSEConnect -p sle-module-basesystem/15.1/x86_64
Para disponer de sustitutos para la mayoría de los paquetes de Leap, se recomienda habilitar los módulos Basesystem, Desktop Applications, Server Applications y Legacy. Además, se recomienda habilitar SUSE Package Hub.
Migre los paquetes instalados a los repositorios de SUSE Linux Enterprise Server.
root #
zypper dup --force-resolution
Elimine los paquetes huérfanos.
root #
zypper rm $(zypper --no-refresh packages --orphaned | gawk '{print $5}' | tail -n +5)
Por último, reinicie el sistema.