学習記録#33 250714

667ページから

685ページまで

コンピュータにハードウェアとして内蔵された時計をハードウェア時刻という
Linuxカーネル内に存在する時計をシステム時刻という
Linux起動時に、ハードウェア時刻を参照してシステム時刻が設定され、その後は別々に動く。よって、起動後時間が経過すると両者に差が生じる

dateコマンドを使うと、システム時刻を参照して現在の日時が表示される
$ date
Mon Jul 14 12:34:23 UTC 2025

rootユーザーは、このコマンドでシステム時刻を変更できる
date MMDDhhmmCCYY.ss
例)
date 030410002020.50 → 2020/03/04 10:00:50
また、引数を+
で始めると、書式を指定して日時を表示する
例)
$ date "+%Y/%m/%d (%a)"
→2025/07/14 (Mon)

hwclockコマンドで、ハードウェア時刻の参照や設定を行う。設定にはroot権限が必要
例)
システム時刻の時刻をハードウェア時刻に設定
$ hwclock --sytohcs

timedatectlコマンド:
systemdを採用したディストリビューションでは、timedatectlコマンドで日付と時効、タイムゾーンを管理できる

/usr/share/zoneinfoディレクトリ以下のバイナリファイルに、タイムゾーンの情報が格納されている

システムで利用するタイムゾーンは、上記の中のファイルを/etc/localtimeにコピーすることで設定できる。
コピーではなくシンボリックリンクを作成しても良い
また、タイムゾーンは環境変数TZで設定することも可能
tzselectコマンドで、一覧からタイムゾーンを選択することも可能

インターネット上にあるNTPサーバーからネットワーク経由でハードウェア時刻を合わせることができる。
設定するにはNTP(ネットワークタイムプロトコル)を使う

NTPは階層構造になっており、最上位にあるのは原子時計やGPSなどの極めて正確な時刻情報の提供元

ntpdateコマンドを使うと、NTPサーバーから正確な現在時刻を取得する
ntpdate NTP サーバー名

ntpqコマンドで、NTPサーバーの状態を照会できる。要するに、一覧が見れる

Chrony:
ntpd/ntpdateの代替となる、NTPサーバー・クライアントソフトウェア
デーモンプロセスchronydと、クライアントコマンドchronycから構成される

Linuxでは、syslogを使って様々なイベントをログファイルに記録したり、コンソールに表示したりできる
このほかに、rsyslogやsyslog-ngなどが使われている

syslogなどが各ソフトウェアからログメッセージを受け取り、受け取ったログメッセージをログファイル、端末画面、その他ホストに出力する

rsyslogの設定は、/etc/syslog.confファイルおよび/etc/rsyslog.dディレクトリ以下のファイルで行う