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 comandolsof
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 paquetetcp_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
yxinetd
.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 comosshd
. 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 porxinetd
se incluyen Telnet, IMAP y POP3.Puesto quexinetd
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 dexinetd
es actualizado, son manejadas por la versión anterior del software.Para matar instancias anteriores de un determinado servicio controlado dexinetd
, 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 comandops
y luego el comandokill
okillall
para detener las instancias actuales del servicio.Por ejemplo, si se lanzan los paquetes de erratas de seguridadimap
, 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 comandops
) para una sesión de IMAP.Para matar todas las sesiones IMAP activas, emita el siguiente comando:killall imapd