落ち着くんだ・・・『素数』を数えて落ち着くんだ・・・
#!/usr/bin/ruby res=[2] (3..100).each do |v| res.each do |r| if v%r == 0 break else if res[-1] == r res << v break end end end end puts res.join(" ")
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
Androidアプリ
今年はAndroidアプリをいくつかつくりました
send_arp コマンドでGratuitous arp
send_arp コマンドでGratuitous arpができるようです。
ロードバランサのVIP変更の時に明示的にコマンドが打てます。
send_arpはfakeというパッケージに入ってます。
srpmからインストール
wget http://dag.wieers.com/rpm/packages/fake/fake-1.1.8-1.dag.src.rpm
64ビットに入れる時はspecファイルをちょっといじる
49c49< /usr/lib/heartbeat/fake
- -
> %{_libdir}/heartbeat/fake
send_arp ${virtual_ip} ${macaddress} 255.255.255.255 ffffffffffff
これでブロードキャストされてるのかな?
MySQLのステータスをsnmpで取って、cactiでグラフ化
まずsnmpd.confにextendで独自の値をとるように設定 (エージェントでたたいてもらうスクリプトを設定しておく)
extend mysqlstatus /usr/local/libexec/mysql_status.sh
mysql_status.shはこんな感じで
#!/bin/bash
echo "show status" | mysql -u root -h localhost | grep Max_used_connections | awk '{print $2}'
snmpwalkでcactiに設定するOIDを調べる
sudo snmpwalk -On -c public -v 1 localhost NET-SNMP-EXTEND-MIB::nsExtendOutLine
.1.3.6.1.4.1.8072.1.3.2.4.1.2.11.109.121.115.113.108.115.116.97.116.117.115.1 = STRING: 1
この数字がOID階層になっています。でこのSTRING:の後の1をcactiで拾ってもらいます。
はまったところ
はじめは
でこれで取れた値を設定してたんですがグラフに反映されなくて、よくよく調べたらOIDは階層になっていてこれだけだと
NET-SNMP-EXTEND-MIB::nsExtendOutLineのトップクラスを指してるだけでした。
これ以下の階層は配列みたいになっているようです。
NET-SNMP-EXTEND-MIB::nsExtendOutLineの1個目の値みたいな考え方。
emacs TRAMPってちょっと便利
emacs trampを使ってみました。
emacs上で遠隔ファイル操作ができるというもの。 そんなのサーバに入っていじればいいんでない?っておもっていたんですが、 どこでもemacs入れれる訳じゃないし、ちょっと使いたいとき入れておくと便利
tramp*.elをsite-lispにいれて .emacs に (require 'tramp)を追加 私はこの1行しか書きませんでした。 で Ctrl+x Ctrl+f /ssh:user@server:/tmp/hoge.txt
みたいな感じで使えます、ちょっと便利
自分でビルドしてもrpmで管理したい
まずcheckinstallをいれる #tar zxvf checkinstall-1.6.1.tgz #cd checkinstall #make #make install
せっかくなのでcheckinstall自体もrpmで管理する
なんか権限がなかったので #chmod a+x /usr/local/sbin/checkinstall RPMをつくりたいので -R #checkinstall -R ...なんかきかれるのでそのままEnter /usr/src/redhat/RPMS/i386/checkinstall-1.6.1-1.i386.rpm ここにできる #rpm -ivh --nomd5 checkinstall-1.6.1-1.i386.rpm で上書きされてるはず --nomd5 はなぜかチェックサムのエラーがでるのでチェックしないようにしてます。。。 #rpm -rebuilddb #rpm -aq | grep checkinstall checkinstall-1.6.1-1 を確認
linux de iTunesサーバ
linuxはFC6 mt-daapd をもってくる tar zxvf mt-daapd-0.2.4.1.tar.gz cd mt-daapd-0.2.4.1 ./configure なんか id3tag.h が無いよって怒られるので 調査 yum provides id3tag.h で libid3tag-devel.i386 0.15.1b-3.fc6 extras Matched from: /usr/include/id3tag.h なんて言われるので yum install libid3tag* おわったらもう一度 ./configure make make install 設定ファイルをコピー cp contrib/mt-daapd.conf /etc/ /usr/local/sbin/mt-daapd で起動 http://serverhost:3689 でブラウザから設定もできます。