CentOS7実行環境を整える
今さらCentOS7環境で検証する必要が出たので環境を整えました。
その時のメモです。
ホストOSはWindows11です。
インストール
Vagrant
scoop でインストールしました。
プロバイダーの推奨は現在でもVirtualBoxなようですが、Hyper-Vでも利用できそうなので今回はHyper-Vをプロバイダーとして利用することにしました(VirtualBox はインストールしないことにしました)。
セットアップ
Hyper-V 管理者設定
で説明されている通り、自分を Hyper-V Administrators グループに追加しました。
Add-LocalGroupMember -Group "Hyper-V Administrators" -Member yukihane
(yukihane というのが私のアカウント名です)
設定有効化にはOSの再起動が必要なようでした。
Vagrant
centos/7 のboxを利用することにしました。
(これって信頼している人が作ったものだというのをどうやったら確認できるんだっけ?)
vagrant init centos/7 --box-version 2004.01
実行
仮想マシン起動
自動的に適切なプロバイダーが選ばれるはずなのですが、起動しなかったので明示的にプロバイダーを指定しています。
vagrant up --provider=hyperv
そうすると次のエラーが出て起動しませんでした:
Bringing machine 'default' up with 'hyperv' provider...
==> default: Verifying Hyper-V is enabled...
The Hyper-V cmdlets for PowerShell are not available! Vagrant
requires these to control Hyper-V. Please enable them in the
"Windows Features" control panel and try again.
検索してみたところ同じエラーが出ている人がいましたが、そちらとは同じ原因では無さそうでした。
- What is needed to use Vagrant with Hyper-V - Super User
- What is needed to use Vagrant with Hyper-V - Vagrant - HashiCorp Discuss
私の環境では部分的にしか(?)Hyper-Vが有効になっていなかったのが原因のようでした。
次のコマンドを実行後再起動することで vagrant up がうまく動くようになりました。
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
CentOS 初期セットアップ
Yum リポジトリー設定
CentOS7はEOLを迎え、デフォルトで設定されているリポジトリーはもはや接続できなくなっており、 yum コマンドが利用できません。
これを修復します。
vagrant ssh
で仮想マシンに入ります。
以下、仮想マシン内での操作です。
curl -L -O https://gist.githubusercontent.com/yukihane/5c8ad63ee07c51893d9cae4050d05372/raw/7796d9af0c9e3f162101cca7327b65f7266e9b84/replace-centos7-repo.sh
sudo bash ./replace-centos7-repo.sh
sudo yum update -y
次のQiitaエントリーに記載されているスクリプトを gist からダウンロードして実行しています。
-ref. 緊急対応!CentOS 7 サポート終了後のyumエラー解消法 - Qiita
以上でCentOS7実行環境が用意できました。