無償ライセンスを使って VirtualBoxに Red Hat Enterprise Linux 8 のインストールします。
2021年1月21日
個人開発者は、Red Hat Developer program 経由で最大16のRHELを利用出来るようになると発表されました。
また、開発ではなく本番環境での利用も認められています。
で、この変更は2021年2月1日までに有効になるようです。
※間違ってるといけないので、以下の原文をよく確認してください。
New Year, new Red Hat Enterprise Linux programs: Easier ways to access RHEL
この記事に書いてある事
- Red Hat Developer サイトへのアカウント登録
- RHEL8 の入手方法
- VirtualBox へのRHEL8インストール手順
- Subscription登録方法
- VirtualBox GuestAdditons のインストール手順
- Red Hat Insights への接続
出来なかった。無償のdeveloper subscripotionの場合なんか手続きがいるっぽい
準備が必要な情報
アカウントの作成に必要な情報
ユーザ名、メールアドレス、職務内容(選択式)、8文字以上のパスワード
RHELのダウンロードに必要な追加情報
氏名、会社、電話番号、国、住所
全て英語表記で準備しましょう。
インストールに必要な情報
設定項目 | このメモでの設定値 | 備考 |
---|---|---|
日付と時刻 | 地域:アジア/都市:東京 | |
ソフトウェアの選択 | サーバ(GUI使用) | 初期値 |
hostname | rhel8.example.co.jp | |
rootパスワード | 適当な物を考えておきましょう | |
一般ユーザID | user01 | |
一般ユーザパスワード | 適当な物を考えておきましょう | |
インストール先PC | VirtualBox 仮想マシン | VBoxGuestAdditions も導入する |
日本語入力環境 | 日本語入力環境を設定 | |
IPv6 | 無効化 | |
virtbr0 | 無効化 | 仮想ブリッジ、不要なら無効化 |
Red Hat Developer へのアカウント登録
特に、説明は必要ない??
以下のサイトにアクセスして適当にアカウントを作成します。
RedHat Developer
-
"今すぐ作成しましょう。"をクリックして登録を開始
もしくは、提示されているサービスのアカウントでサインインしてください。
-
メールアドレスの確認
登録したメールアドレス宛にRed Hat アカウントのメールアドレスを確認します。
と言う表題のメールが送られてきます。
メール内のメールアドレス確認用リンクをクリックしてメールアドレスの確認を完了します。
RHEL8 の入手方法
RedHat Developer から入手します。
VirtualBox へのRHEL8インストール
-
インストール開始
インストール先の仮想マシンにダウンロードしたRHEL8のisoイメージを光学ドライブに割り当てて、
仮想マシンを起動します。 -
起動オプション設定(画面のはみ出し対策)
Install Red Hat Enterprise Linux 8.3 を選択した状態で Tab を押して起動コマンドラインを表示し、
末尾に vga=773 を追記、Enterを押してインストーラを起動します。
※この時点でシステムは英語キーボードモードです。日本語キーボードを使っている場合"="を入力するには"^"を押してください。
参考:GRUB VGA Modes
-
インストール概要
インストールの開始をクリックする前に以下の設定をしてます。
- 時刻と日付:タイムゾーンの指定
- インストール先:ディスク および 必要であればパーティション設定
- KDUMP:無効化、自宅サーバならKDUMPが取れても解析しないよね?
- ネットワークとホスト名(DHCPでもホスト名位設定しましょう)
- rootパスワード:rootアカウントのパスワードを設定します。
- ユーザーの作成:一般ユーザを作成します。
初回ログイン
-
初回ログイン時の設定4:オンラインアカウントへの接続
任意で設定します。
ちなみに私は必要になりそうなサービスがあってもスキップして後で設定します。
-
初回ログイン時の設定6:GNOMEの初めて使う方へ画面
gnomeが久しぶりの場合は、ビデオを見ても良いかも知れません。
特に設定などはありません。右上の"✖︎"で閉じてください。
Subscription の割り当て
アップデートや追加のパッケージを入手する為、サブスクリプションを割り当てます。
サブスクリプションの割り当ては Red Hat Development のアカウントで行えます。
割り当て方法は、基本的に自動割り当てで良いと思います。
1.サブスクリプション登録操作2
Red Hat Development のアカウント を指定して登録を実行
1.サブスクリプション登録操作3
登録が完了した時の画面表示はこんな感じです。
VirtualBox GuestAdditons のインストール
必要なパッケージ追加
VirtualBox Guest Additions インストールの為に開発環境のインストールを行う
最初、VBoxGuestAdditions のインストールに失敗したのでsetup.logを見ると以下のモジュールを要求していたので、
開発環境と一緒にインストールしてます。
libelf-dev lebelf-devel or elfutils-libelf-devel
[user01@rhel8 ~]$ sudo dnf group install -y "Development Tools"
[user01@rhel8 ~]$ sudo dnf install -y elfutils-libelf-devel
アップデートの実施
大抵の場合、追加インストールされた kernel-header と稼働中のkernelにずれが出来ます。
アップデートを実施してパッケージのバージョンを揃えましょう。
[user01@rhel8 ~]$ sudo dnf clean all
[user01@rhel8 ~]$ sudo dnf check-update
[user01@rhel8 ~]$ sudo dnf -y upgrade
[user01@rhel8 ~]$ sudo shutdown -r now
VirtualBox Guest Additions のインストール
手順1
Guest Additions CDイメージの挿入 Insert Guest Addtions CD image を選択
手順2
VBox_GAs_XXX の画面が出たら 実行する をクリックしてください。
手順4
インストールが完了したら enter を押してウインドウを閉じます。
手順5
OSを再起動して完了です。
[user01@rhel8 ~] sudo shutdown -r now
Red Hat Insights への登録(出来ないみたい)
こんなエラーが出ました。
無償のdeveloper subscripotionの場合なんか手続きがいるっぽい
[user01@rhel8 ~]$ sudo insights-client --register
[sudo] user01 のパスワード:
Unable to fetch egg url. Defaulting to /release
Could not connect to the Insights API. Run insights-client --test-connection for more information.
[user01@rhel8 ~]$
インストール直後のIP付与状況
仮想環境を利用しないサーバとして利用する場合、IPv6とvirbr0が邪魔ですね。
次の項目でIPv6とvirbrの無効化を行って行きます。
[user01@rhel8 ~]$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 08:00:27:88:c0:ae brd ff:ff:ff:ff:ff:ff
inet 192.168.1.117/24 brd 192.168.1.255 scope global dynamic noprefixroute enp0s3
valid_lft 12875sec preferred_lft 12875sec
inet6 240b:11:aae2:6200:4fd5:421b:6ab:98bc/64 scope global dynamic noprefixroute
valid_lft 14331sec preferred_lft 12531sec
inet6 fe80::5060:ddc5:d871:b617/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 52:54:00:7c:7e:ad brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel master virbr0 state DOWN group default qlen 1000
link/ether 52:54:00:7c:7e:ad brd ff:ff:ff:ff:ff:ff
[user01@rhel8 ~]$
IPv6無効化
方法1:Kernel Boot Option での無効化(おすすめ)
- 設定ファイル編集
GRUB_CMDLINE_LINUX 行の末尾に "ipv6.disable=1" を追記してください。
[user01@rhel8 ~]$ sudo vi /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="resume=/dev/mapper/rhel-swap rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap rhgb quiet ipv6.disable=1"
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=true
[user01@rhel8 ~]$
- Grub設定を反映
ls で確認したgrub2.cfgのリンク先を指定して grub2-mkconfig を実行してください。
リンク先が2カ所あった場合 grub2-mkconfig も二回実行してください。
で、実行後システムの再起動を行います。
[user01@rhel8 ~]$ ls -lh /etc/grub*.cfg
lrwxrwxrwx. 1 root root 22 8月 31 19:50 /etc/grub2.cfg -> ../boot/grub2/grub.cfg
[user01@rhel8 ~]$
[user01@rhel8 ~]$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
done
[user01@rhel8 ~]$ sudo shutdown -r now
方法2:sysctl での無効化
- sysctl.conf での IPv6無効化設定
[user01@rhel8 ~]$ sudo vi /etc/sysctl.d/ipv6.conf
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
[user01@rhel8 ~]$ sudo sysctl --load /etc/sysctl.d/ipv6.conf
- NetworkManager でのIPv6無効化設定
NetworkManagerを利用している場合 OSを再起動したり コマンドでnicの再起動を行うと、
IPv6が有効化されてしまいます。NetworkManagerがIPv6を有効化しないように設定しましょう。
(enp0s3 の部分は自サーバのNIC名に置き換えてください)
[user01@rhel8 ~]$ nmcli connection show enp0s3 |grep ipv6.method
ipv6.method: auto
[user01@rhel8 ~]$ sudo nmcli connection modify enp0s3 ipv6.method ignore
[user01@rhel8 ~]$ nmcli connection show enp0s3 |grep ipv6.method
ipv6.method: ignore
[user01@rhel8 ~]$
共通設定
sysctl/kernel boot option のどちらでIPv6を停止した場合でも共通で行う設定です。
- /etc/hosts から IPv6 エントリを削除
IPv6 のエントリを削除するかコメントアウトしましょう。
[user01@rhel8 ~]$ sudo vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
##::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
[user01@rhel8 ~]$
- /etc/netconfig から IPv6 エントリを削除
エラーメッセージの抑止です。
udp6/tcp6 の行削除するかコメントアウトしましょう。
[user01@rhel8 ~]$ sudo vi /etc/netconfig
#
# The network configuration file. This file is currently only used in
# conjunction with the TI-RPC code in the libtirpc library.
#
# Entries consist of:
#
# <network_id> <semantics> <flags> <protofamily> <protoname> \
# <device> <nametoaddr_libs>
#
# The <device> and <nametoaddr_libs> fields are always empty in this
# implementation.
#
udp tpi_clts v inet udp - -
tcp tpi_cots_ord v inet tcp - -
##udp6 tpi_clts v inet6 udp - -
##tcp6 tpi_cots_ord v inet6 tcp - -
rawip tpi_raw - inet - - -
local tpi_cots_ord - loopback - - -
unix tpi_cots_ord - loopback - - -
[user01@rhel8 ~]$
virbrの無効化
KVMなどの仮想環境を構築しない場合は、不要なので止めてしまいます。
[user01@rhel8 ~]$ sudo systemctl disable libvirtd
[user01@rhel8 ~]$ sudo shutdown -r now