CONTENTS #contents ---- Lastmodified &lastmod; ---- *FreeBSD-11-CURRENT-amd64 を追いかける [#q460c45c] 【参考URL】https://www.freebsd.org/doc/ja/books/handbook/svn.html https://www.freebsd.org/doc/ja/books/handbook/makeworld.html 17.6. world の再構築 https://www.freebsd.org/doc/ja/books/handbook/makeworld.html 535 8:48 portinstall security/ca_root_nss 536 8:49 portinstall devel/subversion 537 8:50 portupgrade ports-mgmt/pkg 538 9:12 pkg2ng USBインストールで、/usr/src は空なので、CURRENT だと # svn checkout https://svn.FreeBSD.org/base/head /usr/src RELEASE は、 http://uyota.asablo.jp/blog/2014/05/02/7299923 # svn checkout https://svn0.us-east.freebsd.org/base/releng/10.1 /usr/src 'https://svn.freebsd.org:443' のサーバ証明書の認証中にエラーが発生しました: - 証明書は信頼のおける機関が発行したものではありません。証明書を手動で認証 するためにフィンガープリントを用いてください! 証明書情報: - ホスト名: svn.freebsd.org - 有効範囲: Jun 22 00:00:00 2015 GMT から Jun 22 23:59:59 2016 GMT まで - 発行者: Gandi, Paris, Paris, FR - フィンガープリント: E9:37:73:80:B5:32:1B:93:92:94:98:17:59:F0:FA:A2:5F:1E:DE:B9 拒否しますか (R)、一時的に承認しますか (t)、常に承認しますか (p)? 更新 # svn update /usr/src **world の再構築 [#pe47dd3c] # script /var/tmp/mw.out Script started, output file is /var/tmp/mw.out # chflags -R noschg /usr/obj/* # rm -rf /usr/obj # cd /usr/src # time make -j8 buildworld -------------------------------------------------------------- >>> World build completed on Sun Sep 27 14:39:06 JST 2015 -------------------------------------------------------------- 16267.497u 1934.473s 2:35:38.43 194.9% 42806+505k 715755+2298553io 56720pf+0w -------------------------------------------------------------- >>> World build completed on Tue Sep 29 18:09:52 JST 2015 -------------------------------------------------------------- 7729.216u 831.400s 1:15:20.59 189.3% 29799+499k 36099+41165io 19945pf+0w **kernelの構築 [#k7b4ad25] # time make -j8 buildkernel -------------------------------------------------------------- >>> Kernel build for GENERIC completed on Sun Sep 27 15:11:57 JST 2015 -------------------------------------------------------------- 2981.439u 515.660s 30:29.36 191.1% 37297+410k 432548+2594392io 35403pf+0w ***time make -j4 buildkernel [#f3f3176f] -------------------------------------------------------------- >>> Kernel build for GENERIC completed on Wed Sep 30 06:37:00 JST 2015 -------------------------------------------------------------- 1199.591u 158.984s 12:34.63 180.0% 26570+428k 11263+25808io 9776pf+0w ***time make -j8 buildkernel [#mc1c76e3] -------------------------------------------------------------- >>> Kernel build for GENERIC completed on Tue Sep 29 18:33:30 JST 2015 -------------------------------------------------------------- 1227.950u 161.211s 12:26.02 186.2% 26678+429k 9457+22986io 9761pf+0w ***time make -j16 buildkernel [#b0637a82] -------------------------------------------------------------- >>> Kernel build for GENERIC completed on Tue Sep 29 18:51:44 JST 2015 -------------------------------------------------------------- 1250.267u 153.955s 12:33.98 186.2% 26985+432k 8855+32482io 7209pf+0w ***time make -j32buildkernel [#mb49c3ba] -------------------------------------------------------------- >>> Kernel build for GENERIC completed on Tue Sep 29 19:05:08 JST 2015 -------------------------------------------------------------- 1243.831u 155.605s 12:36.11 185.0% 26908+431k 10941+34261io 6361pf+0w # time make -j8 installkernel kldxref /boot/kernel 23.841u 37.255s 0:37.69 162.0% 2208+222k 77403+11159io 327pf+0w kldxref /boot/kernel 16.856u 50.892s 0:40.98 165.3% 3134+218k 77872+11304io 482pf+0w cat: hardcopy: No such file or directory Null message body; hope that's ok シングルユーザモードに移行 # shutdown now UFS でフォーマットされているシステムでは # mount -u / # mount -a -t ufs # swapon -a ZFS でフォーマットされている場合には、 以下の 2 つのコマンドを実行してください。 この例では、zpool の名前は zroot であると仮定します。 # zfs set readonly=off zroot # zfs mount -a # kbdmap # adjkerntz -i http://d.hatena.ne.jp/flageo/20081208/p1 mergemaster -UPi # mergemaster -iF /usr/obj にある新しい world およびシステムのバイナリをインストール # cd /usr/src # make -j8 installworld 残りの設定ファイルをアップデートし # mergemaster -p http://d.hatena.ne.jp/flageo/20081208/p1 # make -j8 delete-old # reboot 古いライブラリを削除する前に、 「ports のアップグレード」 に書かれている手順にしたがって、 すべての ports を再構築する必要があります。 # make delete-old-libs FreeBSD 11.0-CURRENT #0 r287930 **FreeBSDの更新(マイナーバージョンアップの場合) [#cf0e9e9c] 【参考】http://web.db.tokushima-u.ac.jp/edb-manual/os-admin.html # cd /usr/src /usr/src# make update (/usr/src/UPDATINGの内容を読む.特に留意すべき点がない場合には以下のようにすれば良い.) /usr/src# make buildworld >& buildworld.log /usr/src# make buildkernel >& buildkernel.log /usr/src# make installkernel /usr/src# shutdown -r now /usr/src# mergemaster -p /usr/src# make installworld /usr/src# mergemaster -F /usr/src# shutdown -r now ***FreeBSD-10.xが遅いと考える人々への注釈 [#aa82d1e5] http://freebsd-info.hateblo.jp/entry/2012/11/23/FreeBSD-CURRENT_%E3%82%92%E5%B0%8E%E5%85%A5%E3%81%97%E3%81%A6%E3%81%BF%E3%81%9F_(3)_%E6%9C%80%E6%96%B0%E7%8A%B6%E6%85%8B%E3%81%AB%E6%9B%B4%E6%96%B0%E3%81%97%E3%81%A6%E3%81%BF%E3%81%9F FreeBSD-10.xではとてもたくさんのデバッグ機能がカーネルとユーザランド双方で、有効化されています。 これらの機能はシステムの基本要素の不正な使用の検出や、正当性チェックや不正停止でのうるさい警告を補助するために設けられています。 これらは一方でシステムのパフォーマンスに多大な影響を与えます。もしシステムの性能計測を行う、ベンチマークする、最適化するといった場合には、 これらを無効化した くなるでしょう。 これらは様々な-WITNESS系カーネルオプション、INVARIANTS、ユーザ ランドのmallocデバッグフラグ、そしてカーネルの様々な冗長メッセージ出 力機能が含 まれます。多くの開発者は最高のパフォーマンスを得るために、ビルド時にこれらの機 能を無効しています。 (完全にmallocのデバッグ機能を無効化するには/etc/make.confでMALLOC_PRODUCTIONを 定義します。 あるいはほとんどの重いデバッグ機能を無効にするには ln -s 'abort:false,junk:false' /etc/malloc.confを実行します。) そこで、以下の行をmake.confの末尾に加えます。 *2 # disable malloc debug features MALLOC_PRODUCTION="YES" 以上の書き変えを終えたならば保存終了します。 ---- Total access &counter(total);:本日 &counter(today);:昨日 &counter(yesterday); #counter([total|today|yesterday]);