VirtualBox

2009年5月19日 (火)

VirtualBoxにFreeNASをインストール

VirtualBoxに
FreeNAS-i386-LiveCD-0.69.1.4554.iso
をインストールしてみた。
以下、そのときのメモ。

まずはまったのがvirtualboxのネットワークインタフェース。
PCnet-FASTⅢ(ホストインタフェース)ではうまくいかず、
Intel PRO/1000 MT Desktop(ホストインタフェース)にしてうまくいった。
もしかするとACPIを無効にする必要もあるかも。

あとは普通にインストール。(今回はhddを2つのパーティションを切り、OSとデータに分ける。)
適当にhddを作り、
FreeNAS-i386-LiveCD-0.69.1.4554.isoをcdマウントし起動。
Console setupが出たら9を選び、
続いて3の [Install 'full' OS on HDD + data partition] を選ぶ。
後は適当に。
Console setupに戻って、1のAssign Interfaceと2のSet LAN IP addressを設定。
cdをアンマウントしてreboot。
ここまででpingが通る状態となる。

で、webから設定。
ここでうかつに、WebGUIの4番目の項目、LanguageをJapaneseにしてしまうと
メニューを選択しても画面が真っ白になってしまうことあり、というかほぼ間違いなくなる。
Englishのまま使うほうがよさそう。
あやまってやっちゃった場合は、上から5番目がEnglishなので。
TimeZoneはAsia/Tokyo。

Disks|Managementで+ボタンを押し、ADDボタンを押す。
これでハードディスクを登録できた。
続いてマウント。Disks|Mount Point
+ボタンを押し、
Diskで使用ハードディスクを選び、
Partition typeでMBR partition(x GPT partition)を、UFSを選ぶから
Partition numberに2(1は今回osをいれてるから)を、
File systemにUFSを
Mount point nameに適当な名前をつける(今回はshareとする)。
ADDボタンを押す。
apply chagesを押す。

Services|CIFS/SMBで
Common Internet File SystemのEnableにチェックをいれ
Workgroupに適当なグループ名(Mshomeなど実際に使ってるWorkgroup名)を入れる。
Dos charsetにCP932、
Unix charsetにUTF-8として
Save and Restartを押す。

Services|CIFS/SMB|Shareで
addを押す。
Nameに適当な名前をつける(今回はshareとする)
Commentに説明を入れる(何か入れておかないと怒られる)
Pathで…ボタンを押し、
/mnt/share/を設定、OKを押す。
ADDボタンを押す。
apply chagesを押す。

ここまで設定すると、
マイ ネットワークの「ワークグループのコンピュータを表示する」で
FreeNASサーバが表示される。
クリックするとshareが出てくるので
あとは普通にネットワークドライブとして使用できる。

| | コメント (0) | トラックバック (0)

virtualbox2.2.2は使えない

virtualboxを久しぶり試そうとしたらアップデートがあるとのことだったので
何気なくダウンロードしインストール。
しかしネットワークの設定が変わってインターネットにアクセスできなくなった。

でもごちゃごちゃやってて、とりあえずそれは何とかなったけど、
virtualbox2.2.2についてwebで検索したら、
「ゲストOS側のネットワーク接続は出来ない」と。だめじゃん。

今まで作っておいたvdiは何も考えず変換したので、
今後virtualboxの最新版に問題がなくなるまで使えなくなりました。

とりあえず
http://www.virtualbox.org/wiki/Download_Old_Builds
からVirtualBox 2.1.4をダウンロードして使ってます。

| | コメント (0) | トラックバック (0)

2009年2月 7日 (土)

VirtualBoxでPuppyLinuxの解像度変更

今頃になって気づきました。
VirtualBoxではwindowサイズをマウス
(window右下を左クリックしたまま好きなサイズにする)
で変えるとそれに追従するんですね。

Xorgだと解像度が640x480にしかできないと勘違いしてました。

windowサイズを変えてから再起動する

か、

XorgウィザードでXorgを選択、
windowが真っ黒になったところで
enterキーを数回押す

と追従した解像度になります。

| | コメント (0) | トラックバック (0)

2008年12月28日 (日)

VirtualBox Guest Additions for PUP4

puppy-4.1.2-JP-betaでもGuest Additionをインストール
しようとするとあいかわらずX Windowドライバが見つからないとか
いわれて、クリップボードの共有などが使えないので、
できるようにならないか、web検索しました。

するとVirtualBox 1.6.6/2.0.6 Guest Additions for PUP4 というのがありました。
ここに
virtualbox_guest_additions-2.0.6.petと
virtualbox_guest_additions-1.6.6.petがおいてあります。

つまりVirtualBox 1.6.6または2.0.6で
ゲストOSにpuppyを入れて、上記petを実行すると
今までできなかったクリップボード共有やシームレスモードなどの
機能が使えるようになります!すごい!

しかも今までのようにカーネルソースやコンパイル環境も不要で導入可能!

でもまだシームレスは挙動が把握できてません。

上記petを導入するときに忘れてはいけないこと。

ホストキー(通常右Ctrlボタン)+Lボタン
でシームレスモードから切り替えができます。

これ知らないとわけがわからなくなります。

| | コメント (0) | トラックバック (0)

2008年9月19日 (金)

puppy linuxにtracインストール(その3)

続いて設定作業です。
端末(urxvtやxterm)で作業します。

svnディレクトリとリポジトリ作成、tracディレクトリ作成

mkdir -p /var/svn
svnadmin create /var/svn/pj1
svn mkdir -m "make trunk, tags, branches" file:///var/svn/pj1/trunk file:///var/svn/pj1/tags file:///var/svn/pj1/branches
mkdir -p /var/trac

trac.htdigestを/varにおく
#htdigest [-c] パスワードファイル レルム ユーザー名

/usr/local/apache2/bin/htdigest -c /var/trac.htdigest 'trac' admin

パスワードを2回入力。

tracプロジェクト作成

cd /var/trac
trac-admin pj1 initenv

問い合わせに答えていく。ほとんどはデフォルトでいいがリポジトリパスは/var/svn/pj1のように入力する必要あり。

tracプロジェクトにユーザのパーミッション追加

trac-admin pj1 permission add admin TRAC_ADMIN

tracdで確認
端末から

tracd --port 80 --auth *,/var/trac.htdigest,trac /var/trac/pj1

puppyのwebブラウザからhttp://localhost/にアクセス
tracプロジェクト一覧が表示されるはず。
この端末を閉じる(tracdを終了するため)。

apacheの設定
apacheのアカウントをとり、パーミッション設定

addgroup apache
adduser -G apache apache
(2回パスワード入力)
chown -R apache.apache /usr/local/apache2
chown -R apache.apache /var/svn
chown -R apache.apache /var/trac

※/homeがない場合はadduserでフォルダがないと言われるので作っておいたほうがいいかも(そのままでも動作しましたけど)。

http.conf編集(/usr/local/apache2/conf)

UserとGroupの記述を

User  apache
Group apache

に修正。

LoadModule python_module modules/mod_python.so
LoadModule auth_digest_module modules/mod_auth_digest.so

を追加。

<LocationMatch "/[^/]+/login">
   AuthType Digest
   AuthName "trac"
   AuthUserFile "/var/trac.htdigest"
   Require valid-user
</LocationMatch>
<Location /trac>
   SetHandler mod_python
   PythonDebug On
   PythonHandler trac.web.modpython_frontend
   PythonOption TracEnvParentDir /var/trac
   PythonOption TracUriRoot /trac
</Location>
PythonOption PYTHON_EGG_CACHE /tmp

<Location /svn>
   DAV svn
   SVNParentPath /var/svn
   SVNListParentPath on
   AuthType Digest
   AuthName "trac"
   AuthUserFile "/var/trac.htdigest"
   Require valid-user
   AuthzSVNAccessFile "/var/svnauthz"
</Location>

を最後の方に追加。

apache起動

/usr/local/apache2/bin/apachectl start

http://localhost/trac/にwebブラウザでアクセス
tracプロジェクト一覧が表示されるはず。
/usr/local/apache2/bin/apachectl startは/etc/rc.d/rc.localに書き込んでおくと自動起動。

最後に
XPのwebブラウザで
http://xx.xx.xx.xx/trac/
にアクセス(xx.xx.xx.xxはpuppyのipアドレス)
tracプロジェクト一覧が表示されるはず。

説明が雑になりましたが、とりあえずこれで使えるようになりました。

| | コメント (0) | トラックバック (0)

2008年9月18日 (木)

puppy linuxにtracインストール(その2)

devx1_400.sfsを使うので
ブートマネージャより起動時にdevx_400.sfsなどをロードしないように設定、
再起動後/mnt/homeにdevx1_400.sfsをコピーし、
ブートマネージャより起動時ロードするよう設定。
そしてまた再起動。

ここからインストール作業です。
/etc/srcというディレクトリを作り、そこで作業しました。
ほんとはスクリプトに全部任せちゃってやってしまいたいのですが、
ここからインストール作業です。
/etc/srcというディレクトリを作り、そこで作業しました。
ほんとはスクリプトに全部任せちゃってやってしまいたいのですが、
なぜかpythonで必ず1回エラーが出るので3つのスクリプトを
作って実行しました。
端末(urxvtやxterm)で

bash xxxx

(xxxxはスクリプトのフルパス)のようにして実行してください。

sqlite3インストール
pythonがsqlite3を必要とするようなので。

#!/bin/sh

#sqlite-3
cd /etc/src
cp /mnt/hostfs/sqlite-3.6.0.tar.gz .
tar zxvf sqlite-3.6.0.tar.gz
rm sqlite-3.6.0.tar.gz
cd /etc/src/sqlite-3.6.0
./configure --disable-tcl
make && make install

pythonインストール

#!/bin/sh
#Python
cd /etc/src
cp /mnt/hostfs/Python-2.5.2.tgz .
tar zxvf Python-2.5.2.tgz
rm Python-2.5.2.tgz
cd /etc/src/Python-2.5.2
./configure
make && make install

なぜか必ず一回こけます。

./Parser/asdl_c.py -c ./Python ./Parser/Python.asdl
env: python: No such file or directory
make: *** [Python/Python-ast.c] Error 127

のような感じで。
/etc/src/Python-2.5.2ディレクトリを削除、再度スクリプトを実行すれば何故かうまくいきます(make cleanからではだめ)。

その他のインストール

#!/bin/sh

#apache
cd /etc/src
cp /mnt/hostfs/httpd-2.2.9.tar.gz .
tar zxvf httpd-2.2.9.tar.gz
rm httpd-2.2.9.tar.gz
cd /etc/src/httpd-2.2.9
./configure --enable-modules="so rewrite dav" --enable-proxy
make clean && make && make install

#swig
cd /etc/src
cp /mnt/hostfs/swig-1.3.36.tar.gz .
tar zxvf swig-1.3.36.tar.gz
rm swig-1.3.36.tar.gz
cd /etc/src/swig-1.3.36
./configure --with-python=/usr/local/lib/python2.5 --without-ruby --without-php4 --without-java --without-ocaml --without-csharp
make clean && make && make install

#subversion&deps(neon,etc..)
cd /etc/src
cp /mnt/hostfs/subversion-1.5.0.tar.gz .
tar zxvf subversion-1.5.0.tar.gz
rm subversion-1.5.0.tar.gz
cp /mnt/hostfs/subversion-deps-1.5.0.tar.gz .
tar zxvf subversion-deps-1.5.0.tar.gz
rm subversion-deps-1.5.0.tar.gz
cd /etc/src/subversion-1.5.0
./configure --without-berkeley-db --with-swig --with-ssl --disable-static --enable-shared
make clean && make && make install
make clean-swig-py && make swig-py && make install-swig-py

#link svn-python
ln -s /usr/local/lib/svn-python /usr/local/lib/python2.5/site-packages/svn-python
ln -s /usr/local/lib/svn-python/svn /usr/local/lib/python2.5/site-packages/svn
ln -s /usr/local/lib/svn-python/libsvn /usr/local/lib/python2.5/site-packages/libsvn
#add path (need edit /etc/profile)
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib:/usr/local/lib/svn-python/libsvn
export LD_RUN_PATH=/usr/local/lib:/usr/local/lib/svn-python/libsvn
export PYTHONPATH=/usr/local/lib/svn-python:/usr/local/lib/python2.5/site-packages

#add mod_python
cd /etc/src
cp /mnt/hostfs/mod_python-3.3.1.tgz .
tar zxvf mod_python-3.3.1.tgz
rm mod_python-3.3.1.tgz
cd /etc/src/mod_python-3.3.1
./configure --with-apxs=/usr/local/apache2/bin/apxs
make clean && make && make install

#add mod_auth_digest
cd /etc/src/httpd-2.2.9/modules/aaa
/usr/local/apache2/bin/apxs -D DEV_RANDOM -c -a -i ./mod_auth_digest.c

#setuptools(pysqlite,Trac need)
cd /etc/src
cp /mnt/hostfs/setuptools-0.6c3.tar.gz .
tar zxvf setuptools-0.6c3.tar.gz
rm setuptools-0.6c3.tar.gz
cd /etc/src/setuptools-0.6c3
python ./setup.py install

#pysqlite
cd /etc/src
cp /mnt/hostfs/pysqlite-2.4.1.tar.gz .
tar zxvf pysqlite-2.4.1.tar.gz
rm pysqlite-2.4.1.tar.gz
cd /etc/src/pysqlite-2.4.1
python ./setup.py install

#Pygments
cd /etc/src
cp /mnt/hostfs/Pygments-0.10.tar.gz .
tar zxvf Pygments-0.10.tar.gz
rm Pygments-0.10.tar.gz
cd /etc/src/Pygments-0.10
python ./setup.py install

#Genshi
cd /etc/src
cp /mnt/hostfs/Genshi-0.5.tar.gz .
tar zxvf Genshi-0.5.tar.gz
rm Genshi-0.5.tar.gz
cd /etc/src/Genshi-0.5
python ./setup.py install

#trac
#changeset_r7407.diffをもとにPYTHON_EGG_CACHEの修正を行った
cd /etc/src
cp /mnt/hostfs/Trac-0.11.ja1.zip .
unzip Trac-0.11.ja1.zip
rm Trac-0.11.ja1.zip
cd /etc/src/Trac-0.11.ja1
python ./setup.py install

「#add path (need edit /etc/profile)」の下3行は
/etc/profileの一番後ろあたりにも追加する必要があります
(起動時に設定されるように)。

今回はここまで。

| | コメント (0) | トラックバック (0)

2008年9月16日 (火)

puppy linuxにtracインストール(その1)

軽い気持ちでやりだし、インストール、ちゃんと動作させることまで
できたんですが、なんかすっきりしないんです。

かなり無理やりなんで、もっといい方法とかあるんじゃないかと、
わかる方がいらっしゃればご意見いただければ。

とりあえず何回かに分けて、作業をまとめたメモを書いていきたいと思います。

作業はvirtualbox(host xp,guest puppy)で行い、
共有フォルダ(puppyは/mnt/hostfs,xpはc:\testのように設定)にダウンロードしたものをおいて
XP上のVirtualboxでPuppyLinuxの開発環境を整える(その1)参考)、
やり直しが楽にできるようにしました。

○前準備
まず必要なもののダウンロード
(インストール作業を始めた当時のもの)

sqlite3
http://www.sqlite.org/download.html
sqlite-3.6.0.tar.gz

python
http://www.python.org/download/releases/2.5.2/
Python-2.5.2.tgz

apache
http://httpd.apache.org/download.cgi
httpd-2.2.9.tar.gz、

swig
http://www.swig.org/download.html
swig-1.3.36.tar.gz

subversion
http://subversion.tigris.org/getting.html#source-release
(http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=260&expandFolder=74)
subversion-1.5.0.tar.gz

subversion-deps
http://subversion.tigris.org/getting.html#source-release
(http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=260&expandFolder=74)
subversion-deps-1.5.0.tar.gz

mod_python
http://httpd.apache.org/modules/python-download.cgi
mod_python-3.3.1.tgz

setuptools
http://pypi.python.org/pypi/setuptools/0.6c3
setuptools-0.6c3.tar.gz

pysqlite
http://pypi.python.org/pypi/pysqlite/2.4.1
pysqlite-2.4.1.tar.gz

pygments
http://pypi.python.org/pypi/Pygments/0.10
Pygments-0.10.tar.gz

genshi
http://genshi.edgewall.org/wiki/Download
Genshi-0.5.tar.gz

trac
http://www.i-act.co.jp/project/products/products.html
Trac-0.11.ja1.zip
(changeset_r7407.diffをもとにPYTHON_EGG_CACHEのパッチを当てた)

あと、puppy linuxでコンパイルしようとするときは
devx_400.sfsを使うと思いますが、
subversionとpythonがもともとはいっており、
特にsubversionはかなり古いです。
これらがあると新しいsubversionとpythonのコンパイル・インストールに
支障がある(動かしてみると古いバージョンの方が動作)ので、
どうにかする必要があります。

私は、devx_400.sfsをunsquashfsして削除、devx1_400.sfsと
いう名前でmksquashfsしてこれを使うことにしました。
puppy上のHDDにdevx_400.sfsを適当に置き、そこに
端末(urxvtやxterm)を起動してcd(チェンジディレクトリ)、

unsquashfs devx_400.sfs

でその場にsquashfs-rootディレクトリができ、中に展開されます。
squashfs-rootをdevx1_400のようにリネームし、削除作業した後、

mksquashfs devx1_400 devx1_400.sfs

として、subversion・python抜きのコンパイル環境を作りました。
削除内容を簡単に書いておきます。ファイル検索はpfindで行いました。

「svn」でファイル検索し、ひっかかったものは全部削除できるものはする。
「python」でファイル検索し、ひっかかったものは全部削除。
「sqlite」も探したらあったので、必要なさそうだけど削除。

このdevx1_400.sfsも共有フォルダにおきました。
今回はここまで。

| | コメント (0) | トラックバック (0)

2008年9月13日 (土)

XP上のVirtualboxでPuppyLinuxの開発環境を整える(その2)

○ネットワークでホスト-ゲスト双方向アクセスについて

<XP側>
Virtualboxの対応ゲストOSの設定(PuppyLinuxを入れた設定)の「ネットワーク」で
ホストインタフェースを追加(ホストインタフェース1が追加される)し、
割り当てをホストインタフェースに切り替える。

ここで、ネットワーク接続の「VirtualBox ホスト インターフェース 1」の
プロパティ-全般-構成-詳細設定-Media Statusを「always Connected」にする。

そして「マイネットワーク」を右クリック、プロパティを選び、
「ネットワーク接続」を表示させる。
「VirtualBox ホストインタフェース1」が追加されているはずなので、
これと、「ローカルエリア接続」を「Ctrl」を押しながら左クリックして選択、
右クリックでブリッジを選択する。
これでブリッジ接続となる。

ここでコマンドプロンプトから
ipconfig
と打ち、ipアドレス、サブネットマスク、デフォルトゲートウェイをチェック。
(下のファイアウォール設定で使用)
仮にここでは
ipアドレス 192.168.0.5
サブネットマスク 255.255.255.0
デフォルトゲートウェイ 192.168.0.1
として進める。
このネットワークはサブネットマスクにより24bit分マスクされているので
192.168.0.0/24
とあらわせる。

<Puppy側>
(これをやる前にネットワーク接続の設定を
ネットワークインタフェースでしておくこと。)
ここでゲストOSのPuppyLinuxを(再)起動、
マイネットワークのアイコンをクリックすると、
windowsでいうところのワークグループが表示され、
さらにそれをクリックすると中にXPのPC名が表示される。
(XPで共有フォルダを作っていればここからアクセスできる)。

さらに、
ファイアウォールの設定(メニューのネットワークのファイアウォール)
を行う。
custom->OK
ssh,dns,http,httpsにチェックして->OK
全部any->OK
Intrnet connection sharing -> NO
Trust network -> ローカルネットワークに合わせる(192.168.0.0/24) ->OK
system configration check->OK
firewall installation ->yes
のように設定する。

=================================
これでどちらからもpingで直にipアドレスを打ったら、
レスポンスがある状態となり、双方向アクセスできる状態になっているはずです。

ipアドレスは固定に設定しておくほうが便利です。

またpuppyでのipアドレス確認は
/sbin/ifconfig -a
でできます。

=================================

VMでやりたいことって、
作業を進めていて、ある時点で状態保存、
その後やり直したいと思ったら保存したところから、
というのができる点じゃないでしょうか。

状態保存したいところでのvdiファイルのコピーを
「VBoxManage clonevdi」コマンドを使ってつくっておくと
便利です。
(普通にコピーするとVMのIDが同じものになるのでVirtualboxに
元vdiとコピーvdiを2つとも登録することができません。)
楽にその時点からやり直しできることになりますので。

コマンドプロンプトでVirtualBoxのインストールフォルダ
(C:\Program Files\…\VirtualBoxのような)
に移動し、

vboxmanage clonevdi filename1.vdi filename2.vdi

とするだけです。
(VDIフォルダにあるfilename1.vdiがコピーされるファイル。
filename2.vdiも同じフォルダに作成されます。)

| | コメント (0) | トラックバック (0)

2008年9月11日 (木)

XP上のVirtualboxでPuppyLinuxの開発環境を整える(その1)

http://sakurapup.browserloadofcoolness.com/viewtopic.php?t=569
にも書き込んだのですが、まとめる意味で。
以下、ホストXP、ゲストPuppyLinux-4.00.3-JP(Frugal install)
として書いてます。

○フォルダ共有について
<Puppy側>
http://ftp.nluug.nl/ftp/pub/os/Linux/distr/puppylinux/sfs_modules-3/
からkernel-src_301.sfsをダウンロード(カーネルバージョンが同じであるようだから)し、
/mnt/homeにおく。

コンパイルを行うのでdevx_400.sfsもダウンロードして
/mnt/homeにおく。

ブートマネージャのSFSファイルのロードで
kernel-src_301.sfsとdevx_400.sfsを登録。

再起動。

<XP側(PuppyのVMウィンドウ)>
デバイスメニューの「Guest Addintionsのインストール」
を指定する。(これでCDイメージとしてGuest Addintionsが登録される)

ウィンドウ右下の「共有フォルダの状態」にマウスカーソルを合わせ右クリック、
「共有フォルダ」に適当なフォルダを割り当てる。
(ここではc:\testとする)

<Puppy側>
cdromをマウント、VBoxLinuxAdditions.runをクリック。
(Xがどうとかとなんかおこられるけど、XORGにしても解像度が1つだけだし、
結局クリップボードなどの機能はうまくいかないようなのでそのまま終了)

再起動。

コンソールから
==========
mkdir /mnt/hostfs
mount -t vboxsf test /mnt/hostfs
==========
と入力。
http://labs.uechoco.com/blog/2008/01/virtualbox_by_windowshostfedora_7guest.html参考)

これでpupyyで/mnt/hostfsを見ると、
XPのc:\testの中身が見える(フォルダ共有)。
puppyからでも、xpからでも自由にファイルアクセスができる。

このままではPuppyLinuxを落とすとまた上記入力をやらなければ
フォルダ共有つかえないので、起動時に自動的に行えるように
PuppyLinuxの/etc/fstabに
==========
test        /mnt/hostfs    vboxsf   defaults               0 0
==========
を追加する。

フォルダ共有ができるようになったらkernel-src_301.sfsは
いりませんのでロードから解除、削除していいです。
devx_400.sfsはコンパイルに使うでしょうからそのままで。

| | コメント (0) | トラックバック (0)