Red Hat Enterprise Linux 9.5 インストールメモ

# はじめに
2024年の初め以降，使わなくなって電源を落としたままの Windows PC があり，もったいないのと，Linux の勉強や Linux でしか動かないソフトウェアをあれこれを動かしたいという理由で，20年以上ぶりに Linux マシンを構築することにした．仕事で使っている RHEL・VMware (こっちはエンタープライズ向けと製品が違うのかも知れないけれど) が個人で無償利用出来るようになっていたことも大きい．
以前は自宅で FreeBSD を動かしていたり，仕事では大昔は SunOS 4.x，その後 CentOS とか Solaris，Ubuntu を使ったりしていた程度．

# ハードウェア構成
NAS の HDD 容量を増やしたことで，2TB HDD が余っていたので，そちらに Linux を入れることにする．この PC は 2013年に購入し，2023年夏までの 10年にわたりメイン PC として 24時間 365日電源を入れっ放しで使っていたもの．途中で，SSD・HDD・GPU・電源は換装し，また，M/B もコンデンサが破裂して同じものを中古で調達し交換しているため，2013年当時のままなのはケースのほかは CPU くらいしかなく，10年使い続けたパーツばかりではないのだが．GPU も入れ替えていたこともあり，通常の使用 (Web ブラウズ・メール・動画視聴・ちょっとした動画編集) で性能面での大きな不満はなかった．
しかし，M/B を交換したとはいえ中古だったので，CPU 同様 10年前後経過しているだろうし，Windows 11 にも非対応なので，壊れてから慌てるよりもと思い，PC を 2023年夏に 10年ぶりに新調したため，不要になった．
その後は，監視カメラ制御ソフトの iSpy を動作させるサーバーとして使っていたが，監視カメラ制御ソフトを，既に導入していた Synlogy 製 NAS，DiskStation で使える Synology Surveillance Station に移行した．NAS 側で動作するので，その画面を表示するのに CPU パワーやストレージを必要としなくなったので，通常の PC は不要．このため，手のひらサイズの miniPC を買い，24/365 監視カメラ映像を表示するのは miniPC へ移行した．これにより，完全にこの 2013年購入の PC はお役御免となったのだった．
それまで，この PC に積んでいた Blu-ray ドライブや GPU，電源等いくつかのパーツは 2023年夏の新 PC 移行時に，新 PC に積み替えたので，メモリ・SSD 以外は 2013年購入当時のスペックに戻った．こんな感じ．

|項目|スペック等|
|---|-------------|
|CPU|Core i-7 3770|
|メモリ|32GB|
|SSD|EXCERIA SSD-CK480S/N 480GB|
|HDD|WD Blue 500GB＋WD Red Plus 2TB|
|GPU|NVIDIA  GeForce GTX650 (1GB)|
|電源|350W (80PLUS BRONZE)|
|OS|Windows 10 Pro|
|購入|2013年|

買ったときよりグレードアップしているのは，メモリと SSD，これも故障して買い換えていた電源くらいかな？ 10年以上前のスペックだが，学習用の Linux を入れて遊ぶには十分過ぎるだろう．

# Red Hat Enterprise Linux 9.5
## インストール
1. Red Hatのアカウントを取得し、Red Hat Customer Portal へログイン

https://access.redhat.com/

2\. ダウンロードページから "Red Hat Enterprise Linux 9.5 Boot ISO" をダウンロード．今だと `rhel-9.5-x86_64-boot.iso`．
3. ダウンロードした ISO イメージを USB メモリーに書き込む
3-1. 以下のページを参考にした

https://docs.redhat.com/ja/documentation/red_hat_enterprise_linux/9/html/performing_a_standard_rhel_9_installation/assembly_creating-a-bootable-installation-medium_assembly_preparing-for-your-installation#creating-a-bootable-usb-windows_assembly_creating-a-bootable-installation-medium

3-2. 以下のページから "Fedora Media Writer" をダウンロード．今だと `FedoraMediaWriter-win64-5.2.2.exe`．PC に install．

https://github.com/FedoraQt/MediaWriter/releases

3-3. "Fedora Media Writer" を使って 2. でダウンロードした ISO を USB メモリーに書き込む．
4. PC の BIOS 設定を出し，USB メモリーから起動する
5. 出て来るメニューに従って RHEL をインストール．Internet 上から見えるサーバにするつもりはなく，LAN 内で Web サーバを立てたりするつもりもないので (そのうち，勉強用に Apache もいじりたいが)，それらのパッケージは選択しなかったが，ディスク容量があるので，必要そうなものは適当に選択しておく．一方で，Windows PC からメイン PC を乗り換えるつもりはないので，LibreOffice などは入れない．特に難しいところは何もなく，あっという間に install 完了．
6. イマドキは (そういう選択をすれば) GUI (GNOME) がいきなり立ち上がるのね．

## RHEL の設定
### GNOME の設定
#### 日本語入力回り
* "設定" から日本語キーボードを追加．どれを選ぶのが正しいのか判らないが，"日本語(Anthy)" を選んだら日本語が入力出来るようになった．日本語入力 ON／OFF は [Win]+[Space]．なお，宗教上の理由で 101 キーボード (英語配列) を使っており，USB 切替器で複数 PC のキーボード・マウスを切り替えて使っているが特に問題なし．[Win]+[Space] は日本語入力の ON／OFF というより，複数のキーボードレイアウトをトグルで切り替えるものらしい
:::note warn
Windows PC では AX マシン (というか，東芝 J-3100) のときの使い勝手を引き継いで，右 [Alt] で日本語入力を ON／OFF を切り替えているので，その設定をしたいのだが... ___要調査___
:::

#### なぜか存在しない最小化・最大化ボタンの追加
ググったら方法判明．以下のように打つと追加された
```console
$ gsettings set org.gnome.desktop.wm.preferences button-layout 'appmenu:minimize,maximize,close'
```

#### エッジタイル機能の無効化
GNOME でソフトウェアのウィンドウをデスクトップ端まで持って行くと最大化されてしまってウザい (エッジタイル機能というらし) ので，無効にしておく．
```console
$ gsettings set org.gnome.mutter edge-tiling false
```

#### [Ctl]↔[Caps]・[Esc]↔[`] の入れ替え
Tweaks というのを入れるといいらしい．GNOME における PowerToys みたいなもん？
```console
# yum install gnome-tweaks
```
Tweaks を起動して，"キーボードとマウス" から [追加のレイアウトオプション] を選び，">Ctrl position" で 'Ctrl と Caps Lock を入れ替える' にチェック．
![Screenshot from 2024-12-31 22-32-12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3119424/6a9114ff-81c9-59c9-32e5-e3a852997eaa.png)

[Esc]↔[`] の入れ替えはその後，以下のようにして出来ることが判明．
```console:~/.Xmodemap
clear Lock
keysym grave asciitilde = Escape
keysym Escape = grave asciitilde
```

```console
$ xmodmap ~/.Xmodmap
```

:::note warn
これらの日本語・キーボード回りの設定は GNOME 上だけで反映される設定なのだろうか？ console では使えない？ ___要調査___
:::

### RHEL の設定
#### Windows PC (NAS 経由) とのファイル交換手段の確立
何はともあれ，Windows PC とファイルのやり取りを出来るようにしたい．調べると，以下でいいらしい．
```console
# mkdir /mnt/data
# mount -t cifs -o username=Recorder,password=Qiita //192.168.1.10/data /mnt/data
```
文字コード指定が必要かと思ったが，特に問題なく日本語ファイル名も表示されている．

毎回手動でマウントしなくて済むように，
```console:~/.smb.cred
username=Recorder
password=Qiita
```
と新規作成 (vi でもいいし，これくらいなら
```console
$ cat - > ~/.smb.cred
username=Recorder
password=Qiita
^D
```
としてしまった方が速い) しておき，__パーミッションは 600 にしておく__．そして，
```console:/etc/fstab
//192.168.1.10/Data   /mnt/x   cifs  credentials=/home/Recorder/.smb.cred
```
を追記．ファイル名は何でもいいし，どこに配置してもよいはず．`/etc/` の下に置く流儀もあるようだ．

:::note warn
/mnt/x のファイルをフルコントールで読み書きしたいのだが，一般ユーザー権限では，書き込みが出来ないようだ．
```console
$ cp ~/hogehoge.txt /mnt/x/
$ mv /mnt/x/hogehoge.txt ~/
```
なんかがエラーになる．あまり困ってはいないが，NAS 側の設定だろうか，RHEL 側だろうか？ ___要調査___
:::

このあたりまで設定すると，既に入っている Firefox を使って (Windows でも Firefox を使っているので，Mozila アカウントを設定すればブックマークもあっという間に同期出来る)，日本語入力もほぼ自由に出来，Windows PC とファイルのやり取りも出来るので，基本的なことは不自由なく使えるようになった．

# VMware
せっかくなので VMware も入れよう．仕事でお付き合いのある顧客はふつう，VMware と言えば VMware vSphere ESXi を使っている．つまり，RHEL や Windows Server といった Linux・Windows 等の OS の上に VMware を構築している訳ではないので，仕事で使う環境に慣れるという目的からは少し外れるが，触らないよりはまぁいいだろう (加えて，Broadcom が VMware を買収して以降，2024年には VMware ESXi無償版の提供が終了してしまったようだし)．

https://knowledge.broadcom.com/external/article?legacyId=2107518

## VMware のインストール
上記のように，ESXi はもう使えないので，install するのは Linux／Windows 向けの VMware Workstation Pro となる．こちらは無償利用出来る．
1. Red Hat 同様，アカウントが必要なので取得し，ログイン

https://support.broadcom.com/

2\. 右上のドロップダウンから "VMware Cloud Foundation" を選択
3. "My Dashboard" ページに遷移したら左側ペインから "My Downloads" を選択し，"VMware Workstation Pro" (今は 2ページ目にある) を選択
4. "VMware Workstation Pro 17.0 for Linux" から今は 17.6.2 が最新なので選択
5. ダウンロード (今は `VMware-Workstation-Full-17.6.2-24409262.x86_64.bundle`)
6. `chmod 755 VMware-Workstation-Full-17.6.2-24409262.x86_64.bundle` して，実行 (install)．

:::note
ダウンロードページがすごく判りづらいので，たどり着けなければ以下から直接行ける

https://support.broadcom.com/group/ecx/productdownloads?subfamily=VMware+Workstation+Pro
:::

### 仮想マシンの構築
1. `vmware` として，あるいは GNOME のランチャーから VMware Workstation 起動
2. "Home" タブから "Create New Virtual Machine" を選択．以降は，それぞれの ISO を用意して，VM を構築

* 今回は，今回 install した RHEL に加え，メディア (ISO) とプロダクトキーを発見出来た以下の Windows をそれぞれ install．

|OS|
|--|
|Windows 98 SE|
|Windows XP Profesional|
|Windows 2000 Professional|
|Windows 7 Home Premium|
|Windows 10 Home Pro|
|Windows 11 Pro|

* Windows 98 は ISO イメージだけでなく，フロッピーイメージ (.img) が必要．そうか，この時代はまだ FDD 使ってたんだね... Windows 95 は残念ながら PC-98 シリーズ向けのものしかなく (まだ，PC-AT (DOS/V 機) を使っていなかった)，install 断念．MS-DOS 3.3 とか 6.0 とかも install したいのだが，いずれも PC-9801／9821 向けなので同様に断念
* これだけの Windows OS を install したからと言って，何をしたい訳ではないのだが... (笑)


# TigerVNC

## TigerVNC のインストール
1. パッケージを何はともあれ install
   ```console
   # yum install tigervnc-server
    ```
2. 設定ファイルに追記
    ```console:/etc/tigervnc/vncserver-config-default
    session=gnome
    alwaysshared
    geometry=1920x1080
    ```
    とりあえず画面解像度を Full HD にしておく．

3. ポート・ディスプレイ番号のマッピングを設定
    ```console:/etc/tigervnc/vncserver.users
    :2=hoge
    ```

4. ファイアウォールの設定
    ```console
    # firewall-cmd --permanent --add-service=vnc-server
    # firewall-cmd --reload
    # firewall-cmd --list-services
    ```

5. パスワードの設定
    ````console
    $ vncpasswd
    ````

6. 設定ファイルの準備
    ```console
    # cp -p /usr/lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:2.service
    ````

7. VNC サーバーの起動
    ````console
    # systemctl daemon-reload
    # systemctl start vncserver@:2
    # systemctl enable --now vncserver@:2
    # systemctl status vncserver@:2
    ````

## RealVNC Viewer のインストール (Windows PC)
1. 何はともあれ以下からダウンロード．今だと `VNC-Viewer-7.13.1-Windows.exe`

https://www.realvnc.com/en/connect/download/viewer/

2. 適当に install
3. [File]-[New Connection] で設定．基本的には，"VNC Server:" のところに IP アドレスとポート番号を入れるだけ

    ```console
    192.168.1.5:2
    ```


# トラブル
install 中，以下のようなトラブルに遭遇した．

## ログインしても画面が真っ暗で何も表示されない
:::note alert
RHEL を起動後，一般ユーザーで login したところ，GNOME デスクトップで何も表示されず真っ黒で (正確には真っ黒ではなく，グレーっぽく全画面に描画されている．場合によってはディスプレイの上部数行相当部分にカラフルなゴミが表示される．何か表示しているものの，きちんと表示されていないようだ)，カーソルも出て来ない．[Ctrl]+[Alt]+[Del] すると RHEL が reboot はする．
VNC Viewer から RHEL に login すると，正常にデスクトップが起動する．
:::
VMware の install がうまくいかずあれこれ試しているうち，何がきっかけか判らないが発生してしまった (2回)．なぜか，VNC で接続してソフトウェアを起動すると，VNC 側ではなく真っ黒のコンソール側に表示される．つまり，`:1` (コンソール) と `:2` (VNC) とがごっちゃになった状態ということか...？
`:1` で VNC サーバーをセットアップしたが起動出来ず，途中から `:2` に変えたのだが，`:1` のときの設定がどこかに残ってしまっているのかも知れない．
```console
$ mv ~/.config ~/.config.bak
$ mv ~/.local ~/.local.bak
```
として GNOME の設定ファイルを消し，初期化してみたが症状変わらず．

:::note
```console
$ dconf reset -f /org/gnome/
$ gnome-shell --replace
```
として GNOME セッションのリセットをしたところ，復旧した．
:::

## VM のゲスト OS がネットワーク接続出来ない
:::note alert
VMware で VM を構築後，ゲスト OS からのみネットワークに接続出来なくなった (ホスト OS からは問題なし)．
:::
ゲスト OS から確認すると，「ネットワークケーブルが接続されていません」となる．はて...？

:::note
デスクトップ右上のアイコンをクリックして出て来る，ネットワークアダプタの状態が，VMware で使っている vmnet1 と vmnet8 とが "管理対象外" となっていた．

![Screenshot from 2024-12-31 23-01-51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3119424/4a202b22-b9ed-8da0-4253-461eff594323.png)
:::

ここを "接続" して復旧．なぜこれが勝手に接続が外れてしまうのだろうか？

## VNC サーバーが起動しない
:::note alert
VNC サーバーが起動しない (ことがある)
:::

:::note warn
確認中... 上記のように，`:1` と `:2` との問題かも知れない
:::