前段
ec2のRed Hat Enterprise Linux release 9におけるOSの初期設定手順を自分の理解がてら整理してみました
環境
上述の通りAWS上でEC2を起動させて確認を行います
# cat /etc/redhat-release
# Red Hat Enterprise Linux release 9.3 (Plow)
OS初期設定
パッケージupgrade
諸々セットアップする前に各パッケージは更新しておきます
dnf upgrade
selinuxの無効化
警告
SELinuxの無効化を推奨する意図はありません
無効化時のリスクを勘案し対応について検討ください
現在の設定確認
sestatus
# Enforcing / Permissive / Disabled
SELinux無効化処置
grubby --update-kernel ALL --args selinux=0
# 無効化したSELinuxを有効化する場合
# grubby --update-kernel ALL --remove-args selinux
# それぞれ適用にはrebootが必要
OS再起動
reboot
設定確認
sestatus
ホスト名設定
ホスト名の設定
hostnamectl set-hostname test-host
確認
hostnamectl status
タイムゾーンの設定
利用可能なタイムゾーンの確認
timedatectl list-timezones
タイムゾーン設定(Asia/Tokyo)
timedatectl set-timezone Asia/Tokyo
確認
timedatectl
時刻同期
同期状況確認
ec2のためデフォルトでAmazon Time Sync Service(169.254.169.123)を参照している
chronyc sources
必要に応じNTP Serverを変更する。
ただしEC2であれば特殊な場合(オンプレミス側と統一など)を除き基本的に変更する場面が出ないように感じます(閏の対応も気にしなくて良いですし)
以下はNTP ServerをNITCの公開NTPに設定した場合を例示
vi /etc/chrony.conf
- server 169.254.169.123 prefer iburst minpoll 4 maxpoll 4
+ server ntp.nict.jp prefer iburst minpoll 4 maxpoll 4
反映
systemctl restart chronyd
同期状況確認
chronyc sources
名前解決(DNS)
resolv.confを静的に管理する(つまりNetworkManagerでDNS管理設定を保持しない)方式を選択しよう(NetworkManager.confでdns=none)と考えていましたが、DHCPのDNS参照を切らないとnmcli device show
で見えているDNSとresolv.confで持っている値がズレているように見えなんだか気持ち悪くなってNetworkManagerに任せることにしました
事前確認
nmcli device status
# DEVICE TYPE STATE CONNECTION
# eth0 ethernet connected System eth0
# lo loopback connected (externally) lo
nmcli device show
DHCPによるDNS参照を無効化し、任意のDNS(ここではgoogleの公開DNSサーバ)を設定
nmcli connection modify 'System eth0' ipv4.ignore-auto-dns yes
nmcli connection modify 'System eth0' ipv4.dns 8.8.8.8
反映
systemctl restart NetworkManager
確認
nmcli device show
念の為resolv.confを確認
cat /etc/resolv.conf
# # Generated by NetworkManager
# nameserver 8.8.8.8
locale
この辺りはチームの作法や好みになるのかもしれませんが、
ロケールの変更を記載しておきます
VC Keymapについても日本語キーボード配列(JP106)に合わせています
※--no-convert
はX11の方のKeymapを触らないようにしています
dnf install glibc-langpack-ja
localectl set-locale LANG=ja_JP.utf8
localectl set-keymap --no-convert jp106
localectl status
余談
logrotateの実行契機がcronからsystemd-timerに変わったようで、その辺りも見ておきたかったのですが、一旦ここまでにします(追々追記しようと思います)