19 Actualización de SUSE Linux Enterprise #
SUSE® Linux Enterprise (SLE) permite actualizar un sistema existente a la nueva versión. No es preciso realizar una nueva instalación. Los datos que ya existan, como los directorios personales y la configuración del sistema, permanecen intactos. La actualización se puede realizar desde una unidad local de CD o DVD o desde un origen de instalación de red.
En este capítulo se explica cómo actualizar manualmente el sistema SUSE Linux Enterprise, ya sea mediante un DVD, la red, un proceso automatizado o SUSE Manager.
19.1 Vías de actualización a SLE 12 SP5 admitidas #
Las actualizaciones de arquitecturas cruzadas, como actualizar de una versión 32 bits de SUSE Linux Enterprise Server a la versión 64 bits, o actualizar de big-endian a little-endian, no se admiten.
Específicamente, SLE 11 en POWER (big endian) a SLE 12 SP2 en POWER (nuevo: ¡little endian!), no se admite.
Además, como SUSE Linux Enterprise 12 es solo de 64 bits, las actualizaciones de cualquier sistema de 32 bits de SUSE Linux Enterprise 11 a SUSE Linux Enterprise 12 no se admiten.
Para realizar una actualización entre arquitecturas, deberá realizar una instalación nueva.
La vía de actualización más segura es ir paso a paso e instalar de forma consecutiva todos los paquetes de servicio. En algunos casos, se admite la omisión de uno o dos paquetes de servicio durante la actualización. Para obtener más detalles, consulte Vías de actualización admitidas por versión y la Figura 19.1, “Resumen de las vías de actualización admitidas”. Sin embargo, se recomienda no omitir ninguno de ellos.
Se recomienda realizar una instalación nueva al actualizar a una nueva versión principal.
- Actualizar de SUSE Linux Enterprise 10 (cualquier paquete de servicio o Service Pack)
No se admite ninguna vía de migración directa a SUSE Linux Enterprise 12. En este caso, se recomienda realizar una instalación nueva.
- Actualización desde SUSE Linux Enterprise 11 GA / SP1 / SP2 / SP3
No se admite ninguna vía de migración directa a SUSE Linux Enterprise 12. Debe tener instalado al menos SLE 11 SP4 para poder continuar a SLE 12 SP5.
Si no es posible realizar una instalación nueva, actualice primero el paquete de servicio de SLE 11 instalado a SLE 11 SP4. Estos pasos se describen en la Guía de distribución de SUSE Linux Enterprise 11: https://documentation.suse.com/sles-11/.
- Actualización desde SUSE Linux Enterprise 11 SP4
La actualización de SLE 11 SP5 a SLE 12 SP4 solo se admite a través de una actualización sin conexión. Consulte el Capítulo 20, Actualización sin conexión para obtener más detalles.
- Actualización desde SUSE Linux Enterprise 12 GA/SP1/SP2 a SP5
No se admiten la actualización directa desde SLE 12 GA, SP1 o SP2 a SP5. Actualice primero a SLE 12 SP3 o SP4.
- Actualización desde SUSE Linux Enterprise 12 SP3/SP4 a SP5
Se admite la actualización desde SUSE Linux Enterprise 12 SP3 o SP4 a SP5
- Actualización desde SUSE Linux Enterprise 12 LTSS GA/SP1 a SP5
No se admite la actualización directa desde SUSE Linux Enterprise 12 LTSS GA o SP1 a SP5. Actualice primero a SLE 12 LTSS SP2.
- Actualización desde SUSE Linux Enterprise 12 LTSS SP2/SP3/SP4 a SP5
Se admite la actualización desde SUSE Linux Enterprise 12 LTSS SP2, SP3 o SP4 a SP5
19.2 Actualización con conexión y sin conexión #
SUSE admite dos métodos de actualización y migración. Para obtener más información acerca de la terminología, consulte la Sección 18.1, “Terminología”. Los métodos son los siguientes:
- Con conexión
Se considera que todas las actualizaciones que se ejecutan desde el sistema en ejecución son actualizaciones con conexión. Ejemplos: se ha conectado a través del Centro de servicios al cliente de SUSE, la Herramienta de gestión de suscripciones (SMT), SUSE Manager con YaST o Zypper.
Al migrar de un paquete de servicio a otro de la misma versión principal, se recomienda seguir la Sección 21.4, “Actualización con la herramienta de migración en línea (YaST)” o la Sección 21.5, “Actualización con Zypper”.
- Sin conexión
En los métodos sin conexión, normalmente se arranca otro sistema operativo desde el que se actualiza la versión instalada de SLE. Algunos ejemplos son: DVD, unidades USB, imágenes ISO, AutoYaST, “RPM normal” o el arranque PXE.
Si el equipo está gestionado mediante SUSE Manager, el procedimiento de actualización se debe iniciar en la interfaz de gestión. Para obtener información, consulte: Sección 20.6, “Actualización a través de SUSE Manager”.
19.3 Preparación del sistema #
Antes de iniciar el procedimiento de actualización, asegúrese de que el sistema está debidamente preparado. Entre otros aspectos, los preparativos requieren realizar una copia de seguridad de los datos y comprobar las notas de la versión.
19.3.1 Asegúrese de que el sistema actual está actualizado #
Solo se admite la actualización del sistema desde el parche más reciente. Asegúrese de que están instaladas las últimas actualizaciones del sistema, ya sea ejecutando zypper patch
o iniciando el módulo de YaST.
19.3.2 Lectura de las notas de la versión #
En las notas de la versión puede encontrar información adicional sobre los cambios realizados desde la versión previa de SUSE Linux Enterprise Server. Consulte las notas de versión para comprobar lo siguiente:
si el hardware necesita consideraciones especiales;
si los paquetes de software usados han cambiado de forma significativa;
si es necesario tomar precauciones especiales para la instalación.
Las notas de la versión también proporcionan información que no pudo publicarse en el manual a tiempo y notas acerca de problemas conocidos.
Si va a omitir uno o varios paquetes de servicio, compruebe también las notas de la versión de esos paquetes. Normalmente, las notas solo contienen los cambios entre dos versiones consecutivas. Si solo lee las notas de la versión actual, puede perderse cambios importantes.
Encontrará las notas de la versión en el directorio /usr/share/doc/release-notes
o en línea en https://www.suse.com/releasenotes/.
19.3.3 Creación de una copia de seguridad #
Antes de actualizar, copie los archivos de configuración existentes en un medio independiente (un dispositivo de cinta, un disco duro extraíble, etc.) para realizar una copia de seguridad de los datos. Esta recomendación se aplica fundamentalmente a los archivos almacenados en /etc
y en algunos directorios y archivos de /var
y /opt
. También puede ser conveniente escribir los datos de usuario del directorio /home
(los directorios HOME
) en un medio de copia de seguridad. Haga una copia de seguridad de esos datos como usuario root
. Solo los usuarios root
disponen de permiso de lectura para todos los archivos locales.
Si ha seleccionado /etc/sysconfig
. Sin embargo, no se trata de una copia de seguridad completa, ya que faltarían otros directorios importantes mencionados anteriormente. Busque la copia de seguridad en el directorio /var/adm/backup
.
19.3.3.1 Lista de los paquetes y repositorios instalados #
A menudo, resulta útil disponer de una lista de paquetes instalados, por ejemplo, al realizar una instalación nueva de una versión principal nueva de SLE o al revertir a una versión anterior.
Tenga en cuenta que no todos los paquetes instalados ni los repositorios utilizados están disponibles en las versiones más recientes de SUSE Linux Enterprise. Puede que algunos hayan cambiado de nombre o que se hayan sustituido. También es posible que algunos paquetes sigan estando disponibles por compatibilidad con versiones anteriores o que otros se utilicen por defecto. Por lo tanto, podría ser necesario realizar alguna modificación manual de los archivos. Esto se puede realizar con cualquier editor de textos.
Cree un archivo denominado repositories.bak
que contenga una lista de todos los repositorios utilizados:
root #
zypper
lr -e repositories.bak
Cree también un archivo denominado installed-software.bak
que contenga una lista de todos los paquetes instalados:
root #
rpm
-qa --queryformat '%{NAME}\n' > installed-software.bak
Realice una copia de seguridad de ambos archivos. Los repositorios y los paquetes instalados se pueden restaurar con los comandos siguientes:
root #
zypper
ar repositories.bakroot #
zypper
install $(cat installed-software.bak)
Un sistema actualizado a una nueva versión principal (SLE X+1) puede contener más paquetes que el sistema inicial (SLE X). También contendrá más paquetes que una instalación nueva de SLE X+1 con la misma selección de patrón. Algunos de los posibles motivos son los siguientes:
Los paquetes se han dividido para ofrecer una selección más precisa. Por ejemplo, los 37 paquetes de texlive de SLE 11 se dividieron en 422 paquetes en SLE 12.
Cuando un paquete se divide en otros paquetes, se instalan todos los paquetes durante la actualización para conservar la misma funcionalidad de la versión anterior. Sin embargo, una instalación nueva de SLE X+1 podría no instalar por defecto todos los paquetes.
Los paquetes heredados de SLE X podrían conservarse por razones de compatibilidad.
Las dependencias de paquetes y el ámbito de los patrones pueden haber cambiado.
19.3.4 Migración de la base de datos MySQL #
A partir de la versión SUSE Linux Enterprise 12, SUSE cambió de MySQL a MariaDB. Antes de empezar cualquier actualización, se recomienda encarecidamente realizar una copia de seguridad de la base de datos.
Para realizar la migración de la base de datos, siga el siguiente procedimiento:
Entre a la sesión en el equipo con SUSE Linux Enterprise 11.
Cree un archivo de volcado de memoria:
root #
mysqldump
-u root -p --all-databases > mysql_backup.sqlPor defecto,
mysqldump
no realiza el volcado deINFORMATION_SCHEMA
ni de la base de datosperformance_schema
. Para obtener más información, consulte https://dev.mysql.com/doc/refman/5.5/en/mysqldump.html.Guarde el archivo de volcado de memoria, el archivo de configuración
/etc/my.cnf
y el directorio/etc/mysql/
para su investigación posterior (NO para la instalación) en un lugar seguro.Realice la actualización. Después de la actualización, el archivo de configuración anterior
/etc/my.cnf
seguirá intacto. Encontrará la nueva configuración en el archivo/etc/my.cnf.rpmnew
.Configure la base de datos MariaDB según sus necesidades. NO use el archivo de configuración ni el directorio anterior, en su lugar, empléelos como recordatorios y adáptelos.
Asegúrese de iniciar el servidor de MariaDB:
root #
systemctl
start mysqlSi desea iniciar el servidor de MariaDB cada vez que arranque, habilite el servicio:
root #
systemctl
enable mysqlConéctese a la base de datos para verificar que MariaDB se está ejecutando correctamente:
root #
mysql
-u root -p
19.3.5 Migración de la base de datos PostgreSQL #
Se incluye una versión más reciente de la base de datos PostgreSQL como actualización de mantenimiento. Debido al trabajo de migración necesario de la base de datos, no existe un proceso de actualización automático. Por lo tanto, el cambio de una versión a otra se debe realizar manualmente.
El proceso de migración se realiza mediante el comando pg_upgrade
, que es un método alternativo al clásico de volcado y recarga. En comparación con el método de “volcado y recarga”, con pg_upgrade
la migración tarda menos tiempo.
Los archivos de programa de cada versión de PostgreSQL se almacenan en directorios distintos según dicha versión. Por ejemplo, en /usr/lib/postgresql96/
para la versión 9.6 y en /usr/lib/postgresql10/
para la versión 10. Tenga en cuenta que la directiva de control de versiones de PostgreSQL ha cambiado entre las versiones principales 9.6 y 10. Para obtener información, consulte: https://www.postgresql.org/support/versioning/.
Al actualizar desde SLE 11, postgresql94
se desinstalará y no se podrá usar para la migración de la base de datos a una versión superior de PostgreSQL. Por lo tanto, en tal caso, asegúrese de migrar la base de datos PostgreSQL antes de actualizar el sistema.
El procedimiento siguiente describe la migración de la base de datos de la versión 9.6 a la 10. Si se utiliza una versión distinta como inicio o destino, sustituya los números de versión según sea preciso.
Para realizar la migración de la base de datos, siga el siguiente procedimiento:
Asegúrese de que se cumplen las siguientes condiciones previas:
Si aún no lo ha hecho, actualice todos los paquetes de la versión anterior de PostgreSQL a la más reciente mediante una actualización de mantenimiento.
Cree una copia de seguridad de la base de datos existente.
Instale los paquetes de la nueva versión principal de PostgreSQL. En el caso de SLE12 SP5, esto significa instalar postgresql10-server y todos los paquetes de los que depende.
Instale el paquete postgresql10-contrib que contiene el comando
pg_upgrade
.Asegúrese de que dispone de suficiente espacio libre en el área de datos de PostgreSQL, que por defecto es
/var/lib/pgsql/data
. Si hay poco espacio, intente reducir el tamaño con los comandos siguientes de SQL en cada base de datos (esta operación puede tardar mucho tiempo):VACUUM FULL
Detenga el servidor de PostgreSQL con:
root #
/usr/sbin/rcpostgresql
stopO bien
root #
systemctl stop postgresql.service(según la versión de SLE que utilice como versión de inicio para la actualización).
Renombre el directorio de datos anterior:
root #
mv
/var/lib/pgsql/data /var/lib/pgsql/data.oldInicialice la nueva instancia de la base de datos manualmente con
initdb
o iniciando y deteniendo PostgreSQL, con lo que el proceso se realizará automáticamente:root #
/usr/sbin/rcpostgresql
startroot #
/usr/sbin/rcpostgresql
stopO bien
root #
systemctl start postgresql.serviceroot #
systemctl stop postgresql.service(según la versión de SLE que utilice como versión de inicio para la actualización).
Si ha cambiado los archivos de configuración en la versión anterior, plantéese la posibilidad de transferir esos cambios a los nuevos archivos de configuración. Esto puede afectar a los archivos
postgresql.auto.conf
,postgresql.conf
,pg_hba.conf
ypg_ident.conf
. Las versiones anteriores de estos archivos se encuentra en/var/lib/pgsql/data.old/
y las versiones nuevas en/var/lib/pgsql/data
.Tenga en cuenta que no se recomienda copiar simplemente los archivos de configuración antiguos, ya que se podrían sobrescribir las opciones nuevas, los valores por defecto nuevos y los comentarios que se hayan modificado.
Inicie el proceso de migración como el usuario
postgres
:root #
su - postgres postgres >pg_upgrade
\ --old-datadir "/var/lib/pgsql/data.old" \ --new-datadir "/var/lib/pgsql/data" \ --old-bindir "/usr/lib/postgresql96/bin/" \ --new-bindir "/usr/lib/postgresql10/bin/"Inicie la nueva instancia de base de datos con:
root #
/usr/sbin/rcpostgresql
startO bien
root #
systemctl start postgresql.service(según la versión de SLE que utilice como versión de inicio para la actualización).
Compruebe si la migración se ha realizado correctamente. El ámbito de la prueba depende del caso de uso. No existe ninguna herramienta general para automatizar este paso.
Elimine todos los paquetes anteriores de PostgreSQL y el directorio de datos antiguo:
root #
zypper
search -s postgresql96 | xargs zypper rm -uroot #
rm
-rf /var/lib/pgsql/data.old
19.3.6 Creación de certificados de servidor no MD5 para aplicaciones de Java #
Durante la actualización de SP1 a SP2, se han inhabilitado basada en MD5 certificados como parte de una solución de seguridad. Si dispone de certificados creados como MD5, emplee los pasos siguientes para volver a crear los certificados:
Abra un terminal y entre como usuario
root
.Cree una clave privada:
root #
openssl
genrsa -out server.key 1024Si desea una clave más sólida, sustituya
1024
por un número más elevado, por ejemplo,4096
.Cree una petición de firma de certificado (CSR):
root #
openssl
req -new -key server.key -out server.csrAutofirmar el certificado:
root #
openssl
x509 -req -days 365 -in server.csr -signkey server.key -out server.crtCree el archivo PEM:
root #
cat
server.key server.crt > server.pemColoque los archivos
Server.CRT
,Server.CSR
,Server.Key
, yServer.PEM
en los directorios respectivos las claves que puede que encuentran. Para Tomcat, por ejemplo, este directorio es/ etc/tomcat/ssl /
.
19.3.7 Apagado de máquinas virtuales de invitado #
Si el equipo hace de Host VM Server para KVM o Xen, asegúrese de apagar correctamente cualquier Guest VM en ejecución antes de actualizar. De lo contrario, quizá no pueda acceder a los sistemas invitados tras la actualización.
19.3.8 Ajuste de la configuración del cliente SMT #
Si el equipo que desea actualizar se ha registrado como cliente en un servidor SMT, tenga en cuenta lo siguiente:
Compruebe si la versión del guion clientSetup4SMT.sh
del host está actualizada. El guion clientSetup4SMT.sh
de versiones anteriores de SMT no puede gestionar clientes de SMT 12. Si se aplican parches de software con regularidad en el servidor SMT, siempre encontrará la versión más reciente declientSetup4SMT.sh
en<nombre_del_host_de_SMT>/repo/tools/clientSetup4SMT.sh
.
Si no consigue actualizar el equipo a una versión superior de SUSE Linux Enterprise Server, anule el registro del equipo del servidor SMT como se describe en el Procedimiento 19.1. A continuación, reinicie el proceso de actualización.
Entre en el equipo cliente.
El paso siguiente depende del sistema operativo del cliente:
Para SUSE Linux Enterprise 11, ejecute los comandos siguientes:
tux >
sudo
suse_register -Etux >
sudo
rm -f /etc/SUSEConnecttux >
sudo
rm -rf /etc/zypp/credentials.d/*tux >
sudo
rm -rf /etc/zypp/repos.d/*tux >
sudo
rm -f /etc/zypp/services.d/*tux >
sudo
rm -f /var/cache/SuseRegister/*tux >
sudo
rm -f /etc/suseRegister*tux >
sudo
rm -f /var/cache/SuseRegister/lastzmdconfig.cachetux >
sudo
rm -f /etc/zmd/deviceidtux >
sudo
rm -f /etc/zmd/secretPara SUSE Linux Enterprise 12, ejecute los comandos siguientes:
tux >
sudo
SUSEConnect --de-registertux >
sudo
SUSEConnect --cleanuptux >
sudo
rm -f /etc/SUSEConnecttux >
sudo
rm -rf /etc/zypp/credentials.d/*tux >
sudo
rm -rf /etc/zypp/repos.d/*tux >
sudo
rm -f /etc/zypp/services.d/*
Entre en el servidor SMT.
Compruebe si se ha anulado correctamente el registro del cliente mostrando todos los registros del cliente:
tux >
sudo
smt-list-registrationsSi el nombre de host del cliente sigue apareciendo con este comando, anote el
ID exclusivo
del cliente de la primera columna (puede que el cliente aparezca con varios ID).Suprimir el registro de ese cliente:
tux >
sudo
smt-delete-registration -g UNIQUE_IDSi el cliente se muestra con varios ID, repita el paso anterior para cada uno de sus ID exclusivos.
Compruebe si ya se ha anulado correctamente el registro del cliente volviendo a ejecutar:
tux >
sudo
smt-list-registrations
19.3.9 Espacio de disco #
El software tiende a crecer de una versión a la siguiente. Por lo tanto, antes de actualizar debe saber de cuánto espacio dispone en la partición. Si sospecha que se está quedando sin espacio en disco, realice una copia de seguridad de los datos antes de aumentar el espacio disponible, por ejemplo al cambiar de tamaño las particiones. No existe ninguna regla general sobre cuánto espacio debe tener cada partición. Los requisitos de espacio dependen de cada perfil de particiones concreto y del software que se seleccione.
Durante el procedimiento de actualización, YaST comprueba cuánto espacio libre hay disponible en el disco y muestra una advertencia al usuario si la instalación puede superar esa cantidad. En ese caso, llevar a cabo la actualización puede producir que el sistema no puede usarse. Únicamente si sabe exactamente lo que está haciendo (por haberlo probado con antelación), puede omitir la advertencia y continuar la actualización.
19.3.9.1 Comprobación de espacio en disco en sistemas de archivos que no sean Btrfs #
Utilice el comando df
para mostrar el espacio disponible en disco. Por ejemplo, en Ejemplo 19.1, “Lista que se obtiene con df -h
”, la partición raíz es /dev/sda3
(montada como /
).
df -h
#Filesystem Size Used Avail Use% Mounted on /dev/sda3 74G 22G 53G 29% / tmpfs 506M 0 506M 0% /dev/shm /dev/sda5 116G 5.8G 111G 5% /home /dev/sda1 44G 4G 40G 9% /data
19.3.9.2 Comprobación de espacio en disco en sistemas de archivos raíz Btrfs #
Si usa Btrfs como sistema de archivos raíz en su equipo, asegúrese de que hay suficiente espacio libre. En el peor de los casos, una actualización necesitará tanto espacio en disco como el que ocupa el sistema de archivos raíz actual (sin /.snapshot
) para realizar una instantánea nueva. Para mostrar el disco de espacio disponible, use este comando:
root #
df
-h /
Compruebe también el espacio disponible en todas las demás particiones montadas. Se ha comprobado que las recomendaciones siguientes funcionan:
Para todos los sistemas de archivos, incluido Btrfs, se necesita espacio libre suficiente en el disco para descargar e instalar RPM de gran tamaño. El espacio de los RPM antiguos solo se libera después de que se instalen los RPM nuevos.
En el caso de Btrfs con instantáneas, se necesita como mínimo el mismo espacio libre que el que ocupa la instalación actual. Se recomienda disponer del doble de espacio libre que el que ocupa la instalación actual.
Si no tiene espacio libre suficiente, puede intentar suprimir instantáneas antiguas con
Snapper
:root #
snapper
listroot #
snapper
delete NUMBERSin embargo, esto podría no ser de ayuda en todos los casos. Antes de la migración, la mayoría de las instantáneas ocupan poco espacio.
19.3.10 Inhabilitación temporal de la compatibilidad multiversión del núcleo #
SUSE Linux Enterprise Server permite instalar varias versiones del núcleo habilitando sus ajustes correspondientes en /etc/zypp/zypp.conf
. Para actualizar un paquete de servicio, hay que inhabilitar de forma temporal la compatibilidad con esta función. Cuando la actualización finalice correctamente, la compatibilidad multiversión se puede volver a habilitar. Para inhabilitar la compatibilidad multiversión, comente las líneas correspondientes en /etc/zypp/zypp.conf
. El resultado debe ser similar a este:
#multiversion = provides:multiversion(kernel) #multiversion.kernels = latest,running
Para volver a activar esta función después de una actualización correcta, elimine el signo de comentario. Para obtener más información acerca de la compatibilidad multiversión, consulte el Sección 15.1, “Habilitación y configuración de la compatibilidad multiversión”.
19.4 Actualización en IBM Z #
Para actualizar una instalación de SUSE Linux Enterprise en IBM Z, es necesario introducir el parámetro de núcleo Upgrade=1
, por ejemplo mediante un archivo parmfile. Consulte el Sección 4.3, “Archivo parmfile: automatización de la configuración del sistema”.
19.5 IBM POWER: inicio de un X Server #
En SLES 12 para IBM POWER, el gestor de pantalla está configurado para que no inicie un X Server local por defecto. Este valor se cambió en SLES 12 SP1: el gestor de pantalla inicia ahora un X Server.
Para evitar problemas durante la actualización, los ajustes de SUSE Linux Enterprise Server no cambian automáticamente. Si desea que el gestor de pantalla inicie un X Server después de la actualización, cambie la configuración de DISPLAYMANAGER_STARTS_XSERVER
en /etc/sysconfig/displaymanager
como se indica a continuación:
DISPLAYMANAGER_STARTS_XSERVER="yes"