0

私たちは通常、カスタム スクリプトを使用して、システム インストール後に新しい FreeBSD マシンをセットアップします。これにより、ports ツリーからツールがインストールされ、システム環境がセットアップされます。また、新しくインストールした FreeBSD-8.2 マシンを freebsd-update で FreeBSD-8.2p3 に自動更新する必要もあります。私が知っているように、freebsd-update では、「cron」オプションなしでシェル スクリプトから実行することはできません。そこで、freebsd-update をごまかすカスタム プログラムをプリロードしてみます。

${CAT} > /tmp/isatty.c     <<EOF                                                                                                                                                                                         
int isatty(const int fd) { return 1; }                                                                                                                                                                               
EOF                                                                                                                                                                                                                  
${CC} -shared -fPIC -o /tmp/isatty.so     /tmp/isatty.c                                                                                                                                                                          
${ENV} LD_PRELOAD=/tmp/isatty.so LESS="-E" ${FREEBSD_UPDATE} fetch install < /dev/null   

この調整により、カスタム スクリプトから freebsd-update を正常に実行できますが、freebsd-installer が更新サーバーからファイルを取得した後、次のエラー メッセージが表示されました。

Fetching metadata signature for 8.3-RELEASE from update5.FreeBSD.org... done.
Fetching metadata index... done.
Fetching 2 metadata files... gunzip: standard input is a terminal -- ignoring
metadata is corrupt.

これを解決する機会はありますか?

4

2 に答える 2