Capítulo 2. Actualización del sistema y gestión de paquetes

Tabla de contenidos

2.1. Actualización de SUSE LINUX
2.2. Cambios en el software de una versión a otra
2.3. RPM – El gestor de paquetes

Resumen

SUSE LINUX ofrece la posibilidad de actualizar un sistema existente sin necesidad de instalar todo desde cero. Hay que distinguir entre la actualización de algunos paquetes y la actualización del sistema completo.

Los paquetes individuales también se puede instalar manualmente con el gestor de paquetes rpm.

2.1. Actualización de SUSE LINUX

Es un fenómeno conocido, el hecho de que el software crezca de versión en versión, por lo que se recomienda averiguar de cuánto espacio se dispone en las particiones, usando df, antes de la actualización. Si se tiene la impresión de estar un poco justo de espacio, se recomienda hacer una copia de seguridad de los datos antes de empezar con la actualización y modificar las particiones (aumentar su tamaño). Es difícil determinar la cantidad de espacio necesario ya que este depende en gran medida de las particiones actuales, del software elegido y desde qué versión se va a realizar la actualización.

[Important]Importante

Para obtener información sobre cambios o suplementos posteriores a la impresión de este libro, se puede consultar el archivo README o bajo DOS/Windows el archivo README.DOS. Ambos se encuentran en el CD.

2.1.1. Preparativos

Antes de realizar cualquier actualización se deben copiar los archivos de configuración a un medio independiente (cinta, unidad ZIP, CD-ROM, etc.); sobre todo se trata de los archivos contenidos en /etc pero también se debe tener en cuenta el directorio /var/lib. Además se recomienda hacer una copia de seguridad de los datos actuales de los usuarios en /home (es decir, de los directorios HOME). Esta copia de seguridad se debe efectuar como administrador de sistema (root) ya que sólo root tiene los derechos de lectura de todos los archivos locales. Antes de comenzar con la actualización se debe anotar el nombre de la partición raíz que se obtiene con el comando df /. En el caso de la salida en pantalla 2.1, “Salida de df -h”, /dev/hda2 es la partición raíz que se debe anotar, ya que es esta la que está montada en /.

Ejemplo 2.1. Salida de df -h

Filesystem  Size  Used Avail Use% Mounted on 
/dev/hda1   1,9G  189M  1.7G  10%  /dos
/dev/hda2   8,9G  7,1G  1,4G  84%  /
/dev/hda5   9,5G  8,3G  829M  92%  /home

Esta salida de comando muestra que la partición /dev/hda2 situada en / está montada (mounted) en el sistema de archivos.

2.1.1.1. Posibles problemas

PostgreSQL

Antes de actualizar PostgreSQL™ (postgres), se deben volcar (dump) todas las bases de datos al disco; ver página del manual de pg_dump. Evidentemente esto sólo es necesario si se utilizaba PostgreSQL antes de la actualización.

Controladora Promise

Las controladoras IDE de la empresa Promise pueden encontrarse hoy en día en diversos ordenadores en placas base de alta calidad. Algunas veces como controladoras puras de IDE (para UDMA 100) y otras como controladoras IDE-RAID. A partir de SUSE LINUX 8.0 hay soporte directo del kernel para estas controladoras y las trata como si fueran controladoras normales para discos duros IDE. Sólo el módulo del kernel pdcraid permite la funcionalidad RAID.

Al actualizar puede ocurrir en algunos casos que se detecta discos duros conectados a la controladora de Promise antes de los discos duros en la controladora normal de IDE. En este caso el sistema no arrancará después de una actualización del kernel y típicamente se despedirá con Kernel panic: VFS unable to mount root fs. Para arreglarlo al arrancar se debe indicar el parámetro de kernel ide=reverse para invertir el orden de la detección de los discos duros ; ver apartado 1.1.2, “La pantalla de bienvenida” . Use YaST para introducir este parámetro de forma duradera en la configuración de arranque ; ver el capítulo La instalación del usuario, Arrancar (Instalación del gestor de arranque) en el manual [userguide04].

[Warning]Aviso

Sólo se pueden encontrar las controladoras que estén activadas en la BIOS. La activación o desactivación anterior o posterior de las controladoras en la BIOS tiene una influencia directa en la denominación de los dispositivos. ¡Si no actúa con precaución podría incluso no poder arrancar el sistema!

Explicación técnica. El orden de las controladoras depende de la placa base. Cada fabricante tiene su propia estrategia de integrar controladoras adicionales. Mediante el comando lspci se puede visualizar dicho orden. Si la controladora Promise aparece antes de la controladora IDE normal, es necesario utilizar el parámetro de kernel, ide=reverse después de una actualización. El antiguo kernel (sin soporte directo para Promise) ignoraba la controladora y detectaba primero la controladora IDE normal. El primer disco duro era entonces /dev/hda. Con el nuevo kernel se detecta directamente la controladora Promise y por consiguiente sus discos duros (hasta cuatro) con /dev/hda, /dev/hdb, /dev/hdc y /dev/hdd. El hasta ahora disco /dev/hda se convierte de repente en /dev/hde y en consecuencia no se encuentra en el proceso de arranque.

2.1.2. Actualización con YaST

Después de los preparativos del apartado 2.1.1, “Preparativos”, inicie el proceso de arranque.

  1. Inicie el sistema como para la instalación (véase el manual de usuario) y, después de seleccionar el idioma, no elija en YaST Nueva instalación, sino Actualizar un sistema ya existente.

  2. YaST determinará si existe más de una partición raíz. En caso negativo se continúa con la copia de seguridad del sistema. En caso de que existan varias particiones, seleccione la partición correcta y confirme con Siguiente. En el ejemplo de la sección 2.1.1, “Preparativos” seleccionó /dev/hda2.

    YaST también lee el antiguo fstab que se encuentra en esta partición para analizar y a continuación montar los sistemas de archivos allí existentes.

  3. Posteriormente existe la posibilidad de crear una copia de seguridad de los archivos del sistema durante la actualización. Aunque esta opción ralentiza el proceso de actualización, debe seleccionarse si no dispone de una copia de seguridad actual del sistema.

  4. En el siguiente diálogo se puede decidir si sólo se debe actualizar el software instalado o si se deben añadir al sistema nuevos componentes de software importantes (modo upgrade). Se recomienda aceptar la combinación predeterminada (por ejemplo sistema estándar). Si existe alguna discrepancia, se puede eliminar posteriormente con YaST.

    Figura 2.1. Actualización del sistema

    Actualización del sistema

2.1.3. Actualización manual

2.1.3.1. Actualización del sistema base

Al actualizar el sistema base se cambian los componentes centrales del sistema (por ejemplo las bibliotecas), por lo tanto esto no se puede llevar a cabo desde el sistema Linux en ejecución.

Por esta razón se tendrá que arrancar el entorno de actualización. Esto se hace normalmente bien con el CD,con el DVD o con el disquete de arranque (bootdisk que se ha creado anteriormente). Si quiere efectuar intervenciones manuales o realizar la actualización entera con el ncurser-ui de YaST (modo texto), hay que seguir esencialmente los pasos que ya se han descrito detalladamente en el apartado 1.1, “Instalación en modo texto con YaST”. Básicamente hay que seguir los pasos que se exponen a continuación:

  1. Inmediatamente después del arranque del sistema, desde el disquete de arranque o desde el CD o bien DVD, se inicia automáticamente linuxrc.

  2. linuxrc pide escoger en la opción Configuración del menú principal, el idioma y el teclado (siempre se confirma pulsando Ok).

  3. Con la opción Módulos del Kernel (Drivers) se cargan los controladores necesarios para el hardware. El procedimiento se detalla en el apartado 1.1.3, “La base: linuxrc” y en la descripción de linuxrc, 11.4.4, “Carga de módulos”.

  4. Ahora se puede elegir el medio fuente de la instalación mediante las opciones Iniciar la instalación / Sistema -> Comenzar la instalación (ver 11.4.6, “Iniciar instalación / sistema”).

  5. linuxrc carga el entorno de instalación proporcionado por YaST, tal como se ha elegido.

En el primer menú de YaST, seleccione — después de haber elegido el idioma — la opción Actualizar sistema.

A continuación YaST intenta detectar la partición raíz y ofrece varias posibilidades de las cuales se debe seleccionar la partición raíz que ha anotado anteriormente (ejemplo: /dev/hda3). YaST lee la /etc/fstab antigua que se encuentra sobre esta partición, y monta los sistemas de archivos anotados en ella.

Después existe la posibilidad de realizar una copia de seguridad de los archivos del sistema durante la actualización.

En el diálogo siguiente puede definir que sólo se actualice el software ya instalado o bien que se añadan nuevos e importantes componentes de software al sistema (modo upgrade). Se recomienda aceptar la composición propuesta (por ejemplo Sistema predeterminado). Con YaST se pueden eliminar posibles divergencias.

Diálogo de advertencia: Sí - instalar para que pueda realizarse la transferencia del nuevo software desde el medio fuente al disco duro del sistema. A continuación se produce la revisión de la base de datos RPM.

A continuación se actualizan los componentes centrales del sistema y YaST genera automáticamente copias de seguridad de los archivos modificados a partir de la última instalación; además, los archivos de configuración antiguos se guardan con la extensión .rpmorig o .rpmsave. Todo el proceso de instalación y actualización se protocoliza en el archivo /var/adm/inst-log/installation-*.

2.1.3.2. Actualización del resto de programas

Una vez instalado el sistema base, se entra al modo especial de actualización de YaST que permite actualizar el resto del sistema según necesidades y/o preferencias.

Después de haber seleccionado los paquetes, el proceso se termina como una instalación desde cero; entre otras cosas, se tendrá que seleccionar también un kernel nuevo.

2.1.3.3. Posibles problemas

En caso de que el entorno shell no se comporte del modo esperado, revise los archivos de su home que comienzan con un punto y compruebe que todavía son adecuados para su sistema. Si no es así, adopte las versiones actuales que se encuentran en /etc/skel, por ejemplo: cp /etc/skel/.profile ~/.profile.

2.1.4. Actualización de paquetes individuales

Independientemente de la actualización del sistema base, se pueden actualizar paquetes sueltos en cualquier momento. Realizando una actualización parcial, usted mismo debe encargarse de mantener la consistencia del sistema en cuanto a las dependencias de los paquetes. Puede encontrar algunos consejos sobre la actualización en http://www.suse.de/en/support/download/updates/

En la selección de paquetes de YaST puede seleccionar y deseleccionar paquetes como le plazca. Al seleccionar un paquete esencial para el sistema, YaST advierte sobre la necesidad de actualizar dicho paquete en el modo especial de actualización. Por ejemplo, hay muchos paquetes que utilizan librerías compartidas (shared libraries) que pueden estar en uso en el momento de la actualización. Por tanto, algunos programas podrían dejar de funcionar correctamente después de realizar una actualización desde el sistema activo.