Question

Linux fournit l'appel stime (2) pour définir l'heure système. Cependant, même si cela met à jour l’heure du système, il ne règle pas l’horloge matérielle du BIOS sur l’heure du nouveau système.

Les systèmes Linux synchronisent généralement l'horloge matérielle avec l'heure système à l'arrêt et à des intervalles périodiques. Cependant, si la machine est mise sous tension avant l'une de ces synchronisations automatiques, l'heure sera incorrecte au redémarrage de la machine.

Comment vous assurez-vous que l'horloge matérielle est mise à jour lorsque vous réglez l'heure du système?

Était-ce utile?

La solution

Consultez la page de manuel de rtc pour plus de détails, mais si vous êtes connecté en tant qu'utilisateur root, procédez comme suit:

    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);

Autres conseils

Après avoir appelé stime (), procédez comme suit:

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

Voir la page de manuel hwclock (8) pour plus d'informations.

Je commencerais par lire le code source de hwclock.

Je voudrais également souligner que l'horloge matérielle n'est précise que jusqu'à un certain point (j'ai vu des systèmes perdre / gagner quelques secondes par jour).

Avez-vous envisagé de configurer le démon de temps réseau pour synchroniser votre horloge avec un serveur de temps?

Il est vrai que cette synchronisation ne se produit qu'après le démarrage du démon. Il est donc utile de garder votre horloge matérielle synchronisée entre la mise sous tension et le moment où le démon de l'heure se synchronise avec le serveur de temps.

Si l'éditeur de texte est différent de kubuntu (kate est l'éditeur par défaut), utilisez le vôtre avec la commande sudo du terminal.

  1. exécuter le terminal
  2. copier et coller cette commande sudo kate / etc / default / rcS appuyez sur Entrée
  3. entrez le mot de passe de l'utilisateur (votre mot de passe), appuyez sur Entrée
  4. l'éditeur de texte s'ouvrira sur le bureau
  5. remplacez la ligne UTC = yes par UTC = no
  6. et cliquez sur Enregistrer (en haut de la barre de tabulation de l'éditeur de texte)
  7. redémarrer
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top