{{tag> }} ====== Zeit in LINBO per ntp setzen ====== Es gibt schon länger den Wunsch, dass LINBO die Systemzeit synchronisiert und setzt. Ab Version 2.3.12 kann LINBO die Systemzeit setzen und hat einen ntp-client an Bord: ===== Version 1: ntpd (ca. 6Sekunden) ===== Mit Hilfe von ntpd (dauert ca. 6 Sekunden), Genauigkeit so klein, wie ntp das eben kann (besser als bei Version 2). Im Postsync-skript: echo -n "Setting date from: [$(date)] to ...wait for it... " ntpd -nq -p 10.16.1.254 hwclock -u -w echo -n "[$(date)]" ===== Version 2: daytime (0Sekunden) ===== mit Hilfe von daytime auf dem ipfire dauert es 0 Sekunden. Die Genauigkeit liegt aber bei ⇐1s. IM postsync-skript: echo -n "Setting date from: [$(date)] to " date -D '%s' -u -s `nc 10.16.1.254 13` hwclock -u -w dafür muss man auf ipfire den dienst xinetd installiert haben und folgendes konfiguieren: server~# ssh ipfire [root@ipfire ~]# pakfire install xinetd ... PAKFIRE INFO: Is this okay? [y/N] y ... [root@ipfire ~]# cat << EOF > /etc/xinetd.d/daytime #default: off # description: An internal xinetd service which gets the current system time # then print as seconds from epoch, use external date command # This is the tcp version. service daytime { disable = no type = UNLISTED id = daytime-stream socket_type = stream protocol = tcp user = root wait = no port = 13 server = /root/epoch-daytime } EOF [root@ipfire ~]# echo -e '#!/bin/sh\ndate "+%s"' > /root/epoch-daytime [root@ipfire ~]# chmod 755 /root/epoch-daytime [root@ipfire ~]# /etc/init.d/xinetd start Starting xinetd... der Umweg über ''/root/epoch-daytime'' ist nötig, weil "daytime" nativ keine UTC-Zeit ausgibt und somit schlecht parsbar ist. ===== UTC ===== Natürlich gibt es ein Problem: Windows, welches UTC als Hardware-Zeit nicht so gerne versteht, siehe http://superuser.com/questions/185773/does-windows-7-support-utc-as-bios-time#185780 . Man kann Windows auch UTC beibringen (aber laut WEbsuche immer noch unter Umständen buggy in Windows 7/8/10): [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation] "RealTimeIsUniversal"=dword:00000001 Vielleicht gibt es auch eine einfache Möglichkeit die Hardwarezeit in LINBO auf nicht-UTC zu stellen. Ich habe keine gefunden. ===== Quellen ===== * Die Problematik und deren Lösung wurde hier erörtert: http://www.linuxmuster.net/flyspray/task/638