route53のruby client
自宅のIPアドレスをroute53に登録するために、rubyスクリプトを書いた。
SSLの証明書の検証でエラーが発生し、悩んだが、明示的にCAの証明書を指定して、解消した。
切り分けには、以下を指定して証明書の検証を無効にしたら、上手くいった。
rubyが「定数を書き換えている」旨の表示が出たが、警告メッセージで、代入はできていた。
ほかの人はどうしてうまくいっているのかと思ったら、v1のSDKでは、CAの証明書が同梱されていたらしい。
http://d.hatena.ne.jp/komiyak/20130508/1367993536
http://alligatorswamp.hatenablog.com/entry/2015/04/21/163234
aws-sdk-rubyに証明書がバンドルされていないのか
aws-sdk-v1ではバンドルされていたが、aws-sdk-v2からバンドルしなくなった。
それができたら、Net::HTTPで「ipinfo.io/ip」から、自宅のIPアドレスを取得して、(とりあえず)完成。
http://docs.ruby-lang.org/ja/2.1.0/class/Net=3a=3aHTTP.html#S_GET
自動実行とか、自力でルータからIPアドレス取得は…まだ今度。
zfs diff
zfs diff コマンドで表示されるのは、新しい方の値らしい。
# zfs-diff-long.sh data-a@130829 data-a > zfs-diff.txt # zfs-diff-long.sh -E data-a@130829 > zfs-diff@130829.txt # zfs-diff-long.sh -E data-a > zfs-diff@latest.txt # diff xxx.zip zfs-diff*.txt zfs-diff.txt: 1377796042.173347920 + F 153510 153496 588458531 1 +0 1000 1000 1377796042.173347920 1271246288.000000000 1380034046.692823670 1289647809.332299246 /data/xxx.zip - zfs-diff@130829.txt:1321541261.555379372 + F 153510 153496 588458531 1 +0 1000 1000 1321541261.555379372 1271246288.000000000 1312597694.414690065 1289647809.332299246 /data/xxx.zip - zfs-diff@latest.txt:1377796042.173347920 + F 153510 153496 588458531 1 +0 1000 1000 1377796042.173347920 1271246288.000000000 1380034046.692823670 1289647809.332299246 /data/xxx.zip -
こんなスクリプトで出力。第一引数の方を「-E」にすると、空のsnapshotと比較する指定になって、該当するファイルシステム上のすべてのファイルが出力される。
#! /bin/sh zfs diff -H -tF \ -o object \ -o parent \ -o size \ -o links \ -o linkschange \ -o user \ -o group \ -o ctime \ -o mtime \ -o atime \ -o crtime \ -o name \ -o oldname \ "$1" \ "$2"
アクセス日時の変更でも、zfs diffに出力される。アクセス日時の記録は不要なのでoffにした。
# zfs get atime NAME PROPERTY VALUE SOURCE data-a atime on default # zfs set atime=off data-a # zfs get atime NAME PROPERTY VALUE SOURCE data-a atime off local
NetBSDで Fletsの「サービス情報サイト(旧フレッツ・スクエア)」へ接続する方法
- 前提
- PPPoEの設定
PPPoEの設定を追加する。
# cat /etc/ifconfig.pppoe2 create ! /sbin/ifconfig vr0 up ! /sbin/pppoectl -e vr0 $int ! /sbin/pppoectl $int myauthproto=chap myauthname=guest@flets myauthsecret=guest inet 0.0.0.0 0.0.0.1 netmask 0xffffffff up
- BINDの設定変更
named.confに以下を追加。
(参考:DNSサーバアドレスの一覧|接続方法|サービス情報サイト(IPv4)|フレッツ公式|NTT東日本)
# /etc/named.conf
zone "flets"
{
type forward;
forward only;
forwarders {220.210.194.67; 220.210.194.68;};
};
- ルーティング情報の追加
参考:ルーティングアドレス情報|サービス情報サイト(IPv4)|フレッツ公式|NTT東日本
TODO: PPPoEのインタフェース名で指定する方法があったはず。
route add -inet 220.210.194.0/25 ${pppoe2の相手先IPアドレス}/etc/ppp/ip-up に書く場合。
# /etc/ppp/ip-up route add 220.210.194.0 -netmask 255.255.255.128 $5 route add 220.210.198.0 -netmask 255.255.255.192 $5 route add 123.107.190.160 -netmask 255.255.255.240 $5
- PFの設定
# /etc/pf.conf nat on pppoe2 inet from !(pppoe2) to any -> (pppoe2:0)
自宅のIPv6化
OCN IPv6 の契約はしているものの、L2TPの設定が面倒。乗り換えを検討中。
- フレッツのインターネット(IPv6 PPPoE)接続
- 費用 : どこのISPも無料
- 方法 : PPPoE
- 割り当てアドレス数 : /56
- 回線:フレッツ 光ネクストが必要。(自宅はBフレッツ・マンションのため不可)
- IIJ mioの場合 インターネット(IPv6 PPPoE)接続について
- - フレッツのインターネット(IPv6 IPoE)接続
- 回線:フレッツ 光ネクストが必要。
- IIJの場合 mio FiberAccess/NF
IIJ mio についてはIPv6接続ラインアップが分かりやすい。
NetBSDでAFTなHDDを使用する場合の注意点
普通にインストールすると、従来どおり512byte/sectorでフォーマットされてしまうので、disklabelとnewfsする時に注意が必要。
- disklabel
- パーティションの先頭を4Kbyte境界に合わせる。デフォルトだと63sectorから始まるので、64sectorに変更した。
- newfs
- フラグメントサイズを4Kbyteにする。ブロックサイズの8分の1にするのが定番らしいので、ブロックサイズを32768byte、フラグメントサイズを4096byteに変更した。
NetBSD 5.1.2 + HTS727575A9E364
| 設定内容 | softdep | tar -jxf pkgsrc.tar.bz2 | rm -r pkgsrc/ |
|---|---|---|---|
| 上記設定 | ON | 1m52s | 0m17s |
| 上記設定 | OFF | 6m43s | 1m52s |
| フラグメントサイズが2048byte(デフォルト)にした場合 | ON | 18m58 | 3m4s |
| パーティション境界を63byte(デフォルト)にした場合 | ON | 21m49s | 7m9s |
disklabelの例
デフォルト # size offset fstype [fsize bsize cpg/sgs] a: 1448106912 63 4.2BSD 2048 16384 0 # (Cyl. 0*- 1436614*) b: 263088 1448106975 swap # (Cyl. 1436614*- 1436875*) c: 1465149105 63 unused 0 0 # (Cyl. 0*- 1453520) d: 1465149168 0 unused 0 0 # (Cyl. 0 - 1453520) e: 16779105 1448370063 4.2BSD 2048 16384 0 # (Cyl. 1436875*- 1453520) 変更後 e: 16779104 1448370064 4.2BSD 4096 32768 0 # (Cyl. 1436875*- 1453520)
newfsの例。-Sオプションでセクタサイズを4096と指定してしまうと、mountできるけど、lsするとBad File descripterエラーになるという変な状態になるので注意。
newfs -b 32768 -f 4096 wd0e
ディスク増設でデバイス番号がずれて起動しない場合
度々あるのでメモ。
ディスクを増設したら、起動ディスクが /dev/wd0a から /dev/wd1a になってしまった場合。
- シングルユーザモードで起動
boot中に何かキーを押下して、bootプロンプトが表示されたら 「boot -s」。
- root device が read-only でmountされているので、書き込めるようにする。いつも「-u」オプションが思い出せず、別の端末で調べる羽目に。
# mount -u -w /dev/wd1a /
- fstab を編集。
# export TERM=vt100
# vi /etc/fstab
【前】/dev/wd0a / ffs/ wf 1 1
【後】/dev/wd1a / ffs/ wf 1 1
- exitすれば /etc/rc が実行されて通常通り起動する。再起動してもいいけど。
# exit
Dual Processorのalphaが起動しない
ヤフオクで21264を2個積んだalphaを落札したのですが、
NetBSD 5.0.2が起動しません。
probe(esiop0:0:0:0): request sense for a request sense ?
probe(esiop0:0:0:0): request sense failed with error 22
probe(esiop0:0:0:0): generic HBA error
SCSIカードを差し替えたり、GENERIC.MPカーネルで起動してみたりしたのですが、
どうにもならないので、ぐぐって見たところ、よく似たのprがありました。
メモリを減らしたら動いたとか、uvmとか書いてあるのですが、
せっかくの2Gメモリを減らすのは癪だし、どうしたもんか。
http://www.netbsd.org/cgi-bin/query-pr-single.pl?number=32717
http://www.netbsd.org/cgi-bin/query-pr-single.pl?number=40604