コンピュータ系/ソフトウェア/NetBSD/building system/システムアップデート

2018-04-16 (月) 15:53:00 (1634d)
  • http://www.netbsd.org/docs/updating.html
  • 以下は旧情報か?
  • mv /etc/mk.conf /etc/mk.conf.pkgsrc
    • pkgsrcでmk.confを使用している場合,名前を変更(ここでもmk.confを使用しようとするから)
  • cd /usr/src
  • ./build.sh -O ../obj -T ../tools -U -u distribution
    • ユーザランドの構築
      • ./build.sh distributionの時間を計測するためには以下のようにする
      • time ./build.sh -O ../obj -T ../tools -U -u distribution
      • 各PCのベンチマークとして使用したりする
  • ./build.sh -O ../obj -T ../tools -U -u kernel=GENERIC
    • カーネルの構築
      • ./build.sh kernelの時間を計測するためには以下のようにする
      • time ./build.sh -O ../obj -T ../tools -U -u kernel=GENERIC
      • 各PCのベンチマークとして使用したりする
  • GENERICは自分のカーネル定義ファイルを使用
    • ここを参考に,自分用のカーネル定義ファイルMYKERNELを作成すると,一度にシステムアップデートとカーネルアップデートが出来てお得
  • cd ../obj/sys/arch/<ARCH>/compile/GENERIC
  • su
  • mv /netbsd /netbsd.old
    • netbsd.old日付-番号などとした方が分かりやすいかも
      • 例:netbsd.old20090620-01(2009年6月20日につくった1個目のバックアップ)
    • 新しいカーネルが安定動作したなら将来的には古い(old)カーネルは削除
  • cp netbsd /netbsd
  • shutdown -r now
    • カーネルのインストール
    • <ARCH>は自分のPCのアーキテクチャ
      • i386, amd64, etc
    • 再起動時に問題が起こったら古いカーネルで起動して修正
      • boot netbsd.old -s
      • fsck /
      • mount /
      • mv netbsd.old netbsd
      • reboot
  • cd /usr/src
  • su
  • ./build.sh -O ../obj -T ../tools -U install=/
    • ユーザランドのインストール
  • /usr/sbin/etcupdate -s /usr/src
    • システムの設定ファイル(/etc)のアップデート
      • 1ファイルごとにアップデート確認が行われる
      • 基本は,i(新しいファイルで上書き)とd(古いファイルを使用)
      • 全てiにした場合は,これまでに設定したもの(rc.confからifconfigなどネットワークの設定まで)ほとんど全てが初期設定に戻ってしまうので再設定が必要.
      • できれば,メッセージを読み,分からないものはiで,自分で設定した記憶があり再設定の必要がないものをdとするように.
      • アップデート確認でm(マージ)をした場合には,特殊エディタ(?)が立ち上がり,違いを{新|旧|それぞれを元に自分で編集}を選択できる.使えるコマンドはpとでも打つとでる.
      • 事前に差分を見たい場合は,etcupdate -al?
      • http://www.area51.gr.jp/~rin/pcmemo/NetBSDkernelmake
    • /usr/sbin/postinstall -s /usr/src -d / fix ****
      • etcupdateをすると最後にエラーメッセージがでて,postinstallを実行するようにと出てくる.その時のメッセージを読んで,****は,fixしてもらいたいものを書いて実行
      • /usr/sbin/postinstall list とやると一覧が出てくる?
  • mv /etc/mk.conf.pkgsrc /etc/mk.conf
    • pkgsrcでmk.confを使用している場合,変更した名前を元にもどしておく
  • システムアップデートに関する参考文献