このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
【Linux】chronyd関連の情報を表示する:chronycコマンド
chronyd関連の情報を表示する:chronycコマンド
Linuxシステムの正確な時刻同期を維持するために、chronyd
デーモンは広く利用されています。chronyd
は、高速かつ柔軟な時刻同期を提供し、特に不安定なネットワーク環境やモバイルデバイスでの使用に適しています。これに伴い、chronyd
の動作状況や設定を管理するためのツールとしてchronyc
コマンドが存在します。
chronyc
コマンドは、chronyd
の状態や統計情報を表示・操作するための強力なコマンドラインユーティリティです。このツールを使用することで、システム管理者は時刻同期の状態を簡単に確認し、必要に応じて設定を変更することができます。
chronycコマンドの概要
chronyc
は、chronyd
デーモンの状態や統計情報を表示・操作するためのコマンドラインユーティリティです。主に時刻同期の状態確認や設定変更に使用されます。
【構文】chronyc [サブコマンド]
主なサブコマンドと説明
サブコマンド | 説明 |
---|---|
sources | 参照しているNTPサーバーの情報を表示 |
chronyのインストール手順(Ubuntuの場合)
chrony
パッケージのインストール
利用可能なソフトウェアリポジトリのパッケージリストを更新します。
・「sudo apt update
」コマンドを実行します。
user01@ubuntu-vm:~$ sudo apt update
[sudo] user01 のパスワード:
ヒット:1 http://jp.archive.ubuntu.com/ubuntu jammy InRelease
取得:2 http://security.ubuntu.com/ubuntu jammy-security InRelease [129 kB]
取得:3 http://jp.archive.ubuntu.com/ubuntu jammy-updates InRelease [128 kB]
取得:4 http://security.ubuntu.com/ubuntu jammy-security/main i386 Packages [506 kB]
(省略)
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了
状態情報を読み取っています... 完了
アップグレードできるパッケージが 248 個あります。表示するには 'apt list --upgradable' を実行してください。
chrony
パッケージをインストールします。
・「sudo apt install chrony
」コマンドを実行します。
user01@ubuntu-vm:~$ sudo apt install chrony
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了
状態情報を読み取っています... 完了
以下のパッケージは「削除」されます:
systemd-timesyncd
以下のパッケージが新たにインストールされます:
chrony
アップグレード: 0 個、新規インストール: 1 個、削除: 1 個、保留: 247 個。
290 kB のアーカイブを取得する必要があります。
この操作後に追加で 361 kB のディスク容量が消費されます。
続行しますか? [Y/n] y
取得:1 http://jp.archive.ubuntu.com/ubuntu jammy/main amd64 chrony amd64 4.2-2ubuntu2 [290 kB]
290 kB を 1秒 で取得しました (244 kB/s)
(データベースを読み込んでいます ... 現在 208927 個のファイルとディレクトリが
インストールされています。)
systemd-timesyncd (249.11-0ubuntu3.11) を削除しています ...
以前に未選択のパッケージ chrony を選択しています。
(データベースを読み込んでいます ... 現在 208913 個のファイルとディレクトリが
インストールされています。)
.../chrony_4.2-2ubuntu2_amd64.deb を展開する準備をしています ...
chrony (4.2-2ubuntu2) を展開しています...
chrony (4.2-2ubuntu2) を設定しています ...
Creating config file /etc/chrony/chrony.conf with new version
Creating config file /etc/chrony/chrony.keys with new version
dpkg-statoverride: 警告: --update が指定されましたが、/var/log/chrony は存在
しません
Created symlink /etc/systemd/system/chronyd.service → /lib/systemd/system/ch
rony.service.
Created symlink /etc/systemd/system/multi-user.target.wants/chrony.service →
/lib/systemd/system/chrony.service.
dbus (1.12.20-2ubuntu4.1) のトリガを処理しています ...
man-db (2.10.2-1) のトリガを処理しています ...
chronyd
サービスの起動
・「sudo systemctl start chrony
」コマンドを実行します
user01@ubuntu-vm:~$ sudo systemctl start chrony
chronyd
サービスの自動起動の設定
・「sudo systemctl enable chrony
」コマンドを実行します
user01@ubuntu-vm:~$ sudo systemctl enable chrony
Synchronizing state of chrony.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable chrony
コマンドの使用例と解説
1.参照先のNTPサーバーの確認
・「chronyc sources localhost
」コマンドを実行します
このコマンドは、現在のLinuxシステムが参照しているNTPサーバーを表示します。localhost
は操作しているLinux自身を指します。
user01@ubuntu-vm:~$ chronyc sources localhost
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^- prod-ntp-4.ntp1.ps5.cano> 2 9 377 156 +2562us[+2562us] +/- 116ms
^- prod-ntp-3.ntp4.ps5.cano> 2 9 377 144 +2651us[+2651us] +/- 116ms
^- prod-ntp-5.ntp4.ps5.cano> 2 9 377 476 +2805us[+2805us] +/- 120ms
^- alphyn.canonical.com 2 9 377 148 +869us[ +869us] +/- 116ms
^- time.cloudflare.com 3 9 377 419 +4296us[+4296us] +/- 75ms
^* ntp-b2.nict.go.jp 1 9 377 482 -599us[ -872us] +/- 11ms
^- mail.moe.cat 2 9 377 98 -21us[ -21us] +/- 30ms
^+ ntp-a2.nict.go.jp 1 9 377 282 +79us[ +79us] +/- 12ms
2.参照先のNTPサーバーの変更
設定ファイルの編集
・「sudo nano /etc/chrony/chrony.conf
」コマンドを実行します
nanoエディタで編集します。※エディタはお好みのものを使用してください。
現在の参照先をコメントアウトし、新しいNTPサーバーを追加します。
(省略)
#pool ntp.ubuntu.com iburst maxsources 4 # コメントアウト
#pool 0.ubuntu.pool.ntp.org iburst maxsources 1 # コメントアウト
#pool 1.ubuntu.pool.ntp.org iburst maxsources 1 # コメントアウト
#pool 2.ubuntu.pool.ntp.org iburst maxsources 2 # コメントアウト
server ntp.nict.jp iburst # 新規で行を追加
nanoエディタの場合、「Ctrl」+「s」キーで保存し、「Ctrl」+「x」で終了します。
chronyd
サービスの再起動
・「sudo systemctl restart chrony
」コマンドを実行します
user01@ubuntu-vm:~$ sudo systemctl restart chrony
3.chronyd
サービスの稼働状況の確認
・「sudo systemctl status chrony
」コマンドを実行します
このコマンドは、chronyd
サービスの現在の稼働状況を確認します。
Active欄が「active (running)」と表示されたら、chronydは、問題なく再起動していることを意味します。
user01@ubuntu-vm:~$ sudo systemctl status chrony
● chrony.service - chrony, an NTP client/server
Loaded: loaded (/lib/systemd/system/chrony.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2024-07-19 00:03:55 JST; 1min 55s ago
Docs: man:chronyd(8)
man:chronyc(1)
man:chrony.conf(5)
Process: 4521 ExecStart=/usr/lib/systemd/scripts/chronyd-starter.sh $DAEMON_OPTS (co>
Main PID: 4530 (chronyd)
Tasks: 2 (limit: 2242)
Memory: 1.4M
CPU: 34ms
CGroup: /system.slice/chrony.service
├─4530 /usr/sbin/chronyd -F 1
└─4531 /usr/sbin/chronyd -F 1
(省略)
「q」キーを押して終了させます。
4.参照先のNTPサーバーの確認
・「chronyc sources
」コマンドを実行します
このコマンドは、chronyc sources localhost
と同様に、参照しているNTPサーバーの情報を表示します。
※表示されるサーバー名は、環境によって異なります。
user01@ubuntu-vm:~$ chronyc sources
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^* ntp-b2.nict.go.jp 1 6 377 37 -153us[ +64us] +/- 10ms
chronycコマンドの注意点
chronyc
コマンドを実行しても何も表示されない場合があります。chronyd
の再起動した直後は、参照先のNTPサーバーの特定する作業が完了しておらず、NTPサーバーを参照できていないことがあります。その場合は、少し時間を置いてから、再度chronyc
コマンドを実行ます。
まとめ
chronyc
コマンドは、chronyd
の状態や統計情報を確認・操作するための強力なツールです。特に、NTPサーバーの参照状況やシステムクロックの状態を確認する際に便利です。適切に設定・使用することで、Linuxシステムの時刻同期を正確に維持することができます。