#counter([total|today|yesterday]);
RIGHT:&lastmod;更新
----
Contents
#contents
----
*6.3R p* -> 7.1R [#g6181c86]
**まずは、cronでのソースの自動更新を#して停止する。 [#x5093cf9]
vi /etc/crontab
 #30	3	*	*	*	root	/root/CVSUP/6_3/cvsup-releng_6_3.sh


**freebsd-update -r 7.1-RELEASE upgrade [#de88cb81]
 #freebsd-update -r 7.1-RELEASE upgrade
      :        :
      :        :
 Does this look reasonable (y/n)? y
で取ってきて、
 Fetching metadata signature for 7.1-RELEASE from update2.FreeBSD.org... done.
 Fetching metadata index... done.
 Fetching 1 metadata patches. done.
 Applying metadata patches... done.
 Fetching 1 metadata files... done.
 Inspecting system... done.
 Fetching files from 6.3-RELEASE for merging... done.
 Preparing to download files... done.
 Fetching 34455 patches.....10....20....30....40....50....60....70....80....90....100....
 110....120....130....140....150....160....170....180....190....200....
 210....220....230....240....250....260....270....280....290....300....
     :    :    :
 Applying patches... done.
 Fetching 9255 files...
 
 Attempting to automatically merge changes in files... done.
 
 The following file could not be merged automatically: /etc/hosts.allow
 Press Enter to edit this file in /usr/bin/vi and resolve the conflicts
 manually...
**設定ファイルのマージ [#l74a167c]
設定ファイルのマージについて聞いてくるので適当に設定する。手動で差分編集が必要なファイルを最初にいくつか調整する必要がある。>>>>等が残っていると再起動でエラーが出ることがあるので要注意。
**freebsd-update install [#y98d5f88]
 prime# freebsd-update install
でインストール。
 Installing updates...
 Kernel updates have been installed.  Please reboot and run
 "/usr/sbin/freebsd-update install" again to finish installing updates.
 prime#reboot
**reboot [#tbab2c5e]
リブートしてカーネルを入れ替え 
 FreeBSD prime.smb.net 7.1-RELEASE FreeBSD 7.1-RELEASE #0: Thu Jan  1 14:37:25 UTC 2009
      root@logan.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  i386
**freebsd-update install [#ld0fbdec]
 prime# freebsd-update install
 Installing updates...
で、ユーザランドのライブラリなどがインストールされる。
 Completing this upgrade requires removing old shared object files.
 Please rebuild all installed 3rd party software (e.g., programs
 installed from the ports tree) and then run "/usr/sbin/freebsd-update install"
 again to finish installing updates.
6.x から 7.x へのアップグレードでは、バージョン間のシステムライブラリの違いに対応するために、ここでサードパーティのアプリケーション(ports ツリーからインストールしたアプリケーション)をすべて再構築するように求められる。 

がそのまま portupgrade -fa してはいけない。理由は
http://gihyo.jp/admin/feature/02/freebsd-7/0003?page=3
に有るとおり。なので、手動で、
**手動でpkgをいれかえる [#qe522609]
/var/db/pkg でportupgrade、ruby-1.8.*、ruby18-bdb のバージョンを調べ、手動でアップグレードしておく。ただし、portupgrade portupgrade-2.3.1,2 等とすると同様にエラーになるので、
 cd /usr/ports/lang/ruby18
 make install
 make reinstall
 cd /usr/ports/databases/ruby-bdb
 make install
 cd /usr/ports/ports-mgmt/portupgrade
 make isntall
 make reinstall
などとして入れ替えた後
 prime# mv /var/db/pkg/portupgrade-2.4.6,2 /root/
 prime# mv /var/db/pkg/ruby18-bdb-0.6.4 /root/
 prime# mv /var/db/pkg/ruby18-bdb-0.6.2 /root/
 prime# mv /var/db/pkg/ruby-1.8.6.287,1 /root/
と待避してから、
 prime# pkgdb -u
で、
 prime# portupgrade -afp
で長々とアップグレード・・・ :) 時々見ていないとオプションの指定画面(例の青い画面)で入力待ちになっていたりするので、screen を使うとどこからでも見張れるので良いかも


で、今度は書き戻し
 prime#  mv /root/portupgrade-2.4.6,2 /root/ruby-1.8.6.287,1 /root/ruby18-bdb-0.6.4 /var/db/pkg/
 prime# pkgdb -u
したあと、

 # freebsd-update install
 Installing updates...
 
 # reboot


これでようやく FreeBSD 7.1-RELEASE への移行が完了。 

 # uname -a
 FreeBSD server.maita.cc 7.1-RELEASE FreeBSD 7.1-RELEASE #0: Thu Jan  1 14:37:25 UTC 2009
     root@logan.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  i386 



**cronで停止したソースの自動更新を再開させる [#qd92a8cb]
/root/CVSUP/6_*なファイルを、6_* を 7_1 へ文字列置換してファイルを準備

vi /etc/crontab
 30	3	*	*	*	root	/root/CVSUP/7_1/cvsup-releng_7_1.sh




----

*失敗例 [#jcd308e5]
''portupgrade自身を portupgrade portupgrade--2.3.1,2 などとアップグレードしようとするとハマル!!''

依存関係で、ruby18 ruby18-bdb もupgradeしようとするが、結局red zoneとか言いながらエラーになってportupgradeコマンドが飛んでしまう。

まぁ、慌てずに、古典的に、
 # cd /usr/ports/lang/ruby18
 # make install
 # cd /usr/ports/databases/ruby-bdb
 # make install
 # cd /usr/ports/ports-mgmt/portupgrade
 # make isntall
して復活してくだされ :)
*番外編・リモートメンテの罠 [#k29df914]
リモートメンテでメジャーバージョンアップをするとき、NICが
 nve   # nVidia nForce MCP on-board Ethernet Networking
だと、リブートするまえに、rc.conf で、nve を nfe へ変更すること。なぜなら、
 /usr/src/sys/i386/conf/GENERIC 
 device	  nfe		# nVidia nForce MCP on-board Ethernet
 device	  nge		# NatSemi DP83820 gigabit Ethernet
 #device  nve		# nVidia nForce MCP on-board Ethernet Networking
となっているので、ログインできなくなりますぞ ;)
となっているので、リモートログインできなくなりますぞ ;)

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS