#topicpath
*河豚板6.5のリリースについて [#z40ee827]
RIGHT:EBUG 第69回会合 ~
2019年5月25日、長岡市与板町 うまみち森林公園 ~
川俣吉広、kaw@on.rim.or.jp
**OpenBSD 6.5 [#o8a81cdd]
[[2019年5月1日リリース>https://www.openbsd.org/65.html]] (実際には4月24日)

***[[What's new>https://www.openbsd.org/65.html]] [#y137b0b1]
主なもの
-デフォルトコンパイラ変更(mips64): GCC → clang

-デフォルトリンカの変更(i386, amd64): GNU binutils ld → lld

-スタックプロテクタRETGUARDの改良

-openrsync(1), rdsetroot(8), unwind(8)の追加

-OpenBGPD, OpenSMTPD, LibreSSL, OpenSSH等の改良

-[[CVE-2018-14665>https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-14665]]対策として、Xorg(Xサーバ)のsetuidビットが落された。そのため、xenodm((OpenBSDのX Window実装Xenocaraで作成された修正版のxdm))の使用が推奨されている。

-etc...

大きな変更はない模様

**河豚板6.5 [#h7b01647]
OpenBSD 6.5をベースにした河豚板6.5を作成し、リリース
-2019年5月2日 - i386, amd64
-2019年5月8日 - arm64

***今回のハマりどころ [#ta09991f]
毎回のリリースでは、[[一定の手順>:河豚板の生成]]に従って作業を行うが、前回リリースからの変更点の影響により手順どおり行えない場合が多ある。
毎回のリリースでは、[[一定の手順>:河豚板の生成]]に従って作業を行うが、OpenBSDが前回リリースから種の変更がなされているため、それらの影響により手順どおり河豚板を作成しても、本来の動作をしない場合が多々ある。

***インストール容量の増大 [#r27dca2c]
amd64でインストール直後のディスク容量が1.2GB → LiveCDの容量(700MB)に収まらない!
-主な原因
--KARL (Kernel Address Randomized Link)用のオブジェクトファイルが大きい
--コンパイラがGCCとLLVMの2つ入っている (LLVMが特に大きい)

-対策
--KARL用オブジェクトファイルを削除 → Live SystemではKARLは意味をなさないため
--プロファイラ用ライブラリ(lib*_p.a)を削除
--動的ライブラリがある場合は静的ライブラリを削除
--ほぼ全ての共有ライブラリ、実行バイナリをstrip

***Xの起動方法変更 [#qe025d10]
OpenBSD 6.5の"What's new"で挙げたように、Xサーバのsetuidビットが落されたため、一般ユーザがstartxやxinitでXのセッションを開始できなくなった。~
河豚板はLive Systemであるため、起動モード0, 1, 2の"Fresh Boot"で使用されることが多い。よって、起動スクリプト/boottmp/rc内にてログイン画面の選択を行うこととした。
 Do you login with Console or X Window System?
 [default: Console] -> 

***ASLRの処理方法変更 [#e43f3bdd]
OpenBSDでは、起動時にASLR (address space layout randomization)という処理が行われ、libc.so.*, libcrypto.so.*, ld.soの3つの共有オブジェクトファイルについてオブジェクトファイルがランダムに配置し直された上でリンクされる。~
OpenBSD 6.5では、ASLRの処理が変更されたため、河豚板の起動時に不具合が生じるようになった。

-FFSがマウントされている場合にのみASLR処理が行われる
--河豚板の起動モード0, 2ではFFSではなくTMPFSがマウントされているためASLR処理が行われない~
→FFSまたはTMPFSがマウントされている場合にASLR処理を行うよう変更

-read onlyでマウントされている場合、mount -uwでread/writeに変更してからASLR処理が行われる
--起動モード1ではCD9660内のイメージファイルをvnconfigを用いてFFSとしてマウントしているためmount -uwしてもファイルの書込みは不可能~
→起動モード1ではASLRを行わないように変更

実際には、変更を行った/etc/rcを直接配置するのではなく、差分ファイル/boottmp/etc.rc.diffを用意しておき、河豚板の初期化時にpatchを適用するようにした。

**ミラーサイト変更・増設 [#u3adc90e]
河豚板の配布を行っているミラーサイトの変更・増設を行った。

***経緯 [#u09a6540]
河豚板6.5のリリース直後にOpenBSD開発者のSolene Rapenne氏から以下のメールを受領
 Subject: FuguIta mirror
 From: Solene Rapenne <solene@openbsd.org>
 To: kaw@on.rim.or.jp
 Date: Fri, 3 May 2019 07:42:36 -0600 (MDT)
 
 Hello,
 
 I could host FuguIta releases as a host, I have a server
 in Europe with high bandwidth. Tell me what you need me to
 do to make the mirror happening :)
河豚板は、ヨーロッパからのダウンロードがかなりの割合を占める(後述)ため、Rapenne氏からのお申し出をありがたく受け、ヨーロッパに河豚板のミラーを増設することとした。

これに併せて、従来より運用していた国内2ヶ所のミラーのURLを変更した。
|CENTER:旧|CENTER:新|CENTER:所在地|CENTER:備考|h
| http://mirror.ginzado.ne.jp/pub/FuguIta/ | https://jp1.dl.fuguita.org/ | 新潟     | サーバ移行+SSL化 |
| http://livecd-mirror.ebug.jp/LiveCD/     | https://jp2.dl.fuguita.org/ | 東京     | CNAME変更        |
|CENTER:-                                  | https://eu.dl.fuguita.org/  | オランダ | 新設             |

***転送方法の変更 ~ [#e0f40e29]
今回新設されたeu.dl.fuguita.orgでは、先方が作成したアカウントはSFTPによるアクセスのみが可能となっていた。~
そのため、SFTPによるミラーリングが可能なFTPクライアントである[[lftp>https://github.com/lavv17/lftp]]を用いてマスターとの同期をとることとした。
 #!/bin/sh
 unset LANG
 set -x
 [ -r $HOME/FuguIta/0_README.txt ] || exit 1
 cd $HOME/FuguIta || exit 1
 lftp -c 'open sftp://srv.ebug.jp/home/fuguita/pub && mirror -Rev'
 lftp -c 'open sftp://perso.pw/pub                 && mirror -Rev'
従来より運用していた国内2ヶ所のミラーは、定期的にミラーからマスターにrsyncで接続し、同期をとっていたが、jp1.dl.fuguita.org (旧mirror.ginzado.ne.jp)については、lftpによる同期に変更した。

以上の体制で5月11日より運用を開始した。

***(参考)ダウンロード統計 (2018/01/01 - 2019/05/10) [#r2b3b6c2]
地域別割合
|CENTER:地域|CENTER:割合(%)|CENTER:備考|h
|LEFT:|RIGHT:|LEFT:|c
|ヨーロッパ  |35.2|ロシアを除く|
|北アメリカ  |31.2||
|アジア      |19.3|ロシアを除く|
|南アメリカ  | 4.2||
|ロシア      | 4.0||
|中央アメリカ| 3.1||
|オセアニア  | 1.4||
|アフリカ    | 0.9||
|中東        | 0.6||

国別・上位30位
|CENTER:順位|CENTER:国名||CENTER:順位|CENTER:国名||CENTER:順位|CENTER:国名|h
|RIGHT:|LEFT:||RIGHT:|LEFT:||RIGHT:|LEFT:|c
| 1|米国     ||11|ポーランド     ||21|フィンランド |
| 2|日本     ||12|オランダ       ||21|ウクライナ   |
| 3|ドイツ   ||13|中国           ||23|アルゼンチン |
| 4|フランス ||14|スペイン       ||23|チェコ       |
| 5|ロシア   ||15|オーストラリア ||23|韓国         |
| 6|カナダ   ||16|ハンガリー     ||23|スウェーデン |
| 7|イタリア ||17|ギリシャ       ||27|スイス       |
| 8|ブラジル ||17|トルコ         ||28|オーストリア |
| 9|英国     ||19|ルーマニア     ||28|インド       |
|10|メキシコ ||20|インドネシア   ||30|ポルトガル   |
----
#topicpath

Front page   Edit Diff History Attach Copy Rename Reload   New Page list Search Recent changes   Help   RSS of recent changes