【設定方法】VagrantとVirtualBoxでCentOS8の仮想環境をサクッと構築する手順

VagrantとVirtualBoxでCentOS8の仮想環境をサクッと構築する手順をメモしました。
CentOS 8
CentOS 8とは?
Red Hat Enterprise Linux 8 (RHEL8) から商用パッケージ等を除去した無償版のOSです。
2019年5月7日にリリースされた RHEL8 をベースに 2019年9月24日に CentOS 8.0 がリリースされました。
CentOS 8と CentOS7の大きな違い
- パッケージ管理システムがyum から dnf への変更
- Pythonのバージョンが 2 から 3 に変更(4つのバージョンのPythonが存在) - Dockerの代わりにRed Hat が CentOS 7.6 以降で Docker の後継として開発した Podmanが利用可能
VagrantとVirtualBox
VagrantとVirtualBoxについて
環境を構築するにあたり先にVagrantとVirtualBoxのインストールが必要になります。
インストール手順については下記の記事を参照ください。
Vagrantのインストール手順
VirtualBoxのインストール手順
Vagrantコマンドの使い方とオプションの紹介
環境
- Mac OS Big SUR 11.3.1
- Vagrant 2.2.16
- VirtualBox 6.1.22 r144080
ファイル操作で利用するUnixコマンド
基本的なディレクトリ作成やファイル操作はUnixコマンドを利用します。
Unixコマンドについて詳しくはこちらの記事を参考にしてください。
Vagrant で Centos8 環境構築
ディレクトリを作成
ユーザー直下 /home/user/
のディレクトリ、もしくは任意のプロジェクトのルートディレクトリ内に移動します。
terminal$ cd ~/
or
$ cd ~/project/
そこでmkdir
コマンドを叩きcentos8
ディレクトリを作成して移動します。
centos8
は任意のディレクトリ名へ変更いただいて構いません。
terminal$ mkdir centos8 && cd centos8
vagrant 初期化
vagrant init
コマンドを実行してVMを初期化します。
terminal$ vagrant init
boxの設定を を centos/8 へ変更
Vagrantfile の 15 行目あたりにある box の設定 config.vm.box
をbase
からcentos/8
へ変更します。
Vagrantfileconfig.vm.box = "centos/8"
VM を起動する IP の設定を追加
Vagrantfile の 35 行目あたりにある network 設定 config.vm.network
のコメントアウトを解除します。
また必要に応じて192.168.33.10
となっている IP
を変更してください。
Vagrantfileconfig.vm.network "private_network", ip: "192.168.33.10"
VM を起動
vagrant up
で vm を起動します。
terminal$ vagrant up
起動するにあたりいろいろとエラーが出たのでその対応を実施しています。
詳細については下記記事をご確認ください。
NS_ERROR_FAILUREの対処
modprobe vboxguest failedエラーの対処
起動が完了したら構築は完了です。
CentOSのバージョンを確認する
VMへログインし構築したCentOS8の確認を実施します。
構築したCentOS8のVMへログイン
vagrant ssh
コマンドでVMへログインします。
terminal|ホストOS$ vagrant ssh
## redhat-releaseファイルを確認しCentOSのバージョンを確認
cat
コマンドで/etc/redhat-release
ファイルを確認しCentOSのバージョンを確認します。
terminal|ゲストOS$ cat /etc/redhat-release
CentOS Linux release 8.3.2011
CentOS 8.3.2011がインストールされていることを確認できました。
CentOS8のパッケージ、モジュールのアップデート
各設定を行う前に一度CentOS8のパッケージ、モジュールのアップデートを実施します。
CentOS8のアップデートについてはyum
ではなくDNF
を利用します。
DNF(ダンディファイド ヤム)
DNFとは
DNFはDandified Yumの略でRPMベースのパッケージ管理システムを採用しているパッケージマネージャになります。
CentOS7まで利用されていたお馴染みのyumの後継版になります。
DNFが作られるきっかけ
yum は python2 系でしか動作しないためいつまでも使い続けられないという問題があったようです。
そのためpython3系で動くDNFが作られました。
CentOS8のパッケージマネージャー
CentOS8 はシステムが利用する python のバージョンも python3 系に上がっています。
そのためデフォルトで利用するパッケージ管理システムはDNFになります。
yumコマンドの廃止
以前のCentOSバージョンで利用されていたyum
コマンドについては廃止されるようです。
DNFとyumの変更点
主要なコマンドについてはyum xxx
の代わりにdnf xxx
に変更になるだけのため
基本的にxxxの部分は変わりません。
yumの場合
termina$ yum install package
dnfの場合
termina$ dnf install package
詳しくはDNF Command Referenceをご確認ください。
dnfコマンドでアップデート
terminal|ゲストOS$ sudo dnf update -y
// 中略
Complete!
初回のアップデートは少々時間がかかると思います。
以上でCentOS8のパッケージ、モジュールのアップデートは完了です。
- article
【早見表】よく使うVagrantコマンドとオプションの一覧まとめ
- article
vagrantで起動したVM内で立ち上げているDockerのVolume(MySQLデータ永続化)で書き込みエラーになる件の対処
- article
【解決方法】Vagrantで構築したUbuntu20.04へsynced_folder を設定した際に発生するマウントエラーの対処
- article
【設定方法】VagrantとVirtualBoxでUbuntu20.04の仮想環境をサクッと構築する手順
- article
【設定方法】VagrantとVirtualBoxでCentOS8の仮想環境をサクッと構築する手順
- article
【解決方法】Vagrantを起動した際に発生するumount: /mnt: not mounted.の対処について
- article
Dify と外部 API 連携:Webhook・Zapier・REST API 活用法Dify と外部 API 連携:Webhook・Zapier・REST API 活用法
- article
ESLint の自動修正(--fix)の活用事例と注意点
- article
Playwright MCP で大規模 E2E テストを爆速並列化する方法
- article
Storybook × TypeScript で型安全な UI 開発を極める
- article
Zustand でユーザー認証情報を安全に管理する設計パターン
- article
Node.js × TypeScript:バックエンド開発での型活用テクニック
- review
人類はなぜ地球を支配できた?『サピエンス全史 上巻』ユヴァル・ノア・ハラリが解き明かす驚愕の真実
- review
え?世界はこんなに良くなってた!『FACTFULNESS』ハンス・ロスリングが暴く 10 の思い込みの正体
- review
瞬時に答えが出る脳に変身!『ゼロ秒思考』赤羽雄二が贈る思考力爆上げトレーニング
- review
関西弁のゾウに人生変えられた!『夢をかなえるゾウ 1』水野敬也が教えてくれた成功の本質
- review
「なぜ私の考えは浅いのか?」の答えがここに『「具体 ⇄ 抽象」トレーニング』細谷功
- review
もうプレーヤー思考は卒業!『リーダーの仮面』安藤広大で掴んだマネジャー成功の極意