FreeBSD 6.3R to 7.0R

要約はこちらをどうぞFreeBSD 6.3 to 7.0 (Sum)

Athlon64 FX-74(3000.14-MHz K8-class) Quad Core のサーバ機のOSをUPしてハマッタ備忘録?

2008-10-09 (木) 11:24:46

Counter: 1349, today: 1, yesterday: 0

FreeBSD 7.0が発表された当初に書かれた記事では、いとも簡単にアップグレードできそう感じ
が多かったので、 http://freebsd.g.hatena.ne.jp/Cress/20080228/1204169122

# freebsd-update -r 7.0-RELEASE upgrade install
# mergemaster -svia
# mergemaster -svir

すりゃ良いだけかと思ったら、その後の記事では、
http://d.hatena.ne.jp/hirakiuc/20080302/1204440581
ちょっとだけ罠の予感^^が有ったり?と、いうわけで、とりあえず

# freebsd-update -r 7.0-RELEASE upgrade

してみることにしました。
まずはカーネルオプションをカスタマイズした機体の

FreeBSD 6.3-RELEASE-p5 (TFC) #0: Sat Oct  4 08:32:07 JST 2008

な状態で

# freebsd-update -r 7.0-RELEASE upgrade

WARNING: This system is running a "tfc" kernel, which is not a
kernel configuration distributed as part of FreeBSD 6.3-RELEASE.
This kernel will not be updated: you MUST update the kernel manually
before running "/usr/sbin/freebsd-update install".

と、いうことなので、プロンプトが戻ってきた段階で、手動で再構築する。 が、6.3-RELEASE-p5 のままなので、一旦GENERICカーネルに戻す。

# chflags -R noschg /usr/obj/usr && rm -rf /usr/obj/usr
# cd /usr/src && make -j16 buildworld && make -j16 buildkernel && make installkernel
# shutdown -r now
# cd /usr/src && time make installworld
# rm -R /etc.old1 && mv /etc.old /etc.old1 && cp -Rp /etc /etc.old
# mergemaster -siv

して、もう一回

# freebsd-update -r 7.0-RELEASE upgrade

今度は、WARNINGなし。

# freebsd-update -r 7.0-RELEASE install
Installing updates...
Kernel updates have been installed.  Please reboot and run
"/usr/sbin/freebsd-update install" again to finish installing updates.
# reboot
FreeBSD 7.0-RELEASE-p5 (GENERIC) #0: Wed Oct  1 07:51:58 UTC 2008

# /usr/sbin/freebsd-update install
Installing updates...
ln: ///usr/share/man/cat3/archive_clear_error.3.gz: No such file or directory
ln: ///usr/share/man/cat3/archive_clear_error.3.gz: No such file or directory
ln: ///usr/share/man/cat3/archive_clear_error.3.gz: No such file or directory
ln: ///usr/share/man/cat3/archive_clear_error.3.gz: No such file or directory
ln: ///usr/share/man/cat3/archive_clear_error.3.gz: No such file or directory
ln: ///usr/share/man/cat3/archive_clear_error.3.gz: No such file or directory
ln: ///usr/share/man/cat3/archive_clear_error.3.gz: No such file or directory
ln: ///usr/share/man/cat3/archive_clear_error.3.gz: No such file or directory
ln: ///usr/share/man/cat4/hptrr.4.gz: No such file or directory
ln: ///usr/share/man/cat4/SW_WATCHDOG.4.gz: No such file or directory
ln: ///usr/share/man/cat7/securelevel.7.gz: No such file or directory

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.

と言うことなので、port をアップデートする。

# portupgrade -afp

この作業中途中で動作が停止?するため、^c するも受け付けず。
ssh越しの作業であったため、別ターミナルを起ち上げ、再度別窓から

# portupgrade -afp

等をしつつ、だましだまし?作業続行(あとで、理由が判明^^)
で、プロンプトがとりあえず帰ってきたが、なんかいろいろエラーが・・・

OQ (CommandFailedError)
       from /usr/local/lib/ruby/site_ruby/1.8/pkgtools.rb:521:in `__sudo'
       from /usr/local/lib/ruby/site_ruby/1.8/pkgtools.rb:527:in `xsystem!'
       from /usr/local/lib/ruby/site_ruby/1.8/pkgdb.rb:871:in `autofix!'
       from /usr/local/lib/ruby/site_ruby/1.8/pkgdb.rb:867:in `autofix'
       from /usr/local/sbin/portupgrade:508:in `main'
       from /usr/local/sbin/portupgrade:789:in `call'
       from /usr/local/sbin/portupgrade:789:in `main'
       from /usr/local/lib/ruby/1.8/optparse.rb:785:in `initialize'
       from /usr/local/sbin/portupgrade:221:in `new'
       from /usr/local/sbin/portupgrade:221:in `main'
       from /usr/local/sbin/portupgrade:2175

ま、とりあえず

# /usr/sbin/freebsd-update install
Installing updates... done.

して、

# mergemaster -siv

して、

# reboot

するも、

/usr/lib/libpthread.a: could not read symbols: Bad value
*** Error code 1

Stop in /usr/ports/lang/ruby18/work/ruby-1.8.6-p287.
*** Error code 1

Stop in /usr/ports/lang/ruby18.
*** Error code 1

Stop in /usr/ports/lang/ruby18.
*** Error code 1

Stop in /usr/ports/lang/ruby18.

という具合になんだか妙な挙動。で、自動起動プロセスが何割か起動していない!
起動ログを確認するも、なんとなく、いやぁ~な雰囲気^^

Oct  5 15:58:41 QC kernel: Sun Oct  5 15:58:41 JST 2008
Oct  5 15:59:04 QC sshd[1176]: in openpam_dispatch(): pam_nologin.so: no pam_sm_authenticate()
Oct  5 15:59:04 QC kernel: Oct  5 15:59:04 QC sshd[1176]: in openpam_dispatch(): pam_nologin.so: no pam_sm_authenticate()
Oct  5 15:59:04 QC sshd[1174]: Accepted keyboard-interactive/pam for root from 219.117.246.208 port 4962 ssh2
Oct  5 15:59:04 QC sshd[1174]: subsystem request for sftp
Oct  5 15:59:05 QC sshd[1174]: in openpam_dispatch(): pam_nologin.so: no pam_sm_setcred()
Oct  5 15:59:05 QC kernel: Oct  5 15:59:05 QC sshd[1174]: in openpam_dispatch(): pam_nologin.so: no pa

Oct  5 16:00:00 QC postfix/smtp[1066]: connect to 127.0.0.1[127.0.0.1]:10024: Connection refused
Oct  5 16:00:00 QC postfix/smtp[1066]: 9FBD95C68: to=<mailman@QC.example.com>,
orig_to=<mailman>, relay=none, delay=0.01, delays=0.01/0/0/0, dsn=4.4.1,
status=deferred (connect to 127.0.0.1[127.0.0.1]:10024: Connection refused)

Oct  5 15:20:33 QC postfix/smtp[31433]: warning: deliver_request_get: error
receiving common attributes
Oct  5 15:21:25 QC kernel: pid 32231 (ruby18), uid 0: exited on signal 11 (core dumped)
Oct  5 15:21:25 QC kernel: pid 32229 (ruby18), uid 0: exited on signal 11 (core dumped)
Oct  5 15:21:44 QC kernel: pid 37080 (ruby18), uid 0: exited on signal 11 (core dumped)
Oct  5 15:21:44 QC kernel: pid 37082 (ruby18), uid 0: exited on signal 11 (core dumped)
Oct  5 15:22:00 QC /usr/sbin/cron[43066]: (operator) CMD (/usr/libexec/save-entropy)
Oct  5 15:22:06 QC kernel: pid 44065 (ruby18), uid 0: exited on signal 11 (core dumped)
Oct  5 15:22:06 QC kernel: pid 44063 (ruby18), uid 0: exited on signal 11 (core dumped)
Oct  5 15:22:47 QC kernel: pid 61490 (ruby18), uid 0: exited on signal 11 (core dumped)

/libexec/ld-elf.so.1: Shared object "libutil.so.5" not found, required by "python2.5"

等という感じで、port 10024などを使うウイルスフィルタが起動していない、ruby18まわりも腐っている!?
で、pkgdb コマンドが使えなかったり、アプリを再インストールしようとすると、やれライブラリが無い、とか、戻り値が変、とか・・・・
これって、 http://d.hatena.ne.jp/hirakiuc/20080302/1204440581 に似ている・・
しばし、呆然としつつも、こりゃ、クリーンインストールし直した方が早いかも、とも考えたり・・・

が、まぁ、まずは、もう一度、何とかcvsをつかって、cvsup-releng_7_0 の最新ソースを取ってきて、システムの再構築

# chflags -R noschg /usr/obj/usr && rm -rf /usr/obj/usr
# cd /usr/src && make -j16 buildworld && make -j16 buildkernel && make installkernel
# shutdown -r now
# cd /usr/src && make installworld
# rm -R /etc.old1 && mv /etc.old /etc.old1 && cp -Rp /etc /etc.old
# mergemaster -siv
# reboot

する。
一応起動ログを確認。続いてport tree を最新版に更新

# portsnap fetch && portsnap extract

する。
このportupgrade -afp の時に途中で止まる現象については、 http://gihyo.jp/admin/feature/02/freebsd-7/0003 に有るように、途中でデータベースファイル(/var/db/pkg/pkgdb.db)が壊れるためだそうです。

/var/db/pkg/pkgdb.db: unexpected file type or format -- Invalid argument

というエラーで、エラーのログを読むと「ruby18-bdb-0.6.x」パッケージを更新した直後からデータベースが更新できなくなっているようだ。そういえば,標記パッケージはpkgdb.dbを作るために使っているのだから実はあたり前だとも言える。

回避方法としては,まず,

portupgrade-2.4.6,2
ruby-1.8.6.287,1
ruby18-bdb-0.6.4

(コレをかいた時点では上記バージョンが最新) だけを手動でインストールしなおした後,

# mv /var/db/pkg/portupgrade-2.4.6,2 /root/
# mv /var/db/pkg/ruby-1.8.6.287,1 /root/
# mv /var/db/pkg/ruby18-bdb-0.6.4 /root/

# mv /var/db/pkg/portupgrade-2.4.6,2 /root/ && mv /var/db/pkg/ruby-1.8.6.287,1 /root/&& mv /var/db/pkg/ruby18-bdb-0.6.4 /root/

# pkgdb -u

portupgrade -afp
** Listing the failed packages (-:ignored / *:skipped / !:failed)
       -  (xorg-manpages-6.9.0)
       * devel/autoconf262 (autoconf-2.62)
       * x11-fonts/encodings (encodings-1.0.2,1)
       * x11-fonts/fontconfig (fontconfig-2.3.2_6,1)
       ! x11/xorg-libraries (xorg-libraries-6.9.0)     (unknown build error)
       * x11-servers/xorg-nestserver (xorg-nestserver-6.9.0_1)
       * x11-fonts/bitstream-vera (bitstream-vera-1.10_2)
       * x11-servers/xorg-vfbserver (xorg-vfbserver-6.9.0_2)
       * x11-fonts/xfs (xorg-fontserver-6.9.0_1)
       * x11-fonts/libXft (libXft-2.1.7_1)
       * x11/xterm (xterm-220)
       -  (xorg-printserver-6.9.0_2)
       * x11/xorg-apps (xorg-clients-6.9.0_3)
       * security/p5-IO-Socket-SSL (p5-IO-Socket-SSL-1.09)
       * x11-fonts/xorg-fonts-truetype (xorg-fonts-truetype-7.3)
       * x11-fonts/libXft (libXft-2.1.13)
       * x11-toolkits/pango (pango-1.20.5)
       * archivers/p5-IO-Zlib (p5-IO-Zlib-1.07)
       * archivers/p5-Archive-Tar (p5-Archive-Tar-1.36)
       * archivers/p5-Archive-Zip (p5-Archive-Zip-1.20)
       * devel/p5-Module-Build (p5-Module-Build-0.28.08)
       * x11-toolkits/gtk20 (gtk-2.12.11)
       * devel/libnotify (libnotify-0.4.4_2)
       * net/p5-Net (p5-Net-1.22,1)
       * www/p5-libwww (p5-libwww-5.805)
       * devel/gconf2 (gconf2-2.22.0_1)
       * x11-toolkits/wxgtk26-common (wxgtk2-common-2.6.3_4)
       * x11-toolkits/wxgtk26-unicode (wxgtk2-unicode-2.6.3_5)
       * devel/gnome-vfs (gnome-vfs-2.22.0_2)
       * mail/p5-Mail-DKIM (p5-Mail-DKIM-0.32)
       * multimedia/vlc (vlc-0.8.6.i,2)
       * mail/p5-Mail-SpamAssassin (p5-Mail-SpamAssassin-3.2.3)
       * security/amavisd-new (amavisd-new-2.6.1_1,1)
# mv /root/portupgrade-2.4.6,2 /root/ruby-1.8.6.287,1 /root/ruby18-bdb-0.6.4 /var/db/pkg/
# pkgdb -u
--->  Updating the pkgdb
[Updating the pkgdb <format:bdb_btree> in /var/db/pkg ... - 346 packages found (-0 +3) ... done]
#

[手順5]旧ライブラリファイルの削除 パッケージのアップデートが終了したら,旧いライブラリファイルを削除して差し支えない。

# freebsd-update install

これでめでたく移行は終了である。

0 Vaio

FreeBSD 6.3-RELEASE-p4 (GENERIC) #0: Sun Sep 14 20:58:06 JST 2008
vaio# freebsd-update -r 7.0-RELEASE upgrade

The following components of FreeBSD seem to be installed:
kernel/generic src/base src/bin src/contrib src/crypto src/etc src/games
src/gnu src/include src/krb5 src/lib src/libexec src/release src/rescue
src/sbin src/secure src/share src/sys src/tools src/ubin src/usbin
world/base world/catpages world/dict world/doc world/games world/info
world/manpages world/proflibs

The following components of FreeBSD do not seem to be installed:
kernel/smp

Does this look reasonable (y/n)? y

Fetching metadata signature for 7.0-RELEASE from update1.FreeBSD.org... done.
Fetching metadata index... done.
Fetching 1 metadata patches. done.
Applying metadata patches... done.
Fetching 1 metadata files... done.
Inspecting system...
Fetching files from 6.3-RELEASE for merging... done.
Preparing to download files... done.
Fetching 21117  
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....
310....320....330....340....350....360....370....380....390....400....
410....420....430....440....450....460....470....480....490....500....

vaio# freebsd-update -r 7.0-RELEASE install
Installing updates...
Kernel updates have been installed.  Please reboot and run
"/usr/sbin/freebsd-update install" again to finish installing updates.
vaio# reboot
FreeBSD 7.0-RELEASE-p5 (GENERIC) #0: Wed Oct  1 10:10:12 UTC 2008
Welcome to FreeBSD!

vaio# /usr/sbin/freebsd-update install
Installing updates...
ln: ///usr/share/man/cat3/archive_clear_error.3.gz: No such file or directory
ln: ///usr/share/man/cat3/archive_clear_error.3.gz: No such file or directory
ln: ///usr/share/man/cat3/archive_clear_error.3.gz: No such file or directory
ln: ///usr/share/man/cat3/archive_clear_error.3.gz: No such file or directory
ln: ///usr/share/man/cat3/archive_clear_error.3.gz: No such file or directory
ln: ///usr/share/man/cat3/archive_clear_error.3.gz: No such file or directory
ln: ///usr/share/man/cat3/archive_clear_error.3.gz: No such file or directory
ln: ///usr/share/man/cat3/archive_clear_error.3.gz: No such file or directory
ln: ///usr/share/man/cat4/hptrr.4.gz: No such file or directory
ln: ///usr/share/man/cat4/SW_WATCHDOG.4.gz: No such file or directory
ln: ///usr/share/man/cat7/securelevel.7.gz: No such file or directory

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.
vaio# portupgrade -a

/usr/local/lib/ruby/site_ruby/1.8/pkgtools.rb:498:in `__system': Command
failed [exit code 0]: /usr/local/sbin/pkgdb -aFOQ (CommandFailedError)
       from /usr/local/lib/ruby/site_ruby/1.8/pkgtools.rb:521:in `__sudo'
       from /usr/local/lib/ruby/site_ruby/1.8/pkgtools.rb:527:in `xsystem!'
       from /usr/local/lib/ruby/site_ruby/1.8/pkgdb.rb:871:in `autofix!'
       from /usr/local/lib/ruby/site_ruby/1.8/pkgdb.rb:867:in `autofix'
       from /usr/local/sbin/portupgrade:508:in `main'
       from /usr/local/sbin/portupgrade:789:in `call'
       from /usr/local/sbin/portupgrade:789:in `main'
       from /usr/local/lib/ruby/1.8/optparse.rb:785:in `initialize'
       from /usr/local/sbin/portupgrade:221:in `new'
       from /usr/local/sbin/portupgrade:221:in `main'
       from /usr/local/sbin/portupgrade:2175
vaio# reboot
vaio# freebsd-update -r 7.0-RELEASE install
Installing updates...
Installing updates... done.
vaio# mergemaster -siv
# chflags -R noschg /usr/obj/usr && rm -rf /usr/obj/usr
# cd /usr/src &&  make -j4 buildworld && make -j4 buildkernel &&  make installkernel
# shutdown -r now
# cd /usr/src &&  make installworld && rm -r /etc.old1 && mv /etc.old /etc.old1 && cp -Rp /etc /etc.old
# mergemaster -siv

3 http://gihyo.jp/admin/feature/02/freebsd-7/0003&aname(q8b92871,super,full,nouserselect){†};


Counter: 1349, today: 1, yesterday: 0

2008-10-09 (木) 11:24:46



トップ   編集 凍結解除 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2008-10-09 (木) 11:24:46