スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

RHEL4のnet-snmpは5.1系でifHCInOctetsとかifHCOutOctetsとかのCounter64を取得できない件対応

RHEL5の5.3系のSRPMをRHEL4でビルドしようかと思ったけどうまくいかない。

ということで、Fedora Core 4の5.2系を使うことにした。

# rpm -ivh net-snmp-5.2.1.2-fc4.1.src.rpm
# cd /usr/src/redhat/SPECS/
# vi net-snmp.spec

%configureのセクションに

--enable-mfd-rewrites

を追加する。

で、ビルド

# rpmbuild --ba --clean --rmsource --rmspec net-snmp.spec

インストール

# cd /usr/src/redhat/RPMS/x86_64 (環境による。今回はRHEL ES4 update3 x86_64なので)
# rpm -ivh net-snmp-5.2.1.2-fc4.1.x86_64.rpm net-snmp-libs-5.2.1.2-fc4.1.x86_64.rpm (アップデートならオプション-Uvh)

起動

# /etc/init.d/snmpd start

ifHCInOctetsとか取得できるみたい。いい感じ。

ただ、/var/log/messagesに

snmpd[10605]: error parsing '', skipping

みたいなログが大量にはかれ続けている。

システムコールを調べてみると、

open("/proc/net/if_inet6", O_RDONLY) = 17
fstat(17, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2a9a9b7000
read(17, "fe8000000000000002145efffefac5ba"..., 1024) = 378
write(3, "error parsing \'\', skipping\n", 27) = 27
write(2, "error parsing \'\', skipping\n", 27error parsing '', skipping
) = 27
write(3, "error parsing \'\', skipping\n", 27) = 27
write(2, "error parsing \'\', skipping\n", 27error parsing '', skipping
) = 27
write(3, "error parsing \'\', skipping\n", 27) = 27
write(2, "error parsing \'\', skipping\n", 27error parsing '', skipping
) = 27
write(3, "error parsing \'\', skipping\n", 27) = 27
write(2, "error parsing \'\', skipping\n", 27error parsing '', skipping
) = 27
write(3, "error parsing \'\', skipping\n", 27) = 27
write(2, "error parsing \'\', skipping\n", 27error parsing '', skipping
) = 27
write(3, "error parsing \'\', skipping\n", 27) = 27
write(2, "error parsing \'\', skipping\n", 27error parsing '', skipping
) = 27
write(3, "error parsing \'\', skipping\n", 27) = 27
write(2, "error parsing \'\', skipping\n", 27error parsing '', skipping
) = 27
read(17, "", 1024) = 0
close(17) = 0

みたいになってる。/proc/net/if_inet6を読んで、何かエラーになってるっぽい。
IPv6とか使ってないので、net-snmpでIPv6は無効にしたい。

ということで、ビルドし直すことにした。

# /etc/init.d/snmpd stop
# cd DOWNLOAD_DIR
# rpm -ivh net-snmp-5.2.1.2-fc4.1.src.rpm
# cd /usr/src/redhat/SPECS/
# vi net-snmp.spec

%configureのセクションで
--enable-mfd-rewrites ← 追加
--enable-ipv6 ← 削除

# rpmbuild --ba --clean --rmsource --rmspec net-snmp.spec

起動

# /etc/init.d/snmpd start

エラーが出なくなった。

この記事のトラックバックURL

http://ysmt.blog21.fc2.com/tb.php/320-74df27ec

コメント

コメントする

管理者にだけ表示を許可する

Template Designed by DW99

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。