BSD Ports

sysutils/clockspeed 0.62_6 DragonFly

Uses a hardware tick counter to compensate for deviant system clock

System
DragonFly
Repository
DPorts
Maintainer
[email protected] (as in FreeBSD)
Categories
sysutils
Package size
21.6 KiB, 83.3 KiB installed

Description

clockspeed uses a hardware tick counter to compensate for a persistently fast or slow system clock. Given a few time measurements from a reliable source, it computes and then eliminates the clock skew.

sntpclock checks another system's NTP clock, and prints the results in a format suitable for input to clockspeed. sntpclock is the simplest available NTP/SNTP client.

taiclock and taiclockd form an even simpler alternative to SNTP. They are suitable for precise time synchronization over a local area network, without the hassles and potential security problems of an NTP server.

This version of clockspeed can use the Pentium RDTSC tick counter or the Solaris gethrtime() nanosecond counter.

A port to non-i386 platforms was done using the clock_gettime(2) function. Since this is somewhat experimental, there might be some tiny precision differences from the i386 platform versions. You have been warned!

In the other systems

SystemPortVersion
DragonFlysysutils/clockspeed0.62_6
FreeBSDsysutils/clockspeed0.62_7

Install

Binary package:

pkg install clockspeed

From DPorts:

cd /usr/dports/sysutils/clockspeed && make install clean

Dependencies

Run dependencies 1

No port depends on this one.

Configuration

No options to configure.

Service scripts
none

Message after installing

Please make sure that you read /usr/local/share/doc/clockspeed/INSTALL.
It contains important information about testing and configuring
clockspeed, and finally installing it in your system.

Clockspeed uses the libtai library, check /usr/ports/devel/libtai
for more details. TAI time measure is off 22 seconds from UTC time
measure. Therefore, your system time will show a 22 secs difference
from your time source after you've installed this port.

To fix this, you could follow this simple recipe created with
PR ports/27617.

1) killall clockspeed (you can't have it running)
2) sntpclock IP.OF.NTP.SERVER | clockadd
3) enable/start clockspeed :
	% cp /usr/local/etc/rc.d/clockspeed.sh.sample \
	  /usr/local/etc/rc.d/clockspeed.sh
	# enable clockspeed to automagically start next
	# time you reboot. do this after testing everything
	% /usr/local/etc/rc.d/clockspeed.sh start
	# start clockspeed now
4) sntpclock IP.OF.NTP.SERVER > /usr/local/etc/clockspeed/adjust
5) cd /usr/src/share/zoneinfo
6) make -DLEAPSECONDS clean all install ; make clean

Step 5 and 6 build support in your system for leapseconds handling.
Take a note about this since you might forget later to disable it
if you remove this port. To disable it, simply re-do step 6 without
-DLEAPSECONDS.
Step 6 should not break anything but you can disable it anytime
as per last paragraph if you think something unusual has happened
to your system.

7) /stand/sysinstall -> configure -> time zone (choose the correct
   time zone for your system)
8) sntpclock IP.OF.NTP.SERVER | clockview

Check how close is your clock before and after now. Should be
within milliseconds.

Do not forget to add a cron(8) job with step 4 to periodically
adjust clockspeed's drift rate. Once a week should be more than
adequate.

A port to non-i386 platforms was done using the clock_gettime(2)
function. Since this is somewhat experimental, there might be some
tiny precision differences from the i386 platform versions. You
have been warned!

===>   NOTICE:

The clockspeed port currently does not have a maintainer. As a result, it is
more likely to have unresolved issues, not be up-to-date, or even be removed in
the future. To volunteer to maintain this port, please create an issue at:

https://bugs.freebsd.org/bugzilla

More information about port maintainership is available at:

https://docs.freebsd.org/en/articles/contributing/#ports-contributing