eduvm setup - chibutsu-utokyo/chibutsu-utokyo.github.io GitHub Wiki

eduvm作成メモ

配布用の仮想マシンイメージ(eduvm)の作成メモです.

OSインストール

Lubuntu-20.04.2をクリーンインストールする.
デフォルトユーザーは以下の通り.

Full Name: Hanako Chikyu
user: chikyu
pass: てきとうに

インストール後にとりあえずアップデートしておく.

$ sudo apt update
$ sudo apt upgrade

開発環境インストール

$ sudo apt install name-of-package

で適宜インストールすればよい.2021年版は

$ sudo apt install \
    fcitx-mozc build-essential g++ gfortran gnuplot \
    liblapack3 liblapacke libpalack-dev liblapacke-dev \
    tmux emacs vim zsh

あたり.

Atomインストール

以下をコピペして実行.

wget -qO - https://packagecloud.io/AtomEditor/atom/gpgkey | sudo apt-key add -
sudo sh -c 'echo "deb [arch=amd64] https://packagecloud.io/AtomEditor/atom/any/ any main" > /etc/apt/sources.list.d/atom.list'
sudo apt update
sudo apt install atom

VSCodeインストール

以下をコピペして実行.

curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
sudo install -o root -g root -m 644 microsoft.gpg /etc/apt/trusted.gpg.d/
sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list'
sudo apt install apt-transport-https
sudo apt update
sudo apt install code

Python (Anaconda)

最新版のAnaconda(64bit版)をインストール

$ sh Anaconda3-2020.11-Linux-x86_64.sh

/usr/local/anaconda3 にインストール.シェルの設定は /etc/skel/.bashrc に以下を追加

export PATH=/usr/local/anaconda3/bin:${PATH}

PYTHONHOMEとかの指定はたぶん必要ない.

Virtualbox Guest Additions

メニューの「デバイス」→「Guest Additions CDイメージの挿入」とする.
ゲストOSに依存するが/mntとか/media/chikyu/???とかにCDがマウントされた状態になるので

$ sudo sh /mnt/VBoxLinuxAdditions.run

などとすればOK.別途カーネルヘッダのインストールをしたかもしれません.

共有フォルダへのアクセス権限追加

$ sudo gpasswd -a chikyu vboxsf

しておく.

配布用イメージ作成

配布用イメージ作成時に/home/chikyuの下のファイルを削除するので,必ず共有フォルダは無効にしておくこと!!!

rootログインの設定

イメージのディスク容量削減のため不要なものを削除したりする.
rootでログインして実行するために

$ sudo passwd root

でrootのパスワードを入力してrootログインを有効にする.

chikyuユーザー環境のリセット

メニューの「入力」→「キーボード」→「Soft Keyboard」でCtrl-Alt-F1(F2とかの場合もあり)を入力し,コンソールからrootでログインする. 以下をスクリプトとして保存して実行すればよい.

#!/bin/bash -x

export LANG=C
export LC_ALL=C

# remove unused packages and cache
apt autoremove
apt autoclean

# remove chikyu's home directory (except for shared folder)
HOMEDIR=/home/chikyu
find ${HOMEDIR} -user chikyu -type f -exec rm {} \;
find ${HOMEDIR} -maxdepth 1 ! -path ${HOMEDIR} -user chikyu -type d -exec rm -fr {} \;

# copy default files
sudo -u chikyu cp /etc/skel/.* /home/chikyu

# compress disk image
dd if=/dev/zero of=zero bs=4k; \rm zero

# disable root
passwd -d root
passwd -l root

# make user account expired
#passwd -d chikyu
#passwd -e chikyu

# shutdown
shutdown -h now

ディスク圧縮

以下はホストマシンで

$ VBoxManage modifyhd eduvm2021.vdi --compact

zip作成

仮想マシンが格納されたディレクトリをzipにする.

$ 7z a -tzip 配布用ファイル名.zip 仮想マシンディレクトリ

VMware版

vdiファイルをvmdkファイルに変換

 $ VBoxManage clonemedium --format VMDK edu2021.vdi edu2021.vmdk

のように実行.

仮想マシン登録

空の仮想マシンを登録.HDDを削除して,新規追加するときに上で作ったvmdkファイルを指定すればよい.

設定

VirtualBox用のソフトを削除してVMware用をインストール

$ sudo /opt/VBoxGuestAdditions-6.1.1.8/uninstall.sh
$ sudo apt install open-vm-tools open-vm-tools-desktop

chikyuユーザー環境リセット

VirtualBoxと同じ手順

圧縮

GUIの仮想マシン設定でHDDを圧縮する.

zip作成

VirtualBoxと同じ手順