Edited at

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

More than 5 years have passed since last update.


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

にデータが保存されているようなので,バージョンアップする際には,これをどこかに一時的に避難させておいて,インストールしたものをコピーするのがよさそうです。(動くかどうかは未確認です…)