独一无二的Mac OS X扩展文件夹

所以这是关于安装第三方内核扩展的协议/系统/图书馆/扩展/

Mac OS X使用的概念文件系统域控制对系统资源的访问这四个域是:用户,本地,网络和系统用户域是主文件夹中的所有内容The Network domain contains resources shared across multiple Macs on a network; most users don’t use thisThe Local domain consists of things that are shared across all users on a single machine; for example, the top-level Applications folder具有管理员权限的任何用户都可以添加或删除本地域中的文件。

系统域由内部的所有内容组成/系统/启动卷上的文件夹它由Mac OS X本身拥有和控制,甚至管理员用户也无法修改其内容。

每个域都有自己的Library文件夹这就是为什么有两个库文件夹影响所有用户,/图书馆//系统/库/- 第一个是管理员用户控制的本地域,第二个是系统控制的系统域。

经验法则:一切都在/系统/来自Apple,被认为是Mac OS X的重要组成部分。

但是,例外是/系统/图书馆/扩展/这是只要Mac OS X检查在引导过程中需要加载的内核扩展的文件夹并非所有内核扩展都需要在引导过程中加载,但是必须在此处加载或者不加载它们。

这是记录在案Mac OS X系统概述,第9章:文件系统在列出Library文件夹的内容时,Extensions文件夹描述为:

设备驱动程序和其他内核扩展(仅限系统域)。

而且因为“系统领域”意味着内在的一切/系统/,我们可以看到/系统/图书馆/扩展/是目前唯一支持内核扩展的位置。

非启动加载内核扩展(通常由应用程序在运行时加载)可以在任何地方使用或者至少,他们可以去任何需要他们的应用程序知道寻找他们的地方一些应用程序,如PGP,安装他们的非启动加载扩展/图书馆/扩展/但是,这是Apple认可的位置,没有特殊属性。

关于这些问题的更多细节,以及背后的工程决策背后的一些想法,可以在中找到2002年12月发布在Apple的Darwin Development邮件列表中由Apple工程经理Dean Reece负责写了Reece:

The reasons we don’t support [/Library/Extensions/] now are not really technical showstoppers, but adding another place for both BootX and the kext tools to look, plus managing two separate caches, adds some complexity with little real (end-user) benefitIt also adds some (small) risk to the bootability of the system, since the more paths the booter has to traverse, the more chances that a corrupt root filesystem will be unbootableThis was discussed during the design of the kext system, and we decided that both the risk and the benefit were small, so we decided on the simpler solution (one location).

如果你对这类事情甚至模糊不清,Reece的全文都值得一读(请注意,作为针对电子邮件地址收集垃圾邮件的微薄防御,Apple使用用户名和密码保护其公共邮件列表存档 - 但它们会告诉您在身份验证消息中使用的用户名和密码。)

以前: 恐慌室
下一个: 文字编辑新闻