Linux: 2007年3月アーカイブ
最近何かと話題のOpenCVを入れてみる。
OpenCVは画像を解析するアルゴリズムをおさめたライブラリです。
なんだか取っても未来指向♪
すでにOpenCVをつかって攻殻機動隊の「笑い男フィルタ」を作っているひとが居ます。おもしろー。
早速、OpenCVの開発ページからダウンロードして適当なディレクトリへ展開。
$ tar zxvf opencv-1.0.0.tar.gz
でいつも通り
$ cd opencv-1.0.0 $ . ./configure $ make $ make install
ライブラリを使うために環境変数が必要なようなので、/etc/profileに以下を追加。
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig
/etc/ld.so.confに/usr/local/libへパスを通して
$ ldconfig
これで共有ライブラリ設定もOK。
あとは使うだけ!
さーていっちょあそんでみっかぁ。
よくSELinux運用下でWebサーバー立ててると直面する現象に、
ちゃんとパーミッションの設定したのに、Permission denyで怒られる事があります。
原因は、SELinuxで、コレを知るまでエライ目に遭ったことが有ります。
ちゃんと勉強しないといけないんですが、軽くメモを。
全然詳しい訳でもないので、もしかしたら大嘘付いているかもしれません。
例えばWebサーバーで、権限設定はあっているのにパーミッションエラーでアクセス出来ないなんて場合が有ります。
$ ls -l hoge.html-rw-r--r-- 1 apache apache 719 2 5 22:58 hoge.html
そんな時はlsのZオプションを指定すると、SELinuxのセキュリティコンテキストが見れます。
$ ls -lZ hoge.html-rw-r--r-- apache apache system_u:object_r:user_home_t hoge.html
system_u:object_r:user_home_tの部分がセキュリティコンテキストですね。
前から、ユーザー識別子、ロール識別子、タイプ識別子と言うらしいのですが、一番重要なのは、タイプ識別子です。
上記例の場合タイプ識別しがuser_home_tになっています。
一方httpdが所属するのはhttpd_tです。コレをドメインと言うようです。SELinux上の各ドメインはお互いにコンパートメント化されており、ほかのドメインからの不正なアクセスを許可しないように定義されています。その為、たとえOSのパーミッションが有っていてもアクセスできないのですね。
セキュリティコンテキストを変えるためには、chconコマンドを使います。
$ chcon system_u:object_r:httpd_sys_content_t hoge.html$ ls -lZ hoge.html-rw-r--r-- apache apache system_u:object_r:httpd_sys_content_t hoge.html
コレでWebサーバーからhoge.htmlにアクセス出来ます。
httpdのドメインがhttpd_tなのにhttpd_sys_content_tと権限設定するのは何故かって事は聞かないで下さい。
嵌りがちなので書いた程度なので。近々ちゃんと勉強します・・・。















