--- description: 'Een korte beschrijving over hoe FreeBSD met schrikkelseconden omgaat' tags: ["Leap Seconds", "Support", "Verification", "FreeBSD"] title: 'Ondersteuning voor schrikkelseconden in FreeBSD' --- = Ondersteuning voor schrikkelseconden in FreeBSD :doctype: article :toc: macro :toclevels: 1 :icons: font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental: :images-path: articles/leap-seconds/ ifdef::env-beastie[] ifdef::backend-html5[] include::shared/authors.adoc[] include::shared/mirrors.adoc[] include::shared/releases.adoc[] include::shared/attributes/attributes-{{% lang %}}.adoc[] include::shared/{{% lang %}}/teams.adoc[] include::shared/{{% lang %}}/mailing-lists.adoc[] include::shared/{{% lang %}}/urls.adoc[] :imagesdir: ../../../images/{images-path} endif::[] ifdef::backend-pdf,backend-epub3[] include::../../../../shared/asciidoctor.adoc[] endif::[] endif::[] ifndef::env-beastie[] include::../../../../../shared/asciidoctor.adoc[] endif::[] ''' toc::[] [[leapseconds-definition]] == Introductie Een _schrikkelseconde_ is een aanpassing aan UTC van één seconde op specifieke tijden in het jaar om atomaire tijdschalen met variaties in de aardrotatie te synchroniseren. Dit artikel beschrijft hoe FreeBSD omgaat met schrikkelseconden. Op het moment van schrijven zal de volgende schrikkelseconde plaatsvinden op 30 juni 2015 om 23:59:60 UTC. Deze schrikkelseconde zal plaatsvinden op een werkdag voor Noord- en Zuid-Amerika en het Aziatische/Pacifische gebied. Schrikkelseconden worden aangekondigd door https://www.iers.org/IERS/EN/Home/home_node.html[IERS] op https://datacenter.iers.org/data/latestVersion/16_BULLETIN_C16.txt[Bulletin C]. Standaardgedrag voor schrikkelseconden is beschreven in https://datatracker.ietf.org/doc/html/rfc7164#section-3[RFC 7164]. Zie ook man:time2posix[3]. [[leapseconds-posix]] == De standaardomgang met schrikkelseconden op FreeBSD De eenvoudigste manier om met schrikkelseconden om te gaan is met de tijdregels van POSIX die FreeBSD standaard gebruikt, gecombineerd met extref:{handbook}[NTP, network-ntp]. Wanneer man:ntpd[8] draait en de tijd is gesynchroniseerd met bovenliggende NTP-servers welke correct met schrikkelseconden omgaan, dan zal de schrikkelseconde ervoor zorgen dat het systeem automatisch de laatste seconde van de dag herhaalt. Er zijn geen verdere aanpassingen nodig. Als de bovenliggende NTP-servers onjuist met schrikkelseconden omgaan, zal man:ntpd[8] de tijd met één seconde vooruitzetten nadat de afdwalende bovenliggende server het heeft opgemerkt en zichzelf heeft aangepast. Wanneer NTP niet wordt gebruikt zijn handmatige aanpassingen van de systeemklok nodig nadat de schrikkelseconde heeft plaatsgevonden. [[leapseconds-cautions]] == Waarschuwingen Schrikkelseconden worden wereldwijd op hetzelfde moment ingevoegd: middernacht UTC. In Japan is dat het midden van de ochtend, in het Pacifisch gebied in de middag, in Amerika in de late middag en in Europa in de nacht. We verwachten dat FreeBSD, mits voorzien van een correcte en stabiele NTP-dienst, zal werken zoals verwacht tijdens deze schrikkelseconde, net zoals het bij de vorige deed. We waarschuwen echter dat praktisch geen enkele toepassing de kernel ooit om schrikkelseconden heeft gevraagd. Onze verwachting is dat, zoals ontworpen, schrikkelseconden in feite een herhaling zijn van de seconde voor de schrikkelseconde, wat een verassing is voor de meeste toepassingsprogrammeurs. Andere besturingssystemen en andere computers kunnen anders met de schrikkelseconde omgaan dan FreeBSD, en systemen zonder een correcte en stabiele NTP-dienst zullen helemaal niks van schrikkelseconden afweten. Het komt voor dat computers crashen vanwege schrikkelseconden, en ervaring laat zien dat een groot gedeelte van alle publieke NTP-servers de schrikkelseconde onjuist kunnen aankondigen en afhandelen. Probeer er alstublieft voor te zorgen dat er niks ergs gebeurt vanwege de schrikkelseconde. [[leapseconds-testing]] == Testen Het is mogelijk om te kijken of een schrikkelseconde zal worden gebruikt. Vanwege de aard van NTP kan de test tot 24 uur voor de schrikkelseconde werken. Sommige grote bronnen van referentieklokken kondigen schrikkelseconden slechts één uur van te voren aan. Ondervraag het NTP-daemon: [source, shell] .... % ntpq -c 'rv 0 leap' .... Uitvoer welke `leap_add_sec` bevat wijst op correcte ondersteuning van de schrikkelseconde. Voorafgaand aan de 24 uur die tot de schrikkelseconde leiden, of nadat de schrikkelseconde is verstreken, zal `leap_none` zichtbaar zijn. [[leapseconds-conclusion]] == Conclusie In de praktijk zijn schrikkelseconden meestal geen probleem op FreeBSD. We hopen dat dit overzicht helpt met wat te verwachten en hoe schrikkelseconden soepeler te laten verlopen.