2015年8月8日土曜日

FreeBSD の portsnap でエラー

FreeBSD の ports ツリーを更新してくれる portsnap を毎朝6時頃に cron で自動的に実行させていました。しかし今朝はエラー・メッセージを出力して、portsnap が実行できていませんでした。

/usr/sbin/portsnap: cannot open 57a5db83912e96b094c8970bf887ef405d542c89a838879719df4e70af0f4860.gz: No such file or directory
 
念の為、手動で portsnap を実行させてみたところ、同様のエラーとなってしまいました。
# portsnap fetch
Looking up portsnap.FreeBSD.org mirrors... 7 mirrors found.
Fetching snapshot tag from ec2-ap-northeast-1.portsnap.freebsd.org... done.
Fetching snapshot metadata... done.
Updating from Fri Aug  7 05:16:33 JST 2015 to Sat Aug  8 10:34:30 JST 2015.
Fetching 4 metadata patches... done.
Applying metadata patches... done.
Fetching 3 metadata files... /usr/sbin/portsnap: cannot open 095ca682b6cefec8e5521f5925659e66164b035d1c6dcac7579e2de26f51b147.gz: No such file or directory
metadata is corrupt.

ネット上を検索すると一度 portsnap のデータベースを消去して、再度 portsnap を取得し直すことを記述している2000年代後半の掲示板がいくつか発見できましたが、そのどれもが改善されなかったという内容でした。
# rm -Rf /var/db/portsnap/
# mkdir /var/db/portsnap
# portsnap fetch

さらに検索を進めると portsnap の設定ファイル (/etc/portsnap.conf)のインデックス情報の取り扱いを現在使用しているバージョンに限ってみるという方法を発見して、それに従って portsnap の設定ファイル (/etc/portsnap.conf)を編集して portsnap を実行したところ、無事 portsnap が完了しました。
portsnap fetch Failed | The FreeBSD Forums
https://forums.freebsd.org/threads/portsnap-fetch-failed.8518/
/etc/portsnap.conf のインデックス情報で不要な部分を "#" でコメントアウトしました。我が家では FreeBSD 9.3 を利用しているため 9 と 10 の部分だけを有効としておきました。
# List of INDEX files to build and the DESCRIBE file to use for each
#INDEX INDEX-7 DESCRIBE.7
#INDEX INDEX-8 DESCRIBE.8
INDEX INDEX-9 DESCRIBE.9
INDEX INDEX-10 DESCRIBE.10

再度 portsnap を実行すると無事終了しました。
# portsnap fetch
Looking up portsnap.FreeBSD.org mirrors... 7 mirrors found.
Fetching snapshot tag from ec2-ap-northeast-1.portsnap.freebsd.org... done.
Fetching snapshot metadata... done.
Updating from Fri Aug 7 05:16:33 JST 2015 to Sat Aug 8 10:34:30 JST 2015.
Fetching 1 metadata patches. done.
Applying metadata patches... done.
Fetching 1 metadata files... done.
Fetching 39 patches.....10....20....30.... done.
Applying patches... done.
Fetching 3 new ports or files... done.

0 件のコメント:

コメントを投稿