手持ちのパソコンに大学のOSLと同じUNIX環境を作る
最近MacBook Proを買いまして,大学のOSLのパソコンに入っているUNIX環境と同じものをMBPにも構築することにしました. 演習授業などですでにOSLのUNIX環境を使っている人は,これがあるとOSLの開放時間外でも自由に使えるので便利だと思います. 参考までに,プロセスを記しておきます.Macでの作業方法ですが,Windowsでもあまり大きな差はありませんので適宜読み替えてください.
なお,言うまでもありませんが京都大学の学生向けの記事です.
用語
- ホスト側:VirtualBoxを動かす側のOS.ここではmacOS.
- ゲスト側:VirtualBox上で動かす側のOS.ここではVine Linux.
手順
必要なもののダウンロード
- http://virtualbox.org/ から,インストーラと拡張パッケージをダウンロードする.
- VirtualBox-5.1.10-112026-OSX.dmg(以下,「VBoxインストーラ」)
- Oracle_VM_VirtualBox_Extension_Pack-5.1.10-112026.vbox-extpack(以下,「VBox拡張パッケージ」)
- http://vinelinux.org/ から,ディスクイメージをダウンロードする.
- Vine63-DVD-x86_64.iso(以下,「ディスクイメージ」)
- Vine63-DVD-x86_64.iso(以下,「ディスクイメージ」)
VirtualBoxのインストール
- VBoxインストーラを開く.
- パッケージのアイコンをダブルクリックする.インストーラが起動する.
- 画面に従ってインストールを進める.
- インストールが完了したら閉じる.インストーラは捨てて構わないが,アンインストールする際は再び必要になる.
拡張パッケージのインストール
- VirtualBoxを開く.
- ダウンロードしたVBox拡張パッケージを開く.
- 「インストール」をクリックする.ライセンスを読んだら「同意する」を押す.
- インストールされた.
拡張パッケージをインストールしないと,VBox本体はUSB1.1コントローラーしか持っていないので,手持ちのUSBメディアが使えないということが起こりうる.
仮想マシンの作成
- 「新規」をクリックする.ウィザードが起動する.
- マシンの名前は何でもよいが,「Vine Linux」と入れると自動でタイプとバージョンを判断してくれる.
- メモリのサイズは最低1GBを要求されるが,多いに越したことはない.2GBや4GBなど,マシンのメモリに合わせて決める.
- 「仮想ハードディスクを作成する」を選んだ状態で「作成」をクリックする.
- ファイルタイプはVDIのままでよい.
- 「可変サイズ」は,初めは最小サイズで,指定したサイズを上限として仮想マシンの内容に応じて容量が増える.「固定サイズ」は,初めから指定したサイズだけ容量を確保する.これも好みで選べばよい.
- ディスクのサイズもマシンのHDD容量に合わせて好みで設定すればよいが,仮想マシン上で広く作業領域が欲しい場合が多いだろうから,20GB以上を目安に設定する方がよい.
- 仮想マシンが作成された.
Vine Linux のインストール
- 作成した「Vine Linux」を選んで「設定」をクリックする.
- 「ストレージ」のタブで,IDEコントローラーの欄を表示する.
- 「IDE セカンダリマスター」の横にあるディスクのボタンをクリックし,「仮想光学ディスクファイルを選択」で先ほどダウンロードしたディスクイメージを選ぶ.
- 「Live CD/DVD」にチェックを入れて「OK」をクリックする.
- 「Vine Linux」を選んで「起動」をクリックする.
- 仮想マシンが起動し,ブートメニューが出る.「Install Vine Linux 6 -- default」を選んだままEnterを押す.
- しばらくするとインストール画面が出てくる.「次へ」を押す.
- 「日本語(日本語)」を選んで「次へ」.
- 「日本語」を選んで「次へ」.
- インストールの種類は「すべて」か「デスクトップ」のどちらかを選ぶ.「デスクトップ」を選ぶと,あとでいくつか手動でインストールしなくてはならないソフトが出てくる可能性がある.「次へ」.
- 「自動パーティション設定」のまま「次へ」.「警告」が出るが,いまインストールしようとしているディスクには何のデータもないので安心して「はい」を押す.
- 「システムのすべてのLinuxパーティションを削除」を選んだまま「次へ」.ここでも「警告」が出るが安心して「はい」を押す.
- ブートローダの設定はいじらなくてよい.「次へ」.
- ネットワークデバイスの設定もこのままでよい.「次へ」.
- ファイアウォール設定もこのままでよいが,あとでホストからゲストへSSHで接続したいような場合は「リモートログイン (SSH)」にチェックをつけておいてもよい,「次へ」.
- 「Japanese」を選んだまま「次へ」.
- タイムゾーン設定はそのままでよい.「次へ」.
- rootパスワードを入力する.ここで入力したパスワードは,仮想マシンに重要な変更を加える場合に必要になるので覚えておくこと.次に,ユーザ名とパスワードを入力する.フルネームはあってもなくてもよい.「次へ」.
- 「デフォルトのソフトウェアをインストール」のまま「次へ」.
- 「次へ」を押すとインストールが始まる.
- インストールにはSSD環境でも5分ほどかかる.HDD環境ならもっとかかる.
- インストールが完了したら,右下のディスクアイコンを右クリックして「仮想ドライブからディスクを除去」を押す.ディスクが取り出されたことを確認してから「再起動」を押す.
- 再起動すると,ブートメニューが表示される,そのまま5秒待つとVine Linuxが起動し始める.
- OSLではターミナル画面だが,デフォルトではスプラッシュ画面になる.ESCキーで入れ替えることができる.
- 自分のアカウントを選び,パスワードを入力してログインする.
Guest Addition のインストール
Guest Addition を導入することで.ホスト側とゲスト側のマウスポインタが重ならなくなったり,ホスト側でウィンドウサイズを変えると自動でゲスト側のウィンドウサイズも変わるようになるなど,いろいろな連携がよくなる.
- メニューバーから「デバイス」タブ内の「Guest Addition CD イメージの挿入」をクリックする.
- 「”オートランの問い合わせ”を開く」のまま「OK」を押す.
- 「実行する」を押す.
- 先ほど設定したrootパスワードを入力する.
- インストールが終わったらEnterキーを押すと端末が閉じる.デスクトップのCDアイコンを右クリックし,「取り出す」を押すと自動で仮想ドライブからディスクが取り出される.
USBコントローラーの設定
VirtualBox本体はUSB1.1コントローラーしか持たないが,拡張パッケージを導入したことでUSB3.0も利用できるようになっている.USB3.0対応のポートがある場合は,この設定をしておくと通信速度が速くなる.
- Vine Linux を起動している場合はいったんシャットダウンする.
- 「Vine Linux」を選んで「設定」を開く.
- 「ポート」メニューの「USB」タブを開く.
- 利用するUSBコントローラーを選ぶ.
- 「OK」を押す.
共有フォルダの作成
ホスト側とゲスト側でデータをやりとりできるフォルダがあると便利なので,作成しておく.
- Vine Linux を起動している場合はいったんシャットダウンする.
- 「Vine Linux」を選んで「設定」を開く.
- 「共有フォルダー」メニューを開く.
- 右側に並んでいるフォルダのアイコンの一番上をクリックする.
- 共有フォルダにするディレクトリを選ぶ.「自動マウント」にチェックを入れると,ゲストの起動時にVirtualBoxが自動で共有フォルダをマウントしてくれる.その際,ディレクトリ名は「フォルダー名」に入っている名前が使われる.「OK」を押す.
- Vine Linux を起動する.起動したら,端末を起動する.共有フォルダは
/media/sf_*****/
にマウントされているが,今の状態ではアクセスできないはず. sudo gpasswd -a ユーザー名 vboxsf
と入力し,Enter.パスワードを聞かれるので入力する.- いったんログオフし,もう一度ログインする.再起動でもよい.
- 端末を起動する.今度は
/media/sf_*****/
にアクセスできるはず. ln -s /media/sf_***** ~/*****
など,ホームディレクトリに適当にシンボリックリンクでも張っておくと楽になるだろう.
その他,覚え書き
パスワードがわからなくなったら
- Vine Linux を起動する.ブートメニューが表示されたら,
e
を入力する.2行目に移動し,e
を入力して編集できる状態になったら,コマンドの末尾に1
を付け足す.Enterを押して編集を保存し,その状態でb
を押すと起動する. - rootでログインした状態になっている.
passwd
でrootパスワードを,passwd ***
で***というユーザーのパスワードを変更できる. - 変更し終わったら
reboot
を実行して再起動する.
ディスクの容量が足りなくなったら
この項目にある内容を実行する場合は,必ず事前にバックアップを作成しておくこと.失敗してデータを破損しても責任は負わない.
まず,ホスト側で作業する.
- VirtualBoxのあるディレクトリにパスが通っているか確認する.通っていない場合は,以下の
VBoxManage
をフルパスで入力し実行すること. - Vine Linuxの仮想ハードディスクのあるディレクトリに移動する.デフォルトでは
~/VirtualBox VMs/Vine Linux
. - 仮想ハードディスクを「固定サイズ」で作成した場合は,「可変サイズ」に変換する.
VBoxManage clonehd --format VDI Vine¥ Linux.vdi Vine¥ Linux-1.vdi
- 仮想ハードディスクのサイズを拡張する.サイズの指定はMB単位である.例えば30GBの場合は30720MB.
VBoxManage modifyhd Vine¥ Linux.vdi --resize 30720
次に,ゲスト側で作業するが,Vine Linuxを起動するのではなく,パーティション編集ツールGPartedのLive CDを使う.http://gparted.org/ からgparted-live-0.27.0-1-i686.isoをダウンロードする.
- 「Vine Linux」の「設定」を開く.
- 「ストレージ」メニューの「IDE コントローラー」で,ダウンロードしたISOを光学ドライブにセットする.
- 「OK」を押して設定を閉じ,起動する.
- 「GParted Live (Default Settings)」のままEnterを押す.
- キーボードマッピングに関する質問をされるが,「Don't touch keymap」のままEnterを押す.
- 言語を聞かれるので,「15」(日本語)を入力してEnter.
- 他にも設定をするか聞かれるが,そのままEnterを押す.GPartedが起動する.
/dev/sda2
が現在使っている領域で,「未割り当て」が拡張した部分./dev/sda2
を選んで右クリックし,「リサイズ/移動」を選択.
- スライダーを右側いっぱいまで引っ張るか,「新しいサイズ」の欄を「後ろの空き領域」がなくなるまで引き上げる.
- 「Apply」を押す.警告されるが,そのまま「Apply」を押す.
- 完了したらポップアップを閉じ,メニューバーから「GParted」>「Quit」で終了する.デスクトップの「Exit」をダブルクリックすると,少ししてからシャットダウンメニューが開くので,「Reboot」を選んで終了.ディスクを取り出すよう指示されるので取り出した後,Enterを押すと再起動する.
- Vine Linux でログインする.
- 端末を開く.以降の作業はすべてスーパーユーザーで行うので,
su
でrootとしてログインする. - まず,
pvdisplay
で物理ボリュームを表示し,容量が増えていることを確認する. lvdisplay
で論理ボリュームを表示する.まだ容量が増えていない.lvextend -l+100%FREE /dev/mapper/VolGroup00-LogVol00
を実行する.lvdisplay
で論理ボリュームを表示し,容量が増えたことを確認する.df -h
でファイルシステムを表示する.まだ容量が増えていない.resize2fs /dev/mapper/VolGroup00-LogVol00
を実行する.df -h
でファイルシステムを表示し,容量が増えたことを確認する.
[k-ashiya@localhost ~]$ su パスワード: [root@localhost k-ashiya]# pvdisplay --- Physical volume --- PV Name /dev/sda2 VG Name VolGroup00 PV Size 19.80 GiB / not usable 19.05 MiB Allocatable yes PE Size 32.00 MiB Total PE 633 Free PE 161 Allocated PE 472 PV UUID uj0m0Y-2cEE-7BJg-Q72J-OHNB-RTFt-IKELLg [root@localhost k-ashiya]# lvdisplay --- Logical volume --- LV Name /dev/VolGroup00/LogVol00 VG Name VolGroup00 LV UUID YGnvbR-RIYn-40pc-Vq3O-hWTK-hbnz-BpovsW LV Write Access read/write LV Status available # open 1 LV Size 8.88 GiB Current LE 284 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:0 --- Logical volume --- LV Name /dev/VolGroup00/LogVol01 VG Name VolGroup00 LV UUID pXs62W-zW82-bfo1-LvFu-8beQ-zsLc-CIreeo LV Write Access read/write LV Status available # open 3 LV Size 5.88 GiB Current LE 188 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:1 [root@localhost k-ashiya]# lvextend -l+100%FREE /dev/mapper/VolGroup00-LogVol00 Extending logical volume LogVol00 to 13.91 GiB Logical volume LogVol00 successfully resized [root@localhost k-ashiya]# lvdisplay --- Logical volume --- LV Name /dev/VolGroup00/LogVol00 VG Name VolGroup00 LV UUID YGnvbR-RIYn-40pc-Vq3O-hWTK-hbnz-BpovsW LV Write Access read/write LV Status available # open 1 LV Size 13.91 GiB Current LE 445 Segments 2 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:0 --- Logical volume --- LV Name /dev/VolGroup00/LogVol01 VG Name VolGroup00 LV UUID pXs62W-zW82-bfo1-LvFu-8beQ-zsLc-CIreeo LV Write Access read/write LV Status available # open 3 LV Size 5.88 GiB Current LE 188 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:1 [root@localhost k-ashiya]# df -h ファイルシステム サイズ 使用 残り 使用% マウント位置 rootfs 8.8G 5.2G 3.2G 62% / /dev/root 8.8G 5.2G 3.2G 62% / /dev 2.0G 540K 2.0G 1% /dev /dev/sda1 201M 29M 162M 15% /boot none 2.0G 76K 2.0G 1% /dev/shm [root@localhost k-ashiya]# resize2fs /dev/mapper/VolGroup00-LogVol00 resize2fs 1.41.14 (22-Dec-2010) Filesystem at /dev/mapper/VolGroup00-LogVol00 is mounted on /; on-line resizing required old desc_blocks = 1, new_desc_blocks = 1 Performing an on-line resize of /dev/mapper/VolGroup00-LogVol00 to 3645440 (4k) blocks. The filesystem on /dev/mapper/VolGroup00-LogVol00 is now 3645440 blocks long. [root@localhost k-ashiya]# df -h ファイルシステム サイズ 使用 残り 使用% マウント位置 rootfs 14G 5.2G 8.0G 40% / /dev/root 14G 5.2G 8.0G 40% / /dev 2.0G 540K 2.0G 1% /dev /dev/sda1 201M 29M 162M 15% /boot none 2.0G 76K 2.0G 1% /dev/shm [root@localhost k-ashiya]#