CONTENTS


Lastmodified 2015-10-16 (金) 10:45:01


FreeBSD-11-CURRENT-amd64 を追いかける

【参考URL】https://www.freebsd.org/doc/ja/books/handbook/svn.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 は空なので、

# svn checkout https://svn.FreeBSD.org/base/head /usr/src

更新

# svn update /usr/src

world の再構築

# 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
# 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 -j8 installkernel
kldxref /boot/kernel
23.841u 37.255s 0:37.69 162.0%  2208+222k 77403+11159io 327pf+0w

シングルユーザモードに移行

# 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の更新(マイナーバージョンアップの場合)

【参考】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が遅いと考える人々への注釈

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 3861:本日 1:昨日 0

Counter: 3861, today: 1, yesterday: 0

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS