Giter Club home page Giter Club logo

chrony's Introduction

This is the README for chrony.

What is chrony?
===============

chrony is a versatile implementation of the Network Time Protocol (NTP).
It can synchronise the system clock with NTP servers, reference clocks
(e.g. GPS receiver), and manual input using wristwatch and keyboard.
It can also operate as an NTPv4 (RFC 5905) server and peer to provide
a time service to other computers in the network.

It is designed to perform well in a wide range of conditions, including
intermittent network connections, heavily congested networks, changing
temperatures (ordinary computer clocks are sensitive to temperature),
and systems that do not run continuosly, or run on a virtual machine.

Typical accuracy between two machines synchronised over the Internet is
within a few milliseconds; on a LAN, accuracy is typically in tens of
microseconds.  With hardware timestamping, or a hardware reference clock,
sub-microsecond accuracy may be possible.

Two programs are included in chrony, chronyd is a daemon that can be
started at boot time and chronyc is a command-line interface program
which can be used to monitor chronyd's performance and to change various
operating parameters whilst it is running.

What will chrony run on?
========================

The software is known to work on Linux, FreeBSD, NetBSD, macOS and
Solaris.  Closely related systems may work too.  Any other system will
likely require a porting exercise.  You would need to start from one
of the existing system-specific drivers and look into the quirks of
certain system calls and the kernel on your target system.

How do I set it up?
===================

The file INSTALL gives instructions.  On supported systems the
compilation process should be automatic.

You will need an ANSI C compiler -- gcc is recommended.

The manual (in texinfo and text formats) describes how to set the
software up for the less straightforward cases.

What documentation is there?
============================

A manual is supplied in Texinfo format (chrony.texi) and
ready-formatted plain text (chrony.txt) in the distribution.

There is also information available on the chrony web pages, accessible
through the URL 

    https://chrony.tuxfamily.org/

Where are new versions announced?
=================================

There is a low volume mailing list where new versions and other
important news relating to chrony is announced.  You can join this list
by sending mail with the subject "subscribe" to

[email protected]

These messages will be copied to chrony-users (see below).

How can I get support for chrony?
and where can I discuss new features, possible bugs etc?
========================================================

There are 3 mailing lists relating to chrony.  chrony-announce was
mentioned above.  chrony-users is a users' discussion list, e.g. for
general questions and answers about using chrony.  chrony-dev is a more
technical list, e.g. for discussing how new features should be
implemented, exchange of information between developers etc.  To
subscribe to either of these lists, send a message with the subject
"subscribe" to

[email protected]
or
[email protected]

as applicable.

When you are reporting a bug, please send us all the information you can.
Unfortunately, chrony has proven to be one of those programs where it is very
difficult to reproduce bugs in a different environment. So we may have to
interact with you quite a lot to obtain enough extra logging and tracing to
pin-point the problem in some cases. Please be patient and plan for this!

License
=======

chrony is distributed under the GNU General Public License version 2.

Authors
=======

Richard P. Curnow <[email protected]>
Miroslav Lichvar <[email protected]>

Acknowledgements
================

In writing the chronyd program, extensive use has been made of RFC 1305
and RFC 5905, written by David Mills. The source code of the NTP reference
implementation has been used to check the details of the protocol.

The following people have provided patches and other major contributions
to the program :

Lonnie Abelbeck <[email protected]>
    Patch to add tab-completion to chronyc

Benny Lyne Amorsen <[email protected]>
    Patch to add minstratum option

Andrew Bishop <[email protected]>
    Fixes for bugs in logging when in daemon mode
    Fixes for compiler warnings
    Robustness improvements for drift file
    Improve installation (directory checking etc)
    Entries in contrib directory
    Improvements to 'sources' and 'sourcestats' output from chronyc
    Improvements to documentation
    Investigation of required dosynctodr behaviour for various Solaris
      versions.

Stephan I. Boettcher <[email protected]>
    Entries in contrib directory

Erik Bryer <[email protected]>
    Entries in contrib directory

Bryan Christianson <[email protected]>
    Support for macOS
    Support for privilege separation
    Entries in contrib directory

Juliusz Chroboczek <[email protected]>
    Fix install rule in Makefile if chronyd file is in use.

Paul Elliott <[email protected]>
    DNSchrony (in contrib directory), a tool for handling NTP servers
    with variable IP addresses.

Mike Fleetwood <[email protected]>
    Fixes for compiler warnings

Alexander Gretencord <[email protected]>
    Changes to installation directory system to make it easier for
    package builders.

Andrew Griffiths <[email protected]>
    Patch to add support for seccomp filter

Walter Haidinger <[email protected]>
    Providing me with login access to a Linux installation where v1.12
    wouldn't compile, so I could develop the fixes for v1.13.  Also, for
    providing the disc space so I can keep an independent backup of the
    sources.

Juergen Hannken-Illjes <[email protected]>
    Port to NetBSD

John Hasler <[email protected]>
    Project and website at tuxfamily.org
    Changes to support 64 bit machines (i.e. those where
      sizeof(unsigned long) > 4)
    Bug fix to initstepslew directive
    Fix to remove potential buffer overrun errors.
    Memory locking and real-time scheduler support
    Fix fault where chronyd enters an endless loop

Tjalling Hattink <[email protected]>
    Fix scheduler to allow stepping clock from timeout handler
    Patch to take leap second in PPS refclock from locked source
    Patch to make reading of RTC for initial trim more reliable

Liam Hatton <[email protected]>
    Advice on configuring for Linux on PPC

Jachym Holecek <[email protected]>
    Patch to make Linux real time clock work with devfs

Håkan Johansson <[email protected]>
    Patch to avoid large values in sources and sourcestats output

Jim Knoble <[email protected]>
    Fixes for compiler warnings

Antti Jrvinen <[email protected]>
    Advice on configuring for BSD/386

Victor Moroz <[email protected]>
    Patch to support Linux with HZ!=100

Kalle Olavi Niemitalo  <[email protected]>
    acquisitionport support

Frank Otto <[email protected]>
    Handling arbitrary HZ values

Denny Page <[email protected]>
    Advice on support for hardware timestamping

Gautier PHILIPPON <[email protected]>
    Patch to add refresh command to chronyc

Andreas Piesk <[email protected]>
    Patch to make chronyc use the readline library if available

Timo Teras <[email protected]>
    Patch to reply correctly on multihomed hosts

Bill Unruh <[email protected]>
    Advice on statistics

Stephen Wadeley <[email protected]>
    Improvements to man pages

Wolfgang Weisselberg <[email protected]>
    Entries in contrib directory

Ralf Wildenhues <[email protected]>
    Many robustness and security improvements
    
Ulrich Windl <[email protected]> for the
    Providing me with information about the Linux 2.2 kernel
    functionality compared to 2.0.

Doug Woodward <[email protected]>
    Advice on configuring for Solaris 2.8 on x86

Many other people have contributed bug reports and suggestions.  We are sorry
we cannot identify all of you individually.

chrony's People

Contributors

mlichvar avatar rc0 avatar bryanc-nz avatar wgunruh avatar mvduin avatar swadeley avatar fabled avatar michlv avatar anstein avatar bmwiedemann avatar bzapwe avatar eric321 avatar inkdot7 avatar abelbeck avatar paulepanter avatar lyda avatar vanu-viclum avatar

Watchers

James Cloos avatar Kevin avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.