Mac 系統如何利用軟鏈接在根目錄創建文件夾?

作者:泥瓦匠 出處:https://www.bysocket.com/2021-10-26/mac-create-files-from-the-root-directory.html

Mac 操作系統挺適合開發者進行寫代碼,最近碰到了一個問題,問題是如何在 macOS 根目錄創建文件夾。不同的 macOS 版本處理方式不同,下面我們展開講一下

一、爲什麼要在 Mac 根目錄創建文件夾

有些場景程序需要訪問根目錄的特定文件夾,所以需要在 macOS 根目錄創建文件夾。

比如 Spring Boot 工程在 Mac 操作系統本地運行時,公司會默指定 /home/data/log 類似的目錄,來存儲工程運行的日誌。

那怎麼如何在 macOS 根目錄創建文件夾,下面分不同的 macOS 版本來解決:

  • macOS@Catalina 版本
  • macOS@Big Sur 版本

二、macOS@Catalina 版本的創建文件夾方法

第一步:關閉電腦然後重啓,重啓時長按 command + R 鍵,啓動內建的 macOS 恢復系統

第二步:從菜單欄找到終端工具,運行下面命令,然後重啓:

csrutil disable

這個命令目的是關閉 SIP,SIP 全稱爲「System Integrity Protection」即「系統完整性保護」。可以通過 csrutil status 查看其 SIP 狀態。

第三步:重啓完後,先重新掛載根目錄,打開終端工具運行下面命令即可:

sudo mount -uw /

第四步:創建對應的 /Users/XXX/home/data/log 文件夾,然後將對應的文件目錄軟鏈接到根目錄。運行下面命令即可:

sudo ln -s /Users/XXX/home /home

注意:需要用軟鏈接來解決,是因爲在根目錄直接創建文件夾的話,一旦重啓電腦,之前創建的目錄又是隻讀權限了。

最後,重新重啓 command + R 鍵,啓動內建的 macOS 恢復系統,重新打開 SIP:

csrutil enable

三、macOS@Big Sur 版本的創建文件夾方法

第一步:啓動內建的 macOS 恢復系統,關閉 SIP

第二步:運行下面命令,修改 synthetic.conf 文件

sudo vi /etc/synthetic.conf

第三步:編輯該文件,輸入下面內容,將對應的文件夾映射到根目錄

home    /Users/XXX/home

注意:

  • 提前創建被映射的文件夾
  • 中間是 Tab,不是空格

最後重啓系統後,系統根目錄就會出現了對應的文件夾,實現方式也是一個軟鏈接的形式

四、小結

幾個點可以總結出來:

  • 儘量不要再 mac 根目錄操作一些命令,比如 chmod 等
  • SIP 打開後,及時關閉
  • mac 支持文件軟鏈接形式
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章