会津バスのスマートバス停を見てきた(PAPERCAST製品利用例

2018年2月に会津バスでスマートバス停が実証試験を始めるというニュースがあった。

(注: 2022年5月時点では物理的に設置はされているものの稼働していませんでした。詳しくは後述)

インプレス:「会津バスに「スマートバス停」、KDDIなど導入支援――LPWA・電子ペーパー活用で外部電源不要
みちのりホールディングズ:「みちのりホールディングス(会津バス)など会津若松市内で国内初となる次世代スマートバス停の実証実験を開始
会津バス:「会津若松市内で国内初となる次世代スマートバス停の実証実験を開始します。

2018年2月17日より運用を始め、設置した2種類をベースに新しいものを2018年4月から1年間で開発する、的なリリースになっていた。

さすがにもう無くなったかな?と会津バスのtwitterアカウントに聞いて見たところ、実用化に課題があるため実証期間を延長し、まだ運用されているとの回答をもらったので見に行ってみた。

まず、見に行ったのは神明通りバス停。

ちょっと離れたところから、会津若松駅方面のバス停をみたところ、なさそうに見えたので、TSUTAYA前の鶴ヶ城方面のバス停を見てみる。

めっちゃ普通のバス停しかない。

おやー?と思ってもう1回会津若松駅方面のバス停の方を見てみると・・・

おや?奥にもう1つバス停がある?

ありました。

2連タイプのバス停です。

ただし、バスロケーションシステムは稼働していませんでした。

まず、時刻表の表示位置が低すぎるのと、文字が細すぎるの2点があるため、バス停の前でしゃがまないと時刻表を読むのが困難でした。

そして、しゃがんでもなお、注意書きとか細かな経路違い表示とかの文字が小さすぎるし、文字の濃淡が薄すぎて読めない・・・

スマートバス停の後ろ側に普通の時刻表がありましたが、こっちのがハッキリしてて見やすいですね。

横に出てるのはLWPAのアンテナなのかな?

ここについているカメラは何の役割なのかな?

バス停の前に立ったらE-Ink表示のリフレッシュが走ったので人感センサーを兼ねてたりするのかな?

時刻表の下にある銀色の丸スイッチを押すと画面のリフレッシュ処理が実行されました。

続いて、鶴ヶ城入口のバス停まで移動・・・

こちらは会津若松駅から来るバスが止まるバス停にありました。

こちらの1画面タイプは、時刻表の表示位置も適切で、表示内容も比較的見やすい感じでした。

よこからみるとこれくらいの大きさで、まぁ、実際に設置するならこれくらいがいいんじゃないかなぁ、と感じました。

こちらのバス停は「PAPERCAST」というロゴが入っていました。

調べて見ると「PAPERCAST E-Paper Bus Stop Passenger Information Display」という既存製品でした。

2画面タイプのもとになっているのでは?というものもありました。

元々WiFi/3G/LTEモジュールを組み込む前提の製品なようで、会津バスで導入するにあたり、LWPAモジュール連動と日本語表示カスタマイズを行ったようです。

PAPERCAST掲載のサンプル例には、日本のマス目レイアウトの1日の全体を表示するような時刻表は無く、次のバスまで何分、というものばかりでした。

顧客が必要なのは「次のバスまで何分」という表示を実現するには液晶だと電力消費が大きいので、E-Inkにする、という感じなのが、もともとのPAPERCAST製品のありかたであるようです。

日本みたいな1日全体の時刻表示のニーズがあまりないんでしょうかねぇ?

1日全体を表示するにはスペースがキツイ、という感じですね。

ちなみにPAPERCAST製品としては、使用するE-Inkディスプレイも、9.7インチ、13.3インチ、23インチ、32インチ、42インチ、57インチが選択できるようです。

このうち32インチモデルはカラー表示も可能なようです。

ハードウェアとしては問題なさそうですが、ソフトウェア面の課題が大きそうです。

はたして本格稼働はいつになることやら?


2022年5月時点の状況について

2022年5月4日に会津若松を訪れた際に現況を確認したところ、どちらのバス停も稼働していませんでした。

鶴ヶ城入口 バス停

神明通り バス停

Oracle CloundのAlways Freeインスタンスが死んだ

Oracleさんから「Production Event Notification: Oracle Cloud Infrastructure Compute – Terminated Instance for Tenant:~」というお手紙が3通来た。

障害でインスタンスを止めた。データは失われてないから新しくインスタンス作ってね。

え・・・?

というわけでログインして確認。

ない・・・

ブートボリュームは?

ちゃんとあった。

お知らせは何かあるかな?と確認

書いてある内容はメールとだいたい一緒。

しかたがないので作り直し。ブートボリュームで作り直すボリュームを選択し、「インスタンスの作成」を選択。

ん?可用性ドメインが「ロード中」のまま動かないのですが・・・

詳細を開くとあるので大丈夫かな?sshキーも指定して「作成」

無事作成完了です。

教訓としては常用するのであればパブリックIPアドレスは予約済みで取得しておかないとダメというところですね。

あと、出先でもインスタンス再作成ができるよう、sshキーのメモをどこかに用意しておかないと・・・

cluster ONTAP/ONTAP9のNFS exports設定にNISホスト名が使えないのでdnsmasqでごまかすことにした

NetAppのcluster ONTAP8.x/ONTAP9はNISを使える、と書いてあるものの、詳細を確認すると、NISホスト名は使用できず、NISユーザとパスワード、NISグループ、NIS netgroup(ホスト名用のグループ)しか使えないとのこと。

NIS netgroup対応といっても、netgroupに含まれるホスト名にNIS ホスト名が許されるわけではなく、DNS起因のホスト名の使用が許される、というものでした。(ONTAPシミュレータで確認)

既存のDNSサーバにエントリを追加してもらえれば解決ではありますが、できるかどうかわからないので、お手軽にできる回避策として、RHEL6/RHEL7などの標準パッケージ群に含まれているdnsmasqを使用した簡易DNSサーバを立ててみることにした。

dnsmasqは/etc/hostsもしくはhostsフォーマットに準じたファイルを指定して、そこのエントリを元にDNS応答を返すことができる。

NISホスト名を「ypcat hosts」で一括出力するとhostsフォーマットでエントリが取得できるので、crontabで定期的に「ypcat hosts」を実行して情報更新を行い、dnsmasqでDNSで応答を返せるようにした。

まずは、DNSサーバのインストール。

[root@nisclient ~]# yum install dnsmasq
読み込んだプラグイン:fastestmirror
インストール処理の設定をしています
Loading mirror speeds from cached hostfile
 * base: ftp.nara.wide.ad.jp
 * extras: ftp.nara.wide.ad.jp
 * updates: ftp.nara.wide.ad.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> Package dnsmasq.x86_64 0:2.48-18.el6_9 will be インストール
--> 依存性解決を終了しました。

依存性を解決しました

================================================================================
 パッケージ       アーキテクチャ  バージョン                リポジトリー   容量
================================================================================
インストールしています:
 dnsmasq          x86_64          2.48-18.el6_9             base          150 k

トランザクションの要約
================================================================================
インストール         1 パッケージ

総ダウンロード容量: 150 k
インストール済み容量: 294 k
これでいいですか? [y/N]y
パッケージをダウンロードしています:
dnsmasq-2.48-18.el6_9.x86_64.rpm                         | 150 kB     00:00
rpm_check_debug を実行しています
トランザクションのテストを実行しています
トランザクションのテストを成功しました
トランザクションを実行しています
  インストールしています  : dnsmasq-2.48-18.el6_9.x86_64                    1/1
  Verifying               : dnsmasq-2.48-18.el6_9.x86_64                    1/1

インストール:
  dnsmasq.x86_64 0:2.48-18.el6_9

完了しました!
[root@nisclient ~]#

/etc に配置された設定ファイルを確認。

[root@nisclient ~]# ls -l /etc/dnsmasq.*
-rw-r--r--. 1 root root 21214 10月  3 08:18 2017 /etc/dnsmasq.conf

/etc/dnsmasq.d:
合計 0
[root@nisclient ~]#

NISで配布されたhostsを/etc/hosts-from-nisに保存するということにして、/etc/hosts は使用しない、ということにして、/etc/dnsmasq.conf の以下を変更

変更前
# If you don't want dnsmasq to read /etc/hosts, uncomment the
# following line.
#no-hosts
# or if you want it to read another file, as well as /etc/hosts, use
# this.
#addn-hosts=/etc/banner_add_hosts
変更後
# If you don't want dnsmasq to read /etc/hosts, uncomment the
# following line.
no-hosts
# or if you want it to read another file, as well as /etc/hosts, use
# this.
addn-hosts=/etc/hosts-from-nis

上記以外のエントリは標準設定のままです。NISから配布されたhostsを/etc/hosts-from-nisに保存

[root@nisclient ~]# ypcat hosts > /etc/hosts-from-nis
[root@nisclient ~]# cat /etc/hosts-from-nis
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
172.17.44.100   nfstest
172.17.44.49    server49      server49.vm2.example.com
172.17.44.49    server49      server49.vm2.example.com
172.17.44.87    server87
172.17.44.88    server88
172.17.44.89    server89
[root@nisclient ~]#

続いてfirewalld/iptablesの設定変更して、ポート53のtcp/udpを許可。

[root@nisclient ~]# cat /etc/sysconfig/iptables
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 53 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 53 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
[root@nisclient ~]# service iptables restart
iptables: チェインをポリシー ACCEPT へ設定中filter         [  OK  ]
iptables: ファイアウォールルールを消去中:                  [  OK  ]
iptables: モジュールを取り外し中:                          [  OK  ]
iptables: ファイアウォールルールを適用中:                  [  OK  ]
[root@nisclient ~]#

firewalldの場合は以下

-bash-4.2# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens192
  sources:
  services: dhcpv6-client ssh
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

-bash-4.2# firewall-cmd --permanent --zone=public --add-service=dns
success
-bash-4.2# firewall-cmd --reload
success
-bash-4.2# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens192
  sources:
  services: dhcpv6-client dns ssh
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

-bash-4.2#

で、dnsmasqを起動して、DNSにより名前解決ができるか確認してみます。

[root@nisclient ~]# service dnsmasq status
dnsmasq は停止しています
[root@nisclient ~]# service dnsmasq start
Starting dnsmasq:                                          [  OK  ]
[root@nisclient ~]# service dnsmasq status
dnsmasq (pid  1556) を実行中...
[root@nisclient ~]#

[root@nisclient ~]# nslookup nfstest 127.0.0.1
Server:         127.0.0.1
Address:        127.0.0.1#53

Name:   nfstest
Address: 172.17.44.100

[root@nisclient ~]#

armbianで起動したchromiumが文字化けする

久しぶりにOrange Pi PC2に電源を入れたらOSが起動しなかった….

microSDに最新のarmbianを入れてGUIを表示させてみると日本語が文字化けしている。

以前、Ubuntuベースのメール統合環境アプライアンスZentyalのコンソール表示文字化けを直す際に調べた「Zentyalを日本語で使う場合の設定手順」が流用できるかなと試してみる・・・

osakanataro@orangepipc2:~$ sudo apt install  fonts-arphic-uming fonts-takao-pgothic
[sudo] osakanataro のパスワード:
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
E: パッケージ fonts-takao-pgothic が見つかりません
osakanataro@orangepipc2:~$

fonts-takao-pgothicがないらしいので、fonts-arphic-umingだけで再チャレンジ

osakanataro@orangepipc2:~$ sudo apt install fonts-arphic-uming
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下のパッケージが新たにインストールされます:
  fonts-arphic-uming
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。
7,940 kB のアーカイブを取得する必要があります。
この操作後に追加で 21.5 MB のディスク容量が消費されます。
取得:1 http://cdn-fastly.deb.debian.org/debian buster/main arm64 fonts-arphic-uming all 0.2.20080216.2-10 [7,940 kB]
7,940 kB を 7秒 で取得しました (1,142 kB/s)
以前に未選択のパッケージ fonts-arphic-uming を選択しています。
(データベースを読み込んでいます ... 現在 111309 個のファイルとディレクトリがインストールされています。)
.../fonts-arphic-uming_0.2.20080216.2-10_all.deb を展開する準備をしています ...
fonts-arphic-uming (0.2.20080216.2-10) を展開しています...
fonts-arphic-uming (0.2.20080216.2-10) を設定しています ...
fontconfig (2.13.1-2) のトリガを処理しています ...
osakanataro@orangepipc2:~$

ブラウザを起動してみると無事表示

かと思ったら、起動直後の画面とかでちらほら文字化けが..

「apt search fonts-」で探してみると、fonts-takao, fonts-takao-gothic, fonts-takao-mincho があったので「 fonts-takao-gothic 」をインストールしてみることに

osakanataro@orangepipc2:~$ sudo apt install fonts-takao-gothic
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下のパッケージが新たにインストールされます:
  fonts-takao-gothic
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。
3,523 kB のアーカイブを取得する必要があります。
この操作後に追加で 12.5 MB のディスク容量が消費されます。
取得:1 http://cdn-fastly.deb.debian.org/debian buster/main arm64 fonts-takao-gothic all 00303.01-2 [3,523 kB]
3,523 kB を 2秒 で取得しました (1,551 kB/s)
以前に未選択のパッケージ fonts-takao-gothic を選択しています。
(データベースを読み込んでいます ... 現在 111344 個のファイルとディレクトリがインストールされています。)
.../fonts-takao-gothic_00303.01-2_all.deb を展開する準備をしています ...
fonts-takao-gothic (00303.01-2) を展開しています...
fonts-takao-gothic (00303.01-2) を設定しています ...
update-alternatives: /usr/share/fonts/truetype/fonts-japanese-gothic.ttf (fonts-japanese-gothic.ttf) を提供するために自動モードで /usr/share/fonts/truetype/takao-gothic/TakaoPGothic.ttf を使います
fontconfig (2.13.1-2) のトリガを処理しています ...
osakanataro@orangepipc2:~$

出力結果を見ると、TakaoPGothic.ttf が含まれているようなので、おそらくパッケージ名が変わったのだろう、ということに…

ブラウザを起動してみると期待通りの表示が

ルータ設定画面の表示も不自然さが減少した感じです。

いまさらNIS(yp)サーバを構築してみる

既存環境への新規機器増設のため、既存環境を模した環境を作る必要があり、NIS(yp)環境を作ることになった。

なお、NISはNetwork Information Servicesの略で、ホスト名、ユーザ名とパスワード、グループ名をサーバで一括管理できるようにする仕組みです。元々は yp=yellow page=電話帳 という名称だったものが、NISと称されるようになっています。このため、コマンドなどには旧名称のypという文字列が残っています。

まず、RHEL8/CentOS8ではNISサーバはまだ提供されていますが、非推奨パッケージとなっています。

2022/12/20追記:RHEL9ではypserv/ypbindが提供されなくなりました。NISサーバ/クライアントの両面で使えなくなりました→18.3. 廃止された機能

RHEL7/CentOS7環境で作ることにして情報を探すと、HPEのページにまとまったいいものを発見・・・「RedHat Linux 7.1 での NIS 構築手順」・・・・あれ?

あれ?これ、RedHat Enterprise Linuxになる前のRedHat Linux 7.1のドキュメントか!・・・というわけでコレは使えません。

改めて探すと、最新のNISサーバの立て方としては、RedHat Identity ManagementのNISサーバープラグインを使用する、というもののようである。

また、firewalld関連でセキュリティガイドの「4.3.4. rpcbind のセキュア化」「4.3.6. NIS のセキュア化」における設定変更も必要そうである。

とりあえず、firewalldに必要な設定を実施する。上記ドキュメントではsource IPアドレスの範囲を指定しているが、テスト環境であるため指定を省略する。

今回は既存のsambaによるActiveDirectoryサーバ上に立てるので、下記の様な結果となった。

[root@adserver ~]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0
  sources:
  services: dhcpv6-client dns freeipa-ldaps freeipa-trust nfs samba ssh
  ports: 49152-65535/tcp 3269/tcp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

[root@adserver ~]# firewall-cmd --permanent --zone=public --add-port=111/tcp
success
[root@adserver ~]# firewall-cmd --permanent --zone=public --add-port=111/udp
success
[root@adserver ~]# firewall-cmd --permanent --zone=public --add-port=834/tcp
success
[root@adserver ~]# firewall-cmd --permanent --zone=public --add-port=834/udp
success
[root@adserver ~]# firewall-cmd --permanent --zone=public --add-port=835/tcp
success
[root@adserver ~]# firewall-cmd --permanent --zone=public --add-port=835/udp
success
[root@adserver ~]# firewall-cmd --reload
success
[root@adserver ~]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0
  sources:
  services: dhcpv6-client dns freeipa-ldaps freeipa-trust nfs samba ssh
  ports: 49152-65535/tcp 3269/tcp 111/tcp 111/udp 834/tcp 834/udp 835/tcp 835/udp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

[root@adserver ~]#

で、NISサーバのインストールについては、LDAPサーバを立てなければいけない「21.2. IDENTITY MANAGEMENT で NIS を有効にする」という手法では無く、伝統的なypservを起動する方とした。

ypservパッケージと管理ツールのyp-toolsが必要なのでインストールは「yum install ypserv yp-tools」と実行する

[root@adserver ~]# yum search ypserv yp-tools
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.riken.jp
 * epel: ftp.riken.jp
 * extras: ftp.riken.jp
 * updates: ftp.riken.jp
============================= N/S matched: ypserv ==============================
ypserv.x86_64 : The NIS (Network Information Service) server

  Name and summary matches only, use "search all" for everything.
[root@adserver ~]# yum install ypserv yp-tools
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.riken.jp
 * epel: ftp.riken.jp
 * extras: ftp.riken.jp
 * updates: ftp.riken.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
<略>
依存性を解決しました

================================================================================
 Package              アーキテクチャー
                                     バージョン              リポジトリー  容量
================================================================================
インストール中:
 ypserv               x86_64         2.31-12.el7             base         156 k
 yp-tools          x86_64          2.14-5.el7               base           79 k
依存性関連でのインストールをします:
 tokyocabinet         x86_64         1.4.48-3.el7            base         459 k
 ypbind            x86_64          3:1.37.1-9.el7           base           62 k

トランザクションの要約
================================================================================
インストール  2 パッケージ (+2 個の依存関係のパッケージ)

総ダウンロード容量: 615 k
インストール容量: 1.7 M
Is this ok [y/d/N]: y
Downloading packages:
<略>
インストール:
  ypserv.x86_64 0:2.31-12.el7
  yp-tools.x86_64 0:2.14-5.el7

依存性関連をインストールしました:
  tokyocabinet.x86_64 0:1.4.48-3.el7
  ypbind.x86_64 3:1.37.1-9.el7

完了しました!
[root@adserver ~]#

インストールが終わるとちゃんとypserv,yppasswdd,ypxfrdがsystemdに登録されていることが確認できる。

[root@adserver ~]# systemctl list-unit-files|grep yp
hypervfcopyd.service                          static
hypervkvpd.service                            static
hypervvssd.service                            static
yppasswdd.service                             disabled
ypserv.service                                disabled
ypxfrd.service                                disabled
cryptsetup-pre.target                         static
cryptsetup.target                             static
remote-cryptsetup.target                      disabled
[root@adserver ~]#

昔のドキュメントを見ると、NISドメイン名を設定するために/etc/sysconfig/networkに「NISDOMAIN=ドメイン名」を追加するとあるが、RHEL7/CentOS7でも有効であるのかがよく分からない。

systemdからypserv.serviceを起動する時に読み込むファイル「/usr/lib/systemd/system/ypserv.service」の内容を確認すると下記の様になっていた。

[Unit]
Description=NIS/YP (Network Information Service) Server
Requires=rpcbind.service
After=syslog.target network.target rpcbind.service

[Service]
Type=notify
NotifyAccess=all
EnvironmentFile=-/etc/sysconfig/network
ExecStart=/usr/sbin/ypserv -f $YPSERV_ARGS
PrivateTmp=true

[Install]
WantedBy=multi-user.target

環境ファイルとして「/etc/sysconfig/network」を読み込んでいるので、現在も有効な手法なようである。

[root@adserver ~]# cat /etc/sysconfig/network
# Created by anaconda
[root@adserver ~]# echo NISDOMAIN=nisdom >> /etc/sysconfig/network
[root@adserver ~]# cat /etc/sysconfig/network
# Created by anaconda
NISDOMAIN=nisdom
[root@adserver ~]#

ypservを起動してログを確認。

[root@adserver ~]# systemctl start ypserv
[root@adserver ~]# systemctl status ypserv -l
● ypserv.service - NIS/YP (Network Information Service) Server
   Loaded: loaded (/usr/lib/systemd/system/ypserv.service; enabled; vendor preset: disabled)
   Active: active (running) since 月 2019-12-09 18:55:17 JST; 12s ago
 Main PID: 1555 (ypserv)
   Status: "Processing requests..."
   CGroup: /system.slice/ypserv.service
           mq1555 /usr/sbin/ypserv -f

12月 09 18:55:17 adserver.adosakana.net systemd[1]: Starting NIS/YP (Network Information Service) Server...
12月 09 18:55:17 adserver.adosakana.net ypserv[1555]: WARNING: no securenets file found!
12月 09 18:55:17 adserver.adosakana.net systemd[1]: Started NIS/YP (Network Information Service) Server.
[root@adserver ~]#

/var/yp/securenets ファイルが無いことについて警告が表示されているが無視する。

NISデータベースの初期化について「/usr/lib/yp/ypinit -m」と書いてあるやつもあるが、いまどきは64bitなので「/usr/lib64/yp/ypinit -m」となる。

また、ypinit実行前にnisdomainnameコマンドでNISドメイン名を設定する必要がある。

[root@adserver ~]# nisdomainname
nisdomainname: Local domain name not set
[root@adserver ~]# nisdomainname nisdom
[root@adserver ~]# nisdomainname
nisdom
[root@adserver ~]# /usr/lib64/yp/ypinit -m

At this point, we have to construct a list of the hosts which will run NIS
servers.  adserver is in the list of NIS server hosts.  Please continue to add
the names for the other hosts, one per line.  When you are done with the
list, type a <control D>.
        next host to add:  adserver
        next host to add:
The current list of NIS servers looks like this:

adserver

Is this correct?  [y/n: y]  y
We need a few minutes to build the databases...
Building /var/yp/nisdom/ypservers...
Running /var/yp/Makefile...
gmake[1]: ディレクトリ `/var/yp/nisdom' に入ります
Updating passwd.byname...
Updating passwd.byuid...
Updating group.byname...
Updating group.bygid...
Updating hosts.byname...
Updating hosts.byaddr...
Updating rpc.byname...
Updating rpc.bynumber...
Updating services.byname...
Updating services.byservicename...
Updating netid.byname...
Updating protocols.bynumber...
Updating protocols.byname...
Updating mail.aliases...
gmake[1]: ディレクトリ `/var/yp/nisdom' から出ます

adserver has been set up as a NIS master server.

Now you can run ypinit -s adserver on all slave server.
[root@adserver ~]#

これで設定はできたので、yppasswddの起動と、ypserv/yppasswddが常時起動するように設定変更を行う。

[root@adserver ~]# systemctl start yppasswdd
[root@adserver ~]# systemctl enable ypserv.service
Created symlink from /etc/systemd/system/multi-user.target.wants/ypserv.service to /usr/lib/systemd/system/ypserv.service.
[root@adserver ~]# systemctl enable yppasswdd.service
Created symlink from /etc/systemd/system/multi-user.target.wants/yppasswdd.service to /usr/lib/systemd/system/yppasswdd.service.
[root@adserver ~]#

2022/08/12追記

NISサーバ上でypcatは使えない

「NISサーバはNISクライアントではないのでypcatコマンドによる情報表示はエラーとなる」

NISサーバ上で「ypcat -x」を実行すると下記が出力される

# ypcat -x
Use "ethers"    for map "ethers.byname"
Use "aliases"   for map "mail.aliases"
Use "services"  for map "services.byname"
Use "protocols" for map "protocols.bynumber"
Use "hosts"     for map "hosts.byname"
Use "networks"  for map "networks.byaddr"
Use "group"     for map "group.byname"
Use "passwd"    for map "passwd.byname"
#

しかし「ypcat passwd」を実行するとエラーになる。

# ypcat passwd
No such map passwd.byname. Reason: Can't bind to server which serves this domain
#

これはypcatコマンドはNISクライアントデーモンのypbindコマンドと通信して情報を取ってくるため、ypbindが起動していないNISサーバ上では通信相手(ypbind)がいないためエラーとなっている、という話。

ypcat passwdはNISクライアント側で実行しろ、ということでした。