きゅぶろぐ

きゅぶんずの ぶろぐができて べんりだな

macOS 10.15のbetaを使用していたユーザーは誤ったファイルがSIPの対象にされたままになっている

概要

10.15のbeta(10.15.xではなく、10.15のbeta)を使用していたユーザーは、 ~/Library/com.apple.internal.ck と、 ~/Library/Application Support/com.apple.siri.remembers がSIP(システム整合性保護)の対象となっています。
betaを経由せずに10.14から10.15に上げたユーザーは対象になっていません。

https://support.apple.com/ja-jp/HT204899
こちらのページを見ても分かる通り、 /Users 以下は対象にならないのが正しい挙動です。

確認手順

以下の手順で確認出来ます。

ls -ld ~/Library/com.apple.internal.ck
ls: cannot access 'com.apple.internal.ck': Operation not permitted

Operation not permitted が出た場合、SIPの対象となっています。

問題点

今のところ、自分がひっかかったRiderで一部機能が使えなくなる問題や、
fastlaneで一部機能が使えなくなる問題が報告されています。
https://youtrack.jetbrains.com/issue/RIDER-41453
https://github.com/fastlane/fastlane/issues/16097

おそらく、これらのファイルが直接の原因というより、
ls -ld ~/Library したときのexit-statusが0でないことが原因のようです。

解決策

Apple Developer Technical Supportにも相談しましたが、
The safest solution would be to reinstall the system from scratch. が解決策とのことです。 beta版使ってる最中に死んで戻すなら良いけれど、今このタイミングで10.14状態まで戻すのは辛い・・・

無理矢理どうにかする方法

以下、やばいことしてるので分かってる人だけ行ってください。
なにが起きても知りません。

  • リカバリーモードに入ってSIPを無効にする
    • csrutil disable
  • リスタート
  • この時点で問題が解決しているか一度調べる
  • /System/Library/Sandbox/rootless.conf から /Users の行を削除
    • リカバリーモードでも書き換えられない硬いやつ
  • ~/Library/com.apple.internal.ck ~/Library/Application Support/com.apple.siri.remembers を削除
  • リカバリーモードに入ってSIPを有効にする
    • csrutil enable

以上で、今の所どうにかなっています。
~/Library/com.apple.internal.ck などのファイルは復活してませんが、そもそも何のファイルか情報公開されていないので全てが謎です。