1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-19 10:53:58 +00:00
freebsd/etc/rc.d/ntpd
Sean Chittenden 0050f9ec3c Stop using ntpdate(1) in our startup proceedure. Replace ntpdate(1) with
calls to ntpd -g.  ntpd is noticably slower than ntpdate, but is also more
accurate.  This removes the nasty hackery in rc.d/ntpdate that would parse
out ntp servers from /etc/ntp.conf (ntpd knows how to read its own config
file).  By default, ntpd *will* sync with its listed time servers.  To
turn this off so that ntpd does not sync, ntpd_sync_on_start="NO" can be
added to /etc/rc.conf.  If ntpd is not enabled (the default), then time is
not synced on startup.  ntpdate's use has been depreciated by the ntpd
authors for quite some time so this change shouldn't be unexpected.

Suggested by:	des
Approved by:	roberto (resident ntp guru)
2004-09-14 03:01:38 +00:00

53 lines
1.2 KiB
Bash
Executable File

#!/bin/sh
#
# $NetBSD: ntpd,v 1.6 2002/03/22 04:33:59 thorpej Exp $
# $FreeBSD$
#
# PROVIDE: ntpd
# REQUIRE: DAEMON
# BEFORE: LOGIN
# KEYWORD: FreeBSD nojail
. /etc/rc.subr
name=ntpd
rcvar=`set_rcvar`
command="/usr/sbin/${name}"
pidfile="/var/run/${name}.pid"
start_precmd="ntpd_precmd"
required_files="/etc/ntp.conf"
ntpd_precmd()
{
if checkyesno ntpd_sync_on_start; then
rc_flags="-g ${ntpd_flags}"
fi
if [ -z "$ntpd_chrootdir" ]; then
return 0;
fi
# If running in a chroot cage, ensure that the appropriate files
# exist inside the cage, as well as helper symlinks into the cage
# from outside.
#
# As this is called after the is_running and required_dir checks
# are made in run_rc_command(), we can safely assume ${ntpd_chrootdir}
# exists and ntpd isn't running at this point (unless forcestart
# is used).
#
if [ ! -c "${ntpd_chrootdir}/dev/clockctl" ]; then
rm -f "${ntpd_chrootdir}/dev/clockctl"
( cd /dev ; /bin/pax -rw -pe clockctl "${ntpd_chrootdir}/dev" )
fi
ln -fs "${ntpd_chrootdir}/var/db/ntp.drift" /var/db/ntp.drift
# Change run_rc_commands()'s internal copy of $ntpd_flags
#
rc_flags="-u ntpd:ntpd -i ${ntpd_chrootdir} $rc_flags"
}
load_rc_config $name
run_rc_command "$1"