mac怎么合并两个容器_看苹果表演黑魔法:macOS Catalina 文件和硬盘出现两个
看蘋果表演黑魔法
首先恭喜你成功升級到了最新的 macOS Catalina 10.15,普通用戶可能在使用中感受不出特別的變化,但開發(fā)者在程序開發(fā)時會遇到一些奇怪的現(xiàn)象,因為蘋果在新系統(tǒng)中使用了黑魔法。
技術(shù)開發(fā)人員在搜索某個應(yīng)用的時候是否會出現(xiàn)兩個文件?只是路徑不同的兩個文件?例如:
- /Applications/Microsoft Excel.app
- /System/Volumes/Data/Applications/Microsoft Excel.app
而且進入Macintosh HD/System/Volumes/以后,似乎又回到了Macintosh HD,自我循環(huán)?見下圖:
進入Macintosh HD/System/Volumes/以后,似乎又回到了Macintosh HD
macOS 的系統(tǒng)文件安全更新
早在2015年蘋果的工程師就給EI Capitan增加了「系統(tǒng)完整性保護」策略,任何系統(tǒng)文件想要被修改都需要root權(quán)限,但是惡意程序獲得root權(quán)限后還是能破壞系統(tǒng)文件。
在Catalina 10.15,蘋果工程師做了更加瘋狂的事情,徹底將系統(tǒng)文件和用戶的文件分離出來,形成了一個新的文件系統(tǒng),而且這個系統(tǒng)文件系統(tǒng)是只讀的,不允許寫入。
想要實現(xiàn)這個黑魔法需要感謝macOS High Sierra中的APFS文件系統(tǒng),APFS文件系統(tǒng)有很多新的特性支持,例如:Clones、Snapshots、Space Sharing、Encryption、Crash Protection、Sparse Files、Fast Directory Sizing、Atomic Safe-Save。Catalina會先在APFSContainer(容器)中新建一個Volume(卷):Macintosh HD,那原來的就會更名為 Macintosh HD - Data,不過這個名字還是挺難看的,不知道蘋果在未來會不會修改這個 -Data 的后綴命名,那么Macintosh HD - Data就是我們之前的硬盤,可以讓用戶自由的讀寫數(shù)據(jù),新建的 Macintosh HD 就是專門用于存儲系統(tǒng)文件的地方,整個都是只讀的。這樣就實現(xiàn)了系統(tǒng)文件和用戶文件的分割,用戶的任何操作和惡意軟件的操作都不會影響系統(tǒng)本身。
蘋果表演黑魔法
雖然系統(tǒng)文件和用戶文件分割的想法非常好,但是,顯示兩個分區(qū)會給用戶帶來很奇怪的感覺,我想要的文件到底在哪?為了解決這個問題蘋果又開始了精彩的表演:在 macOS 10.15 Catalin中,蘋果啟用了新的文件概念——卷宗組(Volume Groups),擁有可以將卷宗組和在容器內(nèi),這樣就把兩個卷合并成一個來顯示。下一個問題,現(xiàn)在所有系統(tǒng)文件都會被移到了 Macintosh HD 中,而第三方應(yīng)用只能待在 Macintosh HD - Data,開發(fā)者的程序們需要調(diào)用系統(tǒng)文件,但程序們并不知道系統(tǒng)文件們一起搬家走了,還按照之前的路徑去調(diào)用系統(tǒng)文件,找不到它們怎么辦?蘋果又開始了精彩的表演:使用「firmlink」技術(shù),用 Apple 工程師自己的原話說,它就是數(shù)據(jù)卷與系統(tǒng)卷之間的「雙向蟲洞」。其實就是相互之間做了一個鏡像,這樣看起來系統(tǒng)文件們還在我們身邊,只不過你看到的只是鏡子中的鏡像,而不是真身,例如:/Users 是 Macintosh HD Data 中的文件夾,但它在系統(tǒng)卷的根目錄下有一個 firmlink 。 所以你在硬盤的根目錄中看到的 /Users ,真實的目錄地址其實是 /System/Volumes/Data/Users/。如果你想知道自己 Mac 為哪些文件創(chuàng)建了 firmlink,可以打開 /usr/share/firmlinks 查看。
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的mac怎么合并两个容器_看苹果表演黑魔法:macOS Catalina 文件和硬盘出现两个的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: halcon机器视觉算法原理与编程实战_
- 下一篇: 小米路由器sn算ssh密码_【玩转路由】