色々よくわからないことだらけなのでメモしながらインストール+設定する。
- インストール
- ソフトウェアの選択
- 起動後の設定
- NTP
- RPMFusionレポジトリの追加
- samba
インストール
ソフトウェアの選択
いきなりよくわからないが、少なくともヘッドレスなのでGUIとかWorkstatioんは不要。なのでサーバーか最小構成だが、ゆくゆくサーバーになりそうなのでサーバーを選択。
dnf groups list でみると、Container Management, Headless Management, Hardware Support がインストールされてるようだ。
$ dnf groups list Last metadata expiration check: 0:03:13 ago on Fri 13 Aug 2021 11:25:06 AM JST. Available Environment Groups: Server with GUI Minimal Install Workstation KDE Plasma Workspaces Virtualization Host Custom Operating System Installed Environment Groups: Server Installed Groups: Container Management Headless Management Hardware Support Available Groups: .NET Core Development RPM Development Tools Development Tools Graphical Administration Tools Legacy UNIX Compatibility Network Servers Scientific Support Security Tools Smart Card Support Fedora Packager Xfce GNOME Desktop Environment Graphical Internet KDE (K Desktop Environment) Fonts Games and Entertainment Sound and Video System Tools
起動後の設定
NTP
今時はntpdではなく chronyd を使うらしい。fedora も同じだけど気にせず使ってた (ので、時計がずれていた)。
/etc/chrony.conf の最初のところ pool 2.centos.pool.ntp.org iburst でラウンドロビンのサーバをいくつか(maxsources で数指定。デフォルト4)見つけてきて、同期を取ってくれる。pool指定は新しめのntpdでも同じだった気がする。
とりあえずデフォルトから近場のInternet MultiFeedのNTPサーバに変更。ipv6だとラウンドロビンしてくれないみたい(?)なので、serverで指定。
#pool 2.centos.pool.ntp.org iburst #pool ntp.jst.mfeed.ad.jp iburst server ntp1.v6.mfeed.ad.jp iburst server ntp2.v6.mfeed.ad.jp iburst server ntp3.v6.mfeed.ad.jp iburst
最後にサーバー起動。
$ sudo systemctl enable --now chronyd.service
ついでにNTPサーバニモなる場合は、chrony.conf に allow 192.168.100.0/24 とかを追記してデーモン再起動。ファイアウォールにも穴を開ける。
$ sudo systemctl restart chronyd.service $ sudo firewall-cmd --add-service=ntp --permanent $ sudo firewall-cmd --reload
RPMFusionレポジトリ追加
コマンドのみ。ここのRHEL/CentOS8の設定を参照。これでEPELとRPMFusionが使えるようになる。
$ sudo dnf config-manager --enable powertools $ sudo dnf install --nogpgcheck https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm $ sudo dnf install --nogpgcheck https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm https://mirrors.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-8.noarch.rpm
新しめのrubyを入れる
dnf install ruby だと2021/8/13時点でruby 2.5.9-107 がインストールされる。
dnf module list ruby で選べるバージョンを確認
$ sudo dnf module list ruby Last metadata expiration check: 1:17:15 ago on Fri 13 Aug 2021 10:43:01 AM JST. CentOS Stream 8 - AppStream Name Stream Profiles Summary ruby 2.5 [d] common [d] An interpreter of object-oriented scripting language ruby 2.6 common [d] An interpreter of object-oriented scripting language ruby 2.7 common [d] An interpreter of object-oriented scripting language Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
2.7を有効にする
$ sudo dnf module enable ruby:2.7 Last metadata expiration check: 1:17:34 ago on Fri 13 Aug 2021 10:43:01 AM JST. Dependencies resolved. ==================================================================================================================================== Package Architecture Version Repository Size ==================================================================================================================================== Enabling module streams: ruby 2.7 Transaction Summary ==================================================================================================================================== Is this ok [y/N]: y Complete! $ sudo dnf module list ruby Last metadata expiration check: 1:17:51 ago on Fri 13 Aug 2021 10:43:01 AM JST. CentOS Stream 8 - AppStream Name Stream Profiles Summary ruby 2.5 [d] common [d] An interpreter of object-oriented scripting language ruby 2.6 common [d] An interpreter of object-oriented scripting language ruby 2.7 [e] common [d] An interpreter of object-oriented scripting language Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
この状態でインストールすればOK。
samba
homeディレクトリを共有するだけならパッケージを入れて有効にするだけで基本的にOK。
$ sudo dnf install samba $ sudo setsebool -P samba_enable_home_dirs on $ sudo firewall-cmd --add-service=samba --permanent $ sudo firewall-cmd --reload
ユーザ追加
$ sudo pdbedit -a [ユーザ名]
サービスの起動
$ sudo systemctl enable --now smb.service nmb.service
他のディレクトリを共有する場合はここに書いたとおりに設定すればいいはず。
nmblookupなどが必要な場合は、samba-client パッケージをインストールする。
$ sudo dnf install samba-client
hostname
(2021/8/14 追記)
Windowsからホスト名で共有フォルダにアクセスできない。FQDNだとアクセスできる。nmblookupを動かしてみるとなんかおかしい。netbios名がLOCALHOSTになっている。
$ nmblookup -A 192.168.100.2 Looking up status of 192.168.100.2 LOCALHOST <00> - B <ACTIVE> LOCALHOST <03> - B <ACTIVE> LOCALHOST <20> - B <ACTIVE> ..__MSBROWSE__. <01> - <GROUP> B <ACTIVE> SAMBA <00> - <GROUP> B <ACTIVE> SAMBA <1d> - B <ACTIVE> SAMBA <1e> - <GROUP> B <ACTIVE> MAC Address = 00-00-00-00-00-00
hostnameコマンドの出力はおかしくない。でも/etc/hostnameは確かにlocalhost.localdomainになっている。
$ hostname rose.everblooming.net $ cat /etc/hostname localhost.localdomain
hostnameコマンドでホスト名が正しくなっていて油断していたが、/etc/hostnameを設定し忘れていたらしい。というわけで追加設定。
$ sudo hostnamectl set-hostname rose.everblooming.net $ cat /etc/hostname rose.everblooming.net $ sudo systemctl restart smb nmb
nmblookupの応答も正しくなって、Windowsからホスト名(netbios名)でアクセスできるようになった。ついでにGROUPも他のWindowsマシンに合わせてWORKGROUPに変更した。
$ nmblookup -A 192.168.100.2 Looking up status of 192.168.100.2 ROSE <00> - B <ACTIVE> ROSE <03> - B <ACTIVE> ROSE <20> - B <ACTIVE> WORKGROUP <00> - <GROUP> B <ACTIVE> WORKGROUP <1e> - <GROUP> B <ACTIVE> MAC Address = 00-00-00-00-00-00