勉強会聴講メモ 【第51回 #FreeBSD 勉強会 FreeBSD 10.3R / 11.0 新機能紹介】 #FreeBSDStudy
第28回 FreeBSD勉強会 FreeBSD 10.3R / 11.0 新機能紹介 を見に行ってきました。
第51回 FreeBSD勉強会
FreeBSD10.3R / 11.0 新機能紹介
- 後藤大地さん
- BSDコンサルティング、FreeBSD commiter
- https://jp.linkedin.com/in/daichigoto
- @daichigoto
FreeBSD 10.3-RELEASE
- 2016/4/4公開
- armのいろんなボード用にイメージが公開された
- 64bit arm用の機能がカーネルにゴリゴリ追加されている
- ルータのベンダーに必要とされている
- Amazon EC2、Google Compute Engine、Hashicorp/Atlas Vagrant
- MS Azuleも。Microsoftが正式にサポートしている。
8月頃リリースの11.0の新機能はほとんどバックポートされている
UEFIブートローダー
- 10.3からはMBR、UEFIのインストーラーが統合された
- ZFSブートがインストーラーで使えるようになった
- UEFIでマルチブート
- いずれMBRブートのコードがなくなる
- 4KセクタのHDDが増えている
- UEFIのリファレンス実装は入ったが、しばらくは起動しないマシンもあるかも
CAMターゲットレイヤ ctl(4)
- CAM (30年前に書かれたSCSIのレイヤ)
- 不揮発性メモリが増えたので今後CAMが高速化される
- 同じディスクを複数用して起動時におかしいディスクを切り離す機能が追加
Linuxバイナリ互換機能
- 64bit対応になった
- epoll() 関数 (FreeBSDのkqueue()と似た関数)に対応した
Windows10のLinuxバイナリ互換も同じ仕組み
- システムコール置き換え、パス書き換え機能など
- POSIX非互換のAPIが必要なTOP、PSはまだ使えない。
- X完全実装
- 性能は出ないがXのアプリがそのまま動く
- OpenSSHをWindowsに移植しているチームにも知らされていなかった極秘プロジェクト
em(4) igb(4) ixgbe(4)
- インテルのネットワークドライバ三種類がバージョンアップ
- skyleke世代のチップセットに対応した
reroot
- 高速再起動機能。今回一番面白い!
- カーネルを読み込んだ後に戻る機能
- reboot -r
- カーネルをロードし直すkloadコマンドを作ったディスクベンダーもあるがcommit1すらされてない。
- メモリ上のカーネルを直接書き直す
bsdinstall(8) root-on-ZFS
- ZFSから起動できる
- PC BSDは以前から出来ていた
AsiaBSDConなどの国際会議で増えている話題
- OpenBSD採用が増えている
- セキュリティに強い
- FreeBSDはどういう方向でアピールすべきか
- FreeBSDはいろんな機能があるけど特徴が乏しい
- ZFS、BeHiveが特徴?
- Freeの名前が悪い?
- 悪魔のロゴが悪い?
cxgbe(4) ixgbe(4) mlx5en(4) sfxge(4)
- 高いNIC用のドライバもバージョンアップ
- エンタープライズ向け
mkimg(1)
- イメージを作るコマンドが入った
- NFFSを作れるようになった
xz(l)
- xz、unxz
- 圧縮率が高くて展開速度が速い
- FreeBSDでよく使われるようになった
- 10.3Rでマルチスレッド対応になった -Tオプション
TexLive
- TexLiveのパッケージがが大幅バージョンアップ
- 今までのLatexが統合されたもの。UNICODE対応。成果物を全部突っ込まれる傾向があり、現在2GBくらいある。
- Texの環境としては整っている
casperd(8)
- capsicum
- リソースの保護モデル
- Capability Mode
- Googleが開発
- ファイルディスクリプタにチケットでアクセス権をつける
ping(8) in capsicum
- pingがCapability Modeに対応
- ヘッダをインクルードしてシステムコールを呼ぶだけCapability Modeに対応
- OpenBSD5.9にもそっくりなAPIが実装されたが既に560位のコマンドが対応している
ps(1) trace
- あるプロセスをモニタリングをしているプロセスを表示出来るように
- DTrace
- FreeBSDはデバッグ機能を強化している
- lldb、カーネルにもAPIを追加している
sh(1) Unicod
- ashで日本語を入れられるようになった
- libeditがUTF8対応になった為
- ロシアのエンジニアがUNICODE周りを開発
- もともとNetBSDのコードをコピペしている
- ソート順などをUNICODEの規定通りできるように実装
- ロシア人からはフィードバックが来るが、日本人からは何も無いので、日本語でうまく動いているか分からないとのこと
RACCT and RCTL
- リソースコントロール
- 11.0からカーネル再構築せずに有効に
- jailでリソースに制限をかけられるようにばる
kern.racct.enable = 1
IMAGECT_BINMISC
- カーネルオプション
- FreeBSDのホストからユーザーモードQEMU(仮想環境)の中のアプリを外から起動できるように
IPSEC
- 11.0から標準でカーネルに入った
pf(4)
- パケットフィルタ
- ハッシュのアルゴリズムが変わって3%速くなった
- 一番早いのはipfw。スケールする。
- 自分も自宅で使っている
full(4)
- /dev/null、/dev/zero、/dev/rundum みたいなもの
- ディスクが満タンと応答するもの
- Linuxと同じもの(今までもあったが名前が変わった)
/usr/lib/debug/boot/kernel/
- カーネルのシンボルファイルを別フォルダに入れるようになった
- デバッガがGNUからllbmのデバッガに代わる
- GPLを外したいという組み込みやからの要望が多い
その他
- 設定ファイルのフォーマットを変える方向に向かっている
- UCLフォーマット
- JSONのようなファイル
- プログラ無から扱いやすい
- 既存の設定ファイルとUCLフォーマットの設定ファイルの読み込みはライブラリで吸収。どちらでも値を取得出来る仕組みが用事されている。
- ドキュメント翻訳体制をGSMLからPO(GetText、ja.po)に変えようとしている
- SGMLは更新状況がわかりにくいので、updateが無視されがちになる
- この会場が使えなくなるかも…
今後の勉強会の予定
- 第52回 FreeBSD勉強会
- FreeBSD翻訳に貢献しよう!基本的なツールの使い方
- 第53回 FreeBSD勉強会
- ZFSマスターベーシックス
- FreeBSDを使ってないけど、ZFSをつかってみたいという人も是非、とのこと
- (自分はUFS、UFS2しか使ってない…)