LPIC Level1のためにVagrant+VirtualboxでUbuntuを仮想環境として構築した手順。

今更ながら

LPIC面白そうだし受けてみるか!ということでひとまず、

1週間でLPICの基礎が学べる本 第3版 徹底攻略シリーズ



を読んで、

Linux教科書 LPICレベル1 Version5.0対応



で出題範囲のインプットをしながらping-tの問題を解いている最中です。

まぁ問題を暗記して解けるようにはなりそうだけど、少し問題の構造を変えられたら解けなくなりそうだし、動かさずに覚えるのは難しそうだと感じたので動かそう!という目的で構築しました。

何かしら前例があるだろうと思って検索してみると、以下のような動画で実際に同じような環境でCentOSを動かしていたので、Ubuntuを動かす場合の環境構築をしてみました。

新入社員研修のプロが伝授!LPIC-1学習ポイント

そもそもこれらは何?

Virtualbox



Virtualboxって何?

Oracleが管理しているOSSの仮想環境を構築するためのソフトです。

使うメリットはあるの?

じゃあ仮想環境を作ると何が嬉しいの?という疑問が生まれると思いますが、一つのOSの上で複数のOSを取り扱うことができるようになる、というものが一般的でしょう。
例えば、多くの場合、本番環境と開発環境は異なります。
必要なパッケージやOSによる差異など異なる要素は様々ですが、これらを実際にローカルの開発環境で動かしたい、となった時に使うものです。

また、仮想環境で何か致命的なミスを起こしたとしても、その環境が元のOSに影響を及ぼしたりすることはありません。
これらのメリットを享受するために仮想化が使われています。

Vagrant




Vagrantって何?

VMWareやVirtualboxとかの仮想化ソフトの操作を、代行してくれるソフトです。
今回はこれを使って構築することで本来必要なOS(Ubuntuのイメージのダウンロードなど)の操作をVagrantを通して管理ができるようになります。

それは分かった。何のメリットがあるの?Virtualboxだけで良くない?

vagrantfileに基づいた仮想環境の管理がコマンドでできるようになります。

ありとあらゆる所でここのメリットは語られているのであまり深くは触れませんが、これこそがVagrantを使う大きなメリットの一つです。
チームメンバーなどと共有する時や、こういった記事形式で何か仮想環境を立てたい時に1からVMの構成を手順書などに書くのは面倒です。
それなら特定の構成を書いたファイルを取ってきて、コマンド叩いたら完成!の方が他のスピードも上がります。

あと個人的に勉強したかった

環境構築

環境

  • OSX Catalina 10.15.7
  • VBoxManage 6.0.14r133895
  • Vagrant 2.2.10
  • VirtualBox 6.1.14

VirtualBox

公式ページからパッケージをダウンロードします。



インストールします。
VirtualBoxの設定はこれで終わりです。

Vagrant

公式ページにアクセスし、Downloadをクリック。

それぞれのプラットフォームごとのバージョンがダウンロード可能になっているのでダウンロード。



ダウンロードしたパッケージをインストール。

すると無事にインストールができているはずなのでターミナルで以下のように進める。

# ディレクトリ作成と移動
$ mkdir Ubuntu && cd Ubuntu

# Vagrantにインストールされているリストの確認
# 恐らく何もないよ!とでます
$ vagrant box list

# フォルダ内にUbuntuのvagrantfileのダウンロード、及びプロビジョニング開始
$ vagrant init ubuntu/trusty64
$ vagrant up

# ubuntu/trusty64 (virtualbox, 20190514.0.0)
$ vagrant box list

# 以下のコマンドでポート情報などが出るのでここでの情報を元にログインする
$ vagrant ssh-config

# sshログインする
# user,passwordは共にvagrant
$ ssh -p 2222 vagrant@localhost

これだけで実はUbuntuをターミナル上で動かせます。
事実Virtualboxを見てみると以下のように仮想環境が動いています。




これで実際にコマンドを入力して楽しめます。
やったね!

これで実際にオプションも含めながらゆるゆると勉強していこうと思います〜。
ではお疲れ様でした。

コメント

このブログの人気の投稿

Braveブラウザの同期機能をiPhoneで設定した話。

failed: unable to get local issuer certificate (_ssl.c:1123)と出たので解決した話

自作のChrome Extensionをインポートした時に "Invalid value for 'content_scripts[0].matches[0]': Empty path."というエラーが出たので解決した