環境
Debian: ゲストOSのインストール VirtualBox上に、次の設定でDebianをインストールします。Vagrantでbox化するため、ユーザ設定はVagrantの物にしておきます
rootのパスワード: vagrant
初期ユーザ: vagrant
初期ユーザのパスワード: vagrant
インストールするパッケージ: SSHサーバ, 開発パッケージ のみチェックを入れる
ここで「デスクトップ環境」からKDEを選択する事もできますが、何度かやり直してもエラー終了してしまうため、ここでは選択しませんでした。後ほど手動でKDEを入れます(おそらく、libxcb-cursor関係のエラー)
Debian: 日本語環境とタイムゾーンの設定 先にこのへん済ませておきます
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 // 必要なものインストール # apt update # apt install -y sudo vim git curl wget openssh-server locales chrony fonts-noto-cjk ibus-mozc // 日本語設定 # locale-gen ja_JP.UTF-8 # localedef -f UTF-8 -i ja_JP ja_JP # update-locale LANG=ja_JP.UTF-8 # update-locale LANGUAGE="ja_JP:ja" // タイムゾーン設定 # timedatectl set-timezone Asia/Tokyo // 時刻同期設定 # tee -a /etc/chrony/chrony.conf << EOF server ntp0.jst.mfeed.ad.jp server ntp1.jst.mfeed.ad.jp server ntp2.jst.mfeed.ad.jp EOF # systemctl enable chrony
Debian: デスクトップ環境のインストール DebianにPlasmaをインストールします。ネットワーク環境によってはとても時間がかかります。
1 2 3 4 5 // 必要なライブラリ # apt install -y libxcb-cursor-dev // Plasmaインストール # apt install -y xorg task-kde-desktop firefox-esr
Debian: 再起動 再起動して、Plasmaデスクトップ環境が起動するか確認します。
Debian: box化に必要な作業 Vagrantのbox化をするにあたり、必要な作業をします
1 2 3 4 5 6 // vagrantユーザをsudoersに登録 $ su - # vim /etc/sudoers // よき所に追記 vagrant ALL=(ALL) NOPASSWD:ALL
ターミナルを閉じる等でsudoersを反映させたら、以下をvagrantユーザで実施します
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 // 公開鍵を入手&authorized_keysに登録 $ wget https://raw.githubusercontent.com/hashicorp/vagrant/master/keys/vagrant.pub $ cat vagrant.pub >> ~/.ssh/authorized_keys $ sudo chmod 600 ~/.ssh/authorized_keys $ rm vagrant.pub // テンポラリファイル削除 $ sudo rm -rf /var/log/* $ sudo rm -rf /tmp/* // aptキャッシュクリア # apt clean # apt autoclean // ゼロ埋め $ cd /var/tmp/ $ dd if=/dev/zero of=zero bs=4k $ rm zero // コマンド履歴の削除 $ su - # cat /dev/null > ~/.bash_history # exit $ cat /dev/null > ~/.bash_history
Vagrant: box化 VMをシャットダウンして、ホストOS側でvagrant package
します
1 2 3 4 5 6 $ mkdir [任意のPATH] $ cd [任意のPATH] $ vagrant init // [任意のPATH]に、package.boxファイルが出力されます $ vagrant package --base [VM名]
Vagrant: pluginインストール(vagrant-vbguest, vagrant-disksize) プラグインを2つインストールします
GuestAdditionsのインストールやアップデートを自動でやってくれるvagrant-vbguest
ゲストOSのディスクサイズをVagrantfileで変更できるようになるvagrant-disksize
1 2 $ vagrant plugin install vagrant-vbguest $ vagrant plugin install vagrant-disksize
Vagrant: Vagrantfile作成 CPUなどのスペック部分は使用しているPCと相談しつつ、VMの設定をVagrantfileに書いていきます
※注意書き 現時点(2018/09)でのVirtualBox(5.2.18)については、OpenGLを利用するアプリが正常に表示されない問題を抱えているため、3DアクセラレーションはOFFに設定しています
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 # -*- mode: ruby -*- # vi: set ft=ruby : Vagrant.configure(2) do |config| config.vm.box = "package.box" config.vm.define "[任意のVM名]" config.disksize.size = '200GB' # ディスク容量 config.vbguest.auto_update = true # GuestAdditionを自動Update config.vm.provider "virtualbox" do |vb| vb.cpus = 4 # コア数 vb.memory = 8192 # MB vb.gui = true vb.customize [ "modifyvm", :id, "--vram", "256", # VRAMは256MBを指定 "--clipboard", "bidirectional", "--accelerate3d", 'off', # 3DアクセラレーションはOFFにする "--hwvirtex", "on", "--nestedpaging", "on", "--largepages", "on", "--chipset", "ich9", "--ioapic", "on", "--pae", "off", # PAE/NXも不要 "--paravirtprovider", "kvm", ] # port forwarding # config.vm.network :forwarded_port, guest: 15900, host: 15900 # config.vm.network :forwarded_port, guest: 15901, host: 15901 end end
Vagrant: up vagrant upするとGUIが起ち上がり、vagrant-vbguest
プラグインによるGuestAdditionsのインストールが始まるので、インストールが終わったらvagrant reload
します
1 2 3 4 5 6 $ vagrant up (GuestAdditionsのインストールが始まる) // 終わったらreload $ vagrant reload
Plasma: レンダリングの設定を変える 前述 のOpenGLのバグでかなりもっさりしているので、Compositorのレンダリング設定をOpenGLからXRenderに変更します
[システム設定] → [ディスプレイとモニタ] → [Compositor] → 「レンダリングバックエンド」を XRender に変更