僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。
Jessie + Postfix + そしてMySQLじゃなくてMariaDB。
POPやIMAPなどは次の課題。つまり今のところ受信しかできてない。
まずドメインを仮想化するために、virtual_mailbox_domains。
/etc/passwd にない名前のメールアカウントのためのメールボックスは、
virtual_mailbox_mapsで定義した。
そして、そのメールボックスを読み書きできる「システムユーザ」は
virtual_uid_maps と virtual_gid_mapsにて定義。
今のところドメインはひとつだけ。それ以外は同じテーブルから。
$ grep virtual /etc/postfix/main.cf virtual_mailbox_domains = $VIRTUAL_DOMAIN_NAME virtual_mailbox_base = $MAILBOX_MAILDIR/ virtual_mailbox_maps = mysql:/etc/postfix/mailbox_tbl virtual_uid_maps = mysql:/etc/postfix/uid_tbl virtual_gid_maps = mysql:/etc/postfix/gid_tbl
mysql:と書いた。
今のところMariaDBは互換ということか。
あとjessieには"maria"という、ぜんぜん関係ないパッケージがあるみたい。
$ sudo postconf -m
btree
cidr
environ
fail
hash
internal
memcache
mysql
nis
proxy
regexp
sdbm
socketmap
sqlite
static
tcp
texthash
unix
テーブルはこんな感じ。
MariaDB [mail]> desc $TBL; +---------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+-------------+------+-----+---------+-------+ | uid | varchar(30) | NO | | NULL | | | name | text | YES | | NULL | | | aname | text | YES | | NULL | | | passwd | text | YES | | NULL | | | maildir | text | YES | | NULL | | | gid | varchar(30) | NO | | NULL | | +---------+-------------+------+-----+---------+-------+ MariaDB [mail]> select * from $TBL; +------+-------+-----------+----------+-----------+------+ | uid | name | aname | passwd | maildir | gid | +------+-------+-----------+----------+-----------+------+ | $NUM | $NAME | $VACCOUNT | ******** | $BOXNAME/ | $NUM | | $NUM | $NAME | $VACCOUNT | ******** | $BOXNAME/ | $NUM | +------+-------+-----------+----------+-----------+------+
$VACOUNT@VIRTUAL_MAILBOX_DOMAIN なメールの メールボックスの位置(ローカル配信先、でいいのか?)は、
select maildir from muser where aname='%s'
で引かれ、フルパスでvirtual_mailbox_base の下になる。
anameは@の左側になる、らしい。
書き込み権限はシステムユーザ/グループのIDを検索して認識する。
query = select uid from muser where aname='%s'
今のところnameとpasswordカラムは使ってないはず。
あと、クエリを定義するファイルが増えてきた。もう少し減らせないものか。
rpi-update をpingしながらやってみた。
今度は全部同じRaspberryPi B+。
それにしてもy軸は対数表示になっている。
ファームウェアのダウンロードが始まる前(1-53)の
rttの平均と、その次(54,遅延最大)との差が強烈。
$ awk '{ if(NR>54) { avg+=$2 } if(NR==54) { max=$2 }} END { printf("%6d\n", avg/53); printf("%3d\n", max) }' \ rpi-update_ping.txt 110 604400
長いコマンドが面倒になった。スクリプトを貼っておくか。
#!/usr/bin/env awk {if($1==64) { sub("icmp_seq=","",$6) sub("time=","",$8) print $6,$8 } }
それから返ってこなかったパケットの 隙間詰めも。
BEGIN { serial = 1 } { while (serial < $1) { { print serial, 2000000 } serial += 1 } { print serial, $2 } serial+=1 }
リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。