VirtualBoxにCentOS6.5環境の構築
ライブラリの依存関係を調査中。目的のプログラムを最小構成で動かしたいというありがちな要件。
問題はライブラリがほかの依存ライブラリを参照していて、どこまでが必要な機能なのかというお話。
というわけで、常にクリーンな環境からインストールを進めていって、同じ現象を再現したい。
アンインストールしても残っていたりとか(自作パッケージのmakeとかspecの記述不足が原因かな?)
じゃあクリーンな環境を作っておいて、いつでも参照できるようにしとこうというのが今回のアイデア。
どこかで仮想環境作るときにも役立つだろうということで。
まずは環境。
ホスト環境:Windws8.1
ゲスト環境:centos6.5
仮想化:VirtualBox4.2.8
1, インストール
VirtualBoxを起動し、「新規」ボタンを押す。
「仮想マシンの作成」ダイアログが起動するので、自分が識別しやすい名前を入力。今回はCelanLinuxとでもしておく。
タイプはLinuxで。
バージョンは適当に設定。RedHatで。
次はRAM領域の設定。1GByteあればクリーンな実験環境としては十分でしょう。
あとで変更可能のはず。
仮想ハードドライブの作成。
「仮想ハードドライブを作成する」を選択。
「仮想ハードタイプ」そのまま。OK。
「可変サイズor固定サイズ」固定サイズで。
32Gくらいあれば十分かと。
新しい仮想ハードドライブファイルの場所
「D:\VirtualBoxData」に適当なファイル名で。
自分はこの位置に仮想ハードドライブとかおくことに決めてる。
最初に設定した名前CleanLinuxとかファイル名がセットされてるので、そのままOKおしとく。
仮想ハードドライブの作成が始まるので、ニコニコ動画でもみて和んでおく。
疲れたときは鉄道とか車載動画タグをたどっていって旅行気分にひたるのがマイブーム。
さて、設定終わったら、VirtualBoxの左にある仮想マシンリストから先ほど作成した仮想マシンを選択。
フォーカスあてたら、画面上にある「設定」ボタンを押す。
設定画面が開く。もしおかしな設定があったらここで警告出してくれる。
物理RAM以上のRAM領域を割り当てようとしました とか。
さて、最低限設定しておくと幸せそうなもの。
「ネットワーク」を開いて、アダプタが4つほど並んでいる中から「アダプター2」を選択。
「ネットワークアダプタを有効化」して「割り当てタイプ」を「ホストオンリーアダプタ」に設定。
設定ダイアログをすべて閉じて、VirtualBoxのメインウインドウから「起動」を選択。
仮想マシンが起動し、イメージファイルをセットしてくださいと促されるので、ダウンロードしておいたCentOS6.5のISOファイルを指定する。
GUIメニューが起動してインストールが始まるので適当に選択していく。
途中、インストール内容の選択が出るので、minimalを選択しておく。
2, ユーザーの追加
開発用とはいえど、rootで色々やるのはよろしくないのでユーザー作っておく。
ここまでで作ったlinux環境にログイン後、ユーザーを作る。
# useradd Catalina
2-1, 作成したユーザーにパスワードを設定する
# passwd Catalina
Newpassword : xxxxxxxx
passwd : all authentication tokens update successfully.
これでOK.
試しにsuして確認しておく。
/home/にユーザーディレクトリもできているはず。
2-2, 作成したユーザーにsudo 権限を与える
sudoできるようにしておかないと、開発ではなにかと不便。yumとか。
sudoできるように設定するにはrootにsuしてから「visudo」コマンドを使う。
このコマンドなら、sudoersを間違えて編集したときでも警告を出してくれる。
編集する行はこのあたり。
root ALL=(ALL) ALL
sudoしたいユーザーを追加しておく。
Catalina ALL=(ALL) ALL
念のため構文の意味。
「Catalina は」「 すべてのホストから」「すべてのユーザーにsuでき」「すべてのコマンドを実行できる。」
変更後すぐに有効になってるはずなので、元のユーザーに戻ってsudo試してみましょう。
3, ネットワークの基本設定
初期状態ではNICの設定などが色々足りない。
とりあえずNICをUPする。
/sbin/ifconfig eth0 up
/sbin/ifconfig
eth0 :Link encap(略)
inet addr : 10.0.2.15
(略)
有効になってアドレス割り当てられた様子。
毎回これやるのは大変なのでNICが自動でUPするように設定する。
vi /etc/sysconfig/network-scripts/ifcfg-eth0
ONBOOT=no -> ONBOOT=yes
に書き換える
追加設定:dhcp
「ファイル」
4, ネットワークデーモンの設定
開発しやすいように、次のものを設定しておく
とりあえずこれだけあればログインしてファイル編集とか最低限のことはできるようになる。
(ゲストOSとホストOSのファイルのやりとりはVirtualBoxの共有機能かSambaを使えばOK)
4-1, sshの設定
# /etc/rc.d/init.d/sshd start
Starting sshd : [ OK ]
起動した。
しかしこのままではlinux起動後に毎回上記コマンドをうたなけなければいけない。
面倒なので自動起動するように設定しておく。
#chkconfig sshd on
#chkconfig --list sshd
0:off 1:off 2:on 3:on 4:on 5:on 6:off
2~6がonになってればOK。
4,2, VirtualBox側の設定
アダプタ1を選択し「割り当てタイプ」が「NAT」になっていることを確認し、「ポートフォワーディング」を選択。
ダイアログ右端あたりにある追加ボタンを押して、次の項目を追加する
とりあえずこんだけ。
TeraTermなりPuttyなりを立ち上げて、接続を確認する。
接続設定は次のとおり
SSHでVirtualBoxに接続できればOK。
sudoの設定も終わってるのであとはやりたい放題。