maoring blog

このブログはセマンティックウェブ関連の技術的なあれこれを綴ったブログです。

Virtuosoのアップデートでハマった時のメモ。

Virtuosoたんをアップデートしたい!

RDFにクエリを投げる時には,SPARQLというSQLライクな言語を使うのですが,そのストアとして使用していたVirtuosoたんをアップデートしようとしてひっかかったので,メモ。 もともとは,Version: 06.01.3127だったのですが,新しいバージョン(Version: 07.0 )だと,新しいSPARQL1.1のクエリも投げられると聞いたので,アップデートしようと試みました。

どっかのUIにあるのか,コマンドでちょちょいと出来るのかと思いきや,思いの外情報が無い(・・;)。twitterでつぶやいたら,@OKB_Pさんが返信をくださいましたっ!!

@maoringo ただ,内部サーバーにインストールしているvirtuosoをせっかくなので,アップデートしようと思うのですが,一度アンインストールする必要があるのでしょうか。それともすぐに出来るものなのでしょうか。

@OKB_Pさん 商用版は分かりませんが、オープンソース版だとビルドし直して、古い方のvirtuoso.dbファイルをコピーしてやると動くはず(バージョンがあまり離れていない場合?)。 ポート番号がかぶるので、古い方は停止させるかポート番号を変えるかしてます

ありがとうございます!持つべきものは頼もしいおねえさま!というわけだったのですが,実はこの質問をした時には,もう,virtuosoの前のバージョンを削除してしまっていて,しかし,アクセスすると,こんな感じでアクセスできる,うわー,な状態だったので,

kobito.1383008959.655497.png

ポートを停止せよ。

なんとか,停止を試みることにしました。 最初は,公式ページを見たのですが,ここで指定したコマンドを実行することが出来ずorz 頂いたメッセージを頼りに,ポートを閉じることに。

あったった。HOW TO CLOSE A PORT IN LINUX 最初に空いているポートを確認。

nmap localhost

unknownでポートが開いているっぽいことを確認。公式ページから,使っているポートが私の環境の場合,1111と8890だったので,キルしたぞなもし。 (ここに至るまで思いの外時間がかかった…)

fuser -k 1111/tcp
fuser -k 8890/tcp

後はいつもどおりにインストール再開。

それでもって,普通にインストール再開&起動 ダウンロードはこちらから。 普通のインストールは,こちらを見ると便利です。週末京都-VirtuosoをMac OS Xにインストール Macもlinuxも大体同じです。インストールする際に事前に追加が必要なパッケージについては,インストールしたフォルダ内のREADMEをご覧いただき,チェックの上,追加してください。

$ ./configure
$ make
$ sudo make install

$ cd [インストールしたとこ]/virtuoso-opensource/var/lib/virtuoso/db
$ sudo [インストールしたとこ]/virtuoso-opensource/bin/virtuoso-t -f &

出来た☆ kobito.1383018508.930221.png

ちなみに今回は,大したデータを入れていなかったので,前のバージョンのものをまるっと消してしまいましたが,@OKB_Pさんが仰った通り,[インストールしたとこ]/virtuoso-opensource/var/lib/virtuoso/db/virtuoso.db にデータが保存されているようなので,バージョンアップする際には,これをどこかに一時的に避難させておいて,インストールしたものをコピーするのがよさそうです。 今回は,調査のため同じ内容をqiitaにも投稿しています。