CentOS Linuxオワコン記念(違)、もしくは理研ミラー記念というわけで、Springadale Linuxを試してみました。
まあ、CentOS版の焼き直しなので、同じ手順はサラッと流します。
ISOイメージの入手
ISOイメージですが、http://ftp.riken.jp/pub/Linux/springdale/8.3/x86_64/iso/ に有りません。しょっぱなから嫌な香りがプンプンします(笑)。
色々探した結果、http://ftp.riken.jp/pub/Linux/springdale/8.3/x86_64/os/images/boot.iso を見付けたので、これをダウンロードします。
VirtualBoxの設定
CentOSと同じく、メインメモリーは3072 MB、ネットワークアダプターとしてブリッジアダプターを使用します。
起動パラメータの変更
これも同じく、起動パラメーターに、selinux=0 3
を追加してカーネルを起動します。
キーボード設定
[anaconda root@localhost ~]# loadkeys jp106
sshdの有効化
[anaconda root@localhost ~]# mv -v /etc/ssh/sshd_config{.anaconda,}
IPアドレスの設定
最近、我が家でもIP v6が使えるようになったので、dhclientとはお別れして、NetworkManagerの軍門に下ることにしました(笑)。まあ、使うのはここだけで、systemd-networkdインストールしますけど。:-p
[anaconda root@localhost ~]# nmcli c a type ethernet ifname enp0s3 con-name enp0s3
sshログイン
sshdが起動したことを確認して、sshクライアントからrootでログインします。
[anaconda root@localhost ~]# systemctl is-active sshd
active
/パーティションへの書き込みの回避
ホスト環境にパッケージをインストールする際に、空き容量が足りなくてエラーになるのを回避するため、一部のディレクトリを/tmp配下にbindマウントします。
[anaconda root@localhost ~]# mkdir /tmp/dnf && mount --bind /tmp/dnf /var/cache/dnf
[anaconda root@localhost ~]# mkdir /tmp/rpm && mount --bind /tmp/rpm /var/lib/rpm
[anaconda root@localhost ~]# mkdir /tmp/firmware && mount --bind /tmp/firmware /lib/firmware
弱い依存関係の無効化
基本的に、ここまではCentOSと同じ設定です。
[anaconda root@localhost ~]# echo install_weak_deps=0 >> /etc/dnf/dnf.conf
Springdale Linux用リポジトリの追加
やっとSpringdale Linux固有の内容になりました。
CentOS同様Springdaleのboot.isoも/etc/yum.repos.d/にリポジトリ情報が無いので、repoファイルが含まれているパッケージをインストールする必要があるのですが、なぜかdnfに依存してて、当然dnfは他のパッケージに依存してて、泥縄式にパッケージを追加していくとキリがありません。
という訳で、dnfでインストールするのは諦めて、rpmファイルを直接展開してrepoファイルを配置します。
[anaconda root@localhost ~]# cd /
[anaconda root@localhost /]# curl http://ftp.riken.jp/pub/Linux/springdale/8.3/x86_64/os/BaseOS/Packages/springdale-core-8-0.sdl8.2.noarch.rpm | rpm2cpio | cpio -id
[anaconda root@localhost /]# curl http://ftp.riken.jp/pub/Linux/springdale/8.3/x86_64/os/BaseOS/Packages/springdale-appstream-8-0.sdl8.2.noarch.rpm | rpm2cpio | cpio -id
zfs用リポジトリの追加
以前と同様、glibc-langpack-jaも指定します。
[anaconda root@localhost /]# dnf -y --releasever=8.3 install glibc-langpack-ja http://download.zfsonlinux.org/epel/zfs-release.el8_3.noarch.rpm
dkmsからkmodへの切り替え
OpenZFSのページで知ったのですが、sed使わなくてもリポジトリの有効/無効って切り替えられたんですね……。
[anaconda root@localhost /]# dnf -y install dnf-plugins-core
[anaconda root@localhost /]# dnf config-manager --disable zfs
[anaconda root@localhost /]# dnf config-manager --enable zfs-kmod
zfsパッケージのインストール
最近のCentOSだと常に最新のカーネルバージョンしかインストール出来なくなっているようですが、Springdaleはバージョン指定が効くので、以前と同じ手順で大丈夫です。
[anaconda root@localhost /]# dnf -y install kernel-core-$(uname -r) zfs
zfsモジュールのロード
DHCP環境でIPアドレスが変わってもhostidが変わらないように、0固定にしてからモジュールをロードします。
[anaconda root@localhost /]# dd if=/dev/zero of=/etc/hostid bs=4 count=1 2>/dev/null
[anaconda root@localhost /]# modprobe zfs
[anaconda root@localhost /]# dmesg | tail -1
[ 1435.751419] ZFS: Loaded module v0.8.6-1, ZFS pool version 5000, ZFS filesystem version 5
CentOS Linuxと多少は違いがありますが、とりあえずZFS的にはCentOS Streamよりは安心して使えそうです(笑)。