Pregunta

Linux proporciona la llamada stime (2) para configurar la hora del sistema. Sin embargo, aunque esto actualizará la hora del sistema, no configura el reloj del hardware del BIOS para que coincida con la nueva hora del sistema.

Los sistemas Linux generalmente sincronizan el reloj del hardware con la hora del sistema en el cierre y en intervalos periódicos. Sin embargo, si la máquina se apaga y se apaga antes de una de estas sincronizaciones automáticas, la hora será incorrecta cuando la máquina se reinicie.

¿Cómo se asegura de que el reloj de hardware se actualice cuando configura la hora del sistema?

¿Fue útil?

Solución

Echa un vistazo a la página de manual de rtc para obtener más información, pero si has iniciado sesión como root, algo como esto:

    struct       rtc_time {
        int         tm_sec;      
        int         tm_min;      
        int         tm_hour;     
        int         tm_mday;     
        int         tm_mon;      
        int         tm_year;     
        int         tm_wday; /* unused */
        int         tm_yday; /* unused */
        int         tm_isdst;/* unused */
    };

struct rtc_time rt;
/* set your values here */
fd = open("/dev/rtc", O_RDONLY);
ioctl(fd, RTC_SET_TIME, &rt);
close(fd);

Otros consejos

Después de llamar a stime (), haz esto:

system("/sbin/hwclock --systohc");

Consulte la página del manual de hwclock (8) para obtener más información.

Comenzaría leyendo el código fuente de hwclock.

También me gustaría señalar que el reloj del hardware solo es preciso hasta cierto punto (he visto sistemas que perderán / ganarán un par de segundos al día).

¿Ha considerado configurar el demonio de tiempo de red para sincronizar su reloj con un servidor de hora?

Es cierto que esta sincronización no se produce hasta después de que se inicie el daemon, por lo que mantener sincronizado el reloj del hardware también ayuda entre el encendido y el punto en que el daemon de tiempo se sincroniza con el servidor de tiempo.

Si el editor de texto es diferente de kubuntu (kate es el predeterminado en el editor), use el suyo con el comando sudo en la terminal.

  1. ejecutar terminal
  2. copia y pega este comando sudo kate / etc / default / rcS presione Enter
  3. ingrese la contraseña de usuario (su contraseña de inicio de sesión) presione Enter
  4. el editor de texto se abrirá en el escritorio
  5. cambie la línea UTC = yes a UTC=no
  6. y haga clic en guardar (en la parte superior de la barra de pestañas del editor de texto)
  7. reiniciar
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top