1.5.4. Cómo aplicar los cambios

Tras descargar e instalar las erratas y actualizaciones de seguridad, es importante detener el uso del software anterior y comenzar a usar el nuevo software. La forma como se hace esto depende del tipo de software que se ha actualizado. La lista siguiente muestra las categorías generales de software y proporciona instrucciones para utilizar las versiones actualizadas después de una actualización del paquete.

Nota

En general, la mejor manera para asegurarse de que se utiliza la última versión de un paquete de software, es reiniciar el sistema. Sin embargo, esta opción no siempre se necesita o está disponible para el administrador del sistema.
Aplicaciones
Las aplicaciones de espacio de usuario son los programas que pueden ser iniciados por un usuario del sistema. Normalmente, tales aplicaciones se utilizan únicamente cuando un usuario, script o tarea automática las abre y no persisten por largos períodos de tiempo.
Cuando una aplicación tal de espacio de usuario se actualiza, detenga cualquier instancia de la aplicación en el sistema y lance el programa nuevamente para así utilizar la versión actualizada.
Kernel
El kernel es el componente de software de núcleo para el sistema operativo de Red Hat Enterprise Linux. Administra el acceso a memoria, al procesador y periféricos como también programa todas las tareas.
Debido a su papel central, el kernel no puede reiniciar el equipo sin que se detenga. Por lo tanto, la versión actualizada del kernel no se puede utilizar hasta que el sistema no sea reiniciado.
Bibliotecas compartidas
Las bibliotecas compartidas son unidades de código, tales como glibc, las cuales son utilizadas por un número de aplicaciones y servicios. Las aplicaciones que utilizan una biblioteca compartida por lo general cargan el código compartido cuando se inicia la aplicación, por lo tanto las aplicaciones que utilizan la biblioteca actualizada se deben detener y volver a abrir.
Para determinar cuáles aplicaciones en ejecución se enlazan con una biblioteca determinada, use el comando lsof como en el siguiente ejemplo:
lsof /lib/libwrap.so*
Este comando retorna una lista de todos los programas en ejecución que utilizan envolturas TCP para controlar el acceso de host. Por lo tanto, cualquier programa en la lista debe ser detenido y relanzado al actualizar el paquete tcp_wrappers.
Servicios de SysV
Los servicios de SysV son programas de servidor persistente ejecutados durante el proceso de arranque. Los ejemplos de servicios de SysV incluyen sshd, vsftpd y xinetd.
Debido a que estos programas suelen persistir en la memoria, siempre y cuando la máquina sea reiniciada, cada servicio de SysV actualizado debe detenerse y relanzarse después de actualizar el paquete. Esto se puede hacer con la Herramienta de configuración de servicios , o ingresando en un indicador de comandos de shell de root y emitiendo el comando /sbin/service como en el ejemplo siguiente:
/sbin/service <service-name> restart
En el ejemplo anterior, remplace <service-name> con el nombre del servicio, tal como sshd.
xinetd Services
Los servicios controlados por el súper servicio de xinetd solamente se ejecutan cuando hay una conexión activa. Entre los ejemplos de servicios controlados por xinetd se incluyen Telnet, IMAP y POP3.
Puesto que xinetd lanza nuevas instancias de estos servicios cada vez que se recibe una solicitud, las conexiones que suceden después de una actualización son manejadas por el software actualizado. Sin embargo, si hay conexiones activas en el momento en que el servicio controlado de xinetd es actualizado, son manejadas por la versión anterior del software.
Para matar instancias anteriores de un determinado servicio controlado de xinetd, actualice el paquete para el servicio y luego detenga todos los procesos que se estén ejecutando en el momento. Para determinar si el proceso se está ejecutando, use el comando ps y luego el comando kill o killall para detener las instancias actuales del servicio.
Por ejemplo, si se lanzan los paquetes de erratas de seguridad imap, actualice los paquetes y luego escriba el siguiente comando como root en el indicador de comanodos de shell:
ps aux | grep imap
Este comando retorna todas las sesiones IMAP activas. Para finalizar las sesiones individuales utilice el siguiente comando:
kill <PID>
Si este comando no puede terminar la sesión, use le siguiente comando en su lugar:
kill -9 <PID>
En los ejemplos anteriores, remplace <PID> por el número de identificación del proceso (que se encuentra en la segunda columna del comando ps) para una sesión de IMAP.
Para matar todas las sesiones IMAP activas, emita el siguiente comando:
killall imapd