net-snmp インストール ・ 起動

■net-snmp インストール
yumとtarボールからの2通り。

1.yum でインストール
# yum install net-snmp
# yum install net-snmp-utils
# yum install net-snmp-devel
# yum install net-snmp-libs

2.ソースコードからmakeしてインストール
tar.gz を展開
以下コマンドでインストール
# ./configure
# make
# make install
どれかは $(ユーザ)で実行かも。

■起動
1.Cent OS 6
# systemctl start snmpd

2.Cent OS 5
# /etc/init.d/snmpd start

Samba / CentOS 7

CentOS 7 にSamba をインストールしたときのメモ。

CentOS 6(5?) と同じ smb.conf でも
うまくいかなかった。

原因は2点。
1.iptables の後継(?)の firewalld の設定 もれ
2.SELinux の設定 もれ。

CetnOS 6(5?) でも同様、iptables , SELinux の設定が抜けてたり
間違ってたりするとWindowsから CentOSにアクセスできなかった。
CentOS 7 でも同様、 firewalld 、SELinuxの設定は必要、という話。

切り分けは両方ともoffにしたらアクセスできたので気づいたという話。
https://orebibou.com/2014/12/centos7%E3%81%ABsamba%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB/
http://park1.wakwak.com/~ima/centos4_selinux0001.html

net-snmp メモ

snmptrapコマンド

version 1
書式
snmptrap -v 1 [COMMON OPTIONS] AGENT enterprise-oid agent generic-trap specific-trap uptime [OID TYPEVALUE]...

例(manコマンド)
snmptrap -v 1 -c public manager enterprises.spider test-hub 3 0 '' interfaces.iftable.ifentry.ifindex.1

例(localhostのエージェント から 192.168.252.1のマネージャ に送る)
snmptrap -v 1 -c public 192.168.252.1 1.3.6.1.4.1.3.1.1 localhost 6 11002 '' 1.1.1 i 2 1.1.2 i 100

注意)
①enterprise-oidは適当な値を入れてしまうとエラーが返る。
例ではmanコマンドに書いてた値の1.3.6.1.4.1.3.1.1を設定。
varbind の OIDは適当でもいいのか?
②AGENT は送信先IPアドレス(ホスト名)なので MANAGERが正しい(たぶん)。
③agent はTrap の agent-addr に設定される値のようす。

超久しぶりに更新です。
はてなブックマークを眺めていると unity とかいうモノを適用した
案件で炎上という記事を見つけました。
昔、struts や、ruby on rails が出たてのころも、そんなような話がありました。
その頃と比べて今回は、どの程度 炎上しているか興味があったので
google検索してみました。
結果は次のとおり。


検索日時 2014/05/03 01:00 ごろ
キーワード:件数
「unity 炎上」:約 82,900 件 (0.36 秒)
ruby on rails 炎上」:約 15,600 件 (0.24 秒)
seasar2 炎上」:約 47,400 件 (0.29 秒)
jquery 炎上」:約 46,900 件 (0.33 秒)


rails と比べて 約5倍の結果となりました。
今でも使われているjquery と比べても約2倍のようですし、なかなかの炎上具合かもしれません。
※件数が多い=それだけ案件が炎上している、が成り立つ分けではないですが。。。

OSSリンク一覧

組み込みWebに使えそうなOSS一覧。

全部C言語です。
※make install、x86系CPU/CentOS上でのサンプルプログラムによる動作までは確認済。

RDBMS

  • sqlite SQLite Home Page
    • インプロセス型RDBMS
    • 自力で実装すると大変そうなトランザクション/トリガ/インデックス機能有り。
    • ストアドプロシージャは機能有無不明。
    • サンプルプログラム作成後の所感
      • 簡単なsql文なら snprintf使えば生成できるので以外と簡単。
      • 複数プロセスから読み書きしたい場合はセマフォでロックする必要有りかも。

jsonライブラリ

  • json JSON
  • jansson Jansson — C library for working with JSON data
    • JSON文字列をエンコード&デコードできるCライブラリ。
    • サンプルプログラム作成後の所感
      • サンプル作成にあたり、日本語のサンプルがないかと探したが殆どなかった。なので公式のページのAPIリファレンスを読みながら作成。自分の英語力が乏しいので読解に苦労した。google翻訳万歳。
      • リファレンスカウンタの開放についての作法が良く分からずじまい。作法が分かるまで常駐プロセスに使うのはメモリリークするので危険かも。
      • GNU準拠という訳じゃないからか、errno を返してくれないのでエラー時の原因調査は難しそう。

ハッシュテーブル

  • hcreate Man page of HSEARCH
    • ハッシュテーブルを作成するライブラリ
    • 配列の要素をO(1)オーダで見つけたいといったときに使う。
    • サンプルプログラム作成後の所感
      • キーと値をハッシュテーブルに入れた後は、てっきりハッシュテーブル内で新たに確保されるかと思ってたら、ポインタだけ保存しているみたいで、キーの文字列(ポインタ)の中身を変えたら、h_search() が意図通り動作せず。キー文字は個別に確保、管理するようにすること。