はじめに
LPICの学習を進めるにあたり、手元でCentOS 7環境を用意しました。
CentOS 7はすでにEOLを迎えており、標準のリポジトリは利用できません。
しかし、Everything ISOをローカルリポジトリに設定すれば、ネットに接続せずにパッケージ管理の練習が可能です。
本記事では、私が実際に構築した流れをまとめます。
途中で出てきたエラーメッセージや工夫も記録しているので、同じようにハマった方の参考になれば幸いです。
環境準備
- ホストOS:Windows 11
- 仮想マシン:VirtualBox 7.2
- ISOイメージ:CentOS-7-x86_64-Everything-2009.iso(理化学研究所のミラーサイトから取得)
VirtualBox 仮想マシン設定
- メモリ:4096MB
- CPU:2コア
- HDD:30GB(VDI※可変サイズ)
- ネットワーク:NAT
- EFI:オフ(BIOS起動)
- ブート順:ハードディスク優先、光学ドライブは2番目
CentOS 7のインストール
- 仮想マシンの光学ドライブにEverything ISOをアタッチ。
- 起動時に「Install CentOS 7」を選択。
- ※「Test this media & install CentOS 7」もあるが、今回は省略。
- インストール画面で 最小限のインストール (Minimal Install) を選択。
再起動すると、CUIログイン画面が表示される。
スナップショットの活用
- インストール直後の「まっさらな状態」でスナップショットを保存
- 最低限のパッケージを入れた段階でもう一度保存
→ 壊したら戻せる環境になるので、学習効率が上がる。
ローカルリポジトリの設定
ISOマウント
mkdir -p /mnt/iso
mount /dev/cdrom /mnt/iso
このとき以下のような表示が出た:
mount: /dev/sr0 is write-protected, mounting read-only
→ ISOはDVD-ROM扱いなので「読み込み専用でマウントされた」という意味。問題なし。
local.repo 作成
vi /etc/yum.repos.d/local.repo
内容:
[local]
name=LocalRepo
baseurl=file:///mnt/iso
enabled=1
gpgcheck=0
デフォルトリポジトリの無効化
/etc/yum.repos.d/CentOS-Base.repo
を編集し、各セクションに enabled=0
を追記。
(またはファイル名を .disabled
にリネームしてもOK)
これを行うことで、インターネット上のリポジトリ(もうEOLのため公式ファイルにアクセスできない)を探そうという動きを止められる。
キャッシュ作成
yum clean all
yum makecache
yum repolist
実際の出力の一部:
repolist: 10872
→ Everything ISO 内のパッケージが1万件以上認識された。
基本パッケージのインストール
Minimalインストール直後はほとんど何も入っていないので、以下を追加。
yum install -y vim net-tools wget curl bind-utils
yum install -y man-pages man-db which
yum install -y tree lsof psmisc
yum install -y tar zip unzip bzip2 gzip
yum install -y firewalld rsyslog
一部はすでに入っていたため、
Nothing to do
と表示されたが問題なし。
実際に遭遇したエラーと対応
you need to be root to perform this command
→ su -
でrootに入ってから再実行した。
Cannot find a valid baseurl for repo: base/7/x86_64
→ デフォルトリポジトリがEOLで無効になっていた。
CentOS-Base.repo
を無効化して、Everything ISOをローカルリポジトリに設定することで解決。
failed to setup loop device: No such file or directory
→ ISOファイルをゲストOSにコピーしていなかったのが原因。
VirtualBoxの光学ドライブにISOをマウントし、/dev/cdrom
をマウントする方式に変更して解決。
LPIC学習での活用
この環境を使えば、以下の操作を実際に試せる。
・ユーザー管理:useradd
, groupadd
, passwd
・ファイル権限:chmod
, chown
・サービス管理:systemctl
, journalctl
・パッケージ管理:rpm
, yum
・アーカイブ・圧縮:tar
, gzip
, bzip2
, zip
試験範囲のコマンドを触る練習だけでなく、実務に近い感覚も身につく。
まとめ
・CentOS 7はEOLのため標準リポジトリは利用できない
・Everything ISOをローカルリポジトリとして設定すれば解決できる
・Minimalインストール+必要なパッケージを自分で追加する流れはLPIC学習に最適
・スナップショットを活用すれば、壊してもすぐ復旧できる
これで、VirtualBox上に 「LPIC学習用のCentOS 7環境」 を構築できた 🎉