Cisco UCSのCIMCにssh接続して設定を行う


Cisco UCSのCisco Integrated Management Controller (CIMC)はWeb管理画面とssh接続によるCLI管理がある。

CIMCについているホスト名は基本的に「サーバ機種名-シリアル番号」となっている。

ホスト名を確認する操作をCLIから行うには、scope:cimc/network以下でdetailを表示する操作になる。

ホスト名# scope cimc/network
ホスト名 /cimc/network # show detail
Network Setting:
    IPv4 Enabled: yes
    IPv4 Address: xxx.xxx.xxx.xxx
    IPv4 Netmask: 255.255.255.0
    IPv4 Gateway: xxx.xxx.xxx.xxx
    DHCP Enabled: no
    DDNS Enabled: yes
    DDNS Update Domain:
    DDNS Refresh Interval(0-8736 Hr): 0
    Obtain DNS Server by DHCP: no
    Preferred DNS: xxx.xxx.xxx.xxx
    Alternate DNS: 0.0.0.0
    IPv6 Enabled: yes
    IPv6 Address: ::
    IPv6 Prefix: 64
    IPv6 Gateway: ::
    IPv6 Link Local: fe80::86b8:xxxx:xxxx:xxxx
    IPv6 SLAAC Address: ::
    IPV6 DHCP Enabled: yes
    IPV6 Obtain DNS Server by DHCP: yes
    IPV6 Preferred DNS: ::
    IPV6 Alternate DNS: ::
    VLAN Enabled: no
    VLAN ID: 1
    VLAN Priority: 0
    Port Profile:
    Hostname: ホスト名
    MAC Address: XX:XX:XX:XX:XX:XX
    NIC Mode: dedicated
    NIC Redundancy: none
    VIC Slot: riser1
    Auto Negotiate: yes
    Admin Network Speed: auto
    Admin Duplex: auto
    Operational Network Speed: 1Gbps
    Operational Duplex: full
ホスト名 /cimc/network #

show detailだといろんな項目が表示されすぎるので、ホスト名だけを取り出すことができないか調べたところ「| grep キーワード」が使えた。

ホスト名 /cimc/network # show detail | grep Hostname
    Hostname: ホスト名
ホスト名 /cimc/network #

ホスト名変更操作は scope:cimc/network にて set hostnameを実行したあと、commitで確定する。

ホスト名 /cimc/network # set hostname 新ホスト名
Create new certificate with CN as new hostname? [y|N] y

ホスト名 /cimc/network *# commit
Changes to the network settings will be applied immediately.
You may lose connectivity to the Cisco IMC and may have to log in again.
Do you wish to continue? [y/N] y

注意点として、ホスト名変更に伴い、Web管理GUIおよびssh接続で使用するSSL証明書で使用するCN(common name)が変更されるため証明書が作成されるということがある。

また、再作成に伴いCIMC自体も再起動されるため、commit後、再起動完了までの数分間CIMCに接続できなくなる。

このため、CIMCホスト名変更処理を行ったあとは、再起動待ちと証明書再発行にともなうssh接続時のキー変更に対応する処理を入れる必要がある。

ssh接続時のknown_hostsファイルから該当するエントリを削除したい場合は、 ssh-keygenコマンドの-Rオプションを使うことで行える。

osakanataro@ubuntu2004:~/imc$ ssh-keygen -R xxx.xxx.xxx.xxx
# Host xxx.xxx.xxx.xxx found: line 1
/home/osakanataro/.ssh/known_hosts updated.
Original contents retained as /home/osakanataro/.ssh/known_hosts.old
osakanataro@ubuntu2004:~/imc$

これで材料が揃ったので、スクリプトを作成する。

最初は Ciscoのcimc-ansible , cimcsdk を使用できないか検討したのですが、どちらもCIMCのホスト名変更に関する処理が実装されていないようだったので、expectコマンドによる処理を採用しました。

作成するにあたり下記を参考にしています。
How to programmatically enable redfish on Cisco CIMC?
Automate the UCS CLI with expect

今回作成したスクリプトは下記の様になりました。

#!/usr/bin/expect -f

# CIMCへの接続に時間がかかるようで
# 標準設定のtimeout値だとコマンド実行前にプロセスが進んでしまう 
# -1 を設定すると応答があるまで待つが
# ホスト名変更処理後は再起動がかかり、-1だと再起動が終わるまで待つことになってしまい時間がかかるので20に設定
set timeout 20

set CIMCaddr "xxx.xxx.xxx.xxx"
set CIMCuser "admin"
set CIMCpass "パスワード"
set CIMChostname "新ホスト名"


spawn ssh -l $CIMCuser -t $CIMCaddr
expect_after eof {exit 1}
# ログイン処理
expect {
        "*?assword:*" {
                send -- "$CIMCpass\r"
        }
        "(yes/no*)*" {
                send -- "yes\r"
                expect "*?assword:*"
                send -- "$CIMCpass\r"
        }
	# ホスト名変更時にssl証明書再作成が行われるため
	# キーが変わることに対する対応
	# リトライ処理が面倒だったので、古いキーを削除するところまでしか行わない
	# 必要に応じて手動で再実行で対応
        "WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED" {
                system ssh-keygen -R $CIMCaddr
                puts "\nplease re-exec this script\n"
                exit 2
        }
}

expect "# "
send -- "scope cimc/network\r"
expect "# "

# 現在のホスト名確認
send -- "show detail | grep Hostname \r"
expect -indices -re "Hostname: (.*)\r"
# 文字列検出に使った": "の2文字分を足す
set strst [string last ": " $expect_out(buffer)]
set strst [expr $strst + 2]
# 行の終わりの改行分を引く
set stred [string length $expect_out(buffer)]
set stred [expr $stred - 2]
set hostnamenow [string range $expect_out(buffer) $strst $stred]
puts "CIMChostname: $CIMChostname"
puts "hostname: $hostnamenow"

# ホスト名の変更が必要か?
if { "$CIMChostname" != "$hostnamenow" } {
        puts "change hostname"
} else {
        puts "no change"
        expect "# "
        send -- "top\r"
        expect "# "
        send -- "exit\r"
        exit 0
}

# ホスト名変更
expect "# "
send -- "set hostname $CIMChostname\r"
expect "*new hostname?*"
send -- "y\r"
expect "# "
send -- "show detail | grep Hostname \r"
expect "# "
send -- "commit\r"
expect "*\[y/N] "
send -- "y\r"

# ホスト名確認
#  ただし実際には再起動が掛かっているので実行できない
expect "# "
send -- "show detail | grep Hostname \r"

expect "# "
send -- "top\r"
expect "# "
send -- "exit\r"

exit 0

Windows Server 2019へのChromium Edgeがわかりにくい!(インストール手順解説 2021/12/01版


Windows Server 2019環境でブラウザ経由の管理を行うのにChromuimベースのEdgeを使おうと思って、インストールをしようとしたところ、なかなかダウンロードリンクにたどりつけなかったのでメモ書き。

2021/12/01版手順

Windows Server 2019をインストールして、標準のInternet Explorerから「edge browser」を検索すると、Google Chomeのプロモーションが表示されたりするけれど、「今すぐ切り替え」をクリックして、手順を進めていくと、「この microsoft-edge を開くには新しいアプリが必要です」と表示されてダウンロードができない。

では、どうするか?

Edgeブラウザで「https://www.microsoft.com/ja-jp/edge」にアクセスすると、下記警告が出てくるので「https://www.microsoft.com/」と「https://mwf-service.akamaized.net」の2つについては「追加」する。それ以外は「閉じる」

そうすると下記のような表示となる。

次に「インターネットオプション」を開く

[セキュリティ]タブの「信頼済みサイト」を選択して「サイト」ボタンをクリック。

信頼済みサイトとして「https://*.officeapps.live.com/」を追加します。

追加した後、「以下用のバージョンをダウンロード」をクリックして表示される各OSバージョンの「↓」をクリックします。

Microsoft Edgeをダウンロードという画面に切り替わります。(切り替わらない場合は、信頼済みとして許可したサイトが不足しています)

設定に問題がなければ、MicrosoftEdgeSetup.exeがダウンロードできます。

ダウンロード完了後、MicrosoftEdgeSetup.exeを実行してインストールを行います。

これでインストールは完了です。

Windows10およびWindows11の場合

Windows 10とWindows 11の場合は、wingetコマンドによりインストールが可能になっています。まあ、Windows Updateでインストールされているので不要だとは思いますけどね。

やりかたとしては、コマンドプロンプトもしくはWindowsターミナルを管理者モードで開いて「winget search edge」を実行して、パッケージ名を確認

「winget install Microsoft.Edge」を実行してインストールを実行。


ここから下は、今後の参考資料のために残してある古い手順です


2021/04/27版手順(8/5,10/18修正)

Windows Server 2019をインストールして、標準のInternet Explorerから「edge browser」を検索すると、Google Chomeのプロモーションが表示されたりするけれど、「ダウンロード」をクリックして、手順を進めていくと、「この microsoft-edge を開くには新しいアプリが必要です」と表示されてダウンロードができない。

いろいろ探してみたところ、「Microsoft Edgeの主な機能」ページの上にある”MICROSOFT EDGEを起動しましょう”リンクを無視しして

— 2021/08/05時点の表示 —

下の方にこういう表示が出てきます。

この「Windows Server をご使用されていますか? Microsoft Edge をこちらからダウンロードできます」をクリックするか、「以下用のバージョンをダウンロード Windwos 10」の▽をクリックすると下記の様に選択肢が表示されるので、適切なものを選択します。

2021/10/18追記: 選択しても何も起こらない場合は、信頼するサイトに追加が必要なようです。 ( polyfill.io か mwf-service.akamaized.net ?)

そうすると、下記の様に「Microsoft Edgeをダウンロード」という画面が現れてダウンロードできるようになります。

— 2021/04/27時点の表示 —

下の方にある「Microsoft Edgeを入手する」というリンクをクリック

そうすると、下記の様に「Microsoft Edgeをダウンロード」という画面が現れてダウンロードできるようになります。

—————————–

ただ、Windows Server 2019の標準設定のままでは「現在のセキュリティ設定では、このファイルをダウンロードできません。」と言われてダウンロードできません。

2021/04/27時点ではEdgeインストーラーは https://c2rsetup.officeapps.live.com/c2r/downloadEdge.aspx?~ というリンクからダウンロードされます。

なので、「信頼済みサイト」に「https://*.officeapps.live.com/」と「https://*.microsoft.com/」を追加します。

そうすることでダウンロードができます。

これで、Windows Server 2019環境へのMicrosoft Edgeのインストールが完了しました。

HP-UX 11.31でrootユーザのロック状態を解除するためにシングルユーザモードで起動する


HP-UX 11.31 でrootユーザのパスワードを間違えすぎてロックされている状態になっているサーバで、ロックを解除するためにシングルユーザモードで起動して対処する手順。

シリアルコンソール接続の場合については見かけるけど、キーボード/ディスプレイが接続されている状態でどうなるのかがうまいこと探せなかったので、ここに明記しておく。

(1) EFI Boot Managerで停める

キーボード/ディスプレイが認識している状態でHP-UXサーバの電源を入れると、しばらく黒い画面のままだが、「EFI Boot Manager」という青い画面が表示される。

しばらく放置すると「HP-UX Primary Boot: ~」が選択してOSが自動起動するが、シングルユーザモードで起動する場合は「EFI Shell [ Built-in]」を選択する。

(2) EFI Shellでコマンドを入力

「Shell>」というプロンプトのEFI Shellが表示される。

EFI Shell UEFI version x.xx [xx.xx]
Device mapping table
  fs0   : Acpi(~)
  fs1   : Acpi(~)
  blk0 : Acpi(~)
<略>
startup.nsh> echo -off

  setting hpux path(\EFI\HPUX)...
  type 'fs[x]:' where x is your bootdisk (0, 1, 2...)
  type 'hpux' to start hpux bootloader
Shell> 

通常は”fs0:”というデバイスにシステムが入っているはずなので「fs0:」と実行する。

Shell> fs0:
fs0:\>

そうすると「fs0:\>」というプロンプトに移行する。

今度は「hpux」を実行すると、「Press Any key to interrupt Auto boot ~ Seconds left till autoboot」というカウントダウン中にキー入力し、「HPUX>」というプロンプトを表示する。

(“hpux -is”と実行し、boot -isは実行しないで起動させる、という資料もあったけど、それで動くのか確証がなかったので実施していない)

fs0:\> hpux
<略>

Press Any Key to interrupt Autoboot
\efi\hpux\AUTO ==> boot vmunix
Seconds left till autoboot -    8
   Type 'help' for help

HPUX> 

(3) シングルユーザモードで起動する

「HPUX>」というプロンプトで「boot -is」と入力し、シングルユーザモードでの起動を開始する。

HPUX> boot -is
> System Memory = xxxx MB
loading section 0
.........(complete)
loading section 1
.........(complete)
loading symbol table
loading System Directory (boot.sys) to MFS
.....
loading MFSFILES directory (bootfs) to MFS
.....
<略>

しばらく待つと「INIT: SINGLE USER MODE」と表示されて「#」というプロンプトで停止する。

INIT: Overriding default level with level 's'

INIT: SINGLE USER MODE

INIT: Running /sbin/sh
# 

(4) パーテーションをマウントする

HP-UX 11.31でロックを解除する場合に必要なコマンドは/usrパーテーションにあるため、最低でも/usrパーテーションをマウントします。

なお、dfコマンドも/usrパーテーションにあるため、シングルユーザモードで起動した直後はdfコマンドも実行できません。

# mount /usr
vxfs mount: V-3-21268: /dev/vg00/lvol7 is corrupted. need checking
#

上記のように「is corrupted. need checking」と表示された場合は、ファイルシステムチェックが必要になるのでfsckコマンドを実行します

# fsck /dev/vg00/lvol7
log replay in progress
replay complete - marking super-block as CLEAN
#

この後、再度「mount /usr」を実行して/usrパーテーションをマウントします。

# mount /usr
#

資料を探すと「/usr パーテーションだけマウントすれば大丈夫」というものと「/usr, /var, /tmpをマウントする」というものとあるけど、どちらが適切なのかよく分からないので、「mount -a」で全部マウントしておきます。

# mount -a
<略>
#

マウントできない場合は適宜、表示されるデバイスに対してfsckコマンドを実行してから再度マウントを試みましょう。

(5) rootユーザのロック解除

まず、rootユーザのロック状態を確認するため「/usr/lbin/getprpw -l root」を実行します。

# /usr/lbin/getprpw -l root
uid=0, bootpw=YES, audid=0, audflg=1, mintm=-1, maxpwln=-1, exptm=-1, lftm=-1, <略> sloginy=-1, culogin=27, uloginy=-1, umaxlntr=-1, alock=NO, lockout=0001000
#

最後の「lockout=0001000」の、数字がアカウント状態を表しており、左から4つめの数字が1ならロックされている状態となります。

ロック解除は「/usr/lbin/modprpw -k root」を実行します。

# /usr/lbin/modprpw -k root
# /usr/lbin/getprpw -l root
uid=0, bootpw=YES, audid=0, audflg=1, mintm=-1, maxpwln=-1, exptm=-1, lftm=-1, <略> sloginy=-1, culogin=27, uloginy=-1, umaxlntr=-1, alock=NO, lockout=0000000
#

lockout=0000000 と 左から4つめの数字が0に変わっており、ロックが解除されています。

(6) rootパスワードを変更する[オプション]

rootパスワードがわからないので、再設定したい、という場合は、この操作を行う必要があるようです。

(自分では未実施)

# passwd root
Changing password for root
Old password:
Last successful password change for root: ~
Last unsuccessful password change for root: ~

Do you want (choose one letter only):
        pronounceable passwords generated for you (g)
        a string of letters generated (l) ?
        to pick your passwords: (p) ?

Enter choice here:

…なんか聞かれました。

どうやらTrusted Systemになっているとこうなるようです。

まず、Trusted Systemになっているかを「/usr/lbin/getprdef -r」を実行して確認します。

# /usr/lbin/getprdef -r
NO, 0, 8, 0, 0, -1, 0, YES, YES, NO, NO, NO, YES, 3, 10, 2, 0
#

Trusted Systemだと上記のように何か表示されます。

Trustedではない場合はエラーになるようです

Trusted Systemを解除する場合は「/usr/lbin/tsconvert -r」を実行します。

その後に「passwd root」でパスワードを再設定し、

「/usr/lbin/tsconvert」で再度 Trusted Systemに戻す、という作業をするようです。

(7) 再起動

再起動して、正常に起動し、ログインが行えるか確認します。


おまけ

シングルユーザモードでBackspaceとか、Ctrl+Cが有効になっていなかった件への対応はおそらく下記を設定すればいけるのではないかとおもわれる(ネタ元:/* とりあえず */ Alive and WellHP-UX/stty – CTRL-Cで中止を明示的に定義」)

Backspaceの有効化

$ stty erase "^H"

Ctrl+Cの有効化

$ stty intr ^c

その他、2021年現在のLinux環境でよくある設定をまとめて実施したい場合

$ stty erase "^H" kill "^U" intr "^C" eof "^D" susp "^Z" hupcl ixon ixoff tostop cs8 -istrip 

DELL PowerEdge R420/ESXi環境でiDRACのアップデートを行う


ESXi7.0がインストールされているDELL PowerEdge R420のiDRACが更新されていないことに気がついたのでアップデートを試みた

[root@esxi70:/vmfs/volumes/5ec1e973-8ca56b7a-bafa-90b11c536183/.locker/tmp] ./Network_Firmware_7CM1N_LN_21.60.16.BIN -c
Invalid option: --packagepath=/scratch/tmp/Network_Firmware_7CM1N_LN_21.60.16.BIN
Try -h or --help for help.
[root@esxi70:/vmfs/volumes/5ec1e973-8ca56b7a-bafa-90b11c536183/.locker/tmp]

エラー。とりあえずオプションを確認してみる。

[root@esxi70:/vmfs/volumes/5ec1e973-8ca56b7a-bafa-90b11c536183/.locker/tmp] ./Network_Firmware_7CM1N_LN_21.60.16.BIN -h
Command-line options for the Update Package

Usage: <package name> [options...]

Options:

-h,--help     : Display command-line usage help
-c            : Determine if the update can be applied to the system (1)
-f            : Force a downgrade to an older version. (1)(2)
-q            : Execute the update package silently without user intervention
-n            : Execute the update package without security verification
-r            : Reboot if necessary after the update (2)
-v,--version  : Display version information
--list        : Display contents of package (3)
--installpath=<path>    : Install the update package in the specified path only if options (2) and (8)  are supported.

--extract <path> : Extract files to specified path (3)(4)
-qi, --queryinventory   : Inventory if selective update is supported. (2) (5)
-su=<device list> or --selectiveupdate=<device list>    :  give the list of devices to update.(2) (6) (7)
--bmcpath=<value>       : Chooses Inventory/Update path (value specified will be : ipmi - use KCS path or usbnic - use OS-BMC passthrough)

(1) Can NOT use -f with the -c option
(2) Only takes effect if used with -q
(3) Can be used only before extracting the package
(4) Can NOT use --extract with any other option
(5) Can use only with -q option. Can NOT be used with -f, -c, -h, -n, -r, -v, --list, --extract, -su
(6) Can NOT be used with -c, -h, -n, -v, --list, --extract, -qi
(7) Device list should not contain any space.
(8) Only Application DUP supports.
[root@esxi70:/vmfs/volumes/5ec1e973-8ca56b7a-bafa-90b11c536183/.locker/tmp]

とりあえずファイルを展開

[root@esxi70:/vmfs/volumes/5ec1e973-8ca56b7a-bafa-90b11c536183/.locker/tmp] ./iDRAC-with-Lifecycle-Controller_Firmware_0GHF4_LN_2.65.65.65_A00.BIN --extract
 ./idrac
Successfully extracted to ./idrac
[root@esxi70:/vmfs/volumes/5ec1e973-8ca56b7a-bafa-90b11c536183/.locker/tmp] cd idrac/
[root@esxi70:/vmfs/volumes/5ec1e973-8ca56b7a-bafa-90b11c536183/.locker/tmp/idrac] ls
00-secupd-dell.rules      buildVer.sh               package.xml
98-secupdusb.rules        dellIPMI.sh               package.xml.sign
HashOfHashFileList.txt    dellIPMI_msgs.sh          payload
LinuxDepWrapperLinux.bin  disneyinstall.sh          prereqcheck
OSFlavourUtils.sh         dupdisneyinstall.sh       smbiosHelp.txt
PIEConfig.sh              duppmdatacollector.bin    spUtilityHelp.txt
PIEInfo.txt               duputil.sh                spconfig.xml
UdevHal.sh                en.prop                   sphelp.txt
Version.txt               getSystemId               spsetup.sh
bmccfg.def                hapi                      sputility.bin
bmcfwu.cfg                lxhapi.ini                svmExeMsg.xsl
bmcfwul                   mc.txt                    uni-eol.txt
bmcie.sh                  os_mapping.xml
[root@esxi70:/vmfs/volumes/5ec1e973-8ca56b7a-bafa-90b11c536183/.locker/tmp/idrac]

とりあえずduputil.shを実行してみる

[root@esxi70:/vmfs/volumes/5ec1e973-8ca56b7a-bafa-90b11c536183/.locker/tmp/idrac] sh duputil.sh
duputil.sh: line 53: rpm: not found
duputil.sh: line 53: rpm: not found
duputil.sh: line 53: rpm: not found
duputil.sh: line 53: rpm: not found
duputil.sh: line 53: rpm: not found
duputil.sh: line 64: rpm: not found
[root@esxu70:/vmfs/volumes/5ec1e973-8ca56b7a-bafa-90b11c536183/.locker/tmp/idrac]

rpmコマンドを実行しようとして失敗している。

動かないのも当然そうだ。

というわけでおとなしくiDRACのWeb UIからファームウェアアップデート

iDRAC-with-Lifecycle-Controller_Firmware_0GHF4_LN_2.65.65.65_A00.BIN を7zipで開いてpayload/firmimg.d7 を読み込ませるとアップデートできます。

Samba 4.13.xでActive Directoryを1から立てる(SELinux設定無視版)


Samba 4.11以降はPython 2環境で使えなくなり、また、CentOS7のサポート的にも先がないので、CentOS8とSamba 4.13.xベースで環境を作りました。

なお、CentOS7でもEPELレポジトリのpython36をインストールすることで利用することは可能です。

この手順はSELinuxの設定をちゃんとやるのが面倒になったので、SELINUX=permissive で逃げています。

2022/03/14追記: samba 4.15.5 でも同じ手順で設定しました。ただ、CentOS8 Streamの場合、パッケージ名の違いによりbootstrap.shでの必須パッケージがインストールできないことに注意が必要です。

2022/04/24追記:samba 4.16.0 を CentOS8 Streamで試したところ、必要なパッケージに変化がありました。また、標準状態ではconfigureが失敗します。

作成するもの

・CentOS8を使用した ユーザ管理を行うためのActive Directoryサーバ構築
・ファイルサーバとしてのsamba利用はここでは扱わない
・既存Windows Active Directoryサーバの連携についても扱わない

この構成の利点

・Windows ServerがなくてもActive Directory環境を構築できる

Windows ServerがなくてもActive Directory環境を構築できるので、Windows Server上で必要となるCALが不要。
Windows フェイルオーバークラスターを作ることも可能。

・Active Directoryユーザの作成などの操作はWindows標準のツールを使える

ユーザーの作成/変更、コンピューターアカウントの作成、DNSの管理など、Active Directoryの管理を行う際に頻繁に使う操作については、WindowsのActive Directory管理ツールやDNS管理ツールを使用することができます。

普段の運用はLinuxのCLIコマンド(samba-toolsやnetコマンドなど)を使う必要はありません。

・sambaの細かい設定は不要

sambaに行う設定は「Active Directory名」「Active Directory上の役割」「管理者パスワード」ぐらいです。

あと、CentOS側でfirewalldに対してポートを開ける設定とsambaが自動起動するように設定を追加するだけです。

かつてはDNSサーバやLDAPサーバと連携させて、とか必要でしたが、現在は必要な機能がsambaに含まれている感じです。

この構成の欠点

・Active Directoryの全機能が搭載されていない

ドメイン/フォレストの機能レベルがWindows Server 2012R2レベルまで対応になったものの、「Kerberos関連機能が未搭載」となっています。(samba公式wiki「Raising the Functional Levels」)

構築手順

手順は、公式の「Setting up Samba as an Active Directory Domain Controller」と「Package Dependencies Required to Build Samba」を参照しながら実施していきます。

(1) CentOS8の最小限インストールを実施

CentOS8で「サーバー(GUI使用)」でインストールするとちょっと面倒くさいので「最小限のインストール」でインストールします。

再起動後は「yum update -y」でパッケージを最新にします。

(2) /etc/hostsの修正

自ホスト名を /etc/hosts に追加。
追加の際は、ショートのホスト名とドメイン付きのFQDNの両方を列挙する。

[root@centos8 ~]# vi /etc/hosts
[root@centos8 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.17.44.48 centos8 centos8.adosakana.local
[root@centos8 ~]# hostname
centos8.adosakana.local
[root@centos8 ~]#

(3) 必要なパッケージをインストール

Samba公式の「Package Dependencies Required to Build Samba」に記載されているパッケージをインストールする。

2020/11/02現在では各OS用にセットアップ用シェルスクリプトが用意されているので、それを使用する。(CentOS7用もあります)

CentOS8の場合「https://git.samba.org/?p=samba.git;a=blob_plain;f=bootstrap/generated-dists/centos8/bootstrap.sh;hb=v4-13-test」をダウンロードするので、下記の様に実行する。

[root@centos8 ~]# curl -o bootstrap.sh "https://git.samba.org/?p=samba.git;a=blob_plain;f=bootstrap/generated-dists/centos8/bootstrap.sh;hb=v4-13-test"
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  2074    0  2074    0     0   1585      0 --:--:--  0:00:01 --:--:--  1585
[root@centos8 ~]#

ダウンロードが終わったら「sh bootstrap.sh」で実行します。
なお、この操作によりEPELレポジトリが追加されます。

[root@centos8 ~]# sh bootstrap.sh
+ yum update -y
メタデータの期限切れの最終確認: 0:12:05 時間前の 2020年11月02日 12時55分33秒 に 実施しました。
依存関係が解決しました。
行うべきことはありません。
完了しました!
+ yum install -y dnf-plugins-core
メタデータの期限切れの最終確認: 0:12:06 時間前の 2020年11月02日 12時55分33秒 に 実施しました。
パッケージ dnf-plugins-core-4.0.12-4.el8_2.noarch はすでにインストールされています。
依存関係が解決しました。
行うべきことはありません。
完了しました!
+ yum install -y epel-release
メタデータの期限切れの最終確認: 0:12:07 時間前の 2020年11月02日 12時55分33秒 に 実施しました。
依存関係が解決しました。
================================================================================
 パッケージ            Arch            バージョン         リポジトリー    サイズ
================================================================================
インストール中:
 epel-release          noarch          8-8.el8            extras           23 k

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

ダウンロードサイズの合計: 23 k
インストール済みのサイズ: 32 k
パッケージのダウンロード:
epel-release-8-8.el8.noarch.rpm                 364 kB/s |  23 kB     00:00
--------------------------------------------------------------------------------
合計                                             35 kB/s |  23 kB     00:00
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  準備              :                                                       1/1
  インストール中    : epel-release-8-8.el8.noarch                           1/1
  scriptlet の実行中: epel-release-8-8.el8.noarch                           1/1
  検証              : epel-release-8-8.el8.noarch                           1/1

インストール済み:
  epel-release-8-8.el8.noarch

完了しました!
+ yum -v repolist all
ロードされたプラグイン: builddep, changelog, config-manager, copr, debug, debuginfo-install, download, generate_completion_cache, needs-restarting, playground, repoclosure, repodiff, repograph, repomanage, reposync
YUM version: 4.2.17
cachedir: /var/cache/dnf
User-Agent: constructed: 'libdnf (CentOS Linux 8; generic; Linux.x86_64)'
repo: キャッシュを使用: AppStream
AppStream: は 2020年10月31日 02時58分38秒 から取得したメタデータを使用中
repo: キャッシュを使用: BaseOS
BaseOS: は 2020年10月31日 02時58分33秒 から取得したメタデータを使用中
repo: キャッシュを使用: extras
extras: は 2020年09月18日 00時13分28秒 から取得したメタデータを使用中
repo: リモートからダウンロード中: epel-modular
Extra Packages for Enterprise Linux Modular 8 - 108 kB/s |  97 kB     00:00
epel-modular: は 2020年10月16日 00時23分17秒 から取得したメタデータを使用中
repo: リモートからダウンロード中: epel
Extra Packages for Enterprise Linux 8 - x86_64  5.0 MB/s | 8.2 MB     00:01
epel: は 2020年11月01日 10時30分27秒 から取得したメタデータを使用中
Completion plugin: Generating completion cache...

Repo-id            : AppStream
Repo-name          : CentOS-8 - AppStream
Repo-status        : 有効化
Repo-revision      : 8.2.2004
Repo-distro-tags      : [cpe:/o:centos:centos:8]:  , 8, C, O, S, e, n, t
Repo-updated       : 2020年10月31日 02時58分38秒
Repo-pkgs          : 5,365
Repo-available-pkgs: 4,933
Repo-size          : 6.3 G
Repo-mirrors       : http://mirrorlist.centos.org/?release=8&arch=x86_64&repo=AppStream&infra=stock
Repo-baseurl       : http://ftp.iij.ad.jp/pub/linux/centos/8.2.2004/AppStream/x86_64/os/
                   : (9 more)
Repo-expire        : 172,800 秒 (最終: 2020年11月02日 12時55分26秒)
Repo-filename      : /etc/yum.repos.d/CentOS-AppStream.repo

Repo-id            : AppStream-source
Repo-name          : CentOS-8 - AppStream Sources
Repo-status        : 無効化
Repo-baseurl       : http://vault.centos.org/centos/8/AppStream/Source/
Repo-expire        : 172,800 秒 (最終: 不明)
Repo-filename      : /etc/yum.repos.d/CentOS-Sources.repo

Repo-id            : BaseOS
Repo-name          : CentOS-8 - Base
Repo-status        : 有効化
Repo-revision      : 8.2.2004
Repo-distro-tags      : [cpe:/o:centos:centos:8]:  , 8, C, O, S, e, n, t
Repo-updated       : 2020年10月31日 02時58分33秒
Repo-pkgs          : 1,675
Repo-available-pkgs: 1,673
Repo-size          : 1.0 G
Repo-mirrors       : http://mirrorlist.centos.org/?release=8&arch=x86_64&repo=BaseOS&infra=stock
Repo-baseurl       : http://ftp.iij.ad.jp/pub/linux/centos/8.2.2004/BaseOS/x86_64/os/
                   : (9 more)
Repo-expire        : 172,800 秒 (最終: 2020年11月02日 12時55分32秒)
Repo-filename      : /etc/yum.repos.d/CentOS-Base.repo

Repo-id            : BaseOS-source
Repo-name          : CentOS-8 - BaseOS Sources
Repo-status        : 無効化
Repo-baseurl       : http://vault.centos.org/centos/8/BaseOS/Source/
Repo-expire        : 172,800 秒 (最終: 不明)
Repo-filename      : /etc/yum.repos.d/CentOS-Sources.repo

Repo-id            : Devel
Repo-name          : CentOS-8 - Devel WARNING! FOR BUILDROOT USE ONLY!
Repo-status        : 無効化
Repo-mirrors       : http://mirrorlist.centos.org/?release=8&arch=x86_64&repo=Devel&infra=stock
Repo-expire        : 172,800 秒 (最終: 不明)
Repo-filename      : /etc/yum.repos.d/CentOS-Devel.repo

Repo-id            : HighAvailability
Repo-name          : CentOS-8 - HA
Repo-status        : 無効化
Repo-mirrors       : http://mirrorlist.centos.org/?release=8&arch=x86_64&repo=HighAvailability&infra=stock
Repo-expire        : 172,800 秒 (最終: 不明)
Repo-filename      : /etc/yum.repos.d/CentOS-HA.repo

Repo-id            : PowerTools
Repo-name          : CentOS-8 - PowerTools
Repo-status        : 無効化
Repo-mirrors       : http://mirrorlist.centos.org/?release=8&arch=x86_64&repo=PowerTools&infra=stock
Repo-expire        : 172,800 秒 (最終: 不明)
Repo-filename      : /etc/yum.repos.d/CentOS-PowerTools.repo

Repo-id            : base-debuginfo
Repo-name          : CentOS-8 - Debuginfo
Repo-status        : 無効化
Repo-baseurl       : http://debuginfo.centos.org/8/x86_64/
Repo-expire        : 172,800 秒 (最終: 不明)
Repo-filename      : /etc/yum.repos.d/CentOS-Debuginfo.repo

Repo-id            : c8-media-AppStream
Repo-name          : CentOS-AppStream-8 - Media
Repo-status        : 無効化
Repo-baseurl       : file:///media/CentOS/AppStream,
                   : file:///media/cdrom/AppStream,
                   : file:///media/cdrecorder/AppStream
Repo-expire        : 172,800 秒 (最終: 不明)
Repo-filename      : /etc/yum.repos.d/CentOS-Media.repo

Repo-id            : c8-media-BaseOS
Repo-name          : CentOS-BaseOS-8 - Media
Repo-status        : 無効化
Repo-baseurl       : file:///media/CentOS/BaseOS, file:///media/cdrom/BaseOS,
                   : file:///media/cdrecorder/BaseOS
Repo-expire        : 172,800 秒 (最終: 不明)
Repo-filename      : /etc/yum.repos.d/CentOS-Media.repo

Repo-id            : centosplus
Repo-name          : CentOS-8 - Plus
Repo-status        : 無効化
Repo-mirrors       : http://mirrorlist.centos.org/?release=8&arch=x86_64&repo=centosplus&infra=stock
Repo-expire        : 172,800 秒 (最終: 不明)
Repo-filename      : /etc/yum.repos.d/CentOS-centosplus.repo

Repo-id            : centosplus-source
Repo-name          : CentOS-8 - Plus Sources
Repo-status        : 無効化
Repo-baseurl       : http://vault.centos.org/centos/8/centosplus/Source/
Repo-expire        : 172,800 秒 (最終: 不明)
Repo-filename      : /etc/yum.repos.d/CentOS-Sources.repo

Repo-id            : cr
Repo-name          : CentOS-8 - cr
Repo-status        : 無効化
Repo-mirrors       : http://mirrorlist.centos.org/?release=8&arch=x86_64&repo=cr&infra=stock
Repo-expire        : 172,800 秒 (最終: 不明)
Repo-filename      : /etc/yum.repos.d/CentOS-CR.repo

Repo-id            : epel
Repo-name          : Extra Packages for Enterprise Linux 8 - x86_64
Repo-status        : 有効化
Repo-revision      : 1604193488
Repo-updated       : 2020年11月01日 10時30分27秒
Repo-pkgs          : 6,605
Repo-available-pkgs: 6,604
Repo-size          : 9.2 G
Repo-metalink      : https://mirrors.fedoraproject.org/metalink?repo=epel-8&arch=x86_64&infra=stock&content=centos
  Updated          : 2020年11月02日 13時07分46秒
Repo-baseurl       : https://nrt.edge.kernel.org/fedora-buffet/epel/8/Everything/x86_64/
                   : (28 more)
Repo-expire        : 172,800 秒 (最終: 2020年11月02日 13時07分46秒)
Repo-filename      : /etc/yum.repos.d/epel.repo

Repo-id            : epel-debuginfo
Repo-name          : Extra Packages for Enterprise Linux 8 - x86_64 - Debug
Repo-status        : 無効化
Repo-metalink      : https://mirrors.fedoraproject.org/metalink?repo=epel-debug-8&arch=x86_64&infra=stock&content=centos
Repo-expire        : 172,800 秒 (最終: 不明)
Repo-filename      : /etc/yum.repos.d/epel.repo

Repo-id            : epel-modular
Repo-name          : Extra Packages for Enterprise Linux Modular 8 - x86_64
Repo-status        : 有効化
Repo-revision      : 1602775383
Repo-updated       : 2020年10月16日 00時23分17秒
Repo-pkgs          : 73
Repo-available-pkgs: 0
Repo-size          : 61 M
Repo-metalink      : https://mirrors.fedoraproject.org/metalink?repo=epel-modular-8&arch=x86_64&infra=stock&content=centos
  Updated          : 2020年11月02日 13時07分45秒
Repo-baseurl       : rsync://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/8/Modular/x86_64/
                   : (50 more)
Repo-expire        : 172,800 秒 (最終: 2020年11月02日 13時07分45秒)
Repo-filename      : /etc/yum.repos.d/epel-modular.repo

Repo-id            : epel-modular-debuginfo
Repo-name          : Extra Packages for Enterprise Linux Modular 8 - x86_64 -
                   : Debug
Repo-status        : 無効化
Repo-metalink      : https://mirrors.fedoraproject.org/metalink?repo=epel-modular-debug-8&arch=x86_64&infra=stock&content=centos
Repo-expire        : 172,800 秒 (最終: 不明)
Repo-filename      : /etc/yum.repos.d/epel-modular.repo

Repo-id            : epel-modular-source
Repo-name          : Extra Packages for Enterprise Linux Modular 8 - x86_64 -
                   : Source
Repo-status        : 無効化
Repo-metalink      : https://mirrors.fedoraproject.org/metalink?repo=epel-modular-source-8&arch=x86_64&infra=stock&content=centos
Repo-expire        : 172,800 秒 (最終: 不明)
Repo-filename      : /etc/yum.repos.d/epel-modular.repo

Repo-id            : epel-playground
Repo-name          : Extra Packages for Enterprise Linux 8 - Playground - x86_64
Repo-status        : 無効化
Repo-metalink      : https://mirrors.fedoraproject.org/metalink?repo=playground-epel8&arch=x86_64&infra=stock&content=centos
Repo-expire        : 172,800 秒 (最終: 不明)
Repo-filename      : /etc/yum.repos.d/epel-playground.repo

Repo-id            : epel-playground-debuginfo
Repo-name          : Extra Packages for Enterprise Linux 8 - Playground - x86_64
                   : - Debug
Repo-status        : 無効化
Repo-metalink      : https://mirrors.fedoraproject.org/metalink?repo=playground-debug-epel8&arch=x86_64&infra=stock&content=centos
Repo-expire        : 172,800 秒 (最終: 不明)
Repo-filename      : /etc/yum.repos.d/epel-playground.repo

Repo-id            : epel-playground-source
Repo-name          : Extra Packages for Enterprise Linux 8 - Playground - x86_64
                   : - Source
Repo-status        : 無効化
Repo-metalink      : https://mirrors.fedoraproject.org/metalink?repo=playground-source-epel8&arch=x86_64&infra=stock&content=centos
Repo-expire        : 172,800 秒 (最終: 不明)
Repo-filename      : /etc/yum.repos.d/epel-playground.repo

Repo-id            : epel-source
Repo-name          : Extra Packages for Enterprise Linux 8 - x86_64 - Source
Repo-status        : 無効化
Repo-metalink      : https://mirrors.fedoraproject.org/metalink?repo=epel-source-8&arch=x86_64&infra=stock&content=centos
Repo-expire        : 172,800 秒 (最終: 不明)
Repo-filename      : /etc/yum.repos.d/epel.repo

Repo-id            : epel-testing
Repo-name          : Extra Packages for Enterprise Linux 8 - Testing - x86_64
Repo-status        : 無効化
Repo-metalink      : https://mirrors.fedoraproject.org/metalink?repo=testing-epel8&arch=x86_64&infra=stock&content=centos
Repo-expire        : 172,800 秒 (最終: 不明)
Repo-filename      : /etc/yum.repos.d/epel-testing.repo

Repo-id            : epel-testing-debuginfo
Repo-name          : Extra Packages for Enterprise Linux 8 - Testing - x86_64 -
                   : Debug
Repo-status        : 無効化
Repo-metalink      : https://mirrors.fedoraproject.org/metalink?repo=testing-debug-epel8&arch=x86_64&infra=stock&content=centos
Repo-expire        : 172,800 秒 (最終: 不明)
Repo-filename      : /etc/yum.repos.d/epel-testing.repo

Repo-id            : epel-testing-modular
Repo-name          : Extra Packages for Enterprise Linux Modular 8 - Testing -
                   : x86_64
Repo-status        : 無効化
Repo-metalink      : https://mirrors.fedoraproject.org/metalink?repo=testing-modular-epel8&arch=x86_64&infra=stock&content=centos
Repo-expire        : 172,800 秒 (最終: 不明)
Repo-filename      : /etc/yum.repos.d/epel-testing-modular.repo

Repo-id            : epel-testing-modular-debuginfo
Repo-name          : Extra Packages for Enterprise Linux Modular 8 - Testing -
                   : x86_64 - Debug
Repo-status        : 無効化
Repo-metalink      : https://mirrors.fedoraproject.org/metalink?repo=testing-modular-debug-epel8&arch=x86_64&infra=stock&content=centos
Repo-expire        : 172,800 秒 (最終: 不明)
Repo-filename      : /etc/yum.repos.d/epel-testing-modular.repo

Repo-id            : epel-testing-modular-source
Repo-name          : Extra Packages for Enterprise Linux Modular 8 - Testing -
                   : x86_64 - Source
Repo-status        : 無効化
Repo-metalink      : https://mirrors.fedoraproject.org/metalink?repo=testing-modular-source-epel8&arch=x86_64&infra=stock&content=centos
Repo-expire        : 172,800 秒 (最終: 不明)
Repo-filename      : /etc/yum.repos.d/epel-testing-modular.repo

Repo-id            : epel-testing-source
Repo-name          : Extra Packages for Enterprise Linux 8 - Testing - x86_64 -
                   : Source
Repo-status        : 無効化
Repo-metalink      : https://mirrors.fedoraproject.org/metalink?repo=testing-source-epel8&arch=x86_64&infra=stock&content=centos
Repo-expire        : 172,800 秒 (最終: 不明)
Repo-filename      : /etc/yum.repos.d/epel-testing.repo

Repo-id            : extras
Repo-name          : CentOS-8 - Extras
Repo-status        : 有効化
Repo-revision      : 1600355621
Repo-updated       : 2020年09月18日 00時13分28秒
Repo-pkgs          : 27
Repo-available-pkgs: 27
Repo-size          : 311 k
Repo-mirrors       : http://mirrorlist.centos.org/?release=8&arch=x86_64&repo=extras&infra=stock
Repo-baseurl       : http://ftp.yz.yamagata-u.ac.jp/pub/linux/centos/8.2.2004/extras/x86_64/os/
                   : (9 more)
Repo-expire        : 172,800 秒 (最終: 2020年11月02日 12時55分33秒)
Repo-filename      : /etc/yum.repos.d/CentOS-Extras.repo

Repo-id            : extras-source
Repo-name          : CentOS-8 - Extras Sources
Repo-status        : 無効化
Repo-baseurl       : http://vault.centos.org/centos/8/extras/Source/
Repo-expire        : 172,800 秒 (最終: 不明)
Repo-filename      : /etc/yum.repos.d/CentOS-Sources.repo

Repo-id            : fasttrack
Repo-name          : CentOS-8 - fasttrack
Repo-status        : 無効化
Repo-mirrors       : http://mirrorlist.centos.org/?release=8&arch=x86_64&repo=fasttrack&infra=stock
Repo-expire        : 172,800 秒 (最終: 不明)
Repo-filename      : /etc/yum.repos.d/CentOS-fasttrack.repo
Total packages: 13,745
+ yum config-manager --set-enabled PowerTools -y
+ yum config-manager --set-enabled Devel -y
+ yum update -y
CentOS-8 - Devel WARNING! FOR BUILDROOT USE ONL  22 kB/s |  15 kB     00:00
CentOS-8 - PowerTools                           1.4 MB/s | 1.9 MB     00:01
依存関係が解決しました。
行うべきことはありません。
完了しました!
+ yum install -y --setopt=install_weak_deps=False '@Development Tools' acl attr autoconf avahi-devel bind-utils binutils bison ccache chrpath cups-devel curl dbus-devel docbook-dtds docbook-style-xsl flex gawk gcc gdb git glib2-devel glibc-common glibc-langpack-en glusterfs-api-devel glusterfs-devel gnutls-devel gpgme-devel gzip hostname htop jansson-devel keyutils-libs-devel krb5-devel krb5-server libacl-devel libarchive-devel libattr-devel libblkid-devel libbsd-devel libcap-devel libcephfs-devel libicu-devel libnsl2-devel libpcap-devel libtasn1-devel libtasn1-tools libtirpc-devel libunwind-devel libuuid-devel libxslt lmdb lmdb-devel make mingw64-gcc ncurses-devel openldap-devel pam-devel patch perl perl-Archive-Tar perl-ExtUtils-MakeMaker perl-Parse-Yapp perl-Test-Simple perl-generators perl-interpreter pkgconfig popt-devel procps-ng psmisc python3 python3-cryptography python3-devel python3-dns python3-gpg python3-libsemanage python3-markdown python3-policycoreutils python3-pyasn1 quota-devel readline-devel redhat-lsb rng-tools rpcgen rpcsvc-proto-devel rsync sed sudo systemd-devel tar tree wget which xfsprogs-devel yum-utils zlib-devel
メタデータの期限切れの最終確認: 0:00:05 時間前の 2020年11月02日 13時07分57秒 に 実施しました。
パッケージ acl-2.2.53-1.el8.x86_64 はすでにインストールされています。
パッケージ curl-7.61.1-12.el8.x86_64 はすでにインストールされています。
パッケージ gawk-4.2.1-1.el8.x86_64 はすでにインストールされています。
パッケージ glibc-common-2.28-101.el8.x86_64 はすでにインストールされています。
パッケージ gzip-1.9-9.el8.x86_64 はすでにインストールされています。
パッケージ hostname-3.20-6.el8.x86_64 はすでにインストールされています。
パッケージ libxslt-1.1.32-4.el8.x86_64 はすでにインストールされています。
パッケージ procps-ng-3.3.15-1.el8.x86_64 はすでにインストールされています。
パッケージ python3-cryptography-2.3-3.el8.x86_64 はすでにインストールされていま す。
パッケージ python3-gpg-1.10.0-6.el8.0.1.x86_64 はすでにインストールされています 。
パッケージ rng-tools-6.8-3.el8.x86_64 はすでにインストールされています。
パッケージ sed-4.5-1.el8.x86_64 はすでにインストールされています。
パッケージ sudo-1.8.29-5.el8.x86_64 はすでにインストールされています。
パッケージ tar-2:1.30-4.el8.x86_64 はすでにインストールされています。
パッケージ which-2.21-12.el8.x86_64 はすでにインストールされています。
依存関係が解決しました。
================================================================================
 パッケージ                      Arch   バージョン             Repo       サイズ
================================================================================
インストール中:
 attr                            x86_64 2.4.48-3.el8           BaseOS      68 k
 avahi-devel                     x86_64 0.7-19.el8             PowerTools  38 k
 bind-utils                      x86_64 32:9.11.13-6.el8_2.1   AppStream  443 k
 ccache                          x86_64 3.7.7-1.el8            epel       232 k
 chrpath                         x86_64 0.16-7.el8             BaseOS      33 k
 cups-devel                      x86_64 1:2.2.6-33.el8         AppStream  148 k
 dbus-devel                      x86_64 1:1.12.8-10.el8_2      AppStream   67 k
 docbook-dtds                    noarch 1.0-69.el8             AppStream  377 k
 docbook-style-xsl               noarch 1.79.2-7.el8           AppStream  1.6 M
 glib2-devel                     x86_64 2.56.4-8.el8           BaseOS     423 k
 glibc-langpack-en               x86_64 2.28-101.el8           BaseOS     821 k
 glusterfs-api-devel             x86_64 6.0-37.el8             PowerTools  28 k
 glusterfs-devel                 x86_64 6.0-37.el8             PowerTools 163 k
 gnutls-devel                    x86_64 3.6.8-11.el8_2         AppStream  2.2 M
 gpgme-devel                     x86_64 1.10.0-6.el8.0.1       PowerTools 163 k
 htop                            x86_64 2.2.0-6.el8            epel       112 k
 jansson-devel                   x86_64 2.11-3.el8             AppStream   16 k
 keyutils-libs-devel             x86_64 1.5.10-6.el8           BaseOS      48 k
 krb5-devel                      x86_64 1.17-18.el8            BaseOS     549 k
 krb5-server                     x86_64 1.17-18.el8            BaseOS     1.1 M
 libacl-devel                    x86_64 2.2.53-1.el8           BaseOS      79 k
 libarchive-devel                x86_64 3.3.2-8.el8_1          PowerTools 131 k
 libattr-devel                   x86_64 2.4.48-3.el8           BaseOS      34 k
 libblkid-devel                  x86_64 2.32.1-22.el8          BaseOS      83 k
 libbsd-devel                    x86_64 0.9.1-4.el8            epel       159 k
 libcap-devel                    x86_64 2.26-3.el8             BaseOS      33 k
 libcephfs-devel                 x86_64 1:12.2.7-9.el8         PowerTools  39 k
 libicu-devel                    x86_64 60.3-2.el8_1           BaseOS     922 k
 libnsl2-devel                   x86_64 1.2.0-2.20180605git4a062cf.el8
                                                               PowerTools  35 k
 libpcap-devel                   x86_64 14:1.9.0-3.el8         PowerTools 140 k
 libtasn1-devel                  x86_64 4.13-3.el8             AppStream  335 k
 libtasn1-tools                  x86_64 4.13-3.el8             AppStream   35 k
 libtirpc-devel                  x86_64 1.1.4-4.el8            BaseOS     127 k
 libunwind-devel                 x86_64 1.3.1-3.el8            epel        87 k
 libuuid-devel                   x86_64 2.32.1-22.el8          BaseOS      95 k
 lmdb                            x86_64 0.9.23-2.el8           epel        33 k
 lmdb-devel                      x86_64 0.9.23-2.el8           epel        28 k
 mingw64-gcc                     x86_64 7.2.0-2.el8            PowerTools 9.9 M
 ncurses-devel                   x86_64 6.1-7.20180224.el8     BaseOS     527 k
 openldap-devel                  x86_64 2.4.46-11.el8_1        BaseOS     811 k
 pam-devel                       x86_64 1.3.1-8.el8            BaseOS     209 k
 patch                           x86_64 2.7.6-11.el8           BaseOS     138 k
 perl                            x86_64 4:5.26.3-416.el8       AppStream   72 k
 perl-Archive-Tar                noarch 2.30-1.el8             AppStream   79 k
 perl-ExtUtils-MakeMaker         noarch 1:7.34-1.el8           AppStream  300 k
 perl-Parse-Yapp                 noarch 1.21-2.el8             BaseOS      53 k
 perl-Test-Simple                noarch 1:1.302135-1.el8       AppStream  516 k
 perl-interpreter                x86_64 4:5.26.3-416.el8       BaseOS     6.3 M
 popt-devel                      x86_64 1.16-14.el8            BaseOS      30 k
 psmisc                          x86_64 23.1-4.el8             BaseOS     150 k
 python3-dns                     noarch 1.15.0-10.el8          BaseOS     253 k
 python3-libsemanage             x86_64 2.9-2.el8              BaseOS     127 k
 python3-markdown                noarch 2.6.11-2.el8           PowerTools 133 k
 python3-policycoreutils         noarch 2.9-9.el8              BaseOS     2.2 M
 python3-pyasn1                  noarch 0.3.7-6.el8            AppStream  126 k
 python36                        x86_64 3.6.8-2.module_el8.1.0+245+c39af44f
                                                               AppStream   19 k
 python36-devel                  x86_64 3.6.8-2.module_el8.1.0+245+c39af44f
                                                               AppStream   16 k
 quota-devel                     x86_64 1:4.04-10.el8          Devel       36 k
 readline-devel                  x86_64 7.0-10.el8             BaseOS     204 k
 redhat-lsb                      x86_64 4.1-47.el8             AppStream   30 k
 rpcgen                          x86_64 1.3.1-4.el8            PowerTools  52 k
 rpcsvc-proto-devel              x86_64 1.3.1-4.el8            PowerTools  30 k
 rsync                           x86_64 3.1.3-7.el8            BaseOS     404 k
 systemd-devel                   x86_64 239-31.el8_2.2         BaseOS     365 k
 tree                            x86_64 1.7.0-15.el8           BaseOS      59 k
 wget                            x86_64 1.19.5-8.el8_1.1       AppStream  735 k
 xfsprogs-devel                  x86_64 5.0.0-2.el8            BaseOS      69 k
 yum-utils                       noarch 4.0.12-4.el8_2         BaseOS      66 k
 zlib-devel                      x86_64 1.2.11-16.el8_2        BaseOS      57 k
group/module パッケージをインストール中:
 asciidoc                        noarch 8.6.10-0.5.20180627gitf7c2274.el8
                                                               AppStream  216 k
 autoconf                        noarch 2.69-27.el8            AppStream  710 k
 automake                        noarch 1.16.1-6.el8           AppStream  713 k
 binutils                        x86_64 2.30-73.el8            BaseOS     5.7 M
 bison                           x86_64 3.0.4-10.el8           AppStream  688 k
 byacc                           x86_64 1.9.20170709-4.el8     AppStream   91 k
 ctags                           x86_64 5.8-22.el8             AppStream  170 k
 diffstat                        x86_64 1.61-7.el8             AppStream   44 k
 flex                            x86_64 2.6.1-9.el8            AppStream  320 k
 gcc                             x86_64 8.3.1-5.el8.0.2        AppStream   23 M
 gcc-c++                         x86_64 8.3.1-5.el8.0.2        AppStream   12 M
 gdb                             x86_64 8.2-11.el8             AppStream  297 k
 git                             x86_64 2.18.4-2.el8_2         AppStream  186 k
 glibc-devel                     x86_64 2.28-101.el8           BaseOS     1.0 M
 intltool                        noarch 0.51.0-11.el8          AppStream   66 k
 jna                             x86_64 4.5.1-5.el8            AppStream  242 k
 libtool                         x86_64 2.4.6-25.el8           AppStream  709 k
 ltrace                          x86_64 0.7.91-28.el8          AppStream  160 k
 make                            x86_64 1:4.2.1-10.el8         BaseOS     498 k
 patchutils                      x86_64 0.3.4-10.el8           AppStream  116 k
 perl-Fedora-VSP                 noarch 0.001-9.el8            AppStream   24 k
 perl-generators                 noarch 1.10-9.el8             AppStream   18 k
 pesign                          x86_64 0.112-25.el8           AppStream  181 k
 pkgconf                         x86_64 1.4.2-1.el8            BaseOS      38 k
 pkgconf-m4                      noarch 1.4.2-1.el8            BaseOS      17 k
 pkgconf-pkg-config              x86_64 1.4.2-1.el8            BaseOS      15 k
 redhat-rpm-config               noarch 122-1.el8              AppStream   83 k
 rpm-build                       x86_64 4.14.2-37.el8          AppStream  171 k
 rpm-sign                        x86_64 4.14.2-37.el8          BaseOS      78 k
 source-highlight                x86_64 3.1.8-16.el8           AppStream  661 k
 strace                          x86_64 4.24-9.el8             BaseOS     972 k
 systemtap                       x86_64 4.2-6.el8              AppStream   18 k
 valgrind                        x86_64 1:3.15.0-11.el8        AppStream   12 M
 valgrind-devel                  x86_64 1:3.15.0-11.el8        AppStream   91 k
依存関係のインストール中:
 adobe-mappings-cmap             noarch 20171205-3.el8         AppStream  2.1 M
 adobe-mappings-cmap-deprecated  noarch 20171205-3.el8         AppStream  119 k
 adobe-mappings-pdf              noarch 20180407-1.el8         AppStream  707 k
 alsa-lib                        x86_64 1.2.1.2-3.el8          AppStream  441 k
 annobin                         x86_64 8.90-1.el8.0.1         AppStream  201 k
 at                              x86_64 3.1.20-11.el8          BaseOS      81 k
 atk                             x86_64 2.28.1-1.el8           AppStream  272 k
 avahi                           x86_64 0.7-19.el8             BaseOS     282 k
 avahi-glib                      x86_64 0.7-19.el8             BaseOS      15 k
 avahi-libs                      x86_64 0.7-19.el8             BaseOS      62 k
 bc                              x86_64 1.07.1-5.el8           BaseOS     129 k
 bind-libs                       x86_64 32:9.11.13-6.el8_2.1   AppStream  172 k
 bind-libs-lite                  x86_64 32:9.11.13-6.el8_2.1   AppStream  1.2 M
 bind-license                    noarch 32:9.11.13-6.el8_2.1   AppStream  101 k
 boost-atomic                    x86_64 1.66.0-7.el8           AppStream   13 k
 boost-chrono                    x86_64 1.66.0-7.el8           AppStream   22 k
 boost-date-time                 x86_64 1.66.0-7.el8           AppStream   29 k
 boost-filesystem                x86_64 1.66.0-7.el8           AppStream   48 k
 boost-iostreams                 x86_64 1.66.0-7.el8           AppStream   39 k
 boost-program-options           x86_64 1.66.0-7.el8           AppStream  140 k
 boost-random                    x86_64 1.66.0-7.el8           AppStream   21 k
 boost-regex                     x86_64 1.66.0-7.el8           AppStream  281 k
 boost-system                    x86_64 1.66.0-7.el8           AppStream   18 k
 boost-thread                    x86_64 1.66.0-7.el8           AppStream   58 k
 boost-timer                     x86_64 1.66.0-7.el8           AppStream   20 k
 bzip2                           x86_64 1.0.6-26.el8           BaseOS      60 k
 cairo                           x86_64 1.15.12-3.el8          AppStream  721 k
 checkpolicy                     x86_64 2.9-1.el8              BaseOS     348 k
 cmake-filesystem                x86_64 3.11.4-7.el8           AppStream   40 k
 copy-jdk-configs                noarch 3.7-1.el8              AppStream   27 k
 cpp                             x86_64 8.3.1-5.el8.0.2        AppStream   10 M
 cups                            x86_64 1:2.2.6-33.el8         AppStream  1.4 M
 cups-client                     x86_64 1:2.2.6-33.el8         AppStream  168 k
 cups-filesystem                 noarch 1:2.2.6-33.el8         AppStream  108 k
 cups-filters                    x86_64 1.20.0-19.el8.0.1      AppStream  782 k
 cups-filters-libs               x86_64 1.20.0-19.el8.0.1      AppStream  135 k
 cups-libs                       x86_64 1:2.2.6-33.el8         BaseOS     432 k
 cyrus-sasl                      x86_64 2.1.27-1.el8           BaseOS      96 k
 cyrus-sasl-devel                x86_64 2.1.27-1.el8           BaseOS     128 k
 desktop-file-utils              x86_64 0.23-8.el8             AppStream   80 k
 dwz                             x86_64 0.12-9.el8             AppStream  109 k
 dyninst                         x86_64 10.1.0-4.el8           AppStream  3.8 M
 ed                              x86_64 1.14.2-4.el8           BaseOS      82 k
 efi-srpm-macros                 noarch 3-2.el8                AppStream   22 k
 efivar-libs                     x86_64 36-1.el8               BaseOS      97 k
 elfutils                        x86_64 0.178-7.el8            BaseOS     540 k
 emacs-filesystem                noarch 1:26.1-5.el8           BaseOS      69 k
 esmtp                           x86_64 1.2-15.el8             epel        57 k
 fontconfig                      x86_64 2.13.1-3.el8           BaseOS     275 k
 fontpackages-filesystem         noarch 1.44-22.el8            BaseOS      16 k
 fribidi                         x86_64 1.0.4-8.el8            AppStream   89 k
 gc                              x86_64 7.6.4-3.el8            AppStream  109 k
 gd                              x86_64 2.2.5-6.el8            AppStream  144 k
 gdb-headless                    x86_64 8.2-11.el8             AppStream  3.7 M
 gdk-pixbuf2                     x86_64 2.36.12-5.el8          BaseOS     467 k
 gdk-pixbuf2-modules             x86_64 2.36.12-5.el8          AppStream  109 k
 gettext-common-devel            noarch 0.19.8.1-17.el8        BaseOS     419 k
 gettext-devel                   x86_64 0.19.8.1-17.el8        BaseOS     331 k
 ghc-srpm-macros                 noarch 1.4.2-7.el8            AppStream  9.3 k
 ghostscript                     x86_64 9.25-5.el8_1.1         AppStream   82 k
 git-core                        x86_64 2.18.4-2.el8_2         AppStream  4.0 M
 git-core-doc                    noarch 2.18.4-2.el8_2         AppStream  2.3 M
 glibc-headers                   x86_64 2.28-101.el8           BaseOS     473 k
 glusterfs                       x86_64 6.0-37.el8             BaseOS     663 k
 glusterfs-api                   x86_64 6.0-37.el8             AppStream   95 k
 glusterfs-client-xlators        x86_64 6.0-37.el8             BaseOS     870 k
 glusterfs-libs                  x86_64 6.0-37.el8             BaseOS     413 k
 gmp-c++                         x86_64 1:6.1.2-10.el8         BaseOS      33 k
 gmp-devel                       x86_64 1:6.1.2-10.el8         BaseOS     187 k
 gnutls-c++                      x86_64 3.6.8-11.el8_2         AppStream   46 k
 gnutls-dane                     x86_64 3.6.8-11.el8_2         AppStream   45 k
 go-srpm-macros                  noarch 2-16.el8               AppStream   14 k
 google-droid-sans-fonts         noarch 20120715-13.el8        AppStream  2.5 M
 graphite2                       x86_64 1.3.10-10.el8          AppStream  122 k
 graphviz                        x86_64 2.40.1-40.el8          AppStream  1.7 M
 gtk-update-icon-cache           x86_64 3.22.30-5.el8          AppStream   32 k
 gtk2                            x86_64 2.24.32-4.el8          AppStream  3.4 M
 guile                           x86_64 5:2.0.14-7.el8         AppStream  3.5 M
 harfbuzz                        x86_64 1.7.5-3.el8            AppStream  295 k
 hicolor-icon-theme              noarch 0.17-2.el8             AppStream   49 k
 isl                             x86_64 0.16.1-6.el8           AppStream  841 k
 jasper-libs                     x86_64 2.0.14-4.el8           AppStream  167 k
 java-1.8.0-openjdk-headless     x86_64 1:1.8.0.272.b10-1.el8_2
                                                               AppStream   34 M
 javapackages-filesystem         noarch 5.3.0-1.module_el8.0.0+11+5b8c10bd
                                                               AppStream   30 k
 jbig2dec-libs                   x86_64 0.14-4.el8_2           AppStream   67 k
 jbigkit-libs                    x86_64 2.1-14.el8             AppStream   55 k
 kernel-headers                  x86_64 4.18.0-193.28.1.el8_2  BaseOS     4.0 M
 lcms2                           x86_64 2.9-2.el8              AppStream  165 k
 libICE                          x86_64 1.0.9-15.el8           AppStream   74 k
 libSM                           x86_64 1.2.3-1.el8            AppStream   48 k
 libX11                          x86_64 1.6.8-3.el8            AppStream  611 k
 libX11-common                   noarch 1.6.8-3.el8            AppStream  158 k
 libX11-xcb                      x86_64 1.6.8-3.el8            AppStream   14 k
 libXau                          x86_64 1.0.8-13.el8           AppStream   36 k
 libXaw                          x86_64 1.0.13-10.el8          AppStream  194 k
 libXcomposite                   x86_64 0.4.4-14.el8           AppStream   28 k
 libXcursor                      x86_64 1.1.15-3.el8           AppStream   36 k
 libXdamage                      x86_64 1.1.4-14.el8           AppStream   27 k
 libXext                         x86_64 1.3.3-9.el8            AppStream   45 k
 libXfixes                       x86_64 5.0.3-7.el8            AppStream   25 k
 libXft                          x86_64 2.3.2-10.el8           AppStream   66 k
 libXi                           x86_64 1.7.9-7.el8            AppStream   49 k
 libXinerama                     x86_64 1.1.4-1.el8            AppStream   16 k
 libXmu                          x86_64 1.1.2-12.el8           AppStream   74 k
 libXpm                          x86_64 3.5.12-8.el8           AppStream   58 k
 libXrandr                       x86_64 1.5.1-7.el8            AppStream   33 k
 libXrender                      x86_64 0.9.10-7.el8           AppStream   33 k
 libXt                           x86_64 1.1.5-12.el8           AppStream  186 k
 libXtst                         x86_64 1.2.3-7.el8            AppStream   22 k
 libXxf86misc                    x86_64 1.0.4-1.el8            AppStream   23 k
 libXxf86vm                      x86_64 1.1.4-9.el8            AppStream   19 k
 libatomic_ops                   x86_64 7.6.2-3.el8            AppStream   38 k
 libbabeltrace                   x86_64 1.5.4-2.el8            AppStream  201 k
 libbsd                          x86_64 0.9.1-4.el8            epel       106 k
 libcephfs2                      x86_64 1:12.2.7-9.el8         PowerTools 486 k
 libcom_err-devel                x86_64 1.45.4-3.el8           BaseOS      38 k
 libdatrie                       x86_64 0.2.9-7.el8            AppStream   33 k
 liberation-fonts-common         noarch 1:2.00.3-7.el8         BaseOS      25 k
 liberation-mono-fonts           noarch 1:2.00.3-7.el8         BaseOS     505 k
 libesmtp                        x86_64 1.0.6-18.el8           epel        70 k
 libfontenc                      x86_64 1.1.3-8.el8            AppStream   37 k
 libglvnd                        x86_64 1:1.2.0-6.el8          AppStream   98 k
 libglvnd-glx                    x86_64 1:1.2.0-6.el8          AppStream  136 k
 libgpg-error-devel              x86_64 1.31-1.el8             BaseOS      64 k
 libgs                           x86_64 9.25-5.el8_1.1         AppStream  3.1 M
 libicu                          x86_64 60.3-2.el8_1           BaseOS     8.8 M
 libidn                          x86_64 1.34-5.el8             AppStream  239 k
 libijs                          x86_64 0.35-5.el8             AppStream   30 k
 libipt                          x86_64 1.6.1-8.el8            AppStream   50 k
 libjpeg-turbo                   x86_64 1.5.3-10.el8           AppStream  156 k
 libkadm5                        x86_64 1.17-18.el8            BaseOS     185 k
 liblockfile                     x86_64 1.14-1.el8             AppStream   32 k
 libmcpp                         x86_64 2.7.2-20.el8           AppStream   81 k
 libmpc                          x86_64 1.0.2-9.el8            AppStream   59 k
 libpaper                        x86_64 1.1.24-22.el8          AppStream   45 k
 libpkgconf                      x86_64 1.4.2-1.el8            BaseOS      35 k
 libpng12                        x86_64 1.2.57-5.el8           AppStream  160 k
 librados-devel                  x86_64 1:12.2.7-9.el8         PowerTools 106 k
 librados2                       x86_64 1:12.2.7-9.el8         AppStream  2.9 M
 librsvg2                        x86_64 2.42.7-3.el8           AppStream  570 k
 libselinux-devel                x86_64 2.9-3.el8              BaseOS     199 k
 libsepol-devel                  x86_64 2.9-1.el8              BaseOS      86 k
 libstdc++-devel                 x86_64 8.3.1-5.el8.0.2        AppStream  2.0 M
 libthai                         x86_64 0.1.27-2.el8           AppStream  203 k
 libtiff                         x86_64 4.0.9-17.el8           AppStream  188 k
 libunwind                       x86_64 1.3.1-3.el8            epel        75 k
 libverto-devel                  x86_64 0.3.0-5.el8            BaseOS      18 k
 libverto-libevent               x86_64 0.3.0-5.el8            BaseOS      16 k
 libwebp                         x86_64 1.0.0-1.el8            AppStream  273 k
 libxcb                          x86_64 1.13.1-1.el8           AppStream  229 k
 libxcrypt-devel                 x86_64 4.1.1-4.el8            BaseOS      25 k
 libxshmfence                    x86_64 1.3-2.el8              AppStream   13 k
 lksctp-tools                    x86_64 1.0.18-3.el8           BaseOS     100 k
 lmdb-libs                       x86_64 0.9.23-5.el8           AppStream   58 k
 lua                             x86_64 5.3.4-11.el8           AppStream  193 k
 m4                              x86_64 1.4.18-7.el8           BaseOS     223 k
 mailcap                         noarch 2.1.48-3.el8           BaseOS      39 k
 mailx                           x86_64 12.5-29.el8            BaseOS     257 k
 mcpp                            x86_64 2.7.2-20.el8           AppStream   31 k
 mesa-libGL                      x86_64 19.3.4-2.el8           AppStream  184 k
 mesa-libGLU                     x86_64 9.0.0-15.el8           AppStream  185 k
 mesa-libglapi                   x86_64 19.3.4-2.el8           AppStream   63 k
 mingw-binutils-generic          x86_64 2.30-1.el8             PowerTools 1.5 M
 mingw-filesystem-base           noarch 104-1.el8              PowerTools  40 k
 mingw64-binutils                x86_64 2.30-1.el8             PowerTools 2.9 M
 mingw64-cpp                     x86_64 7.2.0-2.el8            PowerTools 7.0 M
 mingw64-crt                     noarch 5.0.2-2.el8            PowerTools 2.5 M
 mingw64-filesystem              noarch 104-1.el8              PowerTools 171 k
 mingw64-headers                 noarch 5.0.2-2.el8            PowerTools 5.4 M
 mingw64-winpthreads             noarch 5.0.2-2.el8            PowerTools  52 k
 mokutil                         x86_64 1:0.3.0-9.el8          BaseOS      44 k
 ncurses-c++-libs                x86_64 6.1-7.20180224.el8     BaseOS      58 k
 ncurses-compat-libs             x86_64 6.1-7.20180224.el8     BaseOS     331 k
 nettle-devel                    x86_64 3.4.1-1.el8            AppStream  636 k
 nspr                            x86_64 4.25.0-2.el8_2         AppStream  142 k
 nss                             x86_64 3.53.1-11.el8_2        AppStream  721 k
 nss-softokn                     x86_64 3.53.1-11.el8_2        AppStream  484 k
 nss-softokn-freebl              x86_64 3.53.1-11.el8_2        AppStream  289 k
 nss-sysinit                     x86_64 3.53.1-11.el8_2        AppStream   71 k
 nss-tools                       x86_64 3.53.1-11.el8_2        AppStream  559 k
 nss-util                        x86_64 3.53.1-11.el8_2        AppStream  135 k
 ocaml-srpm-macros               noarch 5-4.el8                AppStream  9.4 k
 openblas-srpm-macros            noarch 2-2.el8                AppStream  7.9 k
 openjpeg2                       x86_64 2.3.1-6.el8            AppStream  154 k
 p11-kit-devel                   x86_64 0.23.14-5.el8_0        BaseOS      86 k
 pango                           x86_64 1.42.4-6.el8           AppStream  298 k
 pcre-cpp                        x86_64 8.42-4.el8             BaseOS      47 k
 pcre-devel                      x86_64 8.42-4.el8             BaseOS     551 k
 pcre-utf16                      x86_64 8.42-4.el8             BaseOS     195 k
 pcre-utf32                      x86_64 8.42-4.el8             BaseOS     186 k
 pcre2-devel                     x86_64 10.32-1.el8            BaseOS     605 k
 pcre2-utf16                     x86_64 10.32-1.el8            BaseOS     228 k
 pcre2-utf32                     x86_64 10.32-1.el8            BaseOS     220 k
 perl-Algorithm-Diff             noarch 1.1903-9.el8           AppStream   52 k
 perl-Archive-Zip                noarch 1.60-3.el8             AppStream  108 k
 perl-Attribute-Handlers         noarch 0.99-416.el8           AppStream   88 k
 perl-B-Debug                    noarch 1.26-2.el8             AppStream   26 k
 perl-B-Lint                     noarch 1.20-11.el8            AppStream   25 k
 perl-CGI                        noarch 4.38-2.el8             AppStream  208 k
 perl-CPAN                       noarch 2.18-397.el8           AppStream  554 k
 perl-CPAN-Meta                  noarch 2.150010-396.el8       AppStream  191 k
 perl-CPAN-Meta-Requirements     noarch 2.140-396.el8          AppStream   37 k
 perl-CPAN-Meta-YAML             noarch 0.018-397.el8          AppStream   34 k
 perl-Carp                       noarch 1.42-396.el8           BaseOS      30 k
 perl-Class-ISA                  noarch 0.36-1022.el8          AppStream   15 k
 perl-Compress-Bzip2             x86_64 2.26-6.el8             AppStream   72 k
 perl-Compress-Raw-Bzip2         x86_64 2.081-1.el8            AppStream   40 k
 perl-Compress-Raw-Zlib          x86_64 2.081-1.el8            AppStream   68 k
 perl-Config-Perl-V              noarch 0.30-1.el8             AppStream   22 k
 perl-DB_File                    x86_64 1.842-1.el8            AppStream   83 k
 perl-Data-Dump                  noarch 1.23-7.el8             AppStream   36 k
 perl-Data-Dumper                x86_64 2.167-399.el8          BaseOS      58 k
 perl-Data-OptList               noarch 0.110-6.el8            AppStream   31 k
 perl-Data-Section               noarch 0.200007-3.el8         AppStream   30 k
 perl-Devel-PPPort               x86_64 3.36-5.el8             AppStream  118 k
 perl-Devel-Peek                 x86_64 1.26-416.el8           AppStream   93 k
 perl-Devel-SelfStubber          noarch 1.06-416.el8           AppStream   75 k
 perl-Devel-Size                 x86_64 0.81-2.el8             AppStream   34 k
 perl-Digest                     noarch 1.17-395.el8           AppStream   27 k
 perl-Digest-HMAC                noarch 1.03-17.el8            AppStream   20 k
 perl-Digest-MD5                 x86_64 2.55-396.el8           AppStream   37 k
 perl-Digest-SHA                 x86_64 1:6.02-1.el8           AppStream   66 k
 perl-Encode                     x86_64 4:2.97-3.el8           BaseOS     1.5 M
 perl-Encode-Locale              noarch 1.05-9.el8             AppStream   21 k
 perl-Encode-devel               x86_64 4:2.97-3.el8           AppStream   39 k
 perl-Env                        noarch 1.04-395.el8           AppStream   21 k
 perl-Errno                      x86_64 1.28-416.el8           BaseOS      76 k
 perl-Error                      noarch 1:0.17025-2.el8        AppStream   46 k
 perl-Exporter                   noarch 5.72-396.el8           BaseOS      34 k
 perl-ExtUtils-CBuilder          noarch 1:0.280230-2.el8       AppStream   48 k
 perl-ExtUtils-Command           noarch 1:7.34-1.el8           AppStream   19 k
 perl-ExtUtils-Embed             noarch 1.34-416.el8           AppStream   79 k
 perl-ExtUtils-Install           noarch 2.14-4.el8             AppStream   46 k
 perl-ExtUtils-MM-Utils          noarch 1:7.34-1.el8           AppStream   17 k
 perl-ExtUtils-Manifest          noarch 1.70-395.el8           AppStream   37 k
 perl-ExtUtils-Miniperl          noarch 1.06-416.el8           AppStream   76 k
 perl-ExtUtils-ParseXS           noarch 1:3.35-2.el8           AppStream   83 k
 perl-File-CheckTree             noarch 4.42-303.el8           AppStream   23 k
 perl-File-Fetch                 noarch 0.56-2.el8             AppStream   33 k
 perl-File-HomeDir               noarch 1.002-4.el8            AppStream   61 k
 perl-File-Listing               noarch 6.04-17.el8            AppStream   18 k
 perl-File-Path                  noarch 2.15-2.el8             BaseOS      38 k
 perl-File-Temp                  noarch 0.230.600-1.el8        BaseOS      63 k
 perl-File-Which                 noarch 1.22-2.el8             AppStream   23 k
 perl-Filter                     x86_64 2:1.58-2.el8           AppStream   82 k
 perl-Filter-Simple              noarch 0.94-2.el8             AppStream   29 k
 perl-Getopt-Long                noarch 1:2.50-4.el8           BaseOS      63 k
 perl-Git                        noarch 2.18.4-2.el8_2         AppStream   77 k
 perl-HTML-Parser                x86_64 3.72-14.el8            AppStream  119 k
 perl-HTML-Tagset                noarch 3.20-33.el8            AppStream   24 k
 perl-HTTP-Cookies               noarch 6.04-2.el8             AppStream   39 k
 perl-HTTP-Date                  noarch 6.02-18.el8            AppStream   19 k
 perl-HTTP-Message               noarch 6.18-1.el8             AppStream  100 k
 perl-HTTP-Negotiate             noarch 6.01-19.el8            AppStream   22 k
 perl-HTTP-Tiny                  noarch 0.074-1.el8            BaseOS      58 k
 perl-IO                         x86_64 1.38-416.el8           BaseOS     141 k
 perl-IO-Compress                noarch 2.081-1.el8            AppStream  258 k
 perl-IO-HTML                    noarch 1.001-10.el8           AppStream   28 k
 perl-IO-Socket-IP               noarch 0.39-5.el8             AppStream   47 k
 perl-IO-Socket-SSL              noarch 2.066-4.el8            AppStream  297 k
 perl-IO-Zlib                    noarch 1:1.10-416.el8         AppStream   80 k
 perl-IPC-Cmd                    noarch 2:1.02-1.el8           AppStream   43 k
 perl-IPC-SysV                   x86_64 2.07-397.el8           AppStream   43 k
 perl-IPC-System-Simple          noarch 1.25-17.el8            AppStream   43 k
 perl-JSON-PP                    noarch 1:2.97.001-3.el8       AppStream   68 k
 perl-LWP-MediaTypes             noarch 6.02-14.el8            AppStream   29 k
 perl-Locale-Codes               noarch 3.57-1.el8             AppStream  311 k
 perl-Locale-Maketext            noarch 1.28-396.el8           AppStream   99 k
 perl-Locale-Maketext-Simple     noarch 1:0.21-416.el8         AppStream   78 k
 perl-MIME-Base64                x86_64 3.15-396.el8           BaseOS      31 k
 perl-MRO-Compat                 noarch 0.13-4.el8             AppStream   24 k
 perl-Math-BigInt                noarch 1:1.9998.11-7.el8      BaseOS     196 k
 perl-Math-BigInt-FastCalc       x86_64 0.500.600-6.el8        AppStream   27 k
 perl-Math-BigRat                noarch 0.2614-1.el8           AppStream   40 k
 perl-Math-Complex               noarch 1.59-416.el8           BaseOS     108 k
 perl-Memoize                    noarch 1.03-416.el8           AppStream  118 k
 perl-Module-Build               noarch 2:0.42.24-5.el8        AppStream  273 k
 perl-Module-CoreList            noarch 1:5.20181130-1.el8     AppStream   87 k
 perl-Module-CoreList-tools      noarch 1:5.20181130-1.el8     AppStream   22 k
 perl-Module-Load                noarch 1:0.32-395.el8         AppStream   19 k
 perl-Module-Load-Conditional    noarch 0.68-395.el8           AppStream   24 k
 perl-Module-Loaded              noarch 1:0.08-416.el8         AppStream   74 k
 perl-Module-Metadata            noarch 1.000033-395.el8       AppStream   44 k
 perl-Module-Pluggable           noarch 2:5.2-7.el8            AppStream   34 k
 perl-NTLM                       noarch 1.09-17.el8            AppStream   24 k
 perl-Net-HTTP                   noarch 6.17-2.el8             AppStream   43 k
 perl-Net-Ping                   noarch 2.55-416.el8           AppStream  101 k
 perl-Net-SSLeay                 x86_64 1.88-1.el8             AppStream  379 k
 perl-Package-Generator          noarch 1.106-11.el8           AppStream   27 k
 perl-Params-Check               noarch 1:0.38-395.el8         AppStream   24 k
 perl-Params-Util                x86_64 1.07-22.el8            AppStream   44 k
 perl-PathTools                  x86_64 3.74-1.el8             BaseOS      90 k
 perl-Perl-OSType                noarch 1.010-396.el8          AppStream   29 k
 perl-PerlIO-via-QuotedPrint     noarch 0.08-395.el8           AppStream   13 k
 perl-Pod-Checker                noarch 4:1.73-395.el8         AppStream   33 k
 perl-Pod-Escapes                noarch 1:1.07-395.el8         BaseOS      20 k
 perl-Pod-Html                   noarch 1.22.02-416.el8        AppStream   87 k
 perl-Pod-LaTeX                  noarch 0.61-302.el8           AppStream   41 k
 perl-Pod-Parser                 noarch 1.63-396.el8           AppStream  108 k
 perl-Pod-Perldoc                noarch 3.28-396.el8           BaseOS      86 k
 perl-Pod-Plainer                noarch 1.04-7.el8             AppStream   14 k
 perl-Pod-Simple                 noarch 1:3.35-395.el8         BaseOS     213 k
 perl-Pod-Usage                  noarch 4:1.69-395.el8         BaseOS      34 k
 perl-Scalar-List-Utils          x86_64 3:1.49-2.el8           BaseOS      68 k
 perl-SelfLoader                 noarch 1.23-416.el8           AppStream   82 k
 perl-Socket                     x86_64 4:2.027-3.el8          BaseOS      59 k
 perl-Software-License           noarch 0.103013-2.el8         AppStream  138 k
 perl-Storable                   x86_64 1:3.11-3.el8           BaseOS      98 k
 perl-Sub-Exporter               noarch 0.987-15.el8           AppStream   73 k
 perl-Sub-Install                noarch 0.928-14.el8           AppStream   27 k
 perl-Sys-Syslog                 x86_64 0.35-397.el8           AppStream   50 k
 perl-Term-ANSIColor             noarch 4.06-396.el8           BaseOS      46 k
 perl-Term-Cap                   noarch 1.17-395.el8           BaseOS      23 k
 perl-TermReadKey                x86_64 2.37-7.el8             AppStream   40 k
 perl-Test                       noarch 1.30-416.el8           AppStream   89 k
 perl-Test-Harness               noarch 1:3.42-1.el8           AppStream  279 k
 perl-Text-Balanced              noarch 2.03-395.el8           AppStream   58 k
 perl-Text-Diff                  noarch 1.45-2.el8             AppStream   45 k
 perl-Text-Glob                  noarch 0.11-4.el8             AppStream   17 k
 perl-Text-ParseWords            noarch 3.30-395.el8           BaseOS      18 k
 perl-Text-Soundex               x86_64 3.05-8.el8             AppStream   32 k
 perl-Text-Tabs+Wrap             noarch 2013.0523-395.el8      BaseOS      24 k
 perl-Text-Template              noarch 1.51-1.el8             AppStream   64 k
 perl-Text-Unidecode             noarch 1.30-5.el8             AppStream  149 k
 perl-Thread-Queue               noarch 3.13-1.el8             AppStream   24 k
 perl-Time-HiRes                 x86_64 1.9758-1.el8           AppStream   61 k
 perl-Time-Local                 noarch 1:1.280-1.el8          BaseOS      34 k
 perl-Time-Piece                 x86_64 1.31-416.el8           AppStream   98 k
 perl-TimeDate                   noarch 1:2.30-13.el8          AppStream   53 k
 perl-Try-Tiny                   noarch 0.30-2.el8             AppStream   44 k
 perl-URI                        noarch 1.73-3.el8             AppStream  116 k
 perl-Unicode-Collate            x86_64 1.25-2.el8             AppStream  686 k
 perl-Unicode-Normalize          x86_64 1.25-396.el8           BaseOS      82 k
 perl-WWW-RobotRules             noarch 6.02-18.el8            AppStream   22 k
 perl-XML-LibXML                 x86_64 1:2.0132-2.el8         AppStream  372 k
 perl-XML-NamespaceSupport       noarch 1.12-4.el8             AppStream   30 k
 perl-XML-Parser                 x86_64 2.44-11.el8            AppStream  226 k
 perl-XML-SAX                    noarch 1.00-1.el8             AppStream   65 k
 perl-XML-SAX-Base               noarch 1.09-4.el8             AppStream   35 k
 perl-autodie                    noarch 2.29-396.el8           AppStream   98 k
 perl-bignum                     noarch 0.49-2.el8             AppStream   44 k
 perl-constant                   noarch 1.33-396.el8           BaseOS      25 k
 perl-devel                      x86_64 4:5.26.3-416.el8       AppStream  599 k
 perl-encoding                   x86_64 4:2.22-3.el8           AppStream   68 k
 perl-experimental               noarch 0.019-2.el8            AppStream   24 k
 perl-inc-latest                 noarch 2:0.500-9.el8          AppStream   25 k
 perl-libnet                     noarch 3.11-3.el8             AppStream  121 k
 perl-libnetcfg                  noarch 4:5.26.3-416.el8       AppStream   77 k
 perl-libs                       x86_64 4:5.26.3-416.el8       BaseOS     1.6 M
 perl-libwww-perl                noarch 6.34-1.el8             AppStream  212 k
 perl-local-lib                  noarch 2.000024-2.el8         AppStream   74 k
 perl-macros                     x86_64 4:5.26.3-416.el8       BaseOS      72 k
 perl-open                       noarch 1.11-416.el8           AppStream   77 k
 perl-parent                     noarch 1:0.237-1.el8          BaseOS      20 k
 perl-perlfaq                    noarch 5.20180605-1.el8       AppStream  386 k
 perl-podlators                  noarch 4.11-1.el8             BaseOS     118 k
 perl-srpm-macros                noarch 1-25.el8               AppStream   11 k
 perl-threads                    x86_64 1:2.21-2.el8           BaseOS      61 k
 perl-threads-shared             x86_64 1.58-2.el8             BaseOS      48 k
 perl-utils                      noarch 5.26.3-416.el8         AppStream  128 k
 perl-version                    x86_64 6:0.99.24-1.el8        AppStream   67 k
 pixman                          x86_64 0.38.4-1.el8           AppStream  257 k
 platform-python-devel           x86_64 3.6.8-23.el8           AppStream  246 k
 poppler                         x86_64 0.66.0-26.el8          AppStream  933 k
 poppler-data                    noarch 0.4.9-1.el8            AppStream  2.1 M
 poppler-utils                   x86_64 0.66.0-26.el8          AppStream  228 k
 python-rpm-macros               noarch 3-38.el8               AppStream   14 k
 python-srpm-macros              noarch 3-38.el8               AppStream   14 k
 python3-audit                   x86_64 3.0-0.17.20191104git1c2f876.el8
                                                               BaseOS      86 k
 python3-bind                    noarch 32:9.11.13-6.el8_2.1   AppStream  148 k
 python3-pip                     noarch 9.0.3-16.el8           AppStream   19 k
 python3-pyparsing               noarch 2.1.10-7.el8           BaseOS     142 k
 python3-rpm-generators          noarch 5-6.el8                AppStream   24 k
 python3-rpm-macros              noarch 3-38.el8               AppStream   13 k
 python3-setools                 x86_64 4.2.2-2.el8            BaseOS     601 k
 python3-setuptools              noarch 39.2.0-5.el8           BaseOS     162 k
 qpdf-libs                       x86_64 7.1.1-10.el8           AppStream  338 k
 qt5-srpm-macros                 noarch 5.12.5-3.el8           AppStream   10 k
 redhat-lsb-core                 x86_64 4.1-47.el8             AppStream   46 k
 redhat-lsb-cxx                  x86_64 4.1-47.el8             AppStream   23 k
 redhat-lsb-desktop              x86_64 4.1-47.el8             AppStream   26 k
 redhat-lsb-languages            x86_64 4.1-47.el8             AppStream   25 k
 redhat-lsb-printing             x86_64 4.1-47.el8             AppStream   23 k
 redhat-lsb-submod-multimedia    x86_64 4.1-47.el8             AppStream   22 k
 redhat-lsb-submod-security      x86_64 4.1-47.el8             AppStream   22 k
 rust-srpm-macros                noarch 5-2.el8                AppStream  9.2 k
 sgml-common                     noarch 0.6.3-50.el8           BaseOS      62 k
 spax                            x86_64 1.5.3-13.el8           BaseOS     217 k
 systemtap-client                x86_64 4.2-6.el8              AppStream  3.7 M
 systemtap-devel                 x86_64 4.2-6.el8              AppStream  2.3 M
 systemtap-runtime               x86_64 4.2-6.el8              AppStream  504 k
 systemtap-sdt-devel             x86_64 4.2-6.el8              AppStream   81 k
 tbb                             x86_64 2018.2-9.el8           AppStream  160 k
 time                            x86_64 1.9-3.el8              BaseOS      54 k
 tzdata-java                     noarch 2020d-1.el8            AppStream  190 k
 unzip                           x86_64 6.0-43.el8             BaseOS     195 k
 urw-base35-bookman-fonts        noarch 20170801-10.el8        AppStream  857 k
 urw-base35-c059-fonts           noarch 20170801-10.el8        AppStream  884 k
 urw-base35-d050000l-fonts       noarch 20170801-10.el8        AppStream   79 k
 urw-base35-fonts                noarch 20170801-10.el8        AppStream   12 k
 urw-base35-fonts-common         noarch 20170801-10.el8        AppStream   23 k
 urw-base35-gothic-fonts         noarch 20170801-10.el8        AppStream  654 k
 urw-base35-nimbus-mono-ps-fonts noarch 20170801-10.el8        AppStream  801 k
 urw-base35-nimbus-roman-fonts   noarch 20170801-10.el8        AppStream  865 k
 urw-base35-nimbus-sans-fonts    noarch 20170801-10.el8        AppStream  1.3 M
 urw-base35-p052-fonts           noarch 20170801-10.el8        AppStream  982 k
 urw-base35-standard-symbols-ps-fonts
                                 noarch 20170801-10.el8        AppStream   44 k
 urw-base35-z003-fonts           noarch 20170801-10.el8        AppStream  279 k
 util-linux-user                 x86_64 2.32.1-22.el8          BaseOS      98 k
 vim-filesystem                  noarch 2:8.0.1763-13.el8      AppStream   48 k
 words                           noarch 3.0-28.el8             BaseOS     1.4 M
 xdg-utils                       noarch 1.1.2-5.el8            AppStream   84 k
 xml-common                      noarch 0.6.3-50.el8           BaseOS      39 k
 xorg-x11-font-utils             x86_64 1:7.5-40.el8           AppStream  103 k
 xorg-x11-fonts-ISO8859-1-100dpi noarch 7.5-19.el8             AppStream  1.1 M
 xorg-x11-server-utils           x86_64 7.7-27.el8             AppStream  198 k
 zip                             x86_64 3.0-23.el8             BaseOS     270 k
 zstd                            x86_64 1.4.2-2.el8            AppStream  385 k
モジュールストリームの有効化中:
 javapackages-runtime                   201801
 python36                               3.6
グループのインストール中:
 Development Tools

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

ダウンロードサイズの合計: 277 M
インストール済みのサイズ: 1.0 G
パッケージのダウンロード:
(1/521): adobe-mappings-cmap-deprecated-2017120 1.2 MB/s | 119 kB     00:00
<略>
  zstd-1.4.2-2.el8.x86_64

完了しました!
+ yum clean all
57 ファイルが削除されました
[root@centos8 ~]#

注: 2022/03/14時点でCentOS 8 stream上でsamba-4.15.5をコンパイルしようとしたところ、「libgpgme11-dev」と「libarchive-dev」がないことによるエラーがでました。

Checking for program 'gpgme-config'                                                             : not found
Checking for library gpgme                                                                      : no
Checking for gpgme_new                                                                          : not found
GPGME support not found. Try installing libgpgme11-dev or gpgme-devel and python-gpgme. Otherwise, use --without-gpgme to build without GPGME support or --without-ad-dc to build without the Samba AD DC. GPGME support is required for the GPG encrypted password sync feature
(complete log in /root/samba-4.15.5/bin/config.log)
Checking for libarchive existence
Checking for header archive.h                                                                   : no
libarchive support not found. Try installing libarchive-dev or libarchive-devel. Otherwise, use --without-libarchive to build without libarchive support. libarchive support is required for the smbclient tar-file mode
(complete log in /root/samba-4.15.5/bin/config.log)

これらは「yum install gpgme-devel」「yum install libarchive-devel」で対応できました。

2022/04/25追記:samba 4.16.0の場合、必要とするパッケージが増えていました
「yum install libaio-devel libxml2-devel perl-JSON python3-iso8601 python3-setproctitle」で追加となりました。ただ、これを追加しても、後述のconfigureで失敗しました。

(3.5) 追加パッケージ

ドキュメントに書いていないのだが、Kerberosの動作確認で使用するコマンドklist, kinitは「krb5-workstation」というパッケージに入っているのでインストールする。

[root@centos8 ~]# yum install krb5-workstation
メタデータの期限切れの最終確認: 0:02:13 時間前の 2020年11月02日 15時41分35秒 に実施し ました。
依存関係が解決しました。
======================================================================================
 パッケージ                Arch            バージョン           リポジトリー    サイズ
======================================================================================
インストール中:
 krb5-workstation          x86_64          1.17-18.el8          BaseOS          940 k

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

ダウンロードサイズの合計: 940 k
インストール済みのサイズ: 3.3 M
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
krb5-workstation-1.17-18.el8.x86_64.rpm               3.9 MB/s | 940 kB     00:00
--------------------------------------------------------------------------------------
合計                                                  1.1 MB/s | 940 kB     00:00
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  準備              :                                                             1/1
  インストール中    : krb5-workstation-1.17-18.el8.x86_64                         1/1
  scriptlet の実行中: krb5-workstation-1.17-18.el8.x86_64                         1/1
  検証              : krb5-workstation-1.17-18.el8.x86_64                         1/1

インストール済み:
  krb5-workstation-1.17-18.el8.x86_64

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

(4) sambaのtar.gzをダウンロード

samba.orgからsambaをダウンロードします。

[root@centos8 ~]# curl -O https://download.samba.org/pub/samba/stable/samba-4.13.3.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 17.5M  100 17.5M    0     0   565k      0  0:00:31  0:00:31 --:--:-- 1384k
[root@centos8 ~]#

(5) 展開とconfigure実施

sambaのtar.gz展開とconfigureを実行します。

[root@centos8 ~]# tar xfz samba-4.13.3.tar.gz
[root@centos8 ~]# cd samba-4.13.3
[root@centos8 samba-4.13.3]# ./configure
Setting top to                           : /root/samba-4.13.3
Setting out to                           : /root/samba-4.13.3/bin
Checking for 'gcc' (C compiler)          : /usr/bin/gcc
Checking for program 'git'               : /usr/bin/git
Checking for c flags '-MMD'              : yes
Checking for program 'gdb'               : /usr/bin/gdb
Checking for header sys/utsname.h        : yes
Checking uname sysname type              : Linux
Checking uname machine type              : x86_64
Checking uname release type              : 4.18.0-240.el8.x86_64
Checking uname version type              : #1 SMP Fri Sep 25 19:48:47 UTC 2020
Checking for header stdio.h              : yes
Checking simple C program                : ok
Checking compiler accepts ['-Werror']    : yes
Checking linker accepts ['-Wl,-rpath,.'] : yes
Checking for rpath library support       : yes
<略>
Checking if compiler accepts -fstack-protector-strong                                           : no
Checking if compiler accepts -fstack-protector                                                  : no
Checking if compiler accepts -fstack-clash-protection                                           : yes
'configure' finished successfully (2m51.769s)
[root@centos8 samba-4.13.3]#

2022/04/25追記: samba-4.16.0 / CentOS8 Stream環境で試したところ、下記のようなpyembedがnot foundとなるエラーで失敗しました。

# ./configure
<略>
python-config                                                                     : /usr/bin/python3-config
Asking python-config for pyembed '--cflags --libs --ldflags --embed' flags        : not found
Asking python-config for pyembed '--cflags --libs --ldflags' flags                : not found
The configuration failed
(complete log in /root/samba-4.16.0/bin/config.log)
#

(6) make & make install

単純にmake ,make installを実行します。

[root@centos8 samba-4.13.3]# make
PYTHONHASHSEED=1 WAF_MAKE=1  ./buildtools/bin/waf build
Waf: Entering directory `/root/samba-4.13.3/bin/default'
symlink: tevent.py -> python/tevent.py
symlink: _tdb_text.py -> python/_tdb_text.py
symlink: _ldb_text.py -> python/_ldb_text.py
symlink: samba/__init__.py -> python/samba/__init__.py
symlink: samba/auth_util.py -> python/samba/auth_util.py
symlink: samba/colour.py -> python/samba/colour.py
symlink: samba/common.py -> python/samba/common.py
symlink: samba/compat.py -> python/samba/compat.py
symlink: samba/dbchecker.py -> python/samba/dbchecker.py
symlink: samba/descriptor.py -> python/samba/descriptor.py
symlink: samba/dnsresolver.py -> python/samba/dnsresolver.py
<略>
Note: Writing samba-gpupdate.8

Waf: Leaving directory `/root/samba-4.13.3/bin/default'
Build commands will be stored in bin/default/compile_commands.json
'build' finished successfully (33m0.654s)
[root@centos8 samba-4.13.3]#
[root@centos8 samba-4.13.3]# make install
PYTHONHASHSEED=1 WAF_MAKE=1  ./buildtools/bin/waf install
Waf: Entering directory `/root/samba-4.13.3/bin/default'
* create /usr/local/samba/etc
* create /usr/local/samba/var
* create /usr/local/samba/var/lib
* create /usr/local/samba/private
* create /usr/local/samba/bind-dns
* create /usr/local/samba/var/locks
* create /usr/local/samba/var/cache
* create /usr/local/samba/var/lock
* create /usr/local/samba/var/run
        Selected embedded Heimdal build
Checking project rules ...
<略>
+ install /usr/local/samba/share/man/man8/samba-gpupdate.8 (from bin/default/source4/scripting/man/samba-gpupdate.8)
Waf: Leaving directory `/root/samba-4.13.3/bin/default'
Build commands will be stored in bin/default/compile_commands.json
'install' finished successfully (14m32.055s)
[root@centos8 samba-4.13.3]#

(7) インストール完了確認

インストールされたsambaのバージョンを確認します。

[root@centos8 samba-4.13.3]# /usr/local/samba/sbin/samba -V
Version 4.13.3
[root@centos8 samba-4.13.3]#

(8) Active Directoryのセットアップ

ドメイン「teatad2.local」を作成します。

sama-tools domain provisionを実行する際のオプションは「–use-rfc2307」を付けて、NIS連携機能を使えるようにします。これによりActiveDirectory上にUID/GID/shellなどの情報も格納できるようになります。

[root@centos8 samba-4.13.3]# /usr/local/samba/bin/samba-tool domain provision --use-rfc2307 --interactive
Realm [TESTAD2.LOCAL]:  testad2.local
Domain [testad2]:
Server Role (dc, member, standalone) [dc]:
DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: 
DNS forwarder IP address (write 'none' to disable forwarding) [172.17.44.49]:
Administrator password:
Retype password:
INFO 2021-01-21 16:49:45,252 pid:88031 /usr/local/samba/lib64/python3.6/site-packages/samba/provision/__init__.py #2122: Looking up IPv4 addresses
INFO 2021-01-21 16:49:45,257 pid:88031 /usr/local/samba/lib64/python3.6/site-packages/samba/provision/__init__.py #2139: Looking up IPv6 addresses
WARNING 2021-01-21 16:49:45,259 pid:88031 /usr/local/samba/lib64/python3.6/site-packages/samba/provision/__init__.py #2146: No IPv6 address will be assigned
INFO 2021-01-21 16:49:46,177 pid:88031 /usr/local/samba/lib64/python3.6/site-packages/samba/provision/__init__.py #2290: Setting up share.ldb
INFO 2021-01-21 16:49:46,212 pid:88031 /usr/local/samba/lib64/python3.6/site-packages/samba/provision/__init__.py #2294: Setting up secrets.ldb
INFO 2021-01-21 16:49:46,246 pid:88031 /usr/local/samba/lib64/python3.6/site-packages/samba/provision/__init__.py #2299: Setting up the registry
INFO 2021-01-21 16:49:46,348 pid:88031 /usr/local/samba/lib64/python3.6/site-packages/samba/provision/__init__.py #2302: Setting up the privileges database
INFO 2021-01-21 16:49:46,399 pid:88031 /usr/local/samba/lib64/python3.6/site-packages/samba/provision/__init__.py #2305: Setting up idmap db
INFO 2021-01-21 16:49:46,435 pid:88031 /usr/local/samba/lib64/python3.6/site-packages/samba/provision/__init__.py #2312: Setting up SAM db
INFO 2021-01-21 16:49:46,448 pid:88031 /usr/local/samba/lib64/python3.6/site-packages/samba/provision/__init__.py #897: Setting up sam.ldb partitions and settings
INFO 2021-01-21 16:49:46,449 pid:88031 /usr/local/samba/lib64/python3.6/site-packages/samba/provision/__init__.py #909: Setting up sam.ldb rootDSE
INFO 2021-01-21 16:49:46,455 pid:88031 /usr/local/samba/lib64/python3.6/site-packages/samba/provision/__init__.py #1322: Pre-loading the Samba 4 and AD schema
Unable to determine the DomainSID, can not enforce uniqueness constraint on local domainSIDs

INFO 2021-01-21 16:49:46,523 pid:88031 /usr/local/samba/lib64/python3.6/site-packages/samba/provision/__init__.py #1400: Adding DomainDN: DC=testad2,DC=local
INFO 2021-01-21 16:49:46,555 pid:88031 /usr/local/samba/lib64/python3.6/site-packages/samba/provision/__init__.py #1432: Adding configuration container
INFO 2021-01-21 16:49:46,585 pid:88031 /usr/local/samba/lib64/python3.6/site-packages/samba/provision/__init__.py #1447: Setting up sam.ldb schema
INFO 2021-01-21 16:49:51,918 pid:88031 /usr/local/samba/lib64/python3.6/site-packages/samba/provision/__init__.py #1465: Setting up sam.ldb configuration data
INFO 2021-01-21 16:49:52,194 pid:88031 /usr/local/samba/lib64/python3.6/site-packages/samba/provision/__init__.py #1506: Setting up display specifiers
INFO 2021-01-21 16:49:55,576 pid:88031 /usr/local/samba/lib64/python3.6/site-packages/samba/provision/__init__.py #1514: Modifying display specifiers and extended rights
INFO 2021-01-21 16:49:55,641 pid:88031 /usr/local/samba/lib64/python3.6/site-packages/samba/provision/__init__.py #1521: Adding users container
INFO 2021-01-21 16:49:55,644 pid:88031 /usr/local/samba/lib64/python3.6/site-packages/samba/provision/__init__.py #1527: Modifying users container
INFO 2021-01-21 16:49:55,645 pid:88031 /usr/local/samba/lib64/python3.6/site-packages/samba/provision/__init__.py #1530: Adding computers container
INFO 2021-01-21 16:49:55,647 pid:88031 /usr/local/samba/lib64/python3.6/site-packages/samba/provision/__init__.py #1536: Modifying computers container
INFO 2021-01-21 16:49:55,649 pid:88031 /usr/local/samba/lib64/python3.6/site-packages/samba/provision/__init__.py #1540: Setting up sam.ldb data
INFO 2021-01-21 16:49:55,905 pid:88031 /usr/local/samba/lib64/python3.6/site-packages/samba/provision/__init__.py #1570: Setting up well known security principals
INFO 2021-01-21 16:49:55,979 pid:88031 /usr/local/samba/lib64/python3.6/site-packages/samba/provision/__init__.py #1584: Setting up sam.ldb users and groups
INFO 2021-01-21 16:49:56,534 pid:88031 /usr/local/samba/lib64/python3.6/site-packages/samba/provision/__init__.py #1592: Setting up self join
Repacking database from v1 to v2 format (first record CN=MSMQ-Migrated-User,CN=Schema,CN=Configuration,DC=testad2,DC=local)
Repack: re-packed 10000 records so far
Repacking database from v1 to v2 format (first record CN=serviceAdministrationPoint-Display,CN=408,CN=DisplaySpecifiers,CN=Configuration,DC=testad2,DC=local)
Repacking database from v1 to v2 format (first record CN=6bcd568d-8314-11d6-977b-00c04f613221,CN=Operations,CN=DomainUpdates,CN=System,DC=testad2,DC=local)
INFO 2021-01-21 16:50:00,299 pid:88031 /usr/local/samba/lib64/python3.6/site-packages/samba/provision/sambadns.py #1143: Adding DNS accounts
INFO 2021-01-21 16:50:00,350 pid:88031 /usr/local/samba/lib64/python3.6/site-packages/samba/provision/sambadns.py #1177: Creating CN=MicrosoftDNS,CN=System,DC=testad2,DC=local
INFO 2021-01-21 16:50:00,422 pid:88031 /usr/local/samba/lib64/python3.6/site-packages/samba/provision/sambadns.py #1190: Creating DomainDnsZones and ForestDnsZones partitions
INFO 2021-01-21 16:50:00,563 pid:88031 /usr/local/samba/lib64/python3.6/site-packages/samba/provision/sambadns.py #1195: Populating DomainDnsZones and ForestDnsZones partitions
Repacking database from v1 to v2 format (first record DC=h.root-servers.net,DC=RootDNSServers,CN=MicrosoftDNS,DC=DomainDnsZones,DC=testad2,DC=local)
Repacking database from v1 to v2 format (first record DC=_msdcs.testad2.local,CN=MicrosoftDNS,DC=ForestDnsZones,DC=testad2,DC=local)
INFO 2021-01-21 16:50:01,185 pid:88031 /usr/local/samba/lib64/python3.6/site-packages/samba/provision/__init__.py #2026: Setting up sam.ldb rootDSE marking as synchronized
INFO 2021-01-21 16:50:01,192 pid:88031 /usr/local/samba/lib64/python3.6/site-packages/samba/provision/__init__.py #2031: Fixing provision GUIDs
INFO 2021-01-21 16:50:04,392 pid:88031 /usr/local/samba/lib64/python3.6/site-packages/samba/provision/__init__.py #2365: A Kerberos configuration suitable for Samba AD has been generated at /usr/local/samba/private/krb5.conf
INFO 2021-01-21 16:50:04,393 pid:88031 /usr/local/samba/lib64/python3.6/site-packages/samba/provision/__init__.py #2366: Merge the contents of this file with your system krb5.conf or replace it with this one. Do not create a symlink!
INFO 2021-01-21 16:50:04,774 pid:88031 /usr/local/samba/lib64/python3.6/site-packages/samba/provision/__init__.py #2096: Setting up fake yp server settings
INFO 2021-01-21 16:50:04,899 pid:88031 /usr/local/samba/lib64/python3.6/site-packages/samba/provision/__init__.py #490: Once the above files are installed, your Samba AD server will be ready to use
INFO 2021-01-21 16:50:04,900 pid:88031 /usr/local/samba/lib64/python3.6/site-packages/samba/provision/__init__.py #494: Server Role:           active directory domain controller
INFO 2021-01-21 16:50:04,900 pid:88031 /usr/local/samba/lib64/python3.6/site-packages/samba/provision/__init__.py #495: Hostname:              centos8
INFO 2021-01-21 16:50:04,900 pid:88031 /usr/local/samba/lib64/python3.6/site-packages/samba/provision/__init__.py #496: NetBIOS Domain:        TESTAD2
INFO 2021-01-21 16:50:04,900 pid:88031 /usr/local/samba/lib64/python3.6/site-packages/samba/provision/__init__.py #497: DNS Domain:            testad2.local
INFO 2021-01-21 16:50:04,900 pid:88031 /usr/local/samba/lib64/python3.6/site-packages/samba/provision/__init__.py #498: DOMAIN SID:            S-1-5-21-1972786440-1566357171-3630376140
[root@centos8 samba-4.13.3]#

このコマンドにより/usr/local/samba/etc/smb.conf が作成されます。

[root@centos8 samba-4.13.3]# cat /usr/local/samba/etc/smb.conf
# Global parameters
[global]
        dns forwarder = 172.17.44.49
        netbios name = CENTOS8
        realm = TESTAD2.LOCAL
        server role = active directory domain controller
        workgroup = TESTAD2
        idmap_ldb:use rfc2307 = yes

[sysvol]
        path = /usr/local/samba/var/locks/sysvol
        read only = No

[netlogon]
        path = /usr/local/samba/var/locks/sysvol/testad2.local/scripts
        read only = No
[root@centos8 samba-4.13.3]#

(9) resolv.confの書き換え

/etc/resolv.conf のnameserverをCentOS8のネットワークインタフェースIPに変更し、またsearchをActive Directory名に変更します。

[root@centos8 samba-4.13.3]# cat /etc/resolv.conf
# Generated by NetworkManager
search testad2.local
nameserver 172.17.44.47
[root@centos8 samba-4.13.3]#

(10) /etc/krb5.conf の書き換え

/usr/local/samba/private/krb5.conf に元となるものが自動生成されているので、それを使用して /etc/krb5.conf を置き換えます。

[root@centos8 samba-4.13.3]# ls -l /etc/krb5.conf /usr/local/samba/private/krb5.conf
-rw-r--r--. 1 root root 812  8月 12 04:52 /etc/krb5.conf
-rw-r--r--. 1 root root 197  1月 21 16:50 /usr/local/samba/private/krb5.conf
[root@centos8 samba-4.13.3]# cat /usr/local/samba/private/krb5.conf
[libdefaults]
        default_realm = TESTAD2.LOCAL
        dns_lookup_realm = false
        dns_lookup_kdc = true

[realms]
TESTAD2.LOCAL = {
        default_domain = testad2.local
}

[domain_realm]
        centos8 = TESTAD2.LOCAL
[root@centos8 samba-4.13.3]# cp /usr/local/samba/private/krb5.conf /etc/krb5.conf
cp: '/etc/krb5.conf' を上書きしますか? y
[root@centos8 samba-4.13.3]# cat /etc/krb5.conf
[libdefaults]
        default_realm = TESTAD2.LOCAL
        dns_lookup_realm = false
        dns_lookup_kdc = true

[realms]
TESTAD2.LOCAL = {
        default_domain = testad2.local
}

[domain_realm]
        centos8 = TESTAD2.LOCAL
[root@centos8 samba-4.13.3]#

(11) sambaの起動

sambaが起動していないことを確認した上で、sambaを起動します。

[root@centos8 samba-4.13.3]# ps -ef|grep samba
root       88045    1640  0 16:51 pts/0    00:00:00 grep --color=auto samba
[root@centos8 samba-4.13.3]# /usr/local/samba/sbin/samba
[root@centos8 samba-4.13.3]# ps -ef|grep samba
root       88047       1 31 16:51 ?        00:00:00 samba: root process        .
root       88048   88047  0 16:51 ?        00:00:00 samba: tfork waiter process(88049)
root       88049   88048  0 16:51 ?        00:00:00 samba: task[s3fs] pre-fork master
root       88050   88047  0 16:51 ?        00:00:00 samba: tfork waiter process(88051)
root       88051   88050  1 16:51 ?        00:00:00 samba: task[rpc] pre-fork master
root       88052   88049  0 16:51 ?        00:00:00 samba: tfork waiter process(88053)
root       88053   88052 29 16:51 ?        00:00:00 /usr/local/samba/sbin/smbd -D --option=server role check:inhibit=yes --foreground
root       88054   88047  0 16:51 ?        00:00:00 samba: tfork waiter process(88055)
root       88055   88054  0 16:51 ?        00:00:00 samba: task[nbt] pre-fork master
root       88056   88051  0 16:51 ?        00:00:00 samba: tfork waiter process(88058)
root       88057   88047  0 16:51 ?        00:00:00 samba: tfork waiter process(88060)
root       88058   88056  1 16:51 ?        00:00:00 samba: task[rpc] pre-forked worker(0)
root       88059   88051  0 16:51 ?        00:00:00 samba: tfork waiter process(88061)
root       88060   88057  0 16:51 ?        00:00:00 samba: task[wrepl] pre-fork master
root       88061   88059  0 16:51 ?        00:00:00 samba: task[rpc] pre-forked worker(1)
root       88062   88047  0 16:51 ?        00:00:00 samba: tfork waiter process(88065)
root       88063   88051  0 16:51 ?        00:00:00 samba: tfork waiter process(88064)
root       88064   88063  0 16:51 ?        00:00:00 samba: task[rpc] pre-forked worker(2)
root       88065   88062 89 16:51 ?        00:00:01 samba: task[ldap] pre-fork master
root       88066   88051  0 16:51 ?        00:00:00 samba: tfork waiter process(88068)
root       88067   88047  0 16:51 ?        00:00:00 samba: tfork waiter process(88069)
root       88068   88066  0 16:51 ?        00:00:00 samba: task[rpc] pre-forked worker(3)
root       88069   88067  0 16:51 ?        00:00:00 samba: task[cldap] pre-fork master
root       88070   88047  0 16:51 ?        00:00:00 samba: tfork waiter process(88071)
root       88071   88070  1 16:51 ?        00:00:00 samba: task[kdc] pre-fork master
root       88072   88047  0 16:51 ?        00:00:00 samba: tfork waiter process(88073)
root       88073   88072  1 16:51 ?        00:00:00 samba: task[drepl] pre-fork master
root       88074   88047  0 16:51 ?        00:00:00 samba: tfork waiter process(88079)
root       88075   88071  0 16:51 ?        00:00:00 samba: tfork waiter process(88076)
root       88076   88075  0 16:51 ?        00:00:00 samba: task[kdc] pre-forked worker(0)
root       88077   88071  0 16:51 ?        00:00:00 samba: tfork waiter process(88078)
root       88078   88077  0 16:51 ?        00:00:00 samba: task[kdc] pre-forked worker(1)
root       88079   88074  0 16:51 ?        00:00:00 samba: task[winbindd] pre-fork master
root       88080   88071  0 16:51 ?        00:00:00 samba: tfork waiter process(88084)
root       88081   88047  0 16:51 ?        00:00:00 samba: tfork waiter process(88083)
root       88082   88079  0 16:51 ?        00:00:00 samba: tfork waiter process(88086)
root       88083   88081  0 16:51 ?        00:00:00 samba: task[ntp_signd] pre-fork master
root       88084   88080  0 16:51 ?        00:00:00 samba: task[kdc] pre-forked worker(2)
root       88085   88047  0 16:51 ?        00:00:00 samba: tfork waiter process(88088)
root       88086   88082 25 16:51 ?        00:00:00 /usr/local/samba/sbin/winbindd -D --option=server role check:inhibit=yes --foreground
root       88087   88071  0 16:51 ?        00:00:00 samba: tfork waiter process(88089)
root       88088   88085  0 16:51 ?        00:00:00 samba: task[kcc] pre-fork master
root       88089   88087  0 16:51 ?        00:00:00 samba: task[kdc] pre-forked worker(3)
root       88090   88047  0 16:51 ?        00:00:00 samba: tfork waiter process(88091)
root       88091   88090  0 16:51 ?        00:00:00 samba: task[dnsupdate] pre-fork master
root       88092   88047  0 16:51 ?        00:00:00 samba: tfork waiter process(88093)
root       88093   88092  1 16:51 ?        00:00:00 samba: task[dns] pre-fork master
root       88100   88053  0 16:51 ?        00:00:00 /usr/local/samba/sbin/smbd -D --option=server role check:inhibit=yes --foreground
root       88101   88053  0 16:51 ?        00:00:00 /usr/local/samba/sbin/smbd -D --option=server role check:inhibit=yes --foreground
root       88106   88053  0 16:51 ?        00:00:00 /usr/local/samba/sbin/smbd -D --option=server role check:inhibit=yes --foreground
root       88110   88065  0 16:51 ?        00:00:00 samba: tfork waiter process(88111)
root       88111   88110  0 16:51 ?        00:00:00 samba: task[ldap] pre-forked worker(0)
root       88112   88065  0 16:51 ?        00:00:00 samba: tfork waiter process(88113)
root       88113   88112  0 16:51 ?        00:00:00 samba: task[ldap] pre-forked worker(1)
root       88114   88065  0 16:51 ?        00:00:00 samba: tfork waiter process(88115)
root       88115   88114  0 16:51 ?        00:00:00 samba: task[ldap] pre-forked worker(2)
root       88116   88065  0 16:51 ?        00:00:00 samba: tfork waiter process(88117)
root       88117   88116  0 16:51 ?        00:00:00 samba: task[ldap] pre-forked worker(3)
root       88119    1640  0 16:51 pts/0    00:00:00 grep --color=auto samba
[root@centos8 samba-4.13.3]#

(12) sambaの動作確認

CentOS内部からSMB接続を行うテストを行います。

[root@centos8 samba-4.13.3]# /usr/local/samba/bin/smbclient --version
Version 4.13.3
[root@centos8 samba-4.13.3]# /usr/local/samba/bin/smbclient -L localhost -U%

        Sharename       Type      Comment
        ---------       ----      -------
        sysvol          Disk
        netlogon        Disk
        IPC$            IPC       IPC Service (Samba 4.13.3)
SMB1 disabled -- no workgroup available
[root@centos8 samba-4.13.3]#

次にnetlogon共有にAdministrator権限でアクセスできるか確認します。

[root@centos8 samba-4.13.3]# /usr/local/samba/bin/smbclient //localhost/netlogon -UAdministrator -c 'ls'
Enter TESTAD2\Administrator's password:
  .                                   D        0  Thu Jan 21 16:49:46 2021
  ..                                  D        0  Thu Jan 21 16:49:56 2021

                63747676 blocks of size 1024. 59865376 blocks available
[root@centos8 samba-4.13.3]#

(13) AD DNSの動作確認

AD DNSが想定通りに動作しているかをテストします。

まず「/usr/local/samba/bin/samba-tool dns zonelist 127.0.0.1 -U Administrator」を実行して、登録されているDNSゾーンを確認します。

[root@centos8 samba-4.13.3]# /usr/local/samba/bin/samba-tool dns zonelist 127.0.0.1 -U Administrator
Password for [TESTAD2\Administrator]:
  2 zone(s) found

  pszZoneName                 : testad2.local
  Flags                       : DNS_RPC_ZONE_DSINTEGRATED DNS_RPC_ZONE_UPDATE_SECURE
  ZoneType                    : DNS_ZONE_TYPE_PRIMARY
  Version                     : 50
  dwDpFlags                   : DNS_DP_AUTOCREATED DNS_DP_DOMAIN_DEFAULT DNS_DP_ENLISTED
  pszDpFqdn                   : DomainDnsZones.testad2.local

  pszZoneName                 : _msdcs.testad2.local
  Flags                       : DNS_RPC_ZONE_DSINTEGRATED DNS_RPC_ZONE_UPDATE_SECURE
  ZoneType                    : DNS_ZONE_TYPE_PRIMARY
  Version                     : 50
  dwDpFlags                   : DNS_DP_AUTOCREATED DNS_DP_FOREST_DEFAULT DNS_DP_ENLISTED
  pszDpFqdn                   : ForestDnsZones.testad2.local
[root@centos8 samba-4.13.3]#

Active Directoryで使用するDNSのSRVレコードが登録されているかをhostコマンドを使って確認します。

[root@centos8 samba-4.13.3]# host -t SRV _ldap._tcp.testad2.local 127.0.0.1
Using domain server:
Name: 127.0.0.1
Address: 127.0.0.1#53
Aliases:

_ldap._tcp.testad2.local has SRV record 0 100 389 centos8.testad2.local.
[root@centos8 samba-4.13.3]# host -t SRV _kerberos._udp.testad2.local 127.0.0.1
Using domain server:
Name: 127.0.0.1
Address: 127.0.0.1#53
Aliases:

_kerberos._udp.testad2.local has SRV record 0 100 88 centos8.testad2.local.
[root@centos8 samba-4.13.3]#

ADサーバのホスト名が登録されているか確認します。

[root@centos8 samba-4.13.3]# host -t A centos8.testad2.local 127.0.0.1
Using domain server:
Name: 127.0.0.1
Address: 127.0.0.1#53
Aliases:

centos8.testad2.local has address 172.17.44.47
[root@centos8 samba-4.13.3]#

こんな感じで応答があればOKです。「Host ~ not found: 3(NXDOMAIN)」なんて言われたらホスト名が登録されていません。

(14) Kerberosの動作確認

「kinit administrator」を実行して確認します。

(なお、kinit,klistがインストールされていない場合は「yum install krb5-workstation」でインストールします。

[root@centos8 samba-4.13.3]# kinit administrator
Password for administrator@TESTAD2.LOCAL:
Warning: Your password will expire in 41 days on 2021年03月04日 16時49分56秒
[root@centos8 samba-4.13.3]#

正常に設定されていると、Administratorユーザのパスワード有効期限が表示されます。

「klist」コマンドでも確認します。

[root@centos8 samba-4.13.3]# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: administrator@TESTAD2.LOCAL

Valid starting       Expires              Service principal
2021-01-21T16:58:49  2021-01-22T02:58:49  krbtgt/TESTAD2.LOCAL@TESTAD2.LOCAL
        renew until 2021-01-22T16:58:46
[root@centos8 samba-4.13.3]#

なお、DNSサーバ指定が誤っていてAD DNS以外を指定してしまっている場合やsambaが起動していない場合は下記の様になります。

[root@centos8 samba-4.13.3]# kinit administrator
kinit: Cannot find KDC for realm "TESTAD2.LOCAL" while getting initial credentials
[root@centos8 samba-4.13.3]#

(15) フォレストとドメインの機能レベル確認

作成したActive Directoryのドメインの機能レベルとフォレストの機能レベルを確認します。

[root@centos8 samba-4.13.3]# /usr/local/samba/bin/samba-tool domain level show
Domain and forest function level for domain 'DC=testad2,DC=local'

Forest function level: (Windows) 2008 R2
Domain function level: (Windows) 2008 R2
Lowest function level of a DC: (Windows) 2008 R2
[root@centos8 samba-4.13.3]#

samba 4.13.3でもWindows Server 2008 R2が標準設定となっています。

(16) firewalldの設定

CentOS8ではfirewalldによりポートへのアクセスが制限されています。

まずは「firewall-cmd –list-all」コマンドで確認します。

[root@centos8 ~]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens192
  sources:
  services: cockpit dhcpv6-client ssh
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
[root@centos8 ~]#

開けるべきポートのテンプレートがいくつか用意されているので「firewall-cmd –get-services」を実行して確認します。

[root@centos8 ~]# firewall-cmd --get-services
RH-Satellite-6 amanda-client amanda-k5-client amqp amqps apcupsd audit bacula bacula-client bb bgp bitcoin bitcoin-rpc bitcoin-testnet bitcoin-testnet-rpc bittorrent-lsd ceph ceph-mon cfengine cockpit condor-collector ctdb dhcp dhcpv6 dhcpv6-client distcc dns dns-over-tls docker-registry docker-swarm dropbox-lansync elasticsearch etcd-client etcd-server finger freeipa-4 freeipa-ldap freeipa-ldaps freeipa-replication freeipa-trust ftp ganglia-client ganglia-master git grafana gre high-availability http https imap imaps ipp ipp-client ipsec irc ircs iscsi-target isns jenkins kadmin kdeconnect kerberos kibana klogin kpasswd kprop kshell kube-apiserver ldap ldaps libvirt libvirt-tls lightning-network llmnr managesieve matrix mdns memcache minidlna mongodb mosh mountd mqtt mqtt-tls ms-wbt mssql murmur mysql nfs nfs3 nmea-0183 nrpe ntp nut openvpn ovirt-imageio ovirt-storageconsole ovirt-vmconsole plex pmcd pmproxy pmwebapi pmwebapis pop3 pop3s postgresql privoxy prometheus proxy-dhcp ptp pulseaudio puppetmaster quassel radius rdp redis redis-sentinel rpc-bind rsh rsyncd rtsp salt-master samba samba-client samba-dc sane sip sips slp smtp smtp-submission smtps snmp snmptrap spideroak-lansync spotify-sync squid ssdp ssh steam-streaming svdrp svn syncthing syncthing-gui synergy syslog syslog-tls telnet tentacle tftp tftp-client tile38 tinc tor-socks transmission-client upnp-client vdsm vnc-server wbem-http wbem-https wsman wsmans xdmcp xmpp-bosh xmpp-client xmpp-local xmpp-server zabbix-agent zabbix-server
[root@centos8 ~]#

「samba」「samba-client」「samba-dc」という3種類の定義がある。

それぞれどういう設定されているかは/usr/lib/firewalld/services ディレクトリにあるxmlファイルを確認する。

[root@centos8 ~]# ls /usr/lib/firewalld/services/sam*
/usr/lib/firewalld/services/samba-client.xml
/usr/lib/firewalld/services/samba-dc.xml
/usr/lib/firewalld/services/samba.xml
[root@centos8 ~]# cat /usr/lib/firewalld/services/samba.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>Samba</short>
  <description>This option allows you to access and participate in Windows file and printer sharing networks. You need the samba package installed for this option to be useful.</description>
  <port protocol="udp" port="137"/>
  <port protocol="udp" port="138"/>
  <port protocol="tcp" port="139"/>
  <port protocol="tcp" port="445"/>
  <helper name="netbios-ns"/>
</service>
[root@centos8 ~]# cat /usr/lib/firewalld/services/samba-dc.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>Samba DC</short>
  <description>This option allows you to use this computer as a Samba Active Directory Domain Controller. You need the samba-dc package installed for this option to be useful.</description>
  <port protocol="tcp" port="53"/><!-- DNS -->
  <port protocol="udp" port="53"/><!-- DNS -->
  <port protocol="tcp" port="88"/><!-- Kerberos -->
  <port protocol="udp" port="88"/><!-- Kerberos -->
  <port protocol="tcp" port="135"/><!-- End Point Mapper (DCE/RPC Locator Service -->
  <port protocol="udp" port="137"/><!-- NetBIOS Name Service -->
  <port protocol="udp" port="138"/><!-- NetBIOS Datagram -->
  <port protocol="tcp" port="139"/><!-- NetBIOS Session -->
  <port protocol="tcp" port="389"/><!-- LDAP -->
  <port protocol="udp" port="389"/><!-- CLDAP -->
  <port protocol="tcp" port="445"/><!-- SMB over TCP -->
  <port protocol="tcp" port="464"/><!-- Kerberos kpasswd -->
  <port protocol="udp" port="464"/><!-- Kerberos kpasswd -->
  <port protocol="tcp" port="636"/><!-- LDAPS -->
  <port protocol="tcp" port="49152-65535"/><!-- Dynamic RPC Ports -->
  <port protocol="tcp" port="3268"/><!-- Global Catalog -->
  <port protocol="tcp" port="3269"/><!-- Global Catalog SSL -->
  <helper name="netbios-ns"/>
</service>
[root@centos8 ~]# cat /usr/lib/firewalld/services/samba-client.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>Samba Client</short>
  <description>This option allows you to access Windows file and printer sharing networks. You need the samba-client package installed for this option to be useful.</description>
  <port protocol="udp" port="137"/>
  <port protocol="udp" port="138"/>
  <helper name="netbios-ns"/>
</service>
[root@centos8 ~]#

次にsambaで使用するポート一覧を「Samba AD DC Port Usage」で確認します。

サービスポートプロトコルfirewalld定義
DNS53tcp/udpsamba-dc
Kerberos88tcp/udpsamba-dc
ntp(注1)123udpntp
End Point Mapper (DCE/RPC Locator Service)135tcpsamba-dc
NetBIOS Name Service137udpsamba-dc,samba,samba-client
NetBIOS Datagram138udpsamba-dc,samba,samba-client
NetBIOS Session139tcpsamba-dc,samba
LDAP389tcp/udpsamba-dc
SMB over TCP445tcpsamba-dc,samba
Kerberos kpasswd464tcp/udpsamba-dc
LDAPS 注2636tcpsamba-dc
Global Catalog3268tcpsamba-dc
Global Catalog SSL 注23269tcpsamba-dc
Dynamic RPC Ports 注349152-65535tcpsamba-dc

注1: ntpはADのDCサーバとして動作させる場合に設定するべきもの
注2: smb.conf内で「tls enabled=yes」設定を行った場合に必要なポート
注3: samba 4.7以降で必要なポート範囲。samba 4.7より前はTCP 1024~1300だった。smb.confの「rpc server port」でポートの範囲を変更することも可能

CentOS8では「samba-dc」と「ntp」を使用すれば良いようだ。

[root@centos8 ~]# firewall-cmd --permanent --zone=public --add-service=samba-dc
success
[root@centos8 ~]# firewall-cmd --permanent --zone=public --add-service=ntp
success
[root@centos8 ~]# firewall-cmd --reload
success
[root@centos8 ~]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens192
  sources:
  services: cockpit dhcpv6-client ntp samba-dc ssh
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
[root@centos8 ~]#

なお、CentOS7の場合は下記だった。

# firewall-cmd --permanent --zone=public --add-service=samba
# firewall-cmd --permanent --zone=public --add-service=dns
# firewall-cmd --permanent --zone=public --add-service=freeipa-ldaps
# firewall-cmd --permanent --zone=public --add-service=freeipa-trust
# firewall-cmd --permanent --zone=public --add-port=49152-65535/tcp
# firewall-cmd --permanent --zone=public --add-port=3269/tcp
# firewall-cmd --reload

(17) systemdへの登録

自動起動をするためにsystemdへ登録します。

CentOS7以降のsystemd環境については「Managing the Samba AD DC Service Using Systemd」、CentOS6などのinit script環境は「Managing the Samba AD DC Service Using an Init Script」を参照して実行します。

CentOS8の場合はまず既存でSamba関連の登録がないことを確認します。

登録されている可能性がある名前は「smbd」「nmbd」「winbind」「samba」なので下記の様に確認します

[root@centos8 ~]# systemctl list-unit-files|grep -e smb -e nmb -e winb -e samba
[root@centos8 ~]#

何も表示されなければ問題ありません。

既に登録がある場合は、それを使用しないように「systemctl mask 名前」「systemctl disable 名前」とコマンドを2つ実行して無効化します。

次にsystemdへ登録するサービス起動用のファイル /etc/systemd/system/samba-ad-dc.service を作成します。

[root@centos8 ~]# vi /etc/systemd/system/samba-ad-dc.service
[root@centos8 ~]# cat /etc/systemd/system/samba-ad-dc.service
[Unit]
Description=Samba Active Directory Domain Controller
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
ExecStart=/usr/local/samba/sbin/samba -D
PIDFile=/usr/local/samba/var/run/samba.pid
ExecReload=/bin/kill -HUP $MAINPID

[Install]
WantedBy=multi-user.target
[root@centos8 ~]#

上記ファイル作成後「systemctl daemon-reload」を実行するとsystemd上で認識されます。

[root@centos8 ~]# systemctl daemon-reload
[root@centos8 ~]# systemctl list-unit-files|grep -e smb -e nmb -e winb -e samba
samba-ad-dc.service                        disabled
[root@centos8 ~]#

初期状態は「disabled」なので、有効化します。

[root@centos8 ~]# systemctl enable samba-ad-dc
Created symlink /etc/systemd/system/multi-user.target.wants/samba-ad-dc.service → /etc/systemd/system/samba-ad-dc.service.
[root@centos8 ~]# systemctl list-unit-files|grep -e smb -e nmb -e winb -e samba
samba-ad-dc.service                        enabled
[root@centos8 ~]#

いま手動で起動しているsambaをsystemd管轄下に変えるため、sambaを強制停止します。

[root@centos8 ~]# pkill samba
[root@centos8 ~]# ps -ef|grep samba
root       88681    1640  0 17:02 pts/0    00:00:00 grep --color=auto samba
[root@centos8 ~]#

(18) SELinux対応

systemdで起動しようとすると失敗します。

[root@centos8 ~]# systemctl start samba-ad-dc
Job for samba-ad-dc.service failed because the control process exited with error code.
See "systemctl status samba-ad-dc.service" and "journalctl -xe" for details.
[root@centos8 ~]# journalctl -xe
 1月 21 17:02:40 centos8.testad2.local systemd[88684]: samba-ad-dc.service: Fai>
-- Subject: Process /usr/local/samba/sbin/samba could not be executed
-- Defined-By: systemd
-- Support: https://access.redhat.com/support
--
-- The process /usr/local/samba/sbin/samba could not be executed and failed.
--
-- The error number returned by this process is 13.
 1月 21 17:02:40 centos8.testad2.local systemd[1]: samba-ad-dc.service: Control>
 1月 21 17:02:40 centos8.testad2.local systemd[1]: samba-ad-dc.service: Failed >
-- Subject: Unit failed
-- Defined-By: systemd
-- Support: https://access.redhat.com/support
--
-- The unit samba-ad-dc.service has entered the 'failed' state with result 'exi>
 1月 21 17:02:40 centos8.testad2.local systemd[1]: Failed to start Samba Active>
-- Subject: Unit samba-ad-dc.service has failed
-- Defined-By: systemd
-- Support: https://access.redhat.com/support
--
-- Unit samba-ad-dc.service has failed.
--
-- The result is failed.
[root@centos8 ~]#

/var/log/messages を確認すると、下記の様な出力です。

Nov  2 16:48:07 centos8 systemd[1]: Starting Samba Active Directory Domain Controller...
Nov  2 16:48:07 centos8 systemd[48877]: samba-ad-dc.service: Failed to execute command: Permission denied
Nov  2 16:48:07 centos8 systemd[48877]: samba-ad-dc.service: Failed at step EXEC spawning /usr/local/samba/sbin/samba: Permission denied
Nov  2 16:48:07 centos8 systemd[1]: samba-ad-dc.service: Control process exited, code=exited status=203
Nov  2 16:48:07 centos8 systemd[1]: samba-ad-dc.service: Failed with result 'exit-code'.
Nov  2 16:48:07 centos8 systemd[1]: Failed to start Samba Active Directory Domain Controller.

これはSELinuxによりsystemdから/usr/local/samba/sbin/samba へのアクセスが制限されているために発生しています。

samba公式だと「Troubleshooting SELinux on a Samba AD DC」というページがありますが、かなり雑な対応策になっています。

ちゃんと対応すると面倒くさいので、ひとまず「SELINUX=permissive」で逃げます。

(18-0) SELinuxをちゃんと使わない設定

いろいろ面倒なので、とりあえず、SELinuxを警告だけする形で設定します。

/etc/selinux/config内の「SELINUX=enforcing」を「SELINUX=permissive」に変更して、OS再起動します。

これで、sambaがひとまず起動する様になっているはずです

で・・・本来はここからSELinux用にちゃんと設定していく必要があるのですが、まだまとめ切れていません。

なので、ここから先は参考情報のみとなります。

(18-1) SELinux対応のための調査

現状、/usr/local/sambaに設定されているコンテキスト情報を確認

[root@centos8 ~]# ls -lZd /usr/local/samba/
drwxr-xr-x. 13 root root unconfined_u:object_r:usr_t:s0 149 11月  2 14:10 /usr/local/samba/
[root@centos8 ~]#

/var/log/audit/audit.log に出力されているsamba関連のSELinuxの動作ログを確認します。

[root@centos8 ~]# grep samba /var/log/audit/audit.log
type=AVC msg=audit(1604303085.462:635): avc:  denied  { execute } for  pid=48851 comm="(samba)" name="samba" dev="dm-0" ino=2049192 scontext=system_u:system_r:init_t:s0 tcontext=unconfined_u:object_r:admin_home_t:s0 tclass=file permissive=0
type=SERVICE_START msg=audit(1604303085.468:636): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=samba-ad-dc comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=failed'UID="root" AUID="unset"
type=AVC msg=audit(1604303085.468:637): avc:  denied  { unlink } for  pid=1 comm="systemd" name="samba.pid" dev="dm-0" ino=52125406 scontext=system_u:system_r:init_t:s0 tcontext=unconfined_u:object_r:usr_t:s0 tclass=file permissive=0
type=AVC msg=audit(1604303092.550:638): avc:  denied  { execute } for  pid=48859 comm="(samba)" name="samba" dev="dm-0" ino=2049192 scontext=system_u:system_r:init_t:s0 tcontext=unconfined_u:object_r:admin_home_t:s0 tclass=file permissive=0
type=SERVICE_START msg=audit(1604303092.555:639): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=samba-ad-dc comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=failed'UID="root" AUID="unset"
type=AVC msg=audit(1604303092.555:640): avc:  denied  { unlink } for  pid=1 comm="systemd" name="samba.pid" dev="dm-0" ino=52125406 scontext=system_u:system_r:init_t:s0 tcontext=unconfined_u:object_r:usr_t:s0 tclass=file permissive=0
type=AVC msg=audit(1604303287.537:641): avc:  denied  { execute } for  pid=48877 comm="(samba)" name="samba" dev="dm-0" ino=2049192 scontext=system_u:system_r:init_t:s0 tcontext=unconfined_u:object_r:admin_home_t:s0 tclass=file permissive=0
type=SERVICE_START msg=audit(1604303287.541:642): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=samba-ad-dc comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=failed'UID="root" AUID="unset"
type=AVC msg=audit(1604303287.541:643): avc:  denied  { unlink } for  pid=1 comm="systemd" name="samba.pid" dev="dm-0" ino=52125406 scontext=system_u:system_r:init_t:s0 tcontext=unconfined_u:object_r:usr_t:s0 tclass=file permissive=0
[root@centos8 ~]#

次に /etc/selinux/targeted/contexts/ にある既存定義でsambaに関するものを調べて見る。

[root@centos8 ~]# grep -e smb -e nmbd -e samba -e winbind /etc/selinux/targeted/contexts/files/file_contexts
/var/nmbd(/.*)? system_u:object_r:samba_var_t:s0
/etc/samba(/.*)?        system_u:object_r:samba_etc_t:s0
/opt/vmware/(workstation|player)/bin/vmware-nmbd        --      system_u:object_r:vmware_host_exec_t:s0
/opt/vmware/(workstation|player)/bin/vmware-smbd        --      system_u:object_r:vmware_host_exec_t:s0
/opt/vmware/(workstation|player)/bin/vmware-smbpasswd   --      system_u:object_r:vmware_host_exec_t:s0
/opt/vmware/(workstation|player)/bin/vmware-smbpasswd\.bin      --      system_u:object_r:vmware_host_exec_t:s0
/var/run/nmbd(/.*)?     system_u:object_r:nmbd_var_run_t:s0
/var/lib/samba(/.*)?    system_u:object_r:samba_var_t:s0
/var/log/samba(/.*)?    system_u:object_r:samba_log_t:s0
/var/run/samba(/.*)?    system_u:object_r:smbd_var_run_t:s0
/var/cache/samba(/.*)?  system_u:object_r:samba_var_t:s0
/var/spool/samba(/.*)?  system_u:object_r:samba_spool_t:s0
/var/run/winbindd(/.*)? system_u:object_r:winbind_var_run_t:s0
/var/run/samba/nmbd(/.*)?       system_u:object_r:nmbd_var_run_t:s0
/var/lib/samba/scripts(/.*)?    system_u:object_r:samba_unconfined_script_exec_t:s0
/var/run/samba/winbindd(/.*)?   system_u:object_r:winbind_var_run_t:s0
/usr/lib/systemd/system/nmb.*   --      system_u:object_r:samba_unit_file_t:s0
/usr/lib/systemd/system/smb.*   --      system_u:object_r:samba_unit_file_t:s0
/usr/lib/systemd/system/winbind.*       --      system_u:object_r:samba_unit_file_t:s0
/var/lib/samba/winbindd_privileged(/.*)?        system_u:object_r:winbind_var_run_t:s0
/var/cache/samba/winbindd_privileged(/.*)?      system_u:object_r:winbind_var_run_t:s0
/usr/bin/net    --      system_u:object_r:samba_net_exec_t:s0
/usr/sbin/nmbd  --      system_u:object_r:nmbd_exec_t:s0
/usr/sbin/smbd  --      system_u:object_r:smbd_exec_t:s0
/usr/bin/smbmnt --      system_u:object_r:smbmount_exec_t:s0
/usr/bin/smbmount       --      system_u:object_r:smbmount_exec_t:s0
/usr/bin/ntlm_auth      --      system_u:object_r:winbind_helper_exec_t:s0
/usr/sbin/winbindd      --      system_u:object_r:winbind_exec_t:s0
/usr/bin/smbcontrol     --      system_u:object_r:smbcontrol_exec_t:s0
/etc/rc\.d/init\.d/nmb  --      system_u:object_r:samba_initrc_exec_t:s0
/etc/rc\.d/init\.d/smb  --      system_u:object_r:samba_initrc_exec_t:s0
/etc/samba/smbpasswd    --      system_u:object_r:samba_secrets_t:s0
/usr/bin/vmware-nmbd    --      system_u:object_r:vmware_host_exec_t:s0
/usr/bin/vmware-smbd    --      system_u:object_r:vmware_host_exec_t:s0
/etc/samba/passdb\.tdb  --      system_u:object_r:samba_secrets_t:s0
/etc/samba/MACHINE\.SID --      system_u:object_r:samba_secrets_t:s0
/etc/samba/secrets\.tdb --      system_u:object_r:samba_secrets_t:s0
/var/run/samba/nmbd\.pid        --      system_u:object_r:nmbd_var_run_t:s0
/var/run/samba/smbd\.pid        --      system_u:object_r:smbd_var_run_t:s0
/etc/rc\.d/init\.d/winbind      --      system_u:object_r:samba_initrc_exec_t:s0
/usr/bin/vmware-smbpasswd       --      system_u:object_r:vmware_host_exec_t:s0
/var/run/samba/brlock\.tdb      --      system_u:object_r:smbd_var_run_t:s0
/var/run/samba/locking\.tdb     --      system_u:object_r:smbd_var_run_t:s0
/var/run/samba/gencache\.tdb    --      system_u:object_r:smbd_var_run_t:s0
/var/run/samba/messages\.tdb    --      system_u:object_r:nmbd_var_run_t:s0
/var/run/samba/sessionid\.tdb   --      system_u:object_r:smbd_var_run_t:s0
/usr/bin/vmware-smbpasswd\.bin  --      system_u:object_r:vmware_host_exec_t:s0
/var/run/samba/namelist\.debug  --      system_u:object_r:nmbd_var_run_t:s0
/var/run/samba/share_info\.tdb  --      system_u:object_r:smbd_var_run_t:s0
/var/run/samba/unexpected\.tdb  --      system_u:object_r:nmbd_var_run_t:s0
/usr/share/munin/plugins/samba  --      system_u:object_r:services_munin_plugin_exec_t:s0
/var/run/samba/connections\.tdb --      system_u:object_r:smbd_var_run_t:s0
/usr/lib/nagios/plugins/check_disk_smb  --      system_u:object_r:nagios_checkdisk_plugin_exec_t:s0
/usr/share/system-config-samba/system-config-samba\.py  --      system_u:object_r:bin_t:s0
/usr/share/system-config-samba/system-config-samba-mechanism\.py        --      system_u:object_r:sambagui_exec_t:s0
[root@centos8 ~]#

なお、今回は扱わないが、ファイルサーバとして使う場合は、SELinuxの下記パラメータも関係してくる

[root@centos8 ~]# getsebool -a|grep samba
samba_create_home_dirs --> off
samba_domain_controller --> off
samba_enable_home_dirs --> off
samba_export_all_ro --> off
samba_export_all_rw --> off
samba_load_libgfapi --> off
samba_portmapper --> off
samba_run_unconfined --> off
samba_share_fusefs --> off
samba_share_nfs --> off
sanlock_use_samba --> off
tmpreaper_use_samba --> off
use_samba_home_dirs --> off
virt_use_samba --> off
[root@centos8 ~]#