windows10中linux子系統目錄大小寫敏感的設置

剛剛接觸這個linux子系統,感覺坑比較多。原本打算在子系統中搭建openwrt編譯環境的,結果發現與原生的或者虛擬的linux系統還真不一樣啊。由於子系統默認將windows10系統的磁盤掛載爲/mnt/分區名稱(小寫)的方式,方便了windows與linux的互訪。但我在準備openwrt編譯環境和準備編譯的過程中,居然發現說我的子系統的目錄不支持大小寫敏感,導致後續編譯工作無法繼續。於是艱難的到微軟開發組中心去啃了幾篇文章,得到一些提示:

1、Per-directory case sensitivity and WSL這篇文章中提到在windows10系統中用fsutil.exe file setCaseSensitiveInfo <path> enable方式對子目錄path賦予大小寫敏感屬性,但這樣只能對path這一級目錄有效,子目錄無法繼承該屬性;

2、Improved per-directory case sensitivity support in WSL這篇文章提到可以在wsl在系統中直接用setfattr -n system.wsl_case_sensitive -v 1 <path>命令對子目錄賦予大小寫敏感屬性,並說從windows10的build 17692版本開始新建的子目錄可以繼承上級目錄的大小寫敏感屬性了,但我運行該命令缺提示Permission dennied!

 

最後的最後,我突然想到,既然新版windows10中linux在系統已經可以繼承上級目錄的大小寫敏感屬性了,能不能先在windows系統中對需要大小寫敏感的目錄(我的openwrt編譯環境目錄爲lede)賦予屬性,再來git源碼編譯呢?(即現在準備作爲openwrt編譯環境的分區中建立lede目錄,然後在此分區中用fsutil.exe file setCaseSensitiveInfo lede enable賦予lede目錄大小寫敏感屬性,再在wsl環境中git源碼進行編譯)一試,居然成功了!不敢獨享,寫出來給大家共勉,少踩坑吧。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章