Relayer

EOFというか、ヒアドキュメント。ちょっとハマったので記述。

Unix シェルを書いている人には当たり前なんだろうけど,ヒアドキュメント内では,というかヒアドキュメントがそういうものなんだけど,書いた内容がそのままコマンドに渡される.
よって,普通にコードを書くようにインデントをつけるとエラーが返ってくる.
なんか気持ち悪いんだけど,そもそもがそういう仕様のモノだし.
あと,こういうのが気になるほどの内容であればCなりJavaなりでプログラム化しちゃえよ,と個人的には思う.

Ink Complete

UbuntuでVirtualbox.
一時はどうなるかと思ったのだけど,コマンドラインからGUIで行う以上の作業が可能なのでナンとかなって,ほっとしている次第.
コマンドラインについての詳細はとにかく総本山に.
国内というか日本語でもいろいろ解説してくれているところが多々あるのでありがたく拝聴することにした.

とりあえず今回使ったコマンド群の一例を挙げておく.

$ VBoxManage list vms # 登録済仮想マシンの一覧
$ VBoxManage showvminfo “仮想マシン名” # 仮想マシンの詳細情報
$ VBoxManage startvm “仮想マシン名” -type vrdp #仮想マシンの起動(他にもオプションあるんだけど)
$ VBoxManage controlvm “仮想マシン名” acpipowerbutton #仮想マシンのACPIシャットダウン
$ VBoxManage modifyvm “仮想マシン名” –natpf1 delete “登録ルール名” # NAT設定削除
$ VBoxManage modifyvm “仮想マシン名” –natpf1 “登録ルール名,tcp,,10222,,22” # NAT設定追加(10222をsshポートへ)
$ VBoxManage registervm hogehoge.vbox # 仮想マシンの登録

今回は上記の通りNATの設定を少しやっていた.

問題はホスト側OSの,というか,Ubuntuの仕様にひっかかってしまった.
UbuntuではWell-Knownポートは特権ポートとして扱われ,特権プロセスでないとアクセスできない.
そこにゲストOSのポートをマップしたい場合どうするのか,ということ.
ufwでマッピングするとか,ケーパビリティを付与するか,いっそのことAPをrootで動かしてしまうか,というのが容易な解決策かと思われる.

Tomahawk

Solaris10環境を構築し直し.
ハードウェアの相性に左右されない仮想環境(VirtualBox)で行うのだ.

仮想マシン
Solaris11であれば簡単にイメージが見つかるのだけど,10の場合は仕方ないので新規インストールとした.

MySQL
5.0系.
Solaris10用のpkgファイルがあるので,これをインストール.
事前にmysql:mysqlを作成しておくと捗る.

Tomcat
5.5系.
これは展開して妥当な場所に配置.

Java
これはそのまま.

仮想マシンなので
ポートフォワードの設定をしておく.
もうちょっと手前から書いておくと,VirtualBoxのネットワークカードの設定をNATにして,これにポートフォワードの設定をする.
いつもならお手軽なブリッジアダプタを選択するのだけど,今回は都合が悪いので,こういう手段をとる.
ポートフォワードの設定ダイアログ上において,ホスト/ゲストともにIPアドレスは空欄のままでよい.
あとは必要なポートを適宜割り振ってやればよい.
いちおう書いておくと,こういう使い方をする場合はゲストOSのネットワーク設定を同一セグメント内に置くような設定をしておいてはいけない.
よく考えれば当たり前のことだが,ブリッジアダプタで環境を作成した後にNATに変更して設定,とかやるとうっかりハマったりする場所ではあると思う.

# sys-unconfig

とやるとネットワーク周りを再設定可能なので,必要な場合はこれを実行する.