Help us understand the problem. What is going on with this article?

[超初心者]仮想マシン(Liunux)環境構築の備忘録

More than 1 year has passed since last update.

はじめに

今までWindowsしか使用していなかった自分がLinux練習に以前環境構築したメモを備忘録として書きます。
この記事でのゴールはWindowsに立てたLinuxから、更にvagrantコマンドで孫VM作ったり壊したりする環境を構築することです。

方針・概要

Windows上にLinux仮想環境を構築する場合、
「Windows に Virtualbox + vagrant インストール」して仮想PCを複数起動するのがメジャーな気がしますが、
vagrantコマンド叩く側がWindowsなのはツライ&手元のWindows環境はあまり汚したくないので、
自分は、Ubuntu18(デスクトップ版)を仮想で立てて、その中で更に複数の仮想環境を立てることにしました。

※Powershel.exe , cmd.exeツライ
※WSLもいいけどvagrantなどの挙動が不安。vagrant.exeならOKかもしれないが、
 そもそもWSL使うの自体Linux初心者的に原因切り分け難しいことが多い気がして厳しいと思う。
※以前はwindowsにGit for windows ,virtualbox,vagrant入れてgit bash からvagrant叩いてたけど
 間に1つLinuxのVM挟んだほうが初心者的にむしろ気楽だった。

筆者の環境

  • Windows10
    • マザーボード:仮想化支援機能"intel VT-x"を有するマザーボード。(BIOSで設定onになっているか確認すること)
    • SSD 512GB:Windows10のsystemdrive
    • SSD 512GB:VMイメージ置き場 ※負荷を考慮してsystemdriveと分けたほうがいい気がしたので。知らんけど)

構成概要

【任意のLinux(virtualbox + vagrant)】 on 【Ubuntu18(VmwareWorkstation)】 on 【Windows10】

  • Host(Windows10)
    • 子Guest(Ubuntu18.04LTS)
      • 孫Guest(任意のLinux)

"Vmware Workstation 15 Player"を使用する理由

virtualboxやhyper-vの選択肢もありますが
"Vmware Workstation 15 Player"は仮想化支援がゲストでも使え
ゲストから仮想マシンを作成可能だったため使用している。
(また、非商用用途で無料で使用可のようで、かつvirtualboxとも共存可能なので選んだ)

手順

GuestOSはubuntu18.04 日本語版をインストール

  1. 上記のISOをダウンロード
  2. 仮想マシン作成、インストール
    • 仮想マシンの場所は、負荷を考慮してシステムドライブと別のドライブ(SSD)に入れた。
    • メモリやシステムドライブはある程度確保してあげるといい。(自分は16G,90Gくらい確保してます。たしか。)
    • 設定- CPUタブでintel VT-Xを仮想化する。
    • 簡易インストールに従うと ユーザー名やパスワードを入れるだけなので楽。

ubuntu設定

端末を起動。

bash$
# まずは最新に
sudo apt update
sudo apt upgrade

gnome-terminal設定

個人の好みで以下のプロファイルを作成

  • solarized-dark
  • solarized-light

※既定をsolarized-lightにする。

壁紙変える(デフォルトは壁紙がローテーションしたためうっとおしかった)

言語サポート

以下を参考に実施。

https://linuxfan.info/ubuntu-18-04-basic-settings

timezone

タイムゾーン・ロケールを日本に変える。

home直下のフォルダ名を英語にする

bash$
LANG=C xdg-user-dirs-update --force

ログアウト
ログイン
変更する。(すでにディレクトリ内に入っているフォルダは削除されないので手動で中身移動して消す)

日本語MOZC プロパティ

Vim(やVscodeなどのVimプラグイン)でEsc押したらIME無効化してほしいのでMOZCのGUIで以下の設定を追加しておく

入力文字なし Ctrl+[ IMEを無効化

sophosインストール

参考サイト

以下URLにアクセスしてダウンロード。
https://www.sophos.com/ja-jp/products/free-tools/sophos-antivirus-for-linux.aspx

bash$
cd ~/Downloads/
$ tar zxvf sav-linux-free-9.tgz
sophos-av/
sophos-av/sav.tar
sophos-av/talpa.tar
sophos-av/uncdownload.tar
sophos-av/install.sh

$ cd sophos-av
$ sudo ./install.sh

package install

入れたいパッケージは好みで適当に入れる。

bash$
sudo apt install git
sudo apt install tmux
sudo apt install vim
sudo apt install neovim
sudo apt install zsh
sudo apt install curl
sudo apt install catfish
sudo apt install gawk
sudo apt install ansible
sudo apt install xsel
sudo apt install tree
sudo apt install gparted

Chromeをインストール

firefox開いて、chrome検索してダウンロードしてインストール。

bash$
sudo apt install gdebi-core
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo gdebi google-chrome-stable_current_amd64.deb

shell extensions

bash$
sudo apt install gnome-tweak-tool
sudo apt install gnome-shell-extensions
sudo apt install chrome-gnome-shell 

https://extensions.gnome.org/

chromeで上記URL(extentions)開いて、
好きな拡張をonにする。

  • Extensions
  • Dash to Panel
  • Switcher

vscode install

chromeで公式ページからダウンロードしインストール
Sync Setting拡張入れて同期したりすると便利。

dnsmasq install

いれたら53ポート使用済みって言われた。lsof -i:53 をみたらsystemd-resolveと競合してた。
/etc/hosts 読み取って名前解決してくれるのでdnsmasq不要だった。

virtualbox とvagrant 仮想化設定

virtualbox と vagrant install

ブラウザ開いて公式からdebおとして順番に入れる。

vagrant plugin install

bash$
vagrant plugin install vagrant-vbguest 
vagrant plugin install vagrant-hostmanager
sudo vi /etc/sudoers.d/vagrant_hostmanager
/etc/sudoers.d/vagrant_hostmanager
Cmnd_Alias VAGRANT_HOSTMANAGER_UPDATE = /bin/cp <home-directory>/.vagrant.d/tmp/hosts.local /etc/hosts
%<admin-group> ALL=(root) NOPASSWD: VAGRANT_HOSTMANAGER_UPDATE                                                    

vagrant

あとは孫のVMを作ったり壊したりを、ubuntuの端末上のコマンド(vagrantfile編集)だけでできます。

bash$
## 作業ディレクトリ作成
mkdir cent7_test 
cd cent7_test

## box指定して初期化、
vagrant init centos/7

## 必要に応じて設定編集
vi vagrantfile

## 起動
vagrant up

## リロード
vagrant reload

## 終了
vagrant halt

設定ファイル

各VMで使うドットファイルやビルドスクリプトをGitで管理する。
(tmux・zsh・vimなどの設定をいろんな記事とか参考にしつつ育てます。)
繰り返す環境構築はansibleで極力自動化。

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away