今更ながら
LPIC面白そうだし受けてみるか!ということでひとまず、
を読んで、
Linux教科書 LPICレベル1 Version5.0対応
で出題範囲のインプットをしながらping-tの問題を解いている最中です。
まぁ問題を暗記して解けるようにはなりそうだけど、少し問題の構造を変えられたら解けなくなりそうだし、動かさずに覚えるのは難しそうだと感じたので動かそう!という目的で構築しました。
何かしら前例があるだろうと思って検索してみると、以下のような動画で実際に同じような環境でCentOSを動かしていたので、Ubuntuを動かす場合の環境構築をしてみました。
そもそもこれらは何?
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を見てみると以下のように仮想環境が動いています。
これで実際にコマンドを入力して楽しめます。
やったね!
では、お疲れ様でした。