CentOSがRHEL互換OSの役目を降りてから、Rocky LinuxとAlma Linuxがその役目を引き継いだので、オイラの家のサーバはAlma Linux 9.1で構築しました。それなのに、2023年6月にRHELのソースコードの一般公開が取りやめになると、Alma Linuxは完全互換をあきらめると言い出して、「エーッ」って感じです。加えて、仕事でRedHat系のフリーOSを使うときもいつもRocky Linuxが指定されるので、このたび、家のサーバのOSもRocky Linuxに切り換えました。
そんな訳で、今回は家のサーバ(ミニPC) MINISFORUM GK41 にRocky Linux 9.5をインストールしたときのメモを掲載します。
インストールの流れ
インストールの方法はいろいろありますが、初心者からみたときに敷居の低い方法でやろうと思っています。USBにフルサイズのISOイメージを格納してインストールするのが良いのか、DVDにminimalイメージを焼いてインストールするのが良いのか悩むところですが、家庭ではDVD焼くほうが一般的なんだろうなと思うので、こちらの方法で進めます。
インストールイメージのダウンロード
Rocky LinuxのインストールイメージはこのURLからダウンロードできます。
この時点の最新版はv9.5でした。以下の2つのファイルをダウンロードします。
| 表記 | ファイル | サイズ |
| Minimal ISO | Rocky-9.5-x86_64-minimal.iso | 1,896,153,088 Byte |
| DVD ISO | Rocky-9.5-x86_64-dvd.iso | 11,510,087,680 Byte |
DVDに焼くイメージは「Minimal ISO」のほうです。しかし、Minimal ISOには最小限のパッケージしか含まれていないので、「DVD ISO」のイメージもダウンロードしています(「DVD ISO」と書いてありますが、サイズが 11,510,087,680 ByteもあるのでDVDに格納できません)。DVD ISOのイメージは、Minimal ISOからOSをインストールした後に、パッケージを追加するためのローカルレポジトリを立ち上げるために使用します。
インストール
Minimal ISOのインストーラで起動
Minimal ISOのイメージをDVDに焼いて、そのDVDからインストーラを起動します。
ちなみに、サーバのBIOS画面のブート順序の設定において、DVDドライブが1番先頭になるようにしておいて下さい。

インストーラの操作
言語には日本語を選択。

「インストール先」をclickして、インストール先のSSDを選択する。

「カスタム」をcheckして「完了」をclickすると、、

「手動パーティション設定」で、パーティションを作成する画面に遷移します。

サイズの指定は初心者には悩むところですが、このサーバでは以下のように指定しました。
| パーティション | サイズ | メモ |
| /boot/efi | 600MiB | 200MiB以上を奨励, デフォルトは600MiB |
| /boot | 1GiB | 最小 1GiB |
| swap | 8GiB | RAM容量が2~8GiBの場合はRAM容量と同じ。RAM容量が8GiB以上なら最低4GiB。 |
| / | 残り全部 | 値を指定しなければ残り容量の全部が割り当てられる。 |
上記の値の検討には、このRedHatのページを参考にしました。このサーバのRAM容量は4GiBなのですが、いつか増設したいと思っているのでswapは8GiBにしました。
全てのパーティションを設定したら「完了」をclickすると以下のダイアログが表示されるので、「変更を許可する」をclickします。

インストーラのTop画面に戻るので、「ソフトウェアの選択」をclickします。
「最小限のインストール」がcheckされていることを確認して「完了」をclickします。

インストーラのTop画面に戻るので、「ネットワークとホスト名」をclickします。
ネットワークケーブルが接続されていると「接続済です」と表示されます。
実は、今回はUSB-LANアダプタを接続していて、そのネットワークインターフェース enp0s21f0u2c2 として認識されるので、このインターフェースに対してIPアドレスを設定することにします。
「設定」をclickすると設定画面に遷移します。

「IPv4設定」のタブで、メソッドに「手動」を選択し、IPアドレス、ネットマスク、ゲートウェイを入力します。「IPv6設定」のタブでは、メソッドに「無視する」を選択します。
設定が完了したら「完了」をclickします。

インストーラのTop画面に戻るので、「rootパスワード」をclickします。
パスワードを設定、「パスワードによるroot SSHログインを許可」をcheckしまして、「完了」をclickします。

インストーラのTop画面に戻ったら「インストールの開始」をclickすると、インストールが開始されます。

インストールが完了したら「システムの再起動」をclickします。
このとき、DVD-ROMを外すことを忘れないで下さい。

システムが再起動すると、ログインプロンプトが表示されます。

インストーラの処理の中で、IPアドレスを設定したので、同一のネットワークからはアクセスができるはずです。
追加パッケージのインストール
インストーラにはMinimal ISOを使ったので、パッケージはほとんど入っていません。従って、自分が使いたいパッケージは必要に応じて追加インストールする必要があります。
インストール後のサーバがネットワークに接続していて、かつ、インターネットにも接続できる環境にあるのであれば、パッケージはインターネット上のRocky Linuxのレポジトリからインストールされます。
しかし、お仕事でサーバをセットアップするときに、そのタイミングで必ずしもインターネットにアクセスできるかどうかは分かりません(できないことのほうが多いです)。従って、同一サーバ上にローカルレポジトリを設置して、そこからインストールすることにします。
ローカルレポジトリの設置(1):DVD ISOをマウントする
ダウンロードしたDVD ISOのイメージ Rocky-9.5-x86_64-dvd.iso を対象サーバ上にコピーして、この中身をファイルシステムとして見えるようにします。
先ず /tmp/Rocky-9.5-x86_64-dvd.iso を /media/Rocky-9.5-x86_64/ にマウントします。
# mkdir /media/Rocky-9.5-x86_64
# mount -t iso9660 -o loop /usb/IMAGES/ISO/Rocky-9.5-x86_64-dvd.iso /media/Rocky-9.5-x86_64
mount: /media/Rocky-9.5-x86_64: WARNING: source write-protected, mounted read-only.
すると、以下のように中身が参照できるようになります。
# ls -al /media/Rocky-9.5-x86_64/
total 17
drwxr-xr-x 1 root root 2048 Nov 16 10:52 .
drwxr-xr-x. 3 root root 30 Dec 7 16:15 ..
-rw-r--r-- 1 root root 46 Nov 16 12:41 .discinfo
-rw-r--r-- 1 root root 1522 Nov 16 12:41 .treeinfo
drwxr-xr-x 1 10004 10005 2048 Nov 16 13:08 AppStream
drwxr-xr-x 1 10004 10005 2048 Nov 16 13:09 BaseOS
drwxrwxr-x 1 root root 2048 Nov 16 10:52 EFI
-rw-r--r-- 1 root root 2204 Nov 1 12:28 LICENSE
drwxrwxr-x 1 root root 2048 Nov 16 10:52 images
drwxrwxr-x 1 root root 2048 Nov 16 10:52 isolinux
-rw-r--r-- 1 root root 102 Nov 16 12:41 media.repo
ローカルレポジトリの設置(2): repoファイルを作成する
Rocky Linuxのレポジトリは、/etc/yum.repos.d/ 配下の *.repo ファイルによって定義されます。インストール直後から 4つの repoファイルが存在していました。これらは、いずれもインターネット上のレポジトリを参照するように設定されています。
# ls -l /etc/yum.repos.d/
total 24
-rw-r--r--. 1 root root 6610 Nov 1 12:27 rocky-addons.repo
-rw-r--r--. 1 root root 1165 Nov 1 12:27 rocky-devel.repo
-rw-r--r--. 1 root root 2387 Nov 1 12:27 rocky-extras.repo
-rw-r--r--. 1 root root 3417 Nov 1 12:27 rocky.repo
先程、マウントしたDVD ISOの中身をレポジトリとして参照するための repoファイルを作成しましょう。ここではファイルを /etc/yum.repos.d/local.repo として、中身は以下のように記述します。
[local-BaseOS]
name=Rocky-9.5-x86_64-dvd-BaseOS
baseurl=file:///media/Rocky-9.5-x86_64/BaseOS
enabled=1
gpgcheck=0
[local-AppStream]
name=Rocky-9.5-x86_64-dvd-AppStream
baseurl=file:///media/Rocky-9.5-x86_64/AppStream
enabled=1
gpgcheck=0
[ ]で囲まれた文字列は repo id で、name で指定した文字列はレポジトリの名前です。他と重複しないように好きな名前を付けてください。
baseurlには、file://(レポジトリの最上位ディレクトリの絶対パス) を指定して下さい。BaseOSとAppStreamは分けて定義するので、それぞれの最上位ディレクトリを定義します。
local.repoを/etc/yum.repos.d/に設置したら、dnf repolistコマンドを実行すると、有効なレポジトリの一覧が以下のように表示されるはずです。
# dnf repolist
repo id repo name
appstream Rocky Linux 9 - AppStream
baseos Rocky Linux 9 - BaseOS
extras Rocky Linux 9 - Extras
local-AppStream Rocky-9.5-x86_64-dvd-AppStream
local-BaseOS Rocky-9.5-x86_64-dvd-BaseOS
インターネットにアクセスできない環境ではlocal.repo以外のファイルを退避しておく
dnfコマンドでパッケージをインストールしようとすると、インターネット上のレポジトリにアクセスしようとして、処理が止まってしまいます。インターネット上のレポジトリにアクセスしないようにする方法は2つあります。
1つ目は、/etc/yum.repos.d/配下の、local.repoを除く全てのrepo ファイルにおいて、「enabled=1」を「enabled=0」に修正することです。でも、エディタでいちいち修正するの面倒くさいですよね。。
2つ目は、/etc/yum.repos.d/配下の、local.repoを除く全てのrepo ファイルを、どこか別の場所に退避(移動)しちゃうことです。インターネットにアクセスできるようになったら、移動したファイルは/etc/yum.repos.d/ に戻しておきましょう。
dnfコマンドでローカルレポジトリからパッケージをインストールする
/etc/yum.repos.d/local.repo を設置し、local.repo以外のrepoファイルを退避したら、dnfコマンドでパッケージをインストールします。local.repoの定義に従い、/media/Rocky-9.5-x86_64/BaseOS/ または /media/Rocky-9.5-x86_64/AppStream/ の配下から、パッケージがインストールされます。
この方法では、DVD ISOよりも新しい更新パッケージはインストールされないので、インターネットに接続した後は、退避してあったrepoファイルを/etc/yum.repos.d/ 配下に戻して、「dnf update」でパッケージを最新化しましょう。
ミニPCのお勧め
おウチでLinuxを勉強するのに、ミニPCはどうですか。
仮想環境(KVM)使えば、仮想マシンを複数起動できますし、とても安価にシステム構築の練習ができます。ミニPCはとっても静かで消費電力も小さいので部屋で常時起動させています。



コメント