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