昨年度に引き続き,担当科目ではVirtualBoxでゲストOSにDebianを使用して,GUIによるLinuxの活用を行っています.
今回,8月に公開されたDebian 11.0 (bullseye)のISOファイルをベースに,ゲストOSのためのファイル(仮想アプライアンス)を効率良く作成することができました.
作成に際しては,「単に動作する」だけでなく,
- CやRubyなど,いくつかのプログラミング言語によるソケット通信プログラム(クライアント・サーバ)が動くこと
- Apache 2.4のビルドができること
- 仮想アプライアンスのファイルサイズは極力小さくすること
- LibreOfficeは使用しないこと
- スクリーンセーバーをオフにしておくこと
といったことも考慮しています.
それでは手順です.なおVirtualBoxはインストール済みとします.
(ホストOSの)ブラウザでhttps://www.debian.org/CD/http-ftp/#mirrorsにアクセスし,日本のよさそうなところのHTTPを選んでクリックし,http://日本のホスト名/debian-cd/11.0.0-live/i386/iso-hybrid/に移動してdebian-live-11.0.0-i386-lxde.isoをダウンロードします(約2.3GB).
これを使用して,VirtualBoxでゲストOSを起動します.ゲストOS作成の際,ストレージのサイズは20.00GBにしておきます.デスクトップ画面になったら,インストールします.ユーザ名とパスワードは適当に設定します.rootのパスワードは要求されません.
Debianのインストールが終わり,再起動して,GUIのログイン画面が出たら,いったんシャットダウンして,Oracle VM VirtualBox マネージャーの[ファイル]>[仮想アプライアンスのエクスポート]で,現時点での仮想アプライアンスのファイルを作成します.
次に,授業で使用するよう,コマンド実行などをしていきます.
ゲストOSを起動して,設定したユーザ名とパスワードでログインします.
デスクトップ画面になったら,まず,スクリーンセーバーをオフにします.[左下]>[設定]>[スクリーンセーバー]で出てくる画面で,モードを「Disable Screen Saver」に変更します.
次に,rootのパスワードを設定しておきましょう(rootによるGUIログインができるようになります).[左下]>[システムツール]>[LXTerminal]で端末を起動し,sudo -i
を実行すると,ユーザのパスワードが要求されます.正しく打ち込んで,rootのプロンプトになったら,passwd
を実行し,rootのパスワードを2回打ち込みます.
rootになったままの端末で,パッケージを削除したりインストールしたりしていきます.以下には不要な引数もありますが,分かりやすさのため,実際に実行した順に書いています.
apt remove --purge libreoffice\*
vi /etc/apt/sources.list
を実行し,「deb.debian.org」を「ftp.jp.debian.org」に書き換えてから保存して終了apt update
apt upgrade
apt install vim lv
apt install wget curl rsync
apt install ruby
apt install build-essential automake autoconf
apt install libncurses5-dev libaio1 libaio-dev libexpat1-dev libpcre3 libpcre3-dev libssl-dev
最後のコマンドは,Apache 2.4のソースからのビルドに必要となります.
以下のコマンドで,ゲストOSのサイズ削減を行います.
apt autoremove
apt clean
apt autoclean
dd if=/dev/zero of=./zero bs=4k; rm -f ./zero
最後のddコマンドは,【実践】VMwareの仮想ディスクを縮小する | りんか ネットに書かれていました.これを行うことで,仮想アプライアンスのファイルサイズを,3.6GBから2.3GBにまで減らすことができました.
ともあれこれで,ゲストOS上での作業は終了です.端末を閉じて,シャットダウンし,VirtualBox マネージャーから仮想アプライアンスのエクスポートを行います.作成したovaファイルを,他のPCのVirtualBoxでインポートして,GUIでログインを行い,端末やFirefoxが起動すれば,動作確認もOKです.