2007年12月22日土曜日

manpages-dev

Ubuntuにglibcなどのmanページを追加

$ sudo apt-get install manpages-dev


SolarisでLinux_PAMのビルドに挑戦....挫折

Solarisでpam_mkhomedir.soを使いたいので、Linux-pam-0.99.9.0をビルドしてみると結構エラー。

gcc -DHAVE_CONFIG_H -I. -I.. -I../../libpam/include -I../../libpamc/include -DDEFAULT_MODULE_PATH=\"/lib/security/\" -DLIBPAM_COMPILE -I./include -DPAM_VERSION=\"0.99.9.0\" -O2 -D_REENTRANT -DPAM_DYNAMIC -fPIC -W -Wall -Wbad-function-cast -Wcast-align -Wcast-qual -Wmissing-declarations -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wstrict-prototypes -Wwrite-strings -Winline -Wshadow -MT pam_modutil_cleanup.lo -MD -MP -MF .deps/pam_modutil_cleanup.Tpo -c pam_modutil_cleanup.c -fPIC -DPIC -o .libs/pam_modutil_cleanup.o
In file included from pam_modutil_private.h:14,
from pam_modutil_cleanup.c:7:
./include/security/pam_modutil.h:66: error: syntax error before "gid_t"
./include/security/pam_modutil.h:66: warning: function declaration isn't a prototype
./include/security/pam_modutil.h:79: error: syntax error before "gid_t"

いろいろ調べた結果、次の方法でビルドできそう....。
と思ったけど、asprintf系の多さに挫折...。

いちおう、その途中経過。
(1) configure時にCFLAGSのオプションを追加
$ ./configure CFLAGS=-D_POSIX_PTHREAD_SEMANTICS

http://docs.sun.com/app/docs/doc/802-1949/6i5ur8qbf?l=ja&a=view


(2) libpam/pam_modutil_private.hにgrp.hのinclude文を追加
----
#include "config.h"

#include ←追加
#include
#include

2007年12月21日金曜日

trackerd

Ubuntu7.10を入れてはや数週間。
特に困ることもなく使っていましたが、psしてみてびっくり。
trackerdとかいうプロセスがCPUを99%とか使っている。
デュアルコアマシンなので、普通にデスクトップ使っている分には、それほど重いとも思わなかったけど、CPU使いすぎ~。

ぐぐってみると、デスクトップ検索らしい。
http://ubuntuforums.org/showthread.php?t=591867


おもいっきり不要なので停止した。


2007年12月18日火曜日

CentOS4.6

CentOS4.6がリリースされていた。

http://lists.centos.org/pipermail/centos-announce/2007-December/014511.html

- RHEL4.6のリリースノートにはsamba-3.0.25bにアップデートする際の注意事項も一応含まれている。
- megaraid_sasがPERC6対応になったようだ。

http://www.centos.org/docs/4/html/release-notes/as-x86/RELEASE-NOTES-U6-en.html



2007年11月16日金曜日

Movable TypeにCaptcha_Pluginを設定

コメントスパムやトラックバックスパムが多くなったのでコメントやトラックバックをできないように設定していましたが、Captcha_Pluginを設定してみました。
ただいまテスト中...。

ついでにCentOS4(x86)用のperl-GDパッケージとperl-Authen-Captchaパッケージも作成してみたので、どうぞご利用ください。

[RPM]
perl-GD-2.35-1.OSSTECH.i386.rpm
perl-Authen-Captcha-1.023-1.OSSTECH.i386.rpm
[SRPM]
perl-GD-2.35-1.OSSTECH.src.rpm
perl-Authen-Captcha-1.023-1.OSSTECH.src.rpm

Dell PERC6シリーズ

RHEL5.1のkernel-2.6.18-53は対応してないようだけど、FreeBSD7.0 currentにはLSI提供のコードがマージされているみたい。
Solaris10用のドライバ作れるかなぁ。

http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/mfi/mfi_pci.c.diff?r1=1.1.2.6;r2=1.1.2.7;f=h

http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/mfi/mfireg.h.diff?r1=1.1.2.7;r2=1.1.2.8;f=h



http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/mfi/mfivar.h.diff?r1=1.1.2.7;r2=1.1.2.8;f=h

http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/mfi/mfi.c.diff?r1=1.3.2.9;r2=1.3.2.10;f=h

Google AppsへのEメールマイグレーションAPI

既存のユーザーのメールボックスの内容を、Google Appsへ移行するためのAPIらしい。
Javaか.Netライブラリ。
http://groups.google.com/group/google-apps-apis/browse_thread/thread/5b7b5d2156026faf

VMware Workstation 6で2GBオーバーのvmdkファイル

VMware Workstationを6にアップデートしてみたところ、2GBを越えるvmdkファイルがあると
OSが起動しなくなってしまった。

Googleしてみたところ、
http://communities.vmware.com/thread/89336
に回避策があったので、その通りにvmxファイルに
diskLib.sparseMaxFileSizeCheck="false"
を追加すると、無事起動するようになった。


入れ替え

会社のマシンをCentOS4 から Ubuntu7.10日本語版に入れ替えた。
ついでにVMware Workstationも5から6にアップデート。

Ubuntu なかなか良い感じ。


2007年11月8日木曜日

ColdFusionでLDAP認証してみるサンプルスクリプト

なかなか良い参考例を見つけられなくてはまったので、参考までに。

=====
<CFTRY>
<CFLDAP
server = "ldap.example.com"
action = "query"
name = "ldapauth"
start = "dc=ldap,dc=example,dc=com"
username = "uid=#Form.Account#,ou=Users,dc=ldap,dc=example,dc=com"
password = "#Form.Password#"
filter = "uid="#Form.Account#"
scope = "subtree"
attributes = "uid"
>

<CFCATCH TYPE = "Any">
<CFIF "#CFCATCH.MESSAGE#" eq "不適切な認証">
<!--- LDAP認証失敗 --->
<CFOUTPUT> パスワードが一致しません。 </CFOUTPUT>
<CFELSE>
<!--- LDAP認証以外のエラー --->
<CFOUTPUT>
エラーが発生しました。<br> #CFCATCH.TYPE# : #CFCATCH.MESSAGE#
</CFOUTPUT>
</CFCATCH>


2007年10月23日火曜日

rpl_mallocとrpl_realloc

Solaris10 SPARCでPerfParseをビルドすると、rpl_mallocとかrpl_reallocがないといわれる...。
http://wiki.buici.com/wiki/Autoconf_and_RPL_MALLOC
とか
http://csourcesearch.net/package/a2ps/4.13c/a2ps-4.13/lib/realloc.c/function/rpl_realloc/34,1
を参考に

+#if HAVE_CONFIG_H
+#include
+#endif
+#undef malloc
+#undef realloc
+
+#include
+void *malloc ();
+void *realloc ();
+
+void* rpl_malloc(size_t n)
+{
+ if (n == 0)
+ n = 1;
+ return malloc (n);
+}
+
+void* rpl_realloc(char *p, size_t n)
+{
+ if (n == 0)
+ n = 1;
+ if (p == 0)
+ return malloc (n);
+ return realloc(p, n);
+}
な感じのパッチを作成して力業で適用。
Solaris10のx86だと問題ないのが不思議だ....。

2007年10月20日土曜日

もとのぶ先生のはじめてのオープンソース...漫画版

http://www.thinkit.co.jp/free/article/0710/18/1/

漫画のつくりてきには、ページをめくるときには左のページを右にめくるので、進む矢印が左向きなのは理解できるけど、ブラウザの進む、戻ると逆なので、操作に違和感があるなぁ。


2007年10月17日水曜日

OpenOfficeでドキュメント内を参照

OpenOfficeでドキュメント内で参照(Wordで言うところの相互参照)をする方法を調べてみた。

この説明で判明。
http://oooug.jp/faq/index.php?faq%2F1%2F7



2007年10月13日土曜日

間違い探し...

smbd.logに次のようなログが出て、smbdが立ち上がらない。
-----------
[2007/10/10 19:37:12, 5] auth/auth_util.c:debug_nt_user_token(448)
NT user token: (NULL)
[2007/10/10 19:37:12, 5] auth/auth_util.c:debug_unix_user_token(474)
UNIX token of user 0
Primary group is 0 and contains 0 supplementary groups
[2007/10/10 19:37:12, 5] lib/smbldap.c:smbldap_search_ext(1179)
smbldap_search_ext: base => [ou=Groups,dc=yasu3smb,dc=lan,dc=osstech,dc=co,dc=jp"], filter => [(&(objectClass=sambaGroupMapping)(sambaSID=S-1-5-32-545))], scope => [2]
[2007/10/10 19:37:12, 3] smbd/sec_ctx.c:pop_sec_ctx(339)
pop_sec_ctx (0, 0) - sec_ctx_stack_ndx = 0
[2007/10/10 19:37:12, 5] lib/smbldap.c:smbldap_search_ext(1179)
smbldap_search_ext: base => [ou=Groups,dc=yasu3smb,dc=lan,dc=osstech,dc=co,dc=jp"], filter => [(&(|(objectclass=sambaGroupMapping)(sambaGroupType=4))(|(sambaSIDList=S-1-5-21-3113096016-1197468713-2324795320-501)(sambaSIDList=S-1-22-2-514)(sambaSIDList=S-1-1-0)(sambaSIDList=S-1-5-2)(sambaSIDList=S-1-5-32-546)))], scope => [2]
[2007/10/10 19:37:12, 0] smbd/server.c:main(960)
ERROR: failed to setup guest info.
-----------------

次のsmb.confから間違いを探してください...
-----------------
[global]
unix charset = UTF-8
display charset = UTF-8
dos charset = CP932

netbios name = CAROL
workgroup = YASU3SMB
server string = %L (Samba %v @ %h)
dns proxy = yes
wins proxy = yes
guest account=Guest
map to guest = bad user
log level = 5
syslog = 0
log file = /var/log/samba/%m.log
max log size = 5000

security = user
domain logons = Yes
logon path =
logon home =
logon drive =
logon script =

passdb backend = ldapsam:"ldap://localhost"
ldap ssl = no
ldap admin dn = "cn=Manager,dc=yasu3smb,dc=lan,dc=osstech,dc=co,dc=jp"
ldap passwd sync = Yes
ldap delete dn = no

ldap suffix = dc=yasu3smb,dc=lan,dc=osstech,dc=co,dc=jp"
ldap user suffix = ou=Users
ldap group suffix = ou=Groups
ldap machine suffix = ou=Computers

add user script = /usr/sbin/smbldap-useradd -n -m "%u"
delete user script = /usr/sbin/smbldap-userdel -r "%u"
add group script = /usr/sbin/smbldap-groupadd -p "%g"
delete group script = /usr/sbin/smbldap-groupdel "%g"
add user to group script = /usr/sbin/smbldap-groupmod -m "%u" "%g"
delete user from group script = /usr/sbin/smbldap-groupmod -x "%u" "%g"
set primary group script = /usr/sbin/smbldap-usermod -g "%g" "%u"
add machine script = /usr/sbin/smbldap-useradd -w "%u"
... 省略 ...
-----------

うーむ、ドメイン参加できなくて1日悩んでしまった...。


2007年10月10日水曜日

Solaris10(8/07) を PE1950にインストール

気づいたこと

- X Window Systemが7.2
- PERC5/i対応ドライバは含まれていない
- BCM5708対応ドライバは含まれていない

BCM5708のドライバはこちらから入手可能。
http://www.broadcom.com/support/ethernet_nic/netxtremeii.php

LSI Logic製 PERC5/i対応ドライバディスク
http://www.lsi.com/storage_home/products_home/internal_raid/megaraid_sas/megaraid_sas_8888elp/index.html?remote=1&locale=EN

PERC5/iのRAIDボリュームを認識し、インストール可能。
ただしUSBフロッピーからはインストールできないので、PE1950などは、ここの一番最後の手順に従って、ISOイメージを作成して、CD-Rに焼いて利用する必要がある。


2007年10月8日月曜日

今日の1行シェル

システムで利用可能なファイルシステムの容量の統計を求める

Linuxの場合
# df -t ext3 | awk 'BEGIN {fs=0;used=0;free=0} NR>1 {fs+=$2;used+=$3;free+=$4} END {printf "Total:%dGB, Used: %dGB, Free: %dGB\n", fs/(1024*1024),used/(1024*1024),free/(1024*1024)}'
結果
Total:497GB, Used: 308GB, Free: 164GB


FreeBSDの場合
# df -t ufs | awk 'BEGIN {fs=0;used=0;free=0} NR>1 {fs+=$2;used+=$3;free+=$4} END {printf "Total:%dGB, Used: %dGB, Free: %dGB\n", fs/(1024*1024),used/(1024*1024),free/(1024*1024)}'
結果
Total:18GB, Used: 1GB, Free: 16GB

Solaris10の場合
# df -k -F ufs | awk 'BEGIN {fs=0;used=0,free=0} NR>1 {fs+=$2,used+=$3;free+=$4} END {printf "Total:%dGB, Used:%dGB, Free: %dGB\n", fs/(1024*1024),used/(1024*1024),free/(1024*1024)}'
結果
Total:29GB, Used:4GB, Free: 23GB

どれも1行で。BEGIN行は本当は不要ですが...。

SolarisのパーティションID

SolarisのパーティションID 0x82は、LinuxのスワップパーティションのIDと同じだったので、何かと問題になっていたらしいが、いつのまにか、Solaris側がパーティションIDが0xbfでも大丈夫になっているらしい。

やっぱりLinuxの普及に加えて、x86版Solarisの増加でIDが重なると、いろいろ支障が出るからだろうな。

http://docs.sun.com/app/docs/doc/819-0386/fgojw?a=view


2007年9月24日月曜日

Google Apps Education Edition オンラインセミナー

http://googlejapan.blogspot.com/2007/09/google-apps-education-edition.html

最強のパスワードを作る...の連載


http://pc.nikkeibp.co.jp/article/NPC/20070828/280520/

vmstat -s

Linux使って10年ぐらいになるけど、vmstatの-sオプションを初めて知った。

# vmstat -s
125388 total memory
121616 used memory
105004 active memory
3432 inactive memory
3772 free memory
776 buffer memory
42884 swap cache
524280 total swap
92 used swap
524188 free swap
185237 non-nice user cpu ticks
1710 nice user cpu ticks
77584 system cpu ticks
4911999 idle cpu ticks
14583 IO-wait cpu ticks
9918 IRQ cpu ticks
904 softirq cpu ticks
0 stolen cpu ticks
228949 pages paged in
298110 pages paged out
0 pages swapped in
23 pages swapped out
14052768 interrupts
2072332 CPU context switches
1190342519 boot time
4731 forks

まだまだ知らないことがたくさんだ。

数年前に受験したLPIC 1のときにでてきたtacコマンドにも驚愕したけど...。


2007年9月13日木曜日

Solaris10 U4 リリース

Solaris10 8/07版がリリースされた。
http://jp.sun.com/company/Press/release/2007/0912.html


日本語HGフォントがJIS0213:2004対応版になったらしい。
ということは、Linuxよりもいろいろ表示できる文字が増えたのかな。

とりあえずPERC5/i対応ドライバが入っているかどうか調べてみよう。
ただいまダウンロード中。


2007年9月1日土曜日

CentOSの最小構成にPowerChute Network Shutdown Edition

CentOS 4.5を最小構成でインストールすると、X Window環境が入らない。

なので、X Window上でJavaによるインストーラーが起動するPowerChute Network Shutdown Editionをインストールすることができない。
試しにインストーラーを実行してみる。

2007年8月30日木曜日

OpenLDAPにSolaris8から接続

http://www.ypass.net/solaris8/openldap/configuringsolaris.html

このドキュメントが無かったら多分挫折した。
とりあえず成功。
Solaris10とコマンド引数が違うから困った~。


OpenLDAP用 DUAConfigProfile.schema

http://web.singnet.com.sg/~garyttt/

SolarisからOpenLDAPに接続するときのProfileを格納するのに、DUAConfigProfile.schemaが必要。
A. DUAConfigProfile.schema
これを使うことで、OpenLDAP 2.3.32でProfileを格納することができた。


今日の1行シェル

グループID順に、システムで利用できるグループをソート

$ getent group | sort -n -t : -k 3


2007年8月29日水曜日

今日の1行シェル

所属するグループ数でユーザーをソート

$ getent group | cut -f 4 -d: | tr -s "," "\n" | sort | uniq -c | sort

プライマリグループは数に含まれません。あしからず。


2007年8月27日月曜日

壊れたtar.gzファイル...

tarでバックアップするときは圧縮するなと言い聞かされたものですが、壊れてしまったものは仕方がない。
ということで、壊れたtar.gzファイルを何とか復活させてくれるかもしれないツール。
gzrecover
http://www.urbanophile.com/arenn/hacking/gzrt/gzrt.html


2007年8月15日水曜日

2007年8月14日火曜日

SolarisからNTFSを覗く

http://blogs.sun.com/pradhap/entry/mounting_ntfs_partition_in_solaris

Samba4 + GPOを試すLive CD


http://www.extraknowledge.org/xoops/modules/articles/article.php?id=29

pgdump6の備忘録

- Windows XP/Windows 2003 Server
「コントロールパネル」-「日付、時刻、地域と言語のオプション」-「地域と言語のオプション」を選択し、「詳細設定」タブの「Unicode対応でないプログラムの言語」で設定

- Windows 2000/Windows 2000 Server
「コントロールパネル」-「地域のオプション」を選択し、 「全般」タブの「システムの言語設定」で「規定値に設定」をクリックして表示した、「システムロケールの選択」ダイアログボックスで設定


2007年8月9日木曜日

Solaris版パッケージのビルドエラー

rpmベースでSolaris版パッケージを作成したときに、
warning: Installed (but unpackaged) file(s) found:
/depend
/pkginfo
/prototype
のエラーが出てしまうが、パッケージング上は問題なかったので、.rpmmacrosファイルに下記設定を追加して対処。
%_unpackaged_files_terminate_build 0


2007年8月8日水曜日

Sun DS 5.2p5の問題

ひさびさにSun DS 5.2p5のslapdを起動すると、エラーメッセージが。

** ERROR: ** This beta software has expired **

Sun DSって無償で利用できるはずと思い調べてみたところp5用パッチに問題があるようです。
http://forum.java.sun.com/thread.jspa?threadID=5201271

とりあえず検証環境なので、dateコマンドで日付を戻して対処。




Solaris subscription半額キャンペーン

SunがBasicプランを半額で購入できるキャンペーン実施中。
http://jp.sun.com/promotions/solaris_subscription/?cid=81070711

USだとBasic Planが$240/年なので、だいたい28000円~30000円ぐらいかな。
それが半額で15000円前後と想定して、Solarisの全パッチを入手可能になるということは、かなりお得な気がする。

- ZFSでファイルシステムサイズも気にしなくていいし、ディスクの追加も簡単
- DTraceでプロファイルも可能
- BrandZでLinuxバイナリも動作
- コンテナで資源制限 & 仮想化/サービス分離可能
- Sun Java Desktop SystemでStarOffice8付き
- 全アップデートパッケージ取得も14000円/year。

商用Linuxよりはるかにお得な気が...。
とりあえず1本購入しとくべきかな。


2007年7月29日日曜日

Solaris10 u4

Solaris10 u4(08/07)が、来月(2007/08)にリリースされそうだ。
http://blogs.sun.com/virtualization/entry/brandz_available_to_run_linux

Local ZoneでLinuxバイナリがそのまま動くっぽい。
が、環境としてはRHEL3/CentOS3相当のようだ。
今更、RHEL3相当では、び、微妙...。というか、多分使わんかな。
せめて、RHEL4相当なら、話題の仮想化との比較という意味で気になるところなんだが。


2007年7月27日金曜日

RHEL5のupdate SRPMS

RHEL5からアップデートパッケージのSRPMの置き場所が、
ftp://ftp.redhat.com/pub/redhat/linux/enterprise/5Server/os/SRPMS/
にまとめて置かれるように変更されている...。


Free Your Mind

ZFS誕生物語。
http://jp.sun.com/communities/users/0612/feature01.html


2007年7月26日木曜日

SunFreewareパッケージの検索

こんな感じでSMCを検索すると、/usr/localにインストールされたパッケージが検索できる。

$ pkginfo -l | grep SMC
PKGINST: SMCautoc
PKGINST: SMCautom
PKGINST: SMCm4
DESC: This package contains the components integrating WBEM and SMC


Perlの各種設定項目

$ perl -V:[parameter]
で、システムにインストールされているperlの各種パラメータを確認することができる。

指定できるパラメータは、perlがインストールされているディレクトリ配下のConfig.pmに定義されている。
たとえばCentOSなら、
$ find /usr/lib/perl -name Config.pm
で、ファイルの位置を調べることができる。
このファイルに含まれているパラメータを指定して、perlのConfigurationを取得することが可能。

$ perl -V:installvendorman3dir
installvendorman3dir='/usr/share/man/man3'


Solaris10の32bit Kernel設定

いつも忘れるので...

# eeprom boot-file=kernel/unix

http://docs.sun.com/app/docs/doc/819-0378/6n2qdlvqj?a=view

Sun提供のコンパイラ

SunのダウンロードページにあるSun提供のコンパイラがSun Studio 12にアップデートしていた。
http://www.sun.com/download/index.jsp?cat=Application%20Development&tab=3&subcat=Development%20Tools


Sun Studio11をダウンロードしたい場合は、右上の「See Previous Products」をクリック。
http://developers.sun.com/sunstudio/downloads/updates.jsp



Thunderbirdで分割メールを結合

http://www.c-a-m.co.jp/download/join.html

無事結合できたけど、解凍しようとするとエラー発生。
これは送り元の問題か?


2007年7月25日水曜日

Samba LDAP + Windows Terminal Server

SunRayやシンクライアントなどの利用時に、Samba(DC)+LDAP+Windows Terminal Serverで構築した場合、ユーザがWindows Terminal Serverにリモート接続可能にするための手順。

http://www.microsoft.com/technet/prodtechnol/windowsserver2003/ja/library/ServerHelp/95ba28f5-5a17-4b82-a4cc-886945cee95c.mspx?mfr=true


2007年7月24日火曜日

WebDAV用の修正パッチ(for Windows)

http://www.microsoft.com/downloads/details.aspx?FamilyID=17c36612-632e-4c04-9382-987622ed1d64&displaylang=ja

CentOS3 で OpenLDAP 2.3.32をビルド

以下の2つのパッケージがビルドに必要
- Fedora Core2のautoconf-2.59-3.src.rpm
- Fedora Core3のlibtool-1.5.6-4.FC3.2.src.rpm


directoryserverコマンド

Solaris10にSun Java System Directory Serverを、Solarisパッケージではなくtar.gz形式のものをインストールすると、/usr/sbin/directoryserverコマンドが無い。

その代わり、/var/Sun/mps/slapd-[xxxx]/にそれぞれ対応するコマンドが置いてある
# /usr/sbin/directoryserver vlvindex は、vlvindex
# /usr/sbin/directoryserver db2index-task は、db2index.pl


http://docs.sun.com/source/816-6851-10/indexing.html

Windows リモートデスクトップ接続

リモート デスクトップ接続 "このシステムのローカル ポリシーは、このユーザーが対話的にログオンすることを許可していません"

http://support.microsoft.com/?scid=kb;ja;289289&spid=3221&sid=131

2007年7月16日月曜日

Samba4のコンパイル

Samba4のコンパイルが終わらん。これでもう3時だ。
いくらVMwareの上とはいえ、時間かかりすぎじゃなかろうか。
「おまえはLinux Kernelか!」って突っ込みたいわ。
あと異常にI/O負荷が高い。ノートPCでやるんじゃなかった...。

GENERATION OF COMPILED SCRIPTって、何してるんだろう。
また今度調べてみるか。


2007年7月13日金曜日

KURO-BOX/PROでルータ構築

KURO-BOX/PROとGBE-PCIeを組み合わせればルーターができそうだ。
家のPC環境改善のため買ってしまおうかな。


2007年7月12日木曜日

Solaris10のLDAPクライアント設定

http://docs.sun.com/app/docs/doc/819-0382?l=ja&a=load

ついでにSun ONE Directory Serverのドキュメント
5.2だけれども。
http://docs.sun.com/app/docs/coll/S1_DirectoryServer_52_ja?l=ja

Solarisのドキュメントは充実しとるなぁ。


CPUは何でも良い

OSがSolarisならCPUは何でもOKなサーバ by Sun
http://www.itmedia.co.jp/enterprise/articles/0707/11/news081.html


ちなみに弊社はSamba、LDAPを使うならOSは何でもOK by OSSTech。
http://www.osstech.co.jp/product
一応メニュー上はLinuxとSolarisだけですが...。


2007年6月28日木曜日

オープンソースの統合管理ツール(Hinemose)

http://www.hinemos.info/

IPMIと連携できると嬉しいのだが...。

Sun Studio12

http://itpro.nikkeibp.co.jp/article/NEWS/20070605/273501/?ST=oss

Linuxでも動作するということなので、Intelコンパイラとの勝負が面白そうだ。
無料だし、LinuxのコンパイラとしてSun Studio12を使ってみるのも面白そうだ。


2007年6月10日日曜日

Baiduspiderを出入り禁止に

相変わらずメモリ不足に陥って、本サイトのwebサーバが停止するので、
とりあえず異常にアクセス頻度の高いBaiduspiderをrobots.txtで禁止してみた。
しばらく様子を見てみよう...。

まだ駄目だったら、一番最初に殺されるのがmysqldみたいなので、定期的にmysqldをリブートしてみるか...。

2007年5月31日木曜日

RHEL3のRPMデータベースが壊れる?

http://www.redhat.co.jp/support/によると

弊社RHNにて配布しておりますRed Hat Enterprise Linux 3 Update8について、ある特定の期間中に配布されたモジュールを使ってアップデートすると、RPMデータベースに不具合が起こる例が報告されております。
なお、現在配布されているパッケージでアップデートを行っても不具合は発生致しません。

具体的には、RHBA-2006:0320で提供されたpvm-3.4.5-6_EL3による不具合です。
RHBA-2006:0320のリリースからRHBA-2006:0607がリリースされる前(7/26午前中以前)までに、"up2date -u"で全体のアップデートを行ったお客様は、RPMデータベースに不具合が発生している可能性があります。

だそうです。


2007年5月16日水曜日

Samba 3.0.25 + ZFS ACL on Solaris10

samba 3.0.25からVFSレイヤでのACLモジュールサポートが取り込まれた。
3.0.26にはZFS用のACLモジュールも既に取り込まれている。

ただし、configure.inに設定が足りないので、そのままではコンパイルできない。
パッチを付け加えてから
$ ./autogen.sh
でconfigureスクリプトを再作成。
ただSolaris10にはautoconfとかautoheaderとかが入っていなくて、インストールするのも面倒なので、
CentOS上でautogen.shをして誤魔化した。

$ ./configure --with-shared-modules=vfs_zfsacl,vfs_solarisacl
でいけそうな感じ。

--with-acl-supportをつけると、Solaris用のACL機能がstaticリンクされてしまうので、
smbdでのリンク時にエラーが発生する様子。

2007年5月13日日曜日

Sambaのsecurity=shareとsecurity=user

Windowsクライアントから、SMBのNegotiate Protocol Request(0x72)が送られてくると、
SambaはNegotiate Protocol Response(0x72)を返す。

このときにsecurity=userの場合、SMB headerのFlags2は0xc801となり、
Extended Security Negotiationフラグが設定される。
そして、レスポンスのデータの中にNTLMSSP認証用のデータが返される。


一方、security=shareの場合、SMB headerのFlags2は0xc001となり、
Extended Security Negotiationフラグが設定されない。
そのため、Winクライアント側は、続けてNTLMSSP認証用のデータ無しで、Session Setup Request(0x73)を送ってくる。
XPとVistaではこのときに送られてくるパケットの中身が異なっているため、Vistaの場合のみsecurity=shareだと認証がうまくいかないようだ。
XPもVistaも最終的に認証が成功するのは、NTLMv1の認証用パケットが送られてきたときの様子。


Vistaのサスペンド

VMware上で稼動中のWindows Vista。
しばらくほっておくと、自動的にサスペンドしてしまう。
いちいち再開しないといけないので、テスト用には不便だ~。
メモリも512MBも割り当てているので、復帰にも時間がかかってしまう。

アクセスのほとんどがBaidu(百度)のspiderだった...

桁が1つ違うんですけど...。いや確かにrobots.txtは置いてないから、別にいいんですが。

トップ 15 of 202 ユーザエージェント
# Hits ユーザエージェント
1 36169 75.64% Baiduspider+(+http://www.baidu.com/search/spider_jp.html)
2 1850 3.87% Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET
3 1287 2.69% Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.8.1.3) Geck
4 622 1.30% Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.8.0.11) Gec
5 554 1.16% Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1
6 462 0.97% Mozilla/5.0 (X11; U; Linux i686; ja; rv:1.8.0.10) Gecko/20070
7 391 0.82% msnbot/1.0 (+http://search.msn.com/msnbot.htm)
8 335 0.70% Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/
9 332 0.69% Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
10 330 0.69% Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1
11 318 0.67% Bloglines/3.1 (http://www.bloglines.com; 1 subscriber)
12 291 0.61% Mozilla/5.0 (X11; U; Linux i686; ja; rv:1.8.1.3) Gecko/200703
13 243 0.51% Feedfetcher-Google; (+http://www.google.com/feedfetcher.html;
14 233 0.49% Mozilla/2.0 (compatible; Ask Jeeves/Teoma; +http://about.ask.
15 230 0.48% Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.co

2007年5月12日土曜日

Vista to Samba

Windows Vistaは、どうやら74byteのパスワード情報を送ってくるようだ。
しかしながら、今までのWinXPなどは24byteのパスワード情報しか送ってこなかったので、
Sambaも24byteのパスワード情報を仮定して実装されているふしがある。

1日中、パケットダンプを取りながら、Vistaのログオン、ログオフしながら調査した結果だ。
Sambaの調査対象の箇所はだいぶ絞り込めてきたので、もうちょっと調べる必要がありそう。

それにしてもVistaはメモリもディスクも消費が激しい。
今日はとうとうノートPCのディスクが足りなくなって、いろいろ整理するはめになってしまった。


Windowsのパスワードについて

http://www.microsoft.com/japan/technet/community/columns/secmgmt/sm1005.mspx

ためになるお話。

CentOS 4.4 wireshark

CentOS 4.4でパケットダンプを取得するためにwiresharkをインストール

# yum install wireshark

# wireshark & で起動して、パケットをキャプチャしようとしたら/usr/bin/dumpcapが無いと怒られた。

調べたところパッケージのバグっぽい。
http://www.centos.org/modules/newbb/viewtopic.php?viewmode=flat&topic_id=5022&forum=30

# ln -s /usr/sbin/dumpcap /usr/bin/dumpcap
で回避成功。


2007年5月10日木曜日

VMware Workstation 6.0 Release

http://www.vmware.com/support/ws6/doc/releasenotes_ws6.html

リリースノートの中で気になったのは
Workstation 5.5.3 does not support USB for Solaris guests. Workstation 6.0 does support USB for Solaris guests.
これぐらいかな。

あとは特に必要ないから、とりあえず急いでアップグレードする必要はなさそうかな。


2007年5月9日水曜日

FreeBSDの壁紙

http://www.freebsd.org/gnome/screenshots.html

FreeBSDのgnomeのページにあるスクリーンショットの壁紙。
http://people.freebsd.org/~tmclaugh/files/FreeBSD_Logo.jpg

FreeBSD 6.2 で Gnome

FreeBSD6.2をインストールして、普通にstartxするとtwmがウィンドウマネージャーとして立ち上がる。
さすがにそっけないというか、使い慣れないので、
# pkg_add -r gnome2
でgnomeをインストールしはじめたら、かなり多数のパッケージのダウンロードが始まった。

VMware上で動かしているので、インストール直後のディスクイメージのサイズは他のOSに比べると格段に小さかったので、ノートPCのHDDの空きが少なくても気にせず残しておけたけど、Gnomeが入るとかなりファイルサイズが大きくなりそう。

インストールいつ終わるんだろう...。

VMware workstation 5.5.4

Windows Vistaを使うために、VMware Workstation 5.5.4にUpdate。
5.5.2だとguest OSとしてサポートされていないようで、VMware Toolsのインストールができず、
ネットワークカードも認識されなかった。
5.5.4にアップデートしてから、VMware Toolsもインストールでき、無事にネットワークも繋がるようになった。


エンコーディングといえば...

これは役に立つのでブックマークしておこう。
http://blog.miraclelinux.com/asianpen/2007/05/perl_cpan_rpm_7dcd.html

というかCPANのPerlモジュールってrpm化するのは簡単なのか~。今頃知った。
Solaris版パッケージ作るのは面倒だったけど。

2007年5月8日火曜日

CentOS5でsambaパッケージビルド

CentOS5で、samba関連パッケージ一式のビルドを開始。

インストール時に全部のパッケージグループを選択していたので、何の問題も無いだろうとおもっていたらいきなりエラー。rpm-buildパッケージが入っていない。

# yum install rpm-build

で、再挑戦。またエラー。gccが入っていない。

# yum install gcc

libiconvはビルドできたけど、sambaはまだ依存関係が解決できない。
xxx-devel系が全然入っていない。

パッケージマネージャで一覧を見てみると結構入っていないパッケージがある。
PostgreSQLも入ってなかった。

samba.specのBuildRequireに適切なパッケージ名が載っていれば、yum install xxx-develで必要なパッケージを全部インストールできるけど、パッケージ名とか変わっている可能性もあるから、ビルド後にconfigure時のログなどを確認しておいたほうが良さそう。


2007年5月2日水曜日

Samba + ZFS

http://www.edplese.com/samba-with-zfs.html

このサイトに記載されているsnapshotの問題点に関しては、samba-technical MLにパッチが投稿されていた。

http://lists.samba.org/archive/samba-technical/2007-April/053046.html



Solaris10(11/06)でZFSをホームディレクトリに

先のエントリで/export/homeをZFSに変更した。

あとはユーザを作成し、automountの設定を行うのみ。

# useradd -m -d /export/home/yasuma -s /bin/bash yasuma
# passwd yasuma

# vi /etc/auto_home
+auto_home
* localhost:/export/home/& ← これを追加

以上で、一般ユーザ yasuma でログイン可能になる。



Solaris10(11/06) 日本語キーボード設定

# eeprom kbd-type="Japanese(106)"
してから再起動。

って、「=」とか「"」とか「()」とかもUSキーボード配列のままで入力することになるので、
USキーボードに慣れていないと結構苦痛。

USキーボードで
「=」は「-」キーの位置
「"」は「*」キーの位置だったかな?
「( )」は、それぞれ右に一つずつずれている。


ZFSの起動時のマウント処理

ZFSを利用するとき、マウントポイントを設定済みのZFSのプールは、起動時に自動でマウントされる。
なので、/etc/vfstabに明示的に追記する必要がない。

昨日、maintananceモードになってしまったのは、マウントポイントを設定済みのZFSのpoolを
/etc/vfstabにも設定していたからだった。
/etc/vfstabから削除したら問題なく起動できるようになった。

詳細はSunのドキュメントを参照。日本語で説明されているので読みやすい。
http://docs.sun.com/app/docs/doc/819-6260/6n89n6cav?a=view

マウントポイントを設定していない場合は、レガシーマウントモードになるので、/etc/vfstabへの
記載が必要らしい。

わざわざ設定ファイルに設定する必要が無いように設計されているということか。


Solaris10の/export/homeをZFSに変更

Samba + ZFSについて調べるために、まずはSolaris10インストール後の/export/homeをZFSに変更してみた。

まずは、インストール時に設定された/export/homeをumount。

2007年4月21日土曜日

CentOS5

CentOS5のDVDイメージを入手したので、マイノートPCのVMwareにインストール。
ただディスクの空きが無かったので、先日インストールしたSolrais10のvmwareイメージを2.5inchHDDに退避。
今後、こういう作業が増えそうだ。
既にノートPCのディスクの空きが数GBしかない...。

Solaris10に、FreeBSDに、CentOSに...とやっているとディスクがいくらあっても
足りない。
自宅サーバで作業できれば、250GBx2なので全然余裕なんだけどなぁ。
結構、ノートPC上で作業せざるを得ない時があるから難しい。

あとVAIO type TのHDDはたしか1.8inch。現状のMAXサイズのディスクを積んでいるので
増やしようもないしなあ。
8GBぐらいのUSBメモリが一般的になったら、vmwareのイメージをそのメモリ上に
積んでみようかなぁ。I/Oが異常に速いかも?。


2007年4月17日火曜日

再起動

本サイトが数日間不通になっていましたが、サーバ再起動により復活しました。

ログによるとメモリ不足でOOM Killerが発生して様々なサービスが停止してしまったようです。


2007年4月11日水曜日

PowerEdge SC1435にOpenSolarisをインストール

OpenSolaris(nv-b60)をPESC1435にインストールを試みた。
グラフィカルモードのインストールではうまくいかなかったので、
テキストモードインストールを行ったところ、インストールできたみたい。

うまくインストールできているようなので、ようやくOpenSolaris用 PERC5/iドライバディスクも作れるかな。
PESC1435はちょっとうるさいので、IPMIを使ってこまめに停止しよう。
電源ONもリモートからできるはずだし。


FreeBSD 6.2のbgeドライバ

FreeBSD 6.2のbgeドライバはIPMIにうまく対応していない。
そのためPowerEdge860やPowerEdgeSC1435などで、OS起動後に
IPMIによる管理が不可能になってしまう。

で、FreeBSD7.0だときちんと動作するので、ipmiドライバの変更内容を確認してみた。
どうみても、ipmiドライバの修正で対応しているようにはみえない。

次にbgeドライバの修正内容を見てみた。ありました。IPMIサポートの変更が。
ちょっと修正が必要だったけど、FreeBSD6.2のbgeドライバ用のIPMIサポートパッチが
うまくできたっぽい。
PE860では動作した。

きちんとパッチができあがったら会社のdell情報のページにアップします。

2007年4月10日火曜日

FreeBSD currentのソース取得

http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/anoncvs.html
の記述に従って、CVSROOTを設定

$ setenv CVSROOT :pserver:anoncvs@anoncvs.fr.FreeBSD.org:/home/ncvs
$ cvs login
$ cvs co src/sys

でカーネルソース一式を取得。


2007年4月5日木曜日

FreeBSD 7.0(200703) + PE860 ipmitool

Dell PowerEdge860にFreeBSD6.2を入れると、OS起動後はBIOSで割り当てたIPMI用のIPアドレスに対するIPMI操作が効かなくなってしまう。

試しにFreeBSD7.0(200703)を入れてみると、OS起動後もIPMIが正常に動作した。
ということは、カーネルのIPMI周りが改善されているのかな?


2007年4月4日水曜日

OpenSolaris(nv60)インストール

OpenSolarisのnv60のインストールにチャレンジ。
なんとインストーラの要求スペックが、最低768MBのメモリ。
さすがSolaris。伊達じゃない。

テスト用のマシンはそろそろメモリ2GBぐらい積んでないと使い物にならないということか~。


2007年3月31日土曜日

OpenSolarisのDVDイメージをCommand Promptで作成できない

OpenSolarisの最新版をSun Download Managerを使ってWindows上でダウンロードした。
ファイル名は次の通り...
- sol-nv-b60-x86-dvd-iso-a
- sol-nv-b60-x86-dvd-iso-b
- sol-nv-b60-x86-dvd-iso-c
- sol-nv-b60-x86-dvd-iso-d
- sol-nv-b60-x86-dvd-iso-e

で、Sunのダウンロードページの説明を見ると、
After downloading and unzipping segments, follow these instructions: Reconstruct the full DVD image, by using the cat command (UNIX systems) or the COPY command (Windows systems). The correct syntax is: -cat file1 file2 file3 file4 file5 > file.iso or -copy /b file1 + file2 + file3 + file4 + file5 file.iso

ということで Windowsのコマンドプロンプトでcopy /bでDVDイメージを作成しようと思い
F:\ISO>cp /b sol-nv-b60-x86-dvd-iso-a +
と指示の通りに入力していくと、コマンド文字列が長くなりすぎて最後まで入力できなかった...。っていうかコマンド文字列の最大文字数が少なすぎる -> Windows
やっぱりUNIX上で実行しろってことか~。
とりあえず、ファイル名を短くするか。


2007年3月29日木曜日

PE2950のオンボードNIC(BCM5708)をSolaris10で利用

Broadcom(http://www.broadcom.com/support/ethernet_nic/netxtremeii.php)からダウンロードしたドライバディスクに含まれるパッケージを追加するか、ドライバディスクイメージからインストール時に使えるドライバCDを作成する。

以下、Linuxでの作業手順

$ unzip solaris-3.0.0.zip
$ cp Server/solaris/GLDv2/bnxdu.img .
$ mkdir mnt
$ su
# mount -o loop bnxdu.img mnt
# mkdir mnt2
# cp -pr mnt/* mnt2
# mv mnt2/du mnt2/DU
# mkisofs -J -R -V "Sol10bnx" -D -l -o Sol10bnx.iso mnt2

上記手順で作成できたSol10bnx.isoファイルをCD-Rに焼く。

以上の作業を終えたあと、PE2950/PE1950などにSolaris10のインストールを行う。
インストールの選択肢で、5. Update Driver を選び、用意したSol10bnx.isoをDVD-ROMドライブに入れて、bnxドライバのインストールを行う。

インストール後にドライバをインストールしたい場合は、インストール時はネットワークの設定無しでインストールを行う。
Java Desktop Systemにログインして、上記CD-Rをドライブに挿入すると、自動的にマウントされるので、以下のようにしてドライバをインストールする。

# cd /cdrom/SOl10bnx.iso/DU/sol_210/i86pc/Tools/install.sh

以上でbnxドライバがSolaris10にインストールされる。

# /sbin/ifconfig bnx0 plumb
# /sbin/ifconfig bnx0 dhcp
で、DHCPのアドレスがbnx0デバイスに割り当てられる。


2007年3月26日月曜日

VAIO type TでISOイメージファイルを焼く

購入以来初めて、VAIO上でISOイメージファイルをCD-Rに焼きこみしてみた。
どのソフトで焼くのか調べたところ、Roxioとかいうソフトウェアだった。

メニューの「コピー」から「ディスクコピー」で無事焼けた。

Solaris10用ドライバCDイメージ完成か?
とりあえずVMwareにSolaris10をインストールしてみて試してみよう...。

Solaris10 ドライバCDイメージ作成

Solaris10用フロッピードライバディスクイメージの内容を、通常のISO9660形式で作成するだけ。

$ mkisofs -J -r -V "Sol10_mfi" -o osstech_mfi_sol10_20070319.iso /mnt/floppy/



2007年3月21日水曜日

PE2950の内蔵IDE CD-ROMドライブのmount on Solaris10

# mount -F hsfs /devices/pci@0,0/pci-ide@1f,1/ide@0/sd@0,0:a /cdrom

実際には@の前にバックスラッシュとか入るけど。

デバイス名は、dmesgの以下のあたりから判明
Nov 15 22:16:14 unknown genunix: [ID 640982 kern.info] ATAPI device at targ 0, lun 0 lastlun 0x0
Nov 15 22:16:14 unknown genunix: [ID 846691 kern.info] model TEAC CD-ROM CD-224E-N
Nov 15 22:16:14 unknown genunix: [ID 479077 kern.info] ATA/ATAPI-5 supported, majver 0x3c minver 0x0
Nov 15 22:16:16 unknown npe: [ID 236367 kern.info] PCI Express-device: ide@0, ata0
Nov 15 22:16:16 unknown genunix: [ID 936769 kern.info] ata0 is /pci@0,0/pci-ide@1f,1/ide@0
Nov 15 22:16:16 unknown genunix: [ID 935449 kern.info] ATA DMA off: disabled. Control with "atapi-cd-dma-ena
bled" property

Nov 15 22:16:17 unknown scsi: [ID 193665 kern.info] sd130 at ata0: target 0 lun 0
Nov 15 22:16:17 unknown genunix: [ID 936769 kern.info] sd130 is /pci@0,0/pci-ide@1f,1/ide@0/sd@0,0


2007年3月15日木曜日

2007年3月3日土曜日

select() は HP およびカリフォルニア大学バークレイ校で開発されました。

FD_SETSIZEを検索していたらHP-UXのselect(2)のドキュメントに出会った。
やっぱ商用UNIXはドキュメントの内容が充実しているなぁと感心してしまった。

http://docs.hp.com/ja/B2355-60104-05/select.2.html

2007年2月23日金曜日

だ、駄目だインストールできん...

ようやくSolaris10(U3)のダウンロードが完了したので、CentOS上のVMware 5.5.3にインストール開始。

インストーラが開始して、GUI画面まで起動してから、ロケールまで選択して、Solarisインストールコンソールに「システム確認を完了しています...」と表示されてから一向に進む気配が無い。

あれか、やっぱIntel Core2だからだめなのか~。でもU2のときは問題なかったのに~。
素直にAMD64のマシンに入れろというお告げか~。
だいたい「システム確認を完了しています...」って、完了したのか、してないのかどっちや~。
明日の朝まで放置して進んでなかったら、オフィスの別のマシンで試してみるか。

昨日x86-64でインストールしなおしたホストOSのCentOS4.4を、確認のために、またCentOS4.4(x86)で再インストールしたやないか~。で、結局、どっちも変わらなかったというむなしさ。1.5日ぐらいこの件で無駄に使っている気がする。



2007年2月22日木曜日

VMware workstationでSolaris10(64bit)

結局、googleした結果、Intel Core duoでは、64bitカーネルで動作させるには、
Solaris10のUpdate3が必要というオチでした。
http://www.vmware.com/community/thread.jspa?messageID=451682

なので、Solaris10のU3をダウンロードしてきてインストールするしかないようです。


CentOS 4.4用 VIA VT8237A用ドライバディスク

自宅マシンのCentOS4.4を64bit版にアップデートするに伴い、
ドライバディスクが必要になったので作成しました。

作成時のちょっとしたミスで、4度もCentOSをインストールするなんて、素人だぁ~とへこみました。
CentOS4.4用のx86版、x86_64版の両方のドライバが入っています。
http://www.ossexpo.net/~yasuma/download/CentOS4/driverdisk/sata_via-CentOS4_4-drv.img

2007年2月21日水曜日

Solaris10(x86)を64bitカーネル on VMware workstation

我が家のお仕事用PCはCentOS4.4(x86)。
VT対応 EM64Tマシンなので、VMware内では64bit OS、例えばCentOS4.4(x86-64)を動かすことができる。
しかしながら、VMware workstation 6.0 Betaを入れても、Solaris10の64bitカーネルだけはエラーで起動できない。
単にSolaris10を動かしたいだけなら32bitカーネルでも問題無いけれども、開発用に使おうと思うと、64bitカーネルで動作してほしいことが多々ある。

ということで、ホストOSのCentOSを64bit版に入れ替えようと思って思い出した...。
ドライバディスクが要るんだった...。
ということで、VMware上のCentOS4.4(x86-64)で、カーネル再コンパイル。
なかなか終わらない。

明日には入れ替え完了するかな。
無事完了したら、x86-64版用のドライバディスクも公開します~。


2007年1月17日水曜日

OpenLDAPでBDBバックエンドのロック


openldap/slapd/connection.c
connection_read()
-> connection_input()
Operation *op 構造体
slap_op_alloc()でOperation構造体を初期化

back-bdb/init.c
init_module()->
be->be_private=bdb; でバックエンドデータベースを登録

BDBのlock.c __get_lockでLOCK_REGIONでmutexロックを取得し、他スレッドからのロックを排他制御。
__get_lock()の処理が終わると、UNLOCK_REGIONでmutexロックを解放。


2007年1月15日月曜日

OpenLDAPのBDBバックエンド

BDBのロックを行うのは、LOCK_GET()

bdb_cache_entry_db_lock()の中で、BDBのロックを行っている。
BDBのキャッシュを操作する際(add,deleteなど)にBDBのロックをかける。

bdb_cache_lru_add()
... DB_LOCK_WRITEモード、DB_LOCK_NOWAIT

bdb_cache_find_id()
... DB_LOCK_READモード、DB_LOCK_NOWAITなし

bdb_cache_add()
... DB_LOCK_WRITEモード、DB_LOCK_NOWAITなし

bdb_cache_delete_entry()
... DB_LOCK_WRITEモード、DB_LOCK_NOWAIT

DB_LOCK_NOWAITモードのときは、ロック取得に失敗した場合、すぐにDB_LOCK_NOTGRANTEDのエラーが返される。DB_LOCK_NOWAITモードでないときは、ロック取得できるまで待つ。

BDBでのロック取得処理
lock/lock.cの__lock_get()で行われる。

実際は__lock_get_internal()で処理が行われる。

BDBのロックの際にはlockerと呼ばれるロックを誰が実行したかのIDが使われる。
このlockerは、OpenLDAPでbdbのdbをopenした際に、XLOCK_ID()で割り当てられる。
XLOCK_ID()は、BDBの__lock_id()を呼び出しており、新しいlock_idを割り当てるようになっている。