FreeBSD/FreeNAS で iocage を使用してデフォルトの Jail アップグレードが失敗する

FreeBSD/FreeNAS で iocage を使用してデフォルトの Jail アップグレードが失敗する

FreeBSD 11.3を実行しているFreeNASサーバーで、一部の11.3 Base Jailを11.4にアップグレードしようとしています。私は以下を使用しました:

iocage upgrade -r 11.4-RELEASE my-jail-name

一部の刑務所はetcupdate failed! Rolling back snapshotメッセージのために失敗します。etcupdate刑務所の内外で手動で実行しようとすると、iocage exec次の追加メッセージが表示されます。Failed to build new tree.何が間違っていますか?

ベストアンサー1

/usr/local/sbin/etcupdateスクリプトが失敗する理由は、システム不変フラグを設定して特定のファイルが削除されるのを防ぐためであることがわかりましたchflags schg。スクリプトの213行を参照してください。

chflags -R noschg $1 >&3 2>&1 || return 1

残念ながら、フラグは消去されず、265〜266行でエラーが発生しますOperation not permitted

chflags -R noschg $1 >&3 2>&1
rm -rf $1 >&3 2>&1

刑務所に必要なallow_chflags設定があるにもかかわらず、設定を許可するのがsecurelevelデフォルトです。2schgいいえそうすることを許す設定されていません。

この問題を解決するには、刑務所をsecurelevel一時的に変更し、オンになっていることを0確認してから操作する必要がありました。アップグレードしたら、より安全なデフォルトに戻ります。allow_chflagsiocage upgradesecurelevel2

もし他の方々に役立つかと思ってここに文を載せます。

おすすめ記事