問題起源:springboot項目啟動報錯 在根目錄下無法創(chuàng)建/data 存放項目日志
ERROR in ch.qos.logback.core.rolling.RollingFileAppender[APP] - Failed to create parent directories for [/data/apps/項目名/logs/app.log]
試著手動創(chuàng)建去解決庆锦,失敗
admin@admindeMacBook-Pro-2 ~ % cd /
admin@admindeMacBook-Pro-2 / % sudo mkdir data
Password:
mkdir: data: Read-only file system
遂搜尋解決方案梗醇,搜尋關鍵詞:mac 根目錄無法創(chuàng)建
mac / 權限 log
mac 啟動項目 文件夾
mac 運行項目 文件夾
mac 啟動項目 權限
mac 運行項目 權限
放在前面
根目錄無法創(chuàng)建文件夾
此故障出現(xiàn)在10.15 Catalina版本及以后陷虎,系mac新的安全性策略所帶來的
歡快
。
我的開發(fā)環(huán)境:macOS 11.3 Big Sur
0.手動修改配置文件 日志寫入路徑
以公司項目為例記解決辦法
進入公司pass平臺碑韵,配置中心撬讽,切入項目當前環(huán)境(sit/uat)蕊连,拷貝配置文件
配置文件內(nèi)容拷貝到本地分支的啟動類配置文件中,并修改其中l(wèi)ogdir
配置文件如需轉(zhuǎn)換游昼,記得轉(zhuǎn)換甘苍。
## 原配置
logdir: /data/apps/java-${spring.application.name}-controller/logs
## 本地修改路徑
logdir: /Users/admin/Downloads/java-${spring.application.name}-controller
都是團隊開發(fā),此法不建議使用烘豌,git 極不方便
1.關閉SIP载庭,/ 下新建軟連接到用戶 /data
SIP 全稱為「System Integrity Protection」即「系統(tǒng)完整性保護」,是系統(tǒng)級的權限操作,我們無法直接關閉它廊佩,需要前往「macOS 恢復功能」下進行囚聚。
先查看SIP狀態(tài):
csrutil status
默認enabled。
此法不是蘋果官方推薦标锄,但貌似Catalina可用顽铸,BigSur不可用。
1.重啟電腦 長按
command
+R
進入安全模式2.關閉SIP:打開命令控制臺輸入
csrutil disable
3.重啟電腦(正常啟動)
4.打開 terminal 輸入
csrutil status
此時狀態(tài)應該是disabled
5.在 terminal 中繼續(xù)輸入
sudo mount -uw /
big sur下此命令會failed的-
6.將需要的目錄軟鏈接到根目錄
sudo ln -s /Users/admin/data /
7.重復1跋破,2簸淀,3步驟瓶蝴,第2步命令修改為
csrutil enable
2.man synthetic.conf毒返,官方軟連接方案
最終解決辦法,Big Sur可用舷手,Monterey未知拧簸。
## 0.查看synthetic.conf說明
man synthetic.conf
## 1.vim 修改synthetic.conf(沒有會創(chuàng)建)
sudo vim /etc/synthetic.conf
## 2.添加一行記錄(使用 tab 進行分割,空格 換行男窟,使用空格分割會發(fā)現(xiàn)重啟無效)
## 以此處舉例
data /Users/admin/data
## 重啟后盆赤,在根目錄下已經(jīng)創(chuàng)建好 data 軟連接到 /Users/admin/data
ls -al
......
lrwxr-xr-x 1 root wheel 17 7 21 14:45 data -> /Users/admin/data
......