2021年12月31日金曜日

時刻の設定(systemd-timesyncd.service)

Debian 10(buster)ではsystemd-timesyncd.serviceが時刻の調整などをしているようで、

NTPサーバーの設定(https://9change2debian.blogspot.com/2009/09/ntp.html)なども以前とは異なっています。


設定ファイルの場所

/etc/systemd/timesyncd.conf

設定ファイルへ使用したいNTPサーバーを記述します。

自分の設定をサンプルとして載せておきます。


[Time]

NTP=pool ntp.nict.jp

FallbackNTP=0.jp.pool.ntp.org 1.jp.pool.ntp.org 2.jp.pool.ntp.org 3.jp.pool.ntp.org


NTP=

メインで使用するサーバーを設定します。


FallbackNTP=

予備のサーバーを設定します。


現在設定しているNTPサーバーの構成を表示

$ timedatectl show-timesync --all


LinkNTPServers=

SystemNTPServers=pool ntp.nict.jp

FallbackNTPServers=0.jp.pool.ntp.org 1.jp.pool.ntp.org 2.jp.pool.ntp.org 3.jp.pool.ntp.org

ServerName=ntp.nict.jp

ServerAddress=133.243.238.243

RootDistanceMaxUSec=5s

PollIntervalMinUSec=32s

PollIntervalMaxUSec=34min 8s

PollIntervalUSec=1min 4s

NTPMessage={ Leap=0, Version=4, Mode=4, Stratum=1, Precision=-20, RootDelay=0, RootDispersion=0, Reference=NICT, OriginateTimestamp=Sat 2020-10-03 11:32:52 JST, ReceiveTimestamp=Sat 2020-10-03 11:32:52 JST, TransmitTimestamp=Sat 2020-10-03 11:32:52 JST, DestinationTimestamp=Sat 2020-10-03 11:32:52 JST, Ignored=no PacketCount=1, Jitter=0 }

Frequency=693419



現在の時刻と設定を表示

$ timedatectl status


               Local time: 土 2020-10-03 11:24:52 JST

           Universal time: 土 2020-10-03 02:24:52 UTC

                 RTC time: 土 2020-10-03 02:24:52

                Time zone: Asia/Tokyo (JST, +0900)

System clock synchronized: yes

              NTP service: active

          RTC in local TZ: no


NTP service:がactive

ではなく、

NTP service: inactive

となっている場合はNTPサービスを有効にします。


NTPサービスの有効/無効(管理者権限が必要です)

有効化

$ timedatectl set-ntp true

無効化

$ timedatectl set-ntp false


NTPサービスの詳細を表示

$ timedatectl timesync-status


       Server: 133.243.238.243 (ntp.nict.jp)

Poll interval: 1min 4s (min: 32s; max 34min 8s)

         Leap: normal

      Version: 4

      Stratum: 1

    Reference: NICT

    Precision: 1us (-20)

Root distance: 0 (max: 5s)

       Offset: +2.098ms

        Delay: 15.635ms

       Jitter: 0

 Packet count: 1

    Frequency: +10.581ppm



RTC(ハードウェアクロック)は基本的にローカルタイムではなくUTCのほうが良いようです。

今回はローカルタイムを無効化しても以前のような再起動後の時刻のずれ(https://9change2debian.blogspot.com/2009/09/blog-post.html)は発生しませんでした。


RTC(ハードウェアクロック)をローカルタイムで使用

有効化

$ timedatectl set-local-rtc true

無効化

$ timedatectl set-local-rtc false


2020年10月3日土曜日

Debian 10(buster) suで/usr/sbinディレクトリに置かれたコマンドが見つからない

例)
# grub-install /dev/sda
bash: grub-install: コマンドが見つかりません

となってしまいsuで/usr/sbinに収納されたプログラムを起動できません。

これはsuコマンドの扱いが変わったためのようで、suを使用すると直前のログインユーザーのPATH設定が引き継がれてしまうため起こるようです。
https://wiki.debian.org/NewInBuster

su
ではなく
su -
としてrootログインすればusr/sbinに収納されたプログラムを起動できました。

他にはusr/sbinにPATHを通す方法もありますが、個人的にはsu - を使ったほうがスマートのように思います。
以下備忘録を兼ねて書き留めておきます。

通っているPATHを確認
$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games

# echo $PATH
(上記のsuコマンドの仕様変更のため、suとsu -でログインしたのでは結果が異なります)

suでログインした場合
# echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games

su - でログインした場合
# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
(su - でログインするとちゃんと/usr/sbinが含まれています)

su - 時に読み込む設定ファイル
/etc/profile
中身を見てみますと
if [ "`id -u`" -eq 0 ]; then
  PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
と記述がありますので、スーパーユーザーの場合/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/binのPATHが通る設定となっているようです。

suで以前のように動作させる場合
su時に読み込む設定ファイル
/etc/login.defs
に下記を追加することで以前の動作となるようです。
ALWAYS_SET_PATH yes

ユーザーごとにPATHを設定する場合
ユーザーごとの設定ファイル
/home/ユーザー名/.profile
ここに通したいPATHの設定を記述します。

追加設定例
PATH="$PATH:/usr/sbin"

設定反映
$ source /home/ユーザー名/.profile

uim環境での/usr/lib/mozc/mozc_tool起動エラー

これは以前からあるバグですが、Debian Backportsの方ではbusterより修正済みのようです。
https://wiki.debian.org/JapaneseEnvironment/Mozc

backportsリポジトリ設定
https://wiki.debian.org/Backports

他の解決策としてはuim以外のIMを使用することです。自分はこちらを実行しました。
uim以外ですとibusかfcitxになると思いますが、fcitxを選択しました。

パッケージマネージャーやコマンド等でfcitx-mozcをインストールします。
※fcitx-mozcを指定すれば依存関係により必要な他のパッケージも入ります。

インストール後、設定>入力メソッド(im-config)でfcitxを選択設定します。

以上でmozc_toolが起動できるようになりました。

Debian 10(buster)サスペンドの不具合

Debian 10(buster)のXfce環境でサスペンドから復帰時に画面がブランク状態になってしまう不具合に遭遇しました。
調べたところスクリーンのロック(light-locker)が何かと衝突して起こる現象らしく、スクリーンのロック(light-locker)を停止しておけば回避できるとのことでした。
この問題はあちこちで話題に上がっているようですが、完全な解決策は自分には見つけることができませんでした。

自分は単純にスクリーンのロック(light-locker)を起動時に立ち上がらないように設定しました。

設定>セッションと起動>自動開始アプリケーション>
スクリーンのロック(スクリーンロックのプログラムを実行する)のチェックを外す。

※スクリーンのロック(light-locker)を停止すると画面のロックは使用できなくなります。
セキュリティ的に不安な使用環境の場合はログアウトしてからサスペンドするなどの対策が必要となるかもしれません。

Debian 10(buster)

リリースから大分経ちましたが、Debian 10(buster)をインストールしました。
デスクトップ環境はXfceを選択しました。
Debian 8 (Jessie)が自分の環境では今ひとつ上手く動かなかったので、一時期Xubuntu 16LTS 18LTSとubuntuの派生を使用していましたが、9(stretch)からDebianに戻って来ました。
Debian 10(buster)はアップデートでなく、新規でのインストールを行いました。
導入後いくつかの問題はありましたが、現在は解決しています。

サスペンドの不具合
サスペンドから復帰時に画面がブランク状態になってしまう。

uim環境での/usr/lib/mozc/mozc_tool起動エラー
(だいぶ以前からあるバグですが、Debian Backportsの方ではbusterより修正済みのようです)

suで/usr/sbinディレクトリに置かれたコマンドが見つからない。
例)# grub-install /dev/sda
bash: grub-install: コマンドが見つかりません

解決方法は個別に記事にしましたのでそちらをご覧ください。