Hay una biblioteca llamada libfaketime
(también en GitHub ) que le permite hacer que el sistema informe un momento determinado a su aplicación. Puede hacer que el sistema informe una hora fija durante la ejecución del programa o iniciar el reloj a una hora específica (por ejemplo, 01:59:30). Básicamente, conecta la biblioteca de faketime a la imagen en memoria de su programa a través del cargador de la biblioteca, y captura y maneja a su manera todas las llamadas del sistema relacionadas con la hora del sistema. No cambia exactamente la hora del sistema, pero cambia la hora que se informa a su aplicación específica sin afectar nada más que se esté ejecutando, que es probablemente lo que realmente está buscando (de lo contrario, no veo ninguna razón para no solo cambiar el global hora del sistema).
Hay varias variantes posibles sobre cómo usarlo, pero parece que Cambiar la hora a la que un proceso cree que es con libfaketime tiene una lista bastante completa junto con un código de muestra para probarlos. Google también debería poder descubrir algunos ejemplos dado que usted sabe qué buscar.
Parece que no está disponible preempaquetado a través de los repositorios RHEL, pero por ejemplo Debian lo proporciona bajo el nombre del paquetefaketime
. También parece sencillo construir desde el código fuente (aparentemente ni siquiera necesita un configure
paso o algo así).