私の時計はオフです、それでntpdate
を使用して同期したいと思います。いくつかの異なるNTPサーバーを試しましたが、何らかの理由で次のエラーメッセージが常に表示されます。
$ Sudo ntpdate ntp.ubuntu.com
4 Mar 12:27:35 ntpdate[1258]: no server suitable for synchronization found
$ Sudo ntpdate pool.ntp.org
4 Mar 12:27:50 ntpdate[1267]: no server suitable for synchronization found
$ Sudo ntpdate de.pool.ntp.org
4 Mar 12:28:01 ntpdate[1273]: no server suitable for synchronization found
$ Sudo ntpdate us.pool.ntp.org
4 Mar 12:28:12 ntpdate[1276]: no server suitable for synchronization found
私は関連する質問に目を通しましたが、私の問題を解決するものはありません:
ntpd
デーモンとの競合でした。 ntp
パッケージ(ntpd
デーモンを含む)がインストールされていません。ntpdate
コマンドがブート時に/etc/rc.local
に入れたときに正しく機能しないことです。実行中のntpd
デーモンとの競合。起動時にntpdate
を実行しようとしても、(再度)ntpd
デーモンをインストールしていません。ntpd
の代わりにntpdate
を使用」です。ああ......そして、ntpd
ユーティリティの代わりにntpdate
デーモンを使用してみました。時刻も同期しません。デーモンは正常に起動しますが、私の時計はオフのままです。後者の投稿で受け入れられた回答から正確な/etc/ntp.conf
を使用して、デーモンを再起動することさえ試みました。立ち入り禁止。とにかく、デーモンを使いたくありません。 ntpdate
は「非推奨」と見なされることを完全に認識しており、代わりにntpd -q
を使用することをお勧めします。こちらもご覧ください:
しかし、ntpd
も機能しないため、問題は他の場所にあります。そして、時計を同期するためだけに余分なパッケージをインストールする必要はないことを好みます。 ntpdate
はUbuntuにプリインストールされており、それはうまく動作するはずです。そこで、ntp
パッケージを再度アンインストールしました。
この投稿から:
...職場のコンピューター/ネットワークからポート123がブロックされる可能性があると思いました。確かに、
$ Sudo nmap -p123 -sU -P0 localhost
...
PORT STATE SERVICE
123/udp closed ntp
...
$ Sudo ufw allow 123/udp
Rules updated
Rules updated (v6)
$ Sudo nmap -p123 -sU -P0 localhost
...
PORT STATE SERVICE
123/udp open ntp
...
それでも:
$ Sudo ntpdate ntp.ubuntu.com
4 Mar 13:06:16 ntpdate[4361]: no server suitable for synchronization found
-u
オプションを使用しても、ntpdate
に同期のために(ポート123
の代わりに)特権のないポートを使用するように指示します。
$ Sudo ntpdate -u ntp.ubuntu.com
4 Mar 13:06:28 ntpdate[4427]: no server suitable for synchronization found
最後に、serverfaultでのこの投稿から:
... NTPサーバーの階層が高すぎると思いました。しかし、そうではありません。もう少しデバッグ情報を見てみましょう。
$ Sudo ntpdate -dv ntp.ubuntu.com
4 Mar 13:12:24 ntpdate[4523]: ntpdate [email protected] Wed Oct 9 19:08:07 UTC 2013 (1)
Looking for Host ntp.ubuntu.com and service ntp
Host found : golem.canonical.com
transmit(91.189.89.199)
transmit(91.189.94.4)
transmit(91.189.89.199)
transmit(91.189.94.4)
transmit(91.189.89.199)
transmit(91.189.94.4)
transmit(91.189.89.199)
transmit(91.189.94.4)
transmit(91.189.89.199)
transmit(91.189.94.4)
91.189.89.199: Server dropped: no data
91.189.94.4: Server dropped: no data
server 91.189.89.199, port 123
stratum 0, precision 0, leap 00, trust 000
refid [91.189.89.199], delay 0.00000, dispersion 64.00000
transmitted 4, in filter 4
reference time: 00000000.00000000 Mon, Jan 1 1900 1:00:00.000
originate timestamp: 00000000.00000000 Mon, Jan 1 1900 1:00:00.000
transmit timestamp: d6c041ae.e6166441 Tue, Mar 4 2014 13:12:30.898
filter delay: 0.00000 0.00000 0.00000 0.00000
0.00000 0.00000 0.00000 0.00000
filter offset: 0.000000 0.000000 0.000000 0.000000
0.000000 0.000000 0.000000 0.000000
delay 0.00000, dispersion 64.00000
offset 0.000000
server 91.189.94.4, port 123
stratum 0, precision 0, leap 00, trust 000
refid [91.189.94.4], delay 0.00000, dispersion 64.00000
transmitted 4, in filter 4
reference time: 00000000.00000000 Mon, Jan 1 1900 1:00:00.000
originate timestamp: 00000000.00000000 Mon, Jan 1 1900 1:00:00.000
transmit timestamp: d6c041af.1948fc50 Tue, Mar 4 2014 13:12:31.098
filter delay: 0.00000 0.00000 0.00000 0.00000
0.00000 0.00000 0.00000 0.00000
filter offset: 0.000000 0.000000 0.000000 0.000000
0.000000 0.000000 0.000000 0.000000
delay 0.00000, dispersion 64.00000
offset 0.000000
4 Mar 13:12:33 ntpdate[4523]: no server suitable for synchronization found
Pfeeewww ...これは長いものでした、ごめんなさい。私は困惑しています。手がかりはありますか?
NTPサーバーHOSTNAME
が/etc/ntp.conf
にあるかどうかに関係なく、ntpd
サービスが実行されているかどうかに関係なく、Sudo ntpdate -u HOSTNAME
を実行するたびにno server suitable for synchronization found
が返されます。 ntpd
サービスがnot実行中で、I omit-u
オプションの場合も同じです。 ntpd
サービスis実行中に-u
オプションを省略すると、代わりにthe NTP socket is in use, exiting
が返されます。
また:
$ timedatectl status
Local time: Wed 2014-03-05 13:11:54 CET
Universal time: Wed 2014-03-05 12:11:54 UTC
Timezone: Europe/Berlin (CET, +0100)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: no
Last DST change: DST ended at
Sun 2013-10-27 02:59:59 CEST
Sun 2013-10-27 02:00:00 CET
Next DST change: DST begins (the clock jumps one hour forward) at
Sun 2014-03-30 01:59:59 CET
Sun 2014-03-30 03:00:00 CEST
しかし、UTC時間はここでは正しくありません。現在、UTC時間は11:11
ではなく12:11
です。
そして:
$ Sudo hwclock --show
Wed 05 Mar 2014 01:11:56 PM CET -0.625627 seconds
ホスティングプロバイダーがntpパケットをブロックしています。この手強いアプローチは、DDoS攻撃への対応として一部のISPによって実装されています。 ntpdateがntpdate -vdからパケットを送信していることがわかります。
transmit(91.189.94.4)
transmit(91.189.89.199)
transmit(91.189.94.4)
transmit(91.189.89.199)
ISPに連絡して、外部のntp要求をブロックしているかどうか、および時刻同期に使用できるローカルサーバーがあるかどうかを尋ねます。
さらにいくつかのあいまいな可能性がありますが、syslogからログを投稿していないため、それらを除外するのは困難です。
しかし、これはntpの答えではありません...
Sudo date -s "$(wget -qSO- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d' ' -f5-8)Z"
これとcurlバージョン here 。
私は同じ問題を抱えていましたが、これが私がそれを解決した方法です。私は上から下へ詳細な答えをしました。あなたは私の答えの真ん中にスキップするか、それを一目で理解するために下のスクリーンショットを参照したいかもしれません。
最初 ntpdateをインストールします(明らかにこれを実行しました)
Sudo apt-get install ntpdate
NEXTサーバーでntpを次のように設定する必要があります。
少なくとも/etc/ntp.conf構成ファイルで以下のパラメーターを設定する必要があります。server
たとえば、nano text editorを使用して/etc/ntp.confファイルを開きます。
Sudo nano /etc/ntp.conf
サーバーパラメータを見つけ、空の場合は次のように設定します。
server pool.ntp.org
しかし、通常、ubuntuでは既にいくつかのサーバーが事前に作成されています。
server 0.ubuntu.pool.ntp.org
server 1.ubuntu.pool.ntp.org
server 2.ubuntu.pool.ntp.org
server 3.ubuntu.pool.ntp.org
その後、ファイルを保存してntpdサービスを再起動します:
Sudo /etc/init.d/ntpd start
次のコマンドを使用して、システムクロックをNTPサーバーにすぐに同期できます。
Sudo ntpdate pool.ntp.org
または、既に実行されているサーバーが定義されています
Sudo ntpdate 0.ubuntu.pool.ntp.org
またはサーバーを使用して定義された他のサーバー
一般的に
Sudo ntpdate <one of the servername in /etc/ntp.conf>
BUTその後、次のようにエラーNTP socket in use
が発生する可能性があります。
その場合は単に実行する
ntpdate -u pool.ntp.org
ntpデーモンの実行中に更新する
または、次のようにデーモンを停止し、更新してから再起動します。
Sudo ntpdate pool.ntp.org
Sudo service ntp stop
Sudo ntpdate pool.ntp.org
Sudo service ntp start
あなたは得るでしょう
htpdateを使用
ネットワークでntp送信がブロックされている場合は、htpdateをインストールします。 HTTPプロトコルで時間を同期します。 manページによると、精度は0.5秒以内になります。
Sudo apt-get install htpdate
Sudo htpdate -a google.com
パッケージをインストールすると、htpdateサービスが開始されます。インターネット接続がある場合、時間はすぐに更新されます。
アレックスの答えと同様に、これはファイアウォールで保護されたntpポートを回避するために私のために働いた:
Sudo date -s "$(curl http://s3.amazonaws.com -v 2>&1 | \
grep "Date: " | awk '{ print $3 " " $5 " " $4 " " $7 " " $6 " GMT"}')"
ただの提案。私はしばらくの間この問題を抱えていたが、それが機能し始めたが、私はディスク上にこれ以上のスペースがないがあることを発見した
私たちもこの問題に直面していました。しかし、次のコマンドを押すことで問題を解決することができました。
ssh localhost "Sudo apt-get install ntp ntpdate ; Sudo service ntp stop; Sudo ntpdate 0.ubuntu.pool.ntp.org; Sudo service ntp start"
このためには、openssh-server
をインストールする必要があります。
また、上記のssh
コマンドを実行する前に、ntpとntpdate(Sudo apt-get remove --purge ntp ntpdate
)を削除します。