Category Archives: Linux - Page 2

CentOSにOpenCVをパッケージインストールする

 CentOSにOpenCVをインストールしたかったのだが、yum searchしても検出されない(fedoraだと見つかったのに?)。
 仕方が無いのでソースからビルドしようとしたら今度はcmakeが無い。

 おちつけ。

 最近建てたばかりの環境なので、3rdパーティのリポジトリ(RPMforgeとか)を設定していない事に気づく。

 RPMforgeを設定する。環境はCentOS5。

 まずは、yum-prioritiesをインストール。
 これは、RPMforgeに存在するパッケージがオフィシャルリポジトリでインストールしたパッケージを上書かないようにするためのもの。パッケージが重複したときに。

[ccb_bash]# yum -y install yum-priorities[/ccb_bash]

 まず、現時点で設定されているリポジトリのプライオリティを1に設定する。

[ccb_bash]# vi /etc/yum.repos.d/CentOS-Base.repo[/ccb_bash]

[ccb_bash][base]
name=CentOS-$releasever – Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
priority=1 # ←★この行追加
[/ccb_bash]

 他のリポジトリについても同じ。”priority=1″をつけておく。
 私の環境では、上記”CentOS-Base.repo”ファイル以外にも設定ファイルが存在したので、それらについても同様に”priority=1″とした。

 GPGキーのインストール。

[ccb_bash]# rpm –import http://apt.sw.be/RPM-GPG-KEY.dag.txt
[/ccb_bash]
 次にRPMForgeをインストール。

[ccb_bash]# rpm -hiv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.5.1-1.el5.rf.i386.rpm
[/ccb_bash]
 まずは、アップデートしよう。

[ccb_bash]# yum update[/ccb_bash]

 よし、やっとcmakeのインストール、と思ったのだけど、よく考えてみればRPMforgeにOpenCV入ってた。

[ccb_bash]# yum install -y opencv
[/ccb_bash]

 ok.

毎日コミュニケーションズ (2009/07/29)

ThinkPad + Fedoraでサスペンドとハイバネーション

 ThinkPad(X31)へFedora11,12,13と載せ変えてきて、ずっと解決していなかった問題がサスペンドとハイバネーションの問題。

 シャットダウン時のダイアログもしくは、ショートカットキー(Fn+F4 / Fn+F12)でPCを休止状態にできるものの、復帰でコケる。何か動作しているようだが画面には何も出力されない。
 なのでバッテリー駆動状態でおちおち放っておけなかったりするし、Windows時代にはハイバネーション機能をよく使っていたので不自由である。

 今の今まで真面目に調べていなかったのだけど、少し調べてみたらそれらしい記事が見つかった。

David Wragg: Kernel Mode Setting for some ATI GPUs breaks suspend/resume

 この記事ではThinkPad(T61)のRadeon GPUs問題に触れているが、X31のビデオチップもRadeon(ATI MOBILITY RADEON [AGP 4X])なので同様の問題なのかもしれない。

The workaround is to disable KMS.
This can be done by adding the nomodeset option to the kernel command line in /boot/grub/grub.conf.

 この問題の回避方法は、KMSを動かなくすること。
 これは /boot/grub/grub.conf のkernel行に “nomodeset” を追加することで実現する。

 早速、grub.confのkernel行に”nomodeset”を付与した。

[cc]kernel /vmlinuz-2.6.34.6-47.fc13.i686 ro root=/dev/mapper/vg_vamp-lv_root rd_LVM_LV=vg_vamp/lv_root rd_LVM_LV=vg_vamp/lv_swap rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=ja_JP.UTF-8 KEYBOARDTYPE=pc KEYTABLE=jp106 rhgb quiet nomodeset
[/cc]

 一度再起動してからサスペンドとハイバネーションを試してみる。
 できた。

 ただ、OS起動時と終了時には文字等が大きくなる(適切なビデオセッティングが成されない)のだが、ハイバネーションと引き換えならば甘んずる事にする。

 もしかすると、kernel行へ更に何か設定すると解消されるのかもしれない。

「バッテリーが壊れているようです」そうですか

 Fedora13にしてから起動時に出力されるように・・・。
 ThinkPad(X31)なので、もうヘタっているのは確かだと思うのだけどFedora12の時には見た事がない。
 13で電源管理まわりが変わったのかも。

 そういえば、Fedora13インストールから数日経って、何度目かのyum updateを行ってから、起動がべらぼうに遅くなっていたのが昨夜のupdateで解消した。

クライアントをFedora13にしました

 クライアント(Fedora12/ThinkPad X31)をFedora13にクリーンインストールしました。

 Fedora11→12の時もクリーンインストールだったので、13はyumによる上書きインストールにしようと思っていたのですが、

Fedora12からFedora13へのアップグレードをyumで行うのは危険 – tototoshiの日記

という事なので、結局クリーンインストールとしています。

 クリーンインストールから少しずつ設定をしていくのは嫌いじゃないので良しとします。

 アップグレードやめとけよの文章。

Upgrading Fedora using yum – FedoraProject

  • Testing shows that upgrading within X will cause X to hang when installing bitmap-fonts-compat, but it can be done anyway by making sure that bitmap-fonts-compat is the last package to update … YMMV.
  • Intel video no longer works without Kernel Mode Setting (KMS). You must remove ‘nomodeset’ from your /etc/grub.conf kernel command line, if present.
  • nVidia video no longer works without kernel mode Setting (KMS). You must remove ‘nomodeset’ from your /etc/grub.conf kernel command line, if present.
  • It may be necessary to run “db_recover -h /var/lib/ldap/ ; chown ldap:ldap /var/lib/ldap/*” once in order for slapd to start.

 Intel videoやnVidia videoは、/etc/grub.confのカーネル行からnomodesetを削除しないと動かないよ、と言っているようです。Fedora13ではビデオドライバの拡張が目玉の1つのようなのでそのあたりが影響しているのかも。
 あと、bitmap-fonts-compatがどうのこうのとか、ldapリカバリしてみたいな。

procmailかませるとmbox形式になってしまう

 レンタルサーバの移行作業してます。

 ちょっと躓いた事があったのでメモ。

 postfix + dovecotという構成で、久しぶりにメールサーバを新規構築。
 procmail使うので、.forwardでprocmail咬ませた途端にメールが到着しなくなった。

 maillog見てみると、何故か/var/mail/にmbox形式のファイルを作ろうとしている。

[cc lang=”bash”]
can’t create user output file.
Command output: procmail: Couldn’t create “/var/mail/xxx”
[/cc]

 postfix的には、Maildir形式で、保存先は~/Maildirになっているのに。

 .forwardを無効にすると、~/Maildirに到着する事から、procmailを通過した後、mbox形式で保存しようとしているようだ。

 色々と検索してみる。

「困ってます。メールが届きません。Couldn’t create…」

同じ症状かもしれない人がいた。
途中、親切な人が「procmailにSetUIDしてみて」と教えていて、

「試したらエラーにならなくなったけど、メーラで受信しても受信しない。.forwardで携帯に転送するのは成功しているのに」

とある。
ああ、これは、メーラでの受信は~/Maildirを参照しているのに対し、実際のメールは/var/mailにmbox形式で保存されているからだ。同じ症状だね。

 そのスレッドの結末は、.procmailrcにMAILDIRとDEFAULTを定義する事で解決していた。

 移行元のサーバでは、/etc/procmailrcにMAILDIRとDEFAULTが定義されていた。
 移行先のサーバでは、/etc/procmailrcそのものがない(yum installで作られなかったのかな?)。

/etc/procmailrcを生成し、以下を記述して解決。

[cc lang=”bash”]
MAILDIR=$HOME/Maildir/
DEFAULT=$MAILDIR
[/cc]

Kyle D. Dent/菅野 良二
オライリージャパン (2004/08)

『ServersMan@VPS』がやってきた

 先日申し込んだServersMan@VPS』。

申し込み多数ですぐに準備が出来ないということなので、指をくわえて待っています。

 やっと昨日『準備できたよ』というメールが到着。
 指がふやけたよ!

 3ヶ月は無料なので、ゆっくり構築して引っ越したいと思います。
 
 useradd!

『ServersMan@VPS』おためし

 先日のエントリで紹介したDTIのServerman@VPS

 『Standardプラン』と『Proプラン』が4月末に申し込み受付開始となったまま、しばらく開始されなかったのでウォッチしてて、今朝見たら受付開始されてた。ギリ。

 早速『Proプラン』+『シンプルセット』で申し込み。

 申し込み多数ですぐに準備が出来ないということなので、指をくわえて待っています。

『ServersMan@VPS』に注目

ユビキタスプロバイダ DTI

 今月からサービス開始のDTIさんによる仮想専用サーバサービス

 ワンコイン(Entryプランの場合)でrootもらえるなんてちょっと良さそうなので試してみようと思います。
 余ってるドメインがあるので、まずはお試しで。

  • Entryプラン(490円)
    • Mem:256MB
    • HDD:10GB
  • Standardプラン(980円)
    • Mem:512MB
    • HDD:30GB
  • Proプラン(1,980円)
    • Mem:1GB
    • HDD:50GB
オーム社 (2007/02/24)

SSHのコネクションが切れる

ThinkPad X31にFedora12を載せてメインマシンとして使ってます。

サーバのメンテナンスや開発作業でFedoraターミナルからサーバにSSH接続する事があるけど、いつのまにかコネクションが切れている事がある(実際にはシェルが無反応になった後、更にしばらくして「コネクション切れたよ」みたいな)。
色々と調べてみると、自宅で使用しているルータがコネクション切ってるよう。一定時間何もパケットが流れないコネクションに対して。
自宅の環境(ルータ)では、約5分間何もパケットが流れないと切断(正確にはNATテーブルのクリア)となる。
Windows時代に愛用していたTeraTermは、一定間隔で無害なパケットを送出する機能を持ち合わせていたので、この様な事態に困ることはなかった。
本件はFedoraのSSHクライアント(OpenSSH)にも同様の仕事をさせる事で解決する。
OpenSSHのコンフィグファイル(/etc/ssh/ssh_configまたは~/.ssh/config)に以下行を追加。

[cc line_number=”false” lang=”bash”]ServerAliveInterval 300[/cc]

これにより、300秒おきに無害なパケットを送出する。これで切られる事はなくなる。

なお、古いバージョンのOpenSSHでは使用できないかもしれない(3.8以降?)。

 

小島 肇/坂井 順行/鹿田 幸治/園田 道夫/高橋 基信/根津 研介/宮本 久仁男
オライリー・ジャパン (2006/11/22)

Tokyo Cabinet 試す (hash)

 Tokyo Cabinet。最近興味が沸いたので少し触ってみることに。ほんのお触り程度、で。
データベースマネージャ Tokyo Cabinet
http://1978th.net/tokyocabinet/
 エントリタイトル、わざと『東京キャビネット』と書こうとしたのだけど、同名の企業が存在するので素直に書いた。しかも地元の企業だ。こっちの方が驚いた。
■インストール
 OSは手元のFedoraとCentOS。yumで入ります。
# yum install tokyocabinet
 Fedora12はインストールした記憶はないのだけど既に入っていた(?)。
 お触り程度なのでCLIでtchmgrコマンドを。’h’はハッシュ。
 tchmgrコマンドに-hパラメータを与えるとヘルプ出力。
■tchmgr version
 バージョン出力。2010年02月03日現在Officialでは1.4.42が最新だと言っているので少し古い感じ。
$ tchmgr version
Tokyo Cabinet version 1.4.33 (824:1.0) for Linux
Copyright (C) 2006-2009 Mikio Hirabayashi
■tchmgr create
 とりあえず、何かデータベースファイルを作ってみる。パラメータにファイル名を与える。
 500kb程度のファイルが出来上がる。
$ tchmgr create coffee.tch
■tchmgr inform
 さっそく生成したデータベースファイルの情報を出力してみる。
 パラメータには同じくデータベースファイル名を。
$ tchmgr inform coffee.tch
path: coffee.tch
database type: hash
additional flags:
bucket number: 131071
alignment: 16
free block pool: 1024
inode number: 2326537
modified time: 2010-02-03T00:07:31+09:00
options:
record number: 0
file size: 528704
■tchmgr put
 レコードを追加してみよう。パラメータは、データベースファイル名、Key、Valueの順。
$ tchmgr put coffee.tch espresso エスプレッソ
■tchmgr get
 まだ1レコードしか追加していないけれど、データを取り出してみる。
$ tchmgr get coffee.tch espresso
エスプレッソ
■tchmgr list
 更にレコードを追加してリスト表示させてみる。
$ tchmgr put coffee.tch caffellatte カフェラテ
$ tchmgr put coffee.tch cappuccino カプチーノ
$ tchmgr list coffee.tch 
espresso
caffellatte
cappuccino
 ここで再びデータベースの情報を出力。record numberが3となっている。
$ tchmgr inform coffee.tch
path: coffee.tch
database type: hash
additional flags:
bucket number: 131071
alignment: 16
free block pool: 1024
inode number: 2326537
modified time: 2010-02-03T00:26:54+09:00
options:
record number: 3
file size: 528848
■tchmgr out
 outによりレコードを削除する。削除するレコードのKeyを与える。
$ tchmgr out coffee.tch caffellatte
 リスト表示してみる。
$tchmgr list coffee.tch
espresso
cappuccino
 削除したレコードをgetしてみる。
$ tchmgr get coffee.tch caffellatte
tchmgr: coffee.tch: 22: no record found
 当然エラーとなる。
■tchmgr optimize
 optimizeは最適化だが、これまでのcoffee.tchに行っても効果は何もない。
$ tchmgr optimize coffee.tch
■tchmgr importtsv
 最後にimporttsv。tchmgrはあらかじめ用意したタブ区切りのファイルを読み込ませることで、データベースファイルを生成することができる。また、既存のデータベースファイルにレコードを追加することも可能だ。
 パラメータは、データベースファイル名、インポートするファイル名の順。
 以下内容のファイル(numero.txt)を用意した。
uno ウーノ
due ドゥーエ
tre トレ
quattro クアットロ
cinque チンクェ
sei セーイ
sette セッテ
otto オット
nove ノーヴェ
dieci ディエーチ
$ tchmgr importtsv numero.tch numero.txt
 (00000010)
 追加されたレコード数が出力される。
 リスト表示してみよう。
$ tchmgr list numero.tch
uno
due
tre
quattro
cinque
sei
sette
otto
nove
dieci
 とりあえずここまで。
 B+木などはまた別の