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と同じ手順