対象としている人
VisualStadio CodeのRemote-Containerを使いたいけど、Windows10 Homeな人。
(どんだけニッチなんだよ)
経緯
Remote-Containerを使おうと思ったらDockerToolboxは対応していなかったし、
かといって、ProにしてもVirtualBoxが使えなくなるらしいので、じゃあ、もう開発用の環境作ろうかなと。
前提
- VirtualBoxが入っている
- Vagrantが入っている
- OSがWindows10である
前回までの記事
Vagrant Box化
Lubuntuに限らず、開発環境はポコポコと量産できるのが良いなと思うのでVagrantで簡単に作れるようにします。
CentOSなどサーバはやったことあるけど、Desktopは初めてなのでメモも兼ねて。
VirtualBox Guest Addition
-
以下のコマンドを実行
※タブ補完が効かない(拡張子が.runだから?)のでlsコマンドで確認してからコピペするのが吉
$ sudo sh ./VBoxLinuxAdditions.run
- 正常に終わったら一応再起動して、イメージのスナップショットを撮る
困った:インストール後画面が黒くなった件
マウスカーソルだけはLubuntuっぽくなるものの、画面が真っ黒に。
慌てず、表示>仮想スクリーン1を選択し、一番小さいサイズを選択してみると表示される(かも)
でも、解像度が圧倒的に低いので、表示されてからいい感じのを選択すると良いと思う。
不要なソフトを削除する
正直ゲームとかOfficeソフトとか要らんので削除する。
Terminalを使って
いらなそうなパッケージを検索する手順
-
sudo dpkg -l
でパッケージ一覧を出す -
/xxxxx
でパッケージ名を検索
実際やったこと
$ sudo apt-get purge \
libreoffice-* \
2048-qt \
bluez bluedevil bluez-* \
skanlite \
vlc \
quassel quassel-data \
gstreamer* \
fonts-lohit*
$ sudo apt autoremove
GUIで選びながら
結果
$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 960M 0 960M 0% /dev
tmpfs 200M 992K 199M 1% /run
/dev/sda1 9.8G 4.2G 5.1G 46% /
tmpfs 996M 6.5M 990M 1% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 996M 0 996M 0% /sys/fs/cgroup
tmpfs 200M 8.0K 200M 1% /run/user/1000
数GBは削除でき。。たかな。
Box化
公式の手順を参考に
Creating a Base Box
[VirtualBox Base Boxes] (https://www.vagrantup.com/docs/virtualbox/boxes.html)
あと先人の知恵を拝借し
Vagrant box 作成手順(CentOS 7.4)
SSHインストールと設定
sshdインストール
$ sudo apt-get install -y ssh
$ sudo systemctl start ssh
$ sudo systemctl enable ssh
SSH鍵設定
$ sudo apt-get install -y curl
$ mkdir -p /home/vagrant/.ssh
$ chmod 700 /home/vagrant/.ssh
$ curl -k -L -o authorized_keys https://raw.githubusercontent.com/hashicorp/vagrant/master/keys/vagrant.pub
$ chmod 600 authorized_keys
$ chown -R vagrant:sudo /home/vagrant/.ssh/
sshの設定を変更
sudo vi /etc/ssh/ssh_config
# 以下を追加
UseDNS no
sudo systemctl restart sshd
SUDO設定
$ sudo -s
# visudo
viじゃなくてnanoで立ち上がるので注意。。。
# 以下を追加
vagrant ALL=(ALL) NOPASSWD: ALL
パッケージの最新化
# apt-get update
# apt-get upgrade
# apt-get clean
boxサイズを小さくするおまじない
0埋めファイルを作成して、削除するとboxサイズが小さくなるらしい。
$ dd if=/dev/zero of=/EMPTY bs=1M
$ rm -f /EMPTY
ここまで終わったらシャットダウン
$ shutdown -h now
いよいよBox化
Boxの作成と追加
powershellで(別にコマンドプロンプトでもOK)
> mkdir lubuntu
> cd lubuntu
# --base:作成対象の仮想マシン名(VirualBoxのリストに書いてあるやつ)、
# --output:出力 box ファイル名
> vagrant package --base lubuntu --output lubuntu-19.04-x86_64.box
# boxを追加
> vagrant box add --name lubuntu-19.04-x86_64 .\lubuntu-19.04-x86_64.box
確認してみる
Vagrantfileが作成されるので、別のディレクトリを作成するといいかも
> vagrant box list
lubuntu-19.04-x86_64 (virtualbox, 0)
# Vagrantfileを作成
> vagrant init lubuntu-19.04-x86_64
# 起動
> vagrant up
# sshで入る
> vagrant ssh
確認できたら削除
> vagrant destroy