既に rockylinux9 でnisの提供は終わっているのだが、nisでどうしても運用ということもある
っで rockylinux10 での nis 実装を試みた 素直に FreeIPA に移った方がいいかもね

[root@rockylinux10 ~]# cat /etc/redhat-release
Rocky Linux release 10.1 (Red Quartz)
 
[root@rockylinux10 ~]#

ypbind-mt

[root@rockylinux10 ~]# git clone https://github.com/thkukuk/ypbind-mt
 
[root@rockylinux10 ~]# cd ypbind-mt/
[root@rockylinux10 ypbind-mt]# git log -1
commit 044299c049dff949647ada4556c9d25290892911 (HEAD -> master, tag: v2.7.2, origin/master, origin/HEAD)
Author: Thorsten Kukuk <kukuk@suse.com>
Date:   Fri Jan 31 09:44:12 2020 +0100
 
    Release version 2.7.2
 
[root@rockylinux10 ypbind-mt]# cd ..
 
[root@rockylinux10 ~]# tar --exclude-vcs --transform 's/ypbind-mt/ypbind-mt-2.7.2/' -cvzf ypbind-mt-2.7.2.tar.gz ypbind-mt

rpmbuildに必要な spec ファイルを rockylinux8 の ypbind から得て

[root@rockylinux10 ~]# rpm -Uvh http://dl.rockylinux.org/pub/rocky/8/AppStream/source/tree/Packages/y/ypbind-2.5-2.el8.src.rpm
[root@rockylinux10 ~]# vi rpmbuild/SPECS/ypbind.spec

SPECファイルをちょいと修正

--- rpmbuild/SPECS/ypbind.spec.orig     2021-04-12 18:07:59.000000000 +0900
+++ rpmbuild/SPECS/ypbind.spec  2025-12-07 14:50:51.416924779 +0900
@@ -1,7 +1,7 @@
 Summary: The NIS daemon which binds NIS clients to an NIS domain
 Name: ypbind
 Epoch: 3
-Version: 2.5
+Version: 2.7.2
 Release: 2%{?dist}
 License: GPLv2
 Group: System Environment/Daemons
@@ -58,7 +58,7 @@
 %patch1 -p1 -b .gettextdomain
 %patch2 -p1 -b .helpman
 #%patch3 -p1 -b .systemdso
-%patch4 -b .gettext_version
+#%patch4 -b .gettext_version
 
 autoreconf -fiv

っで構築

[root@rockylinux10 ~]# mv ypbind-mt-2.7.2.tar.gz rpmbuild/SOURCES/
 
[root@rockylinux10 ~]# dnf install epel-release -y
[root@rockylinux10 ~]# dnf config-manager --enable crb
[root@rockylinux10 ~]# dnf install dbus-glib-devel libnsl2-devel libtirpc-devel systemd-devel
[root@rockylinux10 ~]# rpmbuild -bb rpmbuild/SPECS/ypbind.spec
[root@rockylinux10 ~]# ls -l rpmbuild/RPMS/x86_64/
total 148
-rw-r--r--. 1 root root 53684 Dec  7 15:31 ypbind-2.7.2-2.el10.x86_64.rpm
-rw-r--r--. 1 root root 61778 Dec  7 15:31 ypbind-debuginfo-2.7.2-2.el10.x86_64.rpm
-rw-r--r--. 1 root root 27355 Dec  7 15:31 ypbind-debugsource-2.7.2-2.el10.x86_64.rpm
[root@rockylinux10 ~]#

あとnss_nisとyp-toolsが必要です

nss_nis

[root@rockylinux10 ~]# git clone https://github.com/thkukuk/libnss_nis
[root@rockylinux10 ~]# cd libnss_nis
[root@rockylinux10 libnss_nis]# git log -1
commit 3c206b762ac8557dab3c40ff3a297c9d1bff0d83 (HEAD -> master, tag: v3.4, origin/master, origin/HEAD)
Author: Thorsten Kukuk <kukuk@suse.com>
Date:   Wed Aug 27 10:03:40 2025 +0200
 
    Release version 3.4
[root@rockylinux10 libnss_nis]#
[root@rockylinux10 libnss_nis]# cd ..
[root@rockylinux10 ~]# tar --exclude-vcs --transform 's/libnss_nis/libnss_nis-3.4/' -cvzf libnss_nis-3.4.tar.gz libnss_nis

こちらも rockylinux8 の nss_nis を拾って spec ファイルを弄ります

[root@rockylinux10 ~]# rpm -Uvh http://dl.rockylinux.org/pub/rocky/8/BaseOS/source/tree/Packages/n/nss_nis-3.0-8.el8.src.rpm
[root@rockylinux10 ~]# vi rpmbuild/SPECS/nss_nis.spec
--- rpmbuild/SPECS/nss_nis.spec.orig    2025-12-07 15:36:02.915918747 +0900
+++ rpmbuild/SPECS/nss_nis.spec 2025-12-07 15:36:28.432590734 +0900
@@ -1,11 +1,11 @@
 Name:           nss_nis
-Version:        3.0
+Version:        3.4
 Release:        8%{?dist}
 Summary:        Name Service Switch (NSS) module using NIS
 License:        LGPLv2+
 Group:          System Environment/Base
 Url:            https://github.com/thkukuk/libnss_nis
-Source:         https://github.com/thkukuk/libnss_nis/archive/v%{version}.tar.gz
+Source:         https://github.com/thkukuk/libnss_nis/archive/v%{version}.tar.gz#/libnss_nis-%{version}.tar.gz
 
 # https://github.com/systemd/systemd/issues/7074
 Source2:        nss_nis.conf
[root@rockylinux10 ~]# mv libnss_nis-3.4.tar.gz rpmbuild/SOURCES/
[root@rockylinux10 ~]# rpmbuild -bb rpmbuild/SPECS/nss_nis.spec
[root@rockylinux10 ~]# ls -l rpmbuild/RPMS/x86_64/nss_nis-*
-rw-r--r--. 1 root root 40944 Dec  7 15:38 rpmbuild/RPMS/x86_64/nss_nis-3.4-8.el10.x86_64.rpm
-rw-r--r--. 1 root root 75813 Dec  7 15:38 rpmbuild/RPMS/x86_64/nss_nis-debuginfo-3.4-8.el10.x86_64.rpm
-rw-r--r--. 1 root root 27120 Dec  7 15:38 rpmbuild/RPMS/x86_64/nss_nis-debugsource-3.4-8.el10.x86_64.rpm
[root@rockylinux10 ~]#

yp-tools

本家様 https://github.com/thkukuk/yp-tools での最新版は version 4.2.3 で6年前.
rockylinux8 の yp-tools も version 4.2.3 と最新版なので、rebuild で対応します

[root@rockylinux10 ~]# curl -O http://dl.rockylinux.org/pub/rocky/8/AppStream/source/tree/Packages/y/yp-tools-4.2.3-2.el8.src.rpm
[root@rockylinux10 ~]# rpmbuild --rebuild yp-tools-4.2.3-2.el8.src.rpm
[root@rockylinux10 ~]# ls -l rpmbuild/RPMS/x86_64/yp-tools-*
-rw-r--r--. 1 root root 83149 Dec  7 15:42 rpmbuild/RPMS/x86_64/yp-tools-4.2.3-2.el10.x86_64.rpm
-rw-r--r--. 1 root root 92601 Dec  7 15:42 rpmbuild/RPMS/x86_64/yp-tools-debuginfo-4.2.3-2.el10.x86_64.rpm
-rw-r--r--. 1 root root 26926 Dec  7 15:42 rpmbuild/RPMS/x86_64/yp-tools-debugsource-4.2.3-2.el10.x86_64.rpm
[root@rockylinux10 ~]#

nis clientを構築

そろったのでインストール

[root@rockylinux10 ~]# dnf localinstall \
    ./rpmbuild/RPMS/x86_64/ypbind-2.7.2-2.el10.x86_64.rpm \
    ./rpmbuild/RPMS/x86_64/nss_nis-3.4-8.el10.x86_64.rpm  \
    ./rpmbuild/RPMS/x86_64/yp-tools-4.2.3-2.el10.x86_64.rpm
 
[root@rockylinux10 ~]# vi /etc/yp.conf
domain sybyl server nis
 
[root@rockylinux10 ~]# systemctl enable ypbind --now

これで「/etc/yp.conf」を弄って「systemctl enable ypbind --now」を実行すると nis client になれる.
あとnis情報をアカウント認証に繋げるには「/etc/nsswitch.conf」とか弄るのだが、ここは authselect で調整できるようにしたい.

authselect

既存で使われている authselect のSRPMを取得して、nisを有効にさせてみる

[root@rockylinux10 ~]# dnf download --source authselect
[root@rockylinux10 ~]# rpm -Uvh authselect-1.5.0-8.el10.src.rpm
[root@rockylinux10 ~]# dnf builddep authselect
[root@rockylinux10 ~]#
[root@rockylinux10 ~]# rpmbuild -ba ~/rpmbuild/SPECS/authselect.spec \
    --define "with_nis_profile 1" \
    --define "rhel 0"
 
[root@rockylinux10 ~]# ls -l rpmbuild/RPMS/x86_64/authselect-*
-rw-r--r--. 1 root root 144109 Dec  7 23:17 rpmbuild/RPMS/x86_64/authselect-1.5.0-8.el10.x86_64.rpm
-rw-r--r--. 1 root root  39413 Dec  7 23:17 rpmbuild/RPMS/x86_64/authselect-debuginfo-1.5.0-8.el10.x86_64.rpm
-rw-r--r--. 1 root root  51690 Dec  7 23:17 rpmbuild/RPMS/x86_64/authselect-debugsource-1.5.0-8.el10.x86_64.rpm
-rw-r--r--. 1 root root  13067 Dec  7 23:17 rpmbuild/RPMS/x86_64/authselect-devel-1.5.0-8.el10.x86_64.rpm
-rw-r--r--. 1 root root 210462 Dec  7 23:17 rpmbuild/RPMS/x86_64/authselect-libs-1.5.0-8.el10.x86_64.rpm
-rw-r--r--. 1 root root  97684 Dec  7 23:17 rpmbuild/RPMS/x86_64/authselect-libs-debuginfo-1.5.0-8.el10.x86_64.rpm
 
[root@rockylinux10 ~]#
[root@rockylinux10 ~]# dnf reinstall rpmbuild/RPMS/x86_64/authselect-libs-1.5.0-8.el10.x86_64.rpm
 
[root@rockylinux10 ~]# authselect list
- local          Local users only
- nis            Enable NIS for system authentication
- sssd           Enable SSSD for system authentication (also for local users only)
- winbind        Enable winbind for system authentication
[root@rockylinux10 ~]#
[root@rockylinux10 ~]# authselect select nis --force

autofs

nis masterでauto.master, auto.homeを一元管理して、nis clientのmount環境を整備するかならautofsも再調整が必要となります
libnsl2-devel(epel)とlibtirpc-devel(crb)パッケージがあると nis 対応になってくれます

[root@rockylinux10 ~]# dnf download --source autofs
[root@rockylinux10 ~]# rpm -Uvh autofs-5.1.9-13.el10.src.rpm
[root@rockylinux10 ~]# dnf builddep autofs
 
[root@rockylinux10 ~]# rpmbuild -bb rpmbuild/SPECS/autofs.spec
 
[root@rockylinux10 ~]# dnf reinstall ./rpmbuild/RPMS/x86_64/autofs-5.1.9-13.el10.x86_64.rpm
 
[root@rockylinux10 ~]# ls -l rpmbuild/RPMS/x86_64/autofs-*
-rw-r--r--. 1 root root 381498 Dec  8 00:22 rpmbuild/RPMS/x86_64/autofs-5.1.9-13.el10.x86_64.rpm
-rw-r--r--. 1 root root 739023 Dec  8 00:22 rpmbuild/RPMS/x86_64/autofs-debuginfo-5.1.9-13.el10.x86_64.rpm
-rw-r--r--. 1 root root 270953 Dec  8 00:22 rpmbuild/RPMS/x86_64/autofs-debugsource-5.1.9-13.el10.x86_64.rpm
[root@rockylinux10 ~]#

(確認)

[root@rockylinux10 ~]# rpm -qpli ./rpmbuild/RPMS/x86_64/autofs-5.1.9-13.el10.x86_64.rpm | less
 :
/usr/lib64/autofs/lookup_nis.so
 :
/usr/lib64/autofs/lookup_yp.so
 :
[root@rockylinux10 ~]#

update禁止

「dnf update」とか実行するとnisの機能のが消されますので「/etc/yum.conf」に下記の行を加えます

exclude=ypbind nss_nis yp-tools authselect-libs autofs

ypserv

nis マスターを rockylinux10 で作ってみます

[root@rockylinux10 ~]# git clone https://github.com/thkukuk/ypserv
[root@rockylinux10 ~]# cd ypserv/
[root@rockylinux10 ypserv]# git log -1
commit 009d67bc5c814581790548b27720ffcb25ff9bef (HEAD -> master, origin/master, origin/HEAD)
Author: Thorsten Kukuk <kukuk@suse.com>
Date:   Sun Mar 2 19:58:15 2025 +0100
 
    ypserv.8: fix ypwhich.1 reference
[root@rockylinux10 ypserv]#
[root@rockylinux10 ypserv]# cd ..
 
[root@rockylinux10 ~]# tar --exclude-vcs --transform 's/ypserv/ypserv-4.2/' -cvzf ypserv-4.2.tar.gz ypserv
[root@rockylinux10 ~]# rpm -Uvh http://dl.rockylinux.org/pub/rocky/8/AppStream/source/tree/Packages/y/ypserv-4.1-1.el8.src.rpm
[root@rockylinux10 ~]# vi rpmbuild/SPECS/ypserv.spec
--- rpmbuild/SPECS/ypserv.spec.orig     2022-04-17 10:11:09.000000000 +0900
+++ rpmbuild/SPECS/ypserv.spec  2025-12-08 05:00:24.690960526 +0900
@@ -3,11 +3,11 @@
 Summary: The NIS (Network Information Service) server
 Url: http://www.linux-nis.org/nis/ypserv/index.html
 Name: ypserv
-Version: 4.1
+Version: 4.2
 Release: 1%{?dist}
 License: GPLv2
 Group: System Environment/Daemons
-Source0: https://github.com/thkukuk/%{name}/archive/v%{version}.tar.gz
+Source0: https://github.com/thkukuk/%{name}/archive/v%{version}.tar.gz#/ypserv-%{version}.tar.gz
 Source1: ypserv.service
 Source2: yppasswdd.service
 Source3: ypxfrd.service
@@ -86,7 +86,7 @@
 %ifarch s390 s390x
 export CFLAGS="$RPM_OPT_FLAGS -fPIC"
 %else
-export CFLAGS="$RPM_OPT_FLAGS -fpic"
+export CFLAGS="$RPM_OPT_FLAGS -fpic -Wno-error"
 %endif
[root@rockylinux10 ~]# mv ypserv-4.2.tar.gz rpmbuild/SOURCES/
 
[root@rockylinux10 ~]# dnf install tokyocabinet-devel libnsl2-devel libtirpc-devel systemd-devel
[root@rockylinux10 ~]# rpmbuild -bb rpmbuild/SPECS/ypserv.spec
[root@rockylinux10 ~]# ls -l rpmbuild/RPMS/x86_64/ypserv-*
-rw-r--r--. 1 root root 154616 Dec  8 05:01 rpmbuild/RPMS/x86_64/ypserv-4.2-1.el10.x86_64.rpm
-rw-r--r--. 1 root root 201509 Dec  8 05:01 rpmbuild/RPMS/x86_64/ypserv-debuginfo-4.2-1.el10.x86_64.rpm
-rw-r--r--. 1 root root  64987 Dec  8 05:01 rpmbuild/RPMS/x86_64/ypserv-debugsource-4.2-1.el10.x86_64.rpm
[root@rockylinux10 ~]#

「lib/yp_db.c」の部分で厳密にエラーが起こりますが、これはGCCが厳密にコンパイルしているため. chatgptの提案でパッチが提案されたが「lib/yp_db.c」を結構弄るようで却下.
「-Wno-error」を加えて逃げることにした. これで大丈夫って訳ではないのだが、、

最新の60件
2026-01-22 2026-01-18 2026-01-17 2026-01-16 2026-01-12 2026-01-11 2026-01-10 2026-01-09 2026-01-08 2026-01-06 2026-01-04 2026-01-01 2025-12-31 2025-12-28 2025-12-27 2025-12-12 2025-12-11 2025-12-09 2025-12-08
  • NIS/rockylinux10
2025-12-07 2025-12-05 2025-11-30 2025-11-27 2025-11-24 2025-11-23 2025-11-18 2025-11-16 2025-11-05 2025-11-03 2025-11-02 2025-10-30 2025-10-29 2025-10-28 2025-10-26 2025-10-25 2025-10-24 2025-10-22 2025-10-21 2025-10-17 2025-10-13 2025-10-11 2025-10-06 2025-10-05

edit


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2025-12-08 (月) 05:09:47