5/15/2013

PGSQLをMSSQL Serverにリンクする方法

Step1. 
System DSN としてPostgreに対するODBCシステムデータソースを作成
Postgresql ODBC data source in System.

Step2.
LinkedデーターベースをManagement Studioで作る 
Create Linked Database in MS SQL Server Management Studio

Step3.
Postgresql ユーザーとパスワードを設定
Set connection Login Name and Password


Step4.完了

Linked DB使用例


5/13/2013

How to install MegaRAID Storage Manager in Ubuntu

MegaRAID Storage Managerは、rpm形式でしか提供されていないので、単純にはUbuntu12.04環境にインストールできないのですが、次の手順でViewOnlyモードのみ使用可能。


1.alienをインストール
 sudo apt-get install alien 

2.GNU C++をインストール
 sudo apt-get install libstdc++5

3.Javaをインストール
 sudo apt-get install openjdk-6-jdk

4.lsi.comのサイトから、MEGARaid Storage Manager(13.01.04.00_Linux_x64_MSM.tar.gz)を取得
 download 13.01.04.00_Linux_x64_MSM.tar.gz

5.ファイルを解凍
 mkdir temp
 mv 13.01.04.00_Linux_x64_MSM.tar.gz temp
 tar xzvf 13.01.04.00_Linux_x64_MSM.tar.gz


6.rpmからdebに変換 (convert rpm to deb)
 sudo alien --scripts *.rpm

7.変換したdebで、MegaRAIDをインストール
 sudo dpkg --install lib-utils2_1.00-6_all.deb
 sudo dpkg --install megaraid-storage-manager_13.01.04-1_all.deb


8.ScriptをBash用に改良
 sudo nano /etc/init.d/vivaldiframework
      置換(replace)
          for (i=0, i < 20, i++)
     を(with)
          for i in `seq 0 19`  
 sudo nano  /usr/local/MegaRAID_Storage_Manager/Framework/startupui.sh
       削除(remove)  :/opt/lsi/Apache

9.MegaRAID Storage Managerの起動
 /usr/local/MegaRAID_Storage_Manager/Framework/startupui.sh



 以上
動作の保証はしませんが、私の場合は今のところ特に問題は無さそうです。

5/02/2013

ラズベリー・パイ(Raspberry Pi Model B hynix)でOracle Java試す。

ラズベリー・パイ(Raspberry Pi Model B hynix)でOracle Java試す。

オラクルのARM用のJavaを動かしてみたくなり、ラズベリー・パイを購入。
OSイメージは、ここからSOFT-FLOAT版をダウンロード。インストール 手順はこのリンクに従った
今回SDカードは8GBを使用し、dd時にbs=4Mでやりました。
 sudo dd bs=4M if=2012-08-08-wheezy-armel.img of=/dev/mmcblk0
多少gpartd時のイメージが前出のブログとちがったので、SDカードにイメージを焼いた直後のGpartd画面を参考に載せます。



で、RPiが起動しない。ボードが壊れているのか!?(少々あせる)

ネット検索で原因らしきものを2、3見つける。
要するに「ハイニックス(Hynix)チップセットのボードの場合は、soft-float版正式イメージ(2012-08-08)では、起動できないようだ」


正式版のイメージ作成日から推測するに新しいHynix使用ボードに対応していないのだなと、みょうに納得、でも、Javaを動かしたい。

さらにネットを検索で、最新のhard-floatのブートイメージを使えば起動可能らしいと知り、
hard-float版イメージからのbootcode.binstart.elfでsoft-floatのものを置き換えると起動できました。

これ手間ですね。

誰かsoft-floatもHynixで起動できるようにか、hard-floatでJava使えるように早くして下さい。
お願いします。

その後、オラクルサイトのブログにしたがって、ついに目的達成。
 
 以上、
最後にOpenJDKならhard-float版でも動作します。単に"sudo apt-get install openjdk-7-jre"を実行するだけでJavaが使用可能です。
どうしてもオラクルJREを使いたい人の参考になれば幸いです。

5/01/2013

SSLって、なぜ安全なの?

SSLって、安全な通信という漠然としたイメージがあるのですが、どの程度安全といえるのか気になりませんか。
いきなりですがSSL(初期バージョンはNetscapeCommunication社「なつかしい」1994年開発)は、すでに古い標準らしく、TLSTransport Layer Security : IETF1999年仕様策定)が今流なようです。
これからはSSLじゃなくてTLSと言わないといけないのかもしれません。

では本題、TLS(SSL)を使えばはどうして安全なのか。
TLS(SSL)通信ハンドシェーク時、次の事項などを取り決めて、それにしたがって通信を暗号化して行うから安全 ―「盗聴しても内容分らない」「データ改ざんを検出する」― とされています。
  1. TLS(SSL)のバージョン
  2. 公開キー交換アルゴリズム 
  3. データ通信用暗号アルゴリズム
  4. メッセージ認証時の一方向ハッシュ関数アルゴリズム
少し具体的には、
1.まずサポートするバージョンを通知する通常SSL3.0TLS1.1など。TLS1.2ならAPI便宜上、バージョンSSL3.3で通信するって感じらしい。
2.各種このセッションで使用する暗号たち、キー配布問題を減らすための公開キー暗号アルゴリズムも決める。公開キー交換では、RSAか、Diffie-Hellmanが一般的。**ここで一言、公開キー交換暗号の仕組みは離散対数・大きな素数の素因数分解を求める良い方法が未だに存在しないことを利用しているので、完全な安全性の証明は出来てないが、十分安全であることは証明されているようで、一安心。詳細は文末のリンクを参照ください。** ついでに証明書がどのアルゴリズムを使用しているかもやり取りする。RSAが多いが DSS(DSA)なども。
3.データの暗号化に使用するアルゴリズムを決める。RC4,3DES,AESなど。ブロック暗号(3DES,AES)であればモードはCBCで行うと思う。
4.メッセージ認証に使用する一方向ハッシュを決める。MD5SHA-1など。TLS1.2では、SHA-2 (SHA-256....)もサポートするようです。

ハンドシェーク後、3の方式でデータを暗号化し、4の方式でそのデータの正当性を検証しながら通信するので、盗聴されても心配ない、改竄のない安全な通信が実質行えることになる。
仕様的には、通信途中に暗号セットを変更することも可能なようです。

最後に、RSA公開キー・秘密キーは異なるキーと知っていましたが、どうして公開キーで暗号化したものが、公開キーでは簡単に複合できず、秘密キーが必要となるのかとくすぶっていた疑問がありましたが、やっと解消できました。詳しくはhttp://ja.wikipedia.org/wiki/公開暗号 を参照ください。