ld を壊したら Invalid bfd target のエラーが2017年08月04日 14時58分58秒

不慮の電源断で、ファイルが破損したようだ。そのため、buildworld で ld がエラーを起こした。
/usr/bin/ld: can't set BFD default target to `i386-unknownfreebsd': Invalid bfd target
と止まってしまった。

他にも

make[2]: "/usr/src/share/mk/bsd.linker.mk" line 47: warning: Unable to determine linker type from LD=ld
make[2]: "/usr/src/share/mk/bsd.linker.mk" line 56: warning: Unknown linker from LD=ld: none, defaulting to bfd
とも出ていたので、mk ファイルがおかしいのかと最初は思った。ld--version を試すと、Invalid bfd target と出たので、ld 自体が壊れていると判断し、/usr/obj 以下の ld と bfd に関連しそうなものを削除。gnu やら usr.bin 以下に幾つかあった。

その後は、問題が解消したようで、エラーも出なくなった。

ニューヨークがさらに寒い2017年08月07日 12時30分08秒

先週は少し肌寒いと思っていたが、月曜日は特に寒かった。日曜日の早朝に雨が降り、冷えていた。月曜日の九時ぐらいから雨が降り始め、十時には土砂ぶり。一日中強めの雨が降っていた。寒くて、長袖長ズボン。窓も寒いため閉めた。気温は華氏 70 度で、およそ、摂氏二十度。

今年の夏は、全体的に気温が低め。

買ってから初めてのパンク2017年08月09日 12時43分25秒

Sirrus Sportを購入してから初めてのパンク。

最初はゴムが劣化したのかと思ったのだが、タイヤを外して見ると、チューブに穴が空いていた。修理の時にタイヤの内側を目視して、針が刺さっていないのを点検したが、十分では無かったため、交換してすぐのチューブにまた穴が空いてしまった。

そこで、もう一度交換し直した。今度はタイヤの接地面をくまなく調べた。そうすると、結構長い針が二本も出てきた。折角だったので、一回り調べてみると、細かいガラスの破片も結構出てきた。

今度からは、もっとしっかりと刺抜きをしなければ。

uma_zone_reserve_kva を調査2017年08月10日 13時41分59秒

uma_zone_reserve_kva で割り当てたメモリはどのように解放すれば興味があって、調べている。
keg = zone_first_keg(zone);
...
kva = kva_alloc((vm_size_t)pages * PAGE_SIZE);
uma_zone_reserve_kva は kva_alloc を呼んでいる。

FreeBSD に openssh SA2017年08月11日 13時20分17秒

FreeBSD-SA-17:06.opensshの Security Advisory が出ている。対象は、サポートされている全てのバージョン。ssh/ssl 関連は久しぶり。問題点は、パスワードの長さの点検をしていなかったらしい。

パッチを当てずに回避をするには /etc/ssh/sshd_config の PasswordAuthentication を無効化して、sshd を再起動すればよい。

zfs send -R を受け取るのは zfs receive -d が良さそうだ2017年08月14日 12時23分46秒

ZFS に保存している写真のファイルシステムをバックアップすることにした。
zfs list -t all
...
zfs/pict                 304G  92.4G   301G  /mnt/zfs/pict
zfs/pict@2017_02_26     1.15G      -   283G  -
zfs/pict@2017_07_05     1.36G      -   299G  -
zfs/pict@2017_08_13     11.6K      -   301G  -
ファイルに間違って重複があり、差分のみをファイルから取り除いた。そのため、スナップショットに元の巨大な重複ファイルが野持ってしまったので、昨年までのスナップショットを消した。そのため、スナップショットの数は少ない。差分で複製するとなると、スナップショットが少ないと、不便だ。

スナップショット名を指定した形で試したら失敗した。

$ zfs send -R zfs/pict@2017_08_13 | zfs receive bkup/camera@2017_08_13

 cannot receive: cannot specify snapshot name for multi-snapshot stream
 warning: cannot send 'zfs/pict@2017_02_26': Broken pipe
 warning: cannot send 'zfs/pict@2017_07_05': Broken pipe
 warning: cannot send 'zfs/pict@2017_08_13': Broken pipe
そこで、receive の -d オプションを利用。
$ zfs send -R zfs/pict@2017_08_13 | zfs receive -d -v bkup/camera
これで、無事に複製できたようだ。send と receive を同時に行う場合は、receive 側に -v を付けた方が見やすくエラーも分かりやすい。