FreeBSD: MOVED file format error (PortsDB::MOVEDError)

ports のメンテナンスを行おうと、portversion コマンドを発行してみると、次のようなエラーが発生。

# portversion -vL=
/usr/local/lib/ruby/site_ruby/1.9/pkgtools/portsdb.rb:118:in `block (2 levels) in fill': MOVED file format error (PortsDB::MOVEDError)
    from /usr/local/lib/ruby/site_ruby/1.9/pkgtools/portsdb.rb:112:in `each'
    from /usr/local/lib/ruby/site_ruby/1.9/pkgtools/portsdb.rb:112:in `block in fill'
    from /usr/local/lib/ruby/site_ruby/1.9/pkgtools/portsdb.rb:111:in `open'
    from /usr/local/lib/ruby/site_ruby/1.9/pkgtools/portsdb.rb:111:in `fill'
    from /usr/local/lib/ruby/site_ruby/1.9/pkgtools/portsdb.rb:106:in `initialize'
    from /usr/local/lib/ruby/site_ruby/1.9/pkgtools/portsdb.rb:181:in `new'
    from /usr/local/lib/ruby/site_ruby/1.9/pkgtools/portsdb.rb:181:in `setup'
    from /usr/local/lib/ruby/site_ruby/1.9/pkgtools/pkgtools.rb:242:in `init_pkgtools_global'
    from /usr/local/sbin/portversion:191:in `block in main'
    from /usr/local/lib/ruby/1.9/optparse.rb:882:in `initialize'
    from /usr/local/sbin/portversion:84:in `new'
    from /usr/local/sbin/portversion:84:in `main'
    from /usr/local/sbin/portversion:383:in `<main>'

バージョンが最新ではなくなったパッケージの一覧が表示されるべきところが、エラーに伴う Ruby(?)関係のエラー情報が表示されて終了。

ports ディレクトリのメンテナンスは cron で毎日行っており、昨日は問題なかったはず。突然なぜ?って気分ですが、原因の可能性としては、エラーメッセージから推測するに /usr/ports か /var/db/portsnap のいずれかが壊れた可能性が高いと考えました。

試しに、ports ディレクトリのファイルを更新し、portversion コマンドを再発行して、pkgdb を再構築してみることにしたところ、解決。

# portversion -vL=
[Updating the pkgdb <format:bdb_btree> in /var/db/pkg ... - 610 packages found (-1 +2) (...).. done]
[Updating the portsdb <format:bdb_btree> in /usr/ports ... - 24474 port entries found .........1000.........2000.........3000.........4000.........5000.........6000.........7000.........8000.........9000.........10000.........11000.........12000.........13000.........14000.........15000.........16000.........17000.........18000.........19000.........20000.........21000.........22000.........23000.........24000.... ..... done]
bash-4.3.22                 <  needs updating (port has 4.3.24) 
ffmpeg-0.7.15,1             <  needs updating (port has 2.2.4_4,1) 
ja-jvim-3.0.j2.1b           <  needs updating (port has 3.0.j2.1b_1) 
ntp-4.2.6p5_2               <  needs updating (port has 4.2.6p5_3) 
opencv-core-2.3.1_9         <  needs updating (port has 2.4.7_1) 
openjdk6-b28_5              <  needs updating (port has b32,1) 
p5-Net-DNS-0.68             <  needs updating (port has 0.78) 
rtmpdump-2.4_1              <  needs updating (port has 2.4.20130923_2) 
wget-1.14_2                 <  needs updating (port has 1.15_1)

しかし、何が悪かったのだろう?

コメントを残す