9p マウントは git リポジトリを持てない

devコンテナの /workspaces(WSL/9p バインドマウント)は chmod を拒否する (Operation not permitted)。コードの読み書きは普通にできるが、パーミッション操作が要る道具が詰まる

  • git clone が失敗.git/config.lock の chmod でこける。-c core.fileMode=false でも回避不可 (chmod 自体が許可されないため)。→ この場所では新規リポジトリを作れない。
  • npm install / chmod +x も不安定:bin の実行ビット設定が効かない(マウントが既定 777 なので run.sh が chmod 失敗しても実行できてしまうのは、その副作用)。
  • 回避の型:git/npm を使うツールチェーンは **$HOME(コンテナ書込層)**に置く(そこは正常)。 永続が要るもの(スクリプト・設定)は repo 側に置き、スクリプトが home を 無ければ bootstrap (clone+install) して再構築に耐えさせる。=「ツールは home・永続物は repo・自己修復」。

出典:vault-site(Quartz の clone が /workspaces で失敗 → home へ)、run.sh の chmod。 関連:devコンテナで日本語を出す(同じ「コンテナ内の現実」系)