Rocky Linuxインストールガイド:9.8のUEFI起動と初期セキュリティ設定
EdwardMoon
このガイドでは、Rocky Linux 9.8のISOを検証してUEFIで起動し、ストレージ、ネットワーク、管理者アカウント、セキュリティの基本設定を行います。初めてでも進められるように、事前のバックアップから最初の更新とサービス確認までを一連の手順にまとめました。
本番サーバーでは、最新版という理由だけで導入せず、アプリケーションとの対応関係を確認してください。Rocky Linux公式のバージョン一覧で現在のリリースとサポート終了日を確認し、仮想マシンで同じインストール手順を先に再現すると安全です。

インストール前の準備
| 準備項目 | 推奨構成 | 注意点 |
|---|---|---|
| インストールメディア | 公式Rocky Linux 9.8 ISO | チェックサムと署名を確認 |
| ファームウェア | UEFI、可能ならSecure Boot | LegacyとUEFIを混在させない |
| ディスク | バックアップを確認して対象を特定 | 別のディスクを初期化しない |
| ネットワーク | IP、DNS、ゲートウェイ、NTPを準備 | 遠隔サーバーではコンソールを確保 |
| アカウント | 個人管理者アカウントとsudo | rootの共有ログインを避ける |
手順1:ISOとチェックサムを取得する
curl --fail --location --remote-name https://download.rockylinux.org/pub/rocky/9/isos/x86_64/Rocky-9.8-x86_64-minimal.iso
curl --fail --location --remote-name https://download.rockylinux.org/pub/rocky/9/isos/x86_64/CHECKSUM
sha256sum Rocky-9.8-x86_64-minimal.iso
grep 'Rocky-9.8-x86_64-minimal.iso' CHECKSUM
インストールメディアは公式ミラーから取得します。ブラウザーのダウンロード完了表示だけで判断せず、SHA-256値を比較してください。可能な環境では、Rocky Linux公式の署名鍵でCHECKSUMの署名も検証します。
Rockyの署名鍵を確認する
curl --fail --location --remote-name https://download.rockylinux.org/pub/rocky/RPM-GPG-KEY-Rocky-9
gpg --show-keys --with-fingerprint RPM-GPG-KEY-Rocky-9
# 公式サイトに掲載されたフィンガープリントを目視で照合してからインポート
gpg --import RPM-GPG-KEY-Rocky-9
手順2:起動用USBを作成する
WindowsではFedora Media WriterやRufusなどの実績あるツールを使用します。Linuxのddは出力先ディスクを間違えると直ちにデータを消してしまうため、モデル、容量、マウント状態を確認してから実行してください。
lsblk -o NAME,PATH,SIZE,MODEL,TRAN,FSTYPE,MOUNTPOINTS
sudo umount /dev/sdX? 2>/dev/null || true
# /dev/sdXが実際のUSB全体のディスクであることを確認してから実行
sudo dd if=Rocky-9.8-x86_64-minimal.iso of=/dev/sdX bs=4M status=progress conv=fsync
sync
sudo eject /dev/sdX
/dev/sdXは例です。パーティションではなくUSB全体のディスクを正確に特定できなければ、ddを実行しないでください。既存データのバックアップも先に確認します。
手順3:UEFIで起動する
- サーバーの遠隔コンソールまたはローカル画面を確保する。
- ファームウェアでUEFI起動モードを選ぶ。
- 可能ならSecure Bootを有効なまま使用する。
- USBのUEFI項目を選ぶ。
- Test this media & Installを選択し、先にメディアを検査する。
Legacy BIOSでインストールしたディスクを後からUEFIに切り替えると、起動パーティションとブートローダーの構成が合わなくなる場合があります。インストール時から、運用標準のファームウェアモードを統一してください。
手順4:言語、時刻、キーボードを設定する
管理チームがログや自動化で使う言語を考慮してシステム言語を選びます。この構成ではタイムゾーンをAsia/Seoul、ハードウェアクロックをUTCとし、インストール後にchronyの同期を確認します。
手順5:対象ディスクとLVMを設定する
初めての場合は自動パーティション構成とLVMから始められます。ただし、/varにログ、コンテナ、データが集中するサーバーでは、容量の増加と障害の分離を考慮し、独立した論理ボリュームを設計してください。UEFIシステムにはEFI System Partitionが必要です。
- EFI System Partition:起動ファイルを保存する。
- /boot:カーネルとinitramfsを置き、空き容量を確保する。
- LVMルート:運用中に拡張できる。
- /varまたはデータボリューム:サービスの特性に応じて分離する。
- Swap:メモリーとダンプの方針に合わせて決める。
- LUKS暗号化:物理ディスクの盗難リスクがある場合、鍵の復旧手順とともに使用する。
手順6:ネットワークとホスト名を設定する
固定IPが必要な場合は、アドレス、プレフィックス、ゲートウェイ、DNSを入力して有効化します。ホスト名はDNSの正引き・逆引きと組織の命名規則に合わせてください。遠隔サーバーでは、設定ミスに備えてコンソールを維持します。
ip -br address
ip route
getent hosts repo.rockylinux.org
hostnamectl status
nmcli connection show --active
手順7:管理者アカウントと認証を設定する
個人管理者アカウントを作成し、wheelグループに所属させます。rootはロックするか、強固な専用パスワードで保護してください。SSH公開鍵ログインを確認してからパスワードログインの制限を適用します。
id opsadmin
sudo -l -U opsadmin
getent group wheel
# 別のセッションで公開鍵ログインが成功することを先に確認
ssh -o PreferredAuthentications=publickey opsadmin@server.example.com
sudo sshd -t
手順8:ソフトウェアを選ぶ
サーバーはMinimal Installを基本とし、必要なパッケージだけを追加します。GUIが必要な管理用ワークステーションとサーバーを区別し、開発ツール一式やデバッグパッケージは用途がある場合にのみ導入してください。
手順9:インストール後に最初の更新を行う
cat /etc/rocky-release
uname -r
sudo dnf repolist --enabled
sudo dnf upgrade --refresh -y
sudo dnf check
sudo reboot
カーネルや主要ライブラリを更新したら再起動します。再起動後にバージョン、稼働中のカーネル、失敗したunitを再確認し、更新が実際に反映されたか判断してください。
手順10:SELinux、ファイアウォール、時刻同期を確認する
getenforce
sudo sestatus
sudo firewall-cmd --state
sudo firewall-cmd --list-all
systemctl is-active chronyd
chronyc tracking
timedatectl status
問題の解決を目的にSELinuxやファイアウォール全体を無効化しないでください。拒否ログと必要なポートを確認し、最小範囲のポリシーやサービスルールで解決します。
必要なサービスだけをファイアウォールに追加する
sudo firewall-cmd --get-active-zones
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
sudo firewall-cmd --list-all
手順11:SSHの基本セキュリティを設定する
sudo install -d -m 0755 /etc/ssh/sshd_config.d
sudo tee /etc/ssh/sshd_config.d/20-hardening.conf >/dev/null <<'CONF'
PermitRootLogin no
PubkeyAuthentication yes
PasswordAuthentication no
KbdInteractiveAuthentication no
MaxAuthTries 4
CONF
sudo sshd -t
sudo sshd -T | grep -E '^(permitrootlogin|passwordauthentication|kbdinteractiveauthentication) '
sudo systemctl reload sshd
パスワードログインを無効にする前に、別の端末で公開鍵ログインが成功することを確認し、コンソールへのアクセスを維持します。組織で中央認証やMFAを使用している場合は、その方針を優先してください。
手順12:状態とログを検証する
sudo systemctl --failed --no-pager
sudo journalctl -p err -b --no-pager
sudo ss -lntup
df -hT
df -i
findmnt
sudo dnf check
sudo rpm -Va | sudo tee /root/rpm-verify-baseline.txt >/dev/null
インストール記録と自動化資料を保管する
Anacondaが生成するKickstartの記録には、アカウントのハッシュやストレージ情報が含まれる場合があります。管理者だけが読める状態で保管し、秘密情報を除いたテンプレートをバージョン管理して、次回のインストールの基準にします。
sudo install -d -m 0700 /root/install-baseline
sudo cp -a /root/anaconda-ks.cfg /root/install-baseline/
sudo chmod 0600 /root/install-baseline/anaconda-ks.cfg
sudo rpm -qa --qf '%{NAME}|%{VERSION}-%{RELEASE}|%{ARCH}\n' | sort | sudo tee /root/install-baseline/packages.txt >/dev/null
sudo find /root/install-baseline -maxdepth 1 -type f -exec sha256sum {} \;
公式資料と関連記事
- Rocky Linux公式:バージョンとサポート期間
- Rocky Linux公式インストールガイド
- RHEL 9標準インストールの公式資料
- PXE Kickstartによる無人インストール
- Linuxのディスク容量・inode不足の診断
まとめ
完了の基準は、公式ISOとチェックサムの確認、UEFI起動、正しいディスクの選択、最小限のパッケージ、個人管理者アカウント、導入後のセキュリティ検証です。最新パッケージへ更新し、新しいカーネルで再起動してから、SELinux、ファイアウォール、時刻同期、ログ、実際のサービスを確認してください。